valdres 1.0.0-beta.33 → 1.0.0-beta.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -66,7 +66,7 @@ const report = inspect.export()
66
66
  inspect.reset()
67
67
  ```
68
68
 
69
- The report correlates human labels with opaque operation, commit, evaluation, session, and search IDs. It includes selector work, proposed topology changes, cycle-search visits by host and call site, aggregate negative-proof memo admission/probe/prune counters, transient selector-host counts, and propagation/notification totals. Completed summaries and details use separate bounded rings with explicit overflow. Exports are immutable and JSON-safe; application values, callbacks, errors, and live State handles are never recorded. Labels are metadata, not identity. The core inspection schema is version 3.
69
+ The report correlates human labels with opaque operation, commit, evaluation, session, and search IDs. It includes selector work, proposed topology changes, forward cycle-search visits by host and call site, bounded reverse-proof outcomes and work, aggregate negative-proof memo admission/probe/prune counters, transient selector-host counts, and propagation/notification totals. Completed summaries and details use separate bounded rings with explicit overflow. Exports are immutable and JSON-safe; application values, callbacks, errors, and live State handles are never recorded. Labels are metadata, not identity. The core inspection schema is version 4.
70
70
 
71
71
  Inspection adds recording and timing work only to the Store created by `createInspectableStore`. The recorder stays outside the ordinary root entry and ordinary consumer bundles remain within their existing size budget.
72
72
 
@@ -1 +1 @@
1
- import{q as e}from"../chunk-y786myym.js";var t=e.adapter,a=t.assertStore,o=t.read,s=t.subscribe,n=t.readHydrationSnapshot;export{a as assertStore,o as read,n as readHydrationSnapshot,s as subscribe};
1
+ import{r as e}from"../chunk-fbqtxaaa.js";var t=e.adapter,a=t.assertStore,o=t.read,s=t.subscribe,n=t.readHydrationSnapshot;export{a as assertStore,o as read,n as readHydrationSnapshot,s as subscribe};
@@ -0,0 +1,2 @@
1
+ class F extends Error{seal(){Object.freeze(this)}}class fe extends F{code="VALDRES_SELECTOR_GETTER_ERROR";selector;cause;constructor(e,t){super("Selector getter failed");this.name="SelectorGetterError",this.selector=e,this.cause=t,this.seal()}}class Ce extends F{code="VALDRES_SELECTOR_DEPENDENCY_ERROR";dependency;cause;constructor(e,t){super("Selector dependency failed");this.name="SelectorDependencyError",this.dependency=e,this.cause=t,this.seal()}}class ee extends F{code="VALDRES_SELECTOR_CIRCULAR_DEPENDENCY";selector;path;constructor(e,t){super("Selector dependency graph must be acyclic");this.name="SelectorCircularDependencyError",this.selector=e,this.path=Object.freeze([...t]),this.seal()}}class _ extends F{code="VALDRES_INVALID_SYNCHRONOUS_SELECTOR_RESULT";phase;constructor(e){super(`Selector ${e} returned or threw a thenable`);this.name="InvalidSynchronousSelectorResultError",this.phase=e,this.seal()}}class Ee extends F{code="VALDRES_INVALID_SELECTOR_COMPARATOR_RESULT";constructor(){super("Selector comparator must return exactly true or false");this.name="InvalidSelectorComparatorResultError",this.seal()}}class he extends F{code="VALDRES_SELECTOR_COMPARATOR_ERROR";selector;cause;constructor(e,t){super("Selector comparator failed");this.name="SelectorComparatorError",this.selector=e,this.cause=t,this.seal()}}class De extends F{code="VALDRES_SELECTOR_READ_REVOKED";constructor(){super("Selector supplied get is no longer active");this.name="SelectorReadRevokedError",this.seal()}}var $e=Object.freeze({kind:"not-thenable"}),Dt=()=>{},Vt=Reflect.apply,Qe=Symbol.for("valdres.runtime-owner/v1");class w extends Error{seal(){Object.freeze(this)}}class Ve extends w{code="VALDRES_RUNTIME_MISMATCH";constructor(){super("Valdres handles belong to a different runtime domain");this.name="RuntimeMismatchError",this.seal()}}class Pe extends w{code="VALDRES_SUBSCRIBER_NOTIFICATION";cause;causes;committed=!0;phase="notifying";source="owned-mutation";constructor(e){super("One or more Store subscribers threw during notification");this.name="SubscriberNotificationError",this.causes=Object.freeze([...e]),this.cause=this.causes[0],this.seal()}}class K extends w{code="VALDRES_CALLBACK_CAPABILITY";constructor(){super("This callback cannot use captured Valdres runtime capabilities");this.name="CallbackCapabilityError",this.seal()}}class Y extends w{code="VALDRES_SELECTOR_CAPABILITY_ERROR";constructor(e){super(`A selector callback cannot call ${e} directly`);this.name="SelectorCapabilityError",this.seal()}}class X extends w{code="VALDRES_TRANSACTION_PHASE";constructor(){super("Captured StoreTree work is forbidden during a transaction");this.name="TransactionPhaseError",this.seal()}}class Se extends w{code="VALDRES_TRANSACTION_CLOSED";constructor(){super("The Transaction cursor is no longer active");this.name="TransactionClosedError",this.seal()}}class te extends w{code="VALDRES_INVALID_TRANSACTION_CALLBACK_RESULT";constructor(){super("Transaction callbacks must return synchronously");this.name="InvalidTransactionCallbackResultError",this.seal()}}class ne extends w{code="VALDRES_INVALID_SYNCHRONOUS_ATOM_VALUE";constructor(){super("Atom values and lazy initializers must be synchronous");this.name="InvalidSynchronousAtomValueError",this.seal()}}class oe extends w{code="VALDRES_INVALID_ATOM_COMPARATOR_RESULT";constructor(){super("Atom comparators must return exactly true or false synchronously");this.name="InvalidAtomComparatorResultError",this.seal()}}class xe extends w{code="VALDRES_STORE_DISPOSED";constructor(){super("This Store has been disposed");this.name="StoreDisposedError",this.seal()}}class je extends w{code="VALDRES_SCOPE_NOT_FOUND";constructor(){super("The named child Store does not exist");this.name="ScopeNotFoundError",this.seal()}}class Ie extends w{code="VALDRES_STORE_TREE_MISMATCH";constructor(){super("The Store belongs to a different StoreTree");this.name="StoreTreeMismatchError",this.seal()}}class pe extends w{code="VALDRES_INVALID_TRANSACTION_TARGET";constructor(){super("Transaction.scope requires a Store or named child");this.name="InvalidTransactionTargetError",this.seal()}}var E=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return $e;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):$e}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},D=(e)=>{try{Vt(e.then,e.target,[void 0,Dt])}catch{}},re=(e)=>{let t=E(e);if(t.kind==="not-thenable")return Object.freeze({kind:"value",value:e});if(t.kind==="inspection-error")return Object.freeze({kind:"error",error:t.error});return D(t),Object.freeze({kind:"error",error:new ne})},Me=(e)=>{try{return re(e())}catch(t){let n=E(t);if(n.kind==="not-thenable")return Object.freeze({kind:"error",error:t});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return D(n),Object.freeze({kind:"error",error:new ne})}},ie=(e,t,n)=>{let o=e.activity;e.activity=t;try{return n()}finally{e.activity=o}},B=(e,t,n)=>{try{let o=ie(e,Object.freeze({kind:"guarded-callback",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},Ze=(e,t,n)=>{try{let o=ie(e,Object.freeze({kind:"subscriber",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},se=(e,t,n)=>ie(e,Object.freeze({kind:"selector",session:t}),n),Je=(e,t,n)=>ie(e,Object.freeze({kind:"transaction",transaction:t}),n),me=(e,t,n)=>{try{let o=ie(e,Object.freeze({kind:"transaction-result",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},V=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="selector")throw new Y(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new X;throw new K},ze=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="subscriber")return n.session;if(n.kind==="selector")throw new Y(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new X;throw new K},et=(e)=>{let t=e.activity;if(t===void 0||t.kind==="subscriber")return;if(t.kind==="selector")throw new Y("Store unsubscribe");if(t.kind==="transaction"||t.kind==="transaction-result")throw new X;throw new K},ye=(e,t,n)=>{if(!n)throw new Se;let o=e.activity;if(o?.kind==="transaction"&&Object.is(o.transaction,t))return;if(o?.kind==="selector")throw new Y("Transaction cursor operation");if(o?.kind==="guarded-callback")throw new K;throw new X},tt=(e,t)=>{let n=e.activity;return n!==void 0&&"session"in n?n.session:t},U=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";if((typeof t==="object"||typeof t==="function")&&t!==null){let o=Object.getOwnPropertyDescriptor(t,Qe);if(o!==void 0&&"value"in o&&!Object.is(o.value,e.ownerToken)){let r=new Ve;throw tt(e,n).latchControlFault(r),r}}return"invalid"},j=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";let o=e.activity,r=tt(e,n);if(o!==void 0&&"session"in o)try{let i=U(e,t,r),s=r.getControlFault();if(s.kind==="fault")throw s.error;return i}catch(i){let s=r.getControlFault();if(s.kind==="fault")throw s.error;throw i}return B(e,r,()=>U(e,t,r))},ae=(e,t)=>(Object.defineProperty(e,Qe,{value:t,enumerable:!1,writable:!1,configurable:!1}),e),be=(e,t)=>Object.freeze(ae({kind:e},t));var nt=Object.freeze({kind:"not-thenable"}),Pt=()=>{},xt=Reflect.apply,ot=Symbol("selector dependency path root"),st=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return nt;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):nt}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},at=(e)=>{try{xt(e.then,e.target,[void 0,Pt])}catch{}},jt=(e)=>Object.freeze(e),It=(e)=>Object.freeze(e),R=(e,t,n,o)=>{let r=It(o);return Object.freeze({selector:e,token:t,outcome:jt(n),dependencies:r,attemptedPrefix:n.kind==="value"?Mt:Object.freeze(r.map((i)=>i.node))})},Mt=Object.freeze([]),Ae=32,Q=8192,zt=2*Ae,dt=128;class ct{passiveSearches;searches=0;constructor(e,t){if(this.passiveSearches=e,t!==void 0)this.diagnostics=t}get enabled(){return this.disabled!==!0}beginSearch(){if(this.searches++,this.diagnostics!==void 0)this.diagnosticsCompleted=!1,this.mapProbes=0,this.prunedNodes=0;let e=this.enabled&&this.searches>this.passiveSearches&&this.first!==void 0;if(e)this.consultCurrentSearch=!0,this.hits=0;else if(this.consultCurrentSearch===!0)this.consultCurrentSearch=void 0;if(e&&this.passiveOrigin===!0&&this.searches===this.passiveSearches+1&&this.passiveProbeBudget===void 0)this.passiveProbeBudget=Math.min(Q,2*this.first.size);return e}hasProvenNoPath(e){if(!this.enabled)return!1;let t=this.first;if(t!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(t.has(e))return this.hits=(this.hits??0)|1,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}let n=this.second;if(n!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(n.has(e))return this.hits=(this.hits??0)|2,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}return!1}hasProvenNoPathMeasured(e){if(!this.enabled)return!1;let t=this.first;if(t!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(this.mapProbes=(this.mapProbes??0)+1,t.has(e))return this.hits=(this.hits??0)|1,this.prunedNodes=(this.prunedNodes??0)+1,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}let n=this.second;if(n!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(this.mapProbes=(this.mapProbes??0)+1,n.has(e))return this.hits=(this.hits??0)|2,this.prunedNodes=(this.prunedNodes??0)+1,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}return!1}completeNegative(e){if(!this.enabled)return;if(this.searches<=this.passiveSearches){let n=e.size>=Ae&&e.size<=Q,o;if(this.searches===1&&n)this.first=e,this.firstIndependentlyClosed=!0,this.passiveOrigin=!0,o="initial";else if(this.searches===this.passiveSearches&&n)o=this.first===void 0?"initial":"activation-replacement",this.first=e,this.firstIndependentlyClosed=!0,this.second=void 0,this.secondIndependentlyClosed=void 0,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0;this.completeDiagnostics(o);return}if((this.hits??0)!==0){if(e.size>Q){this.disable("over-cap-hit");return}let n=this.first,o=this.second,r=this.firstIndependentlyClosed===!0,i=this.secondIndependentlyClosed===!0;this.first=void 0,this.second=void 0,this.firstIndependentlyClosed=void 0,this.secondIndependentlyClosed=void 0,this.retain(n,r),this.retain(o,i);let s=this.retain(e,!1);this.locked=!0,this.missWork=0,this.completeDiagnostics(s?"hit-derived":void 0);return}if(e.size===1){this.completeDiagnostics();return}let t=e.size>=Ae&&e.size<=Q;if(this.first===void 0){if(t)this.first=e,this.firstIndependentlyClosed=!0;this.completeDiagnostics(t?"initial":void 0);return}if(this.missWork=(this.missWork??0)+Math.min(e.size,Ae),this.locked!==!0&&this.second===void 0&&t){this.second=e,this.secondIndependentlyClosed=!0,this.completeDiagnostics("secondary");return}if((this.missWork??0)>=zt){this.disable("miss-budget");return}this.completeDiagnostics()}completePositive(){this.completeDiagnostics()}advanceGraphVersion(e){if(!this.enabled||e===void 0)return this.reset(),!1;let t=this.firstIndependentlyClosed===!0?this.first:void 0,n=this.secondIndependentlyClosed===!0?this.second:void 0,o=t===void 0||n!==void 0&&n.size>t.size?n:t;if(o===void 0)return this.reset(),!1;if(this.passiveProbeBudget===void 0)this.passiveOrigin=!0,this.passiveProbeBudget=Math.min(Q,2*o.size);let r=0;for(let i of e){let s=this.hasWithinCrossVersionBudget(o,i.tail);if(s===void 0)return this.diagnostics?.recordMapProbes?.(r),this.reset(),!1;if(r++,!s)continue;let a=this.hasWithinCrossVersionBudget(o,i.head);if(a===void 0)return this.diagnostics?.recordMapProbes?.(r),this.reset(),!1;if(r++,!a)return this.diagnostics?.recordMapProbes?.(r),this.reset(),!1}if(this.diagnostics?.recordMapProbes?.(r),this.passiveProbeBudget===0)return this.reset(),!1;return this.first=o,this.firstIndependentlyClosed=!0,this.second=void 0,this.secondIndependentlyClosed=void 0,this.hits=void 0,this.consultCurrentSearch=void 0,this.diagnosticsCompleted=void 0,this.mapProbes=void 0,this.prunedNodes=void 0,!0}reset(){this.first=void 0,this.second=void 0,this.firstIndependentlyClosed=void 0,this.secondIndependentlyClosed=void 0,this.hits=void 0,this.missWork=void 0,this.locked=void 0,this.disabled=void 0,this.searches=0,this.consultCurrentSearch=void 0,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,this.diagnosticsCompleted=void 0,this.mapProbes=void 0,this.prunedNodes=void 0}retain(e,t=!1){if(e===void 0||e.size>Q||e===this.first)return!1;if(this.first===void 0||e.size>this.first.size)return this.second=this.first,this.secondIndependentlyClosed=this.firstIndependentlyClosed,this.first=e,this.firstIndependentlyClosed=t,!0;if(this.second===void 0||e.size>this.second.size)return this.second=e,this.secondIndependentlyClosed=t,!0;return!1}disable(e){this.first=void 0,this.second=void 0,this.firstIndependentlyClosed=void 0,this.secondIndependentlyClosed=void 0,this.missWork=void 0,this.disabled=!0,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,this.completeDiagnostics(void 0,e)}hasWithinCrossVersionBudget(e,t){let n=this.passiveProbeBudget;if(n===void 0||n===0)return;let o=e.has(t);return this.passiveProbeBudget=n-1,o}completeDiagnostics(e,t){let n=this.diagnostics;if(n===void 0||this.diagnosticsCompleted===!0)return;this.diagnosticsCompleted=!0;let o=this.mapProbes??0;n.completeSearch(this.consultCurrentSearch===!0?(this.hits??0)!==0?"consulted-pruned":"consulted-no-prune":"observing",e,t,o,this.prunedNodes??0,(this.first?.size??0)+(this.second?.size??0))}}var Ft=(e,t)=>new ct(e,t),de=(e,t,n,o,r,i)=>{if(i!==void 0)i.nodeVisits=n,i.dependentProbes=dt-t.remaining-n,i.liveDependents=o,i.maxFrontier=r;return e},_t=(e,t,n,o,r,i=!0)=>{if(r!==void 0)r.nodeVisits=0,r.dependentProbes=0,r.liveDependents=0,r.maxFrontier=0;let s=n.visitSelectorDependents;if(s===void 0)return"unsupported";if(!o.isSoleActiveSelector(n,t))return"ineligible-active-frames";if(!Object.is(e,t)){let m=n.getSelectorDependencyNodes;if(m!==void 0){let h=m.call(n,e);if(h===void 0||h.length===0)return"proven-terminal"}}if(!i)return"disabled";let a={remaining:dt},d=[t],c=new Set(d),l=0,u=0,p=1;while(d.length>0){if(a.remaining===0)return de("budget-exhausted",a,l,u,p,r);a.remaining--,l++;let m=d.pop();if(Object.is(m,e))return de("path-possible",a,l,u,p,r);let h=!1,y=s.call(n,m,a,(M)=>{if(u++,Object.is(M,e))return h=!0,!1;if(!c.has(M)){if(c.add(M),d.push(M),d.length>p)p=d.length}return!0});if(h)return de("path-possible",a,l,u,p,r);if(!y)return de("budget-exhausted",a,l,u,p,r)}return de("proven-reverse",a,l,u,p,r)},Bt=(e,t,n,o,r,i,s)=>{if(r===1){let u=_t(e,t,n,o,void 0,s?.reverseProofEnabled??!0);if(u==="proven-terminal"||u==="proven-reverse")return;if(u==="budget-exhausted"&&s!==void 0)s.reverseProofEnabled=!1}let a=s?.(),d=a?.beginSearch()??!1,c=[e],l=new Map([[e,ot]]);while(c.length>0){let u=c.pop();if(Object.is(u,t)){let h=[],y=u;while(y!==ot)h.push(y),y=l.get(y);return h.reverse(),a?.completePositive(),Object.freeze(h)}let p=o.getTransientDependencies(n,u);if(p){if(p.length===0)continue;if(d){let h=a.hasProvenNoPath(u);if(!a.enabled)d=!1;if(h)continue}for(let h of p){if(l.has(h.node))continue;l.set(h.node,u),c.push(h.node)}continue}if(n.getSelectorDependencyNodes!==void 0){let h=n.getSelectorDependencyNodes(u);if(h===void 0||h.length===0)continue;if(d){let y=a.hasProvenNoPath(u);if(!a.enabled)d=!1;if(y)continue}for(let y of h){if(l.has(y))continue;l.set(y,u),c.push(y)}continue}let m=n.getSelectorRecord(u);if(!m||m.dependencies.length===0)continue;if(d){let h=a.hasProvenNoPath(u);if(!a.enabled)d=!1;if(h)continue}for(let h of m.dependencies){if(l.has(h.node))continue;l.set(h.node,u),c.push(h.node)}}a?.completeNegative(l);return},rt=(e,t)=>{let n=st(e);if(n.kind==="thenable")return at(n),new _(t);if(n.kind==="inspection-error")return n.error;return e},it=(e,t)=>{let n=st(e);if(n.kind==="thenable")return at(n),Object.freeze({kind:"error",error:new _(t)});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return Object.freeze({kind:"value",value:e})},lt=(e,t,n,o=Bt,r)=>{let{node:i}=e,s=[],a=t.getSelectorRecord(i),d=a?.dependencies,c=d===void 0?new Set:void 0,l,u=0,p=t.getComparisonBaseline(i),m=!0,h=()=>{let f=c;if(f!==void 0)return f;f=new Set;for(let S of s)f.add(S.node);return c=f,f};n.enter(t,i,s);let y=t.getSelectorGraphVersion(),M=n.getSelectorGraphPublicationCount(t),z=y,H=M,qe=y,Ue=M,ke,we=!1,Te=y,ce=0,G,Ke=y,le,Oe=(f,S)=>{if(f===Te)return;if(Te=f,G===void 0){ce=0;return}if(G.advanceGraphVersion(S))return;ce=0,r?.graphVersionReset()},Nt=(f)=>{if(f!==Te)Oe(f,void 0);if(ce++,(d?.length??0)===0&&ce<3){r?.admissionSkipped();return}if(G===void 0){let S=d!==void 0&&d.length>0&&d.length<3;G=Ft(S?3:0,r)}if(!G.enabled){r?.disabled();return}return G},Ct=(f)=>{if(we)return;let S=t.beginSelectorGraphObservation?.(f);if(S===void 0)return;we=!0,ke=S},Re=(f,S,g,v)=>g-f===v-S,Ye=(f=t.getSelectorGraphVersion(),S=n.getSelectorGraphPublicationCount(t),g=Re(z,H,f,S))=>{if(f===z)return;if(!we&&t.beginSelectorGraphObservation!==void 0){Oe(f,void 0),z=f,H=S;return}let v=ke?.takeAddedEdges();if(Oe(f,v),g){z=f,H=S;return}if(v!==void 0){let k=!1;for(let O of v)if(o(O.head,O.tail,t,n,2,s.length)!==void 0){k=!0;break}if(!k){z=f,H=S;return}}for(let k=0;k<s.length;k++){let O=s[k],C=o(O.node,i,t,n,0,s.length);if(!C)continue;if(c!==void 0)for(let P=s.length-1;P>=k;P--)c.delete(s[P].node);if(s.length=k,u++,n.getControlFault().kind==="fault")return;let T=new ee(i,[i,...C]);n.latchCycle(t,i,T);return}z=f,H=S},Ne=()=>{let f=t.getSelectorGraphVersion(),S=n.getSelectorGraphPublicationCount(t);qe=f,Ue=S;let g=Re(z,H,f,S);if(!g)n.revalidateAncestorPrefixes(t,i);Ye(f,S,g)};n.setPrefixRevalidator(t,i,Ye);let Et=(f)=>{if(!m)throw new De;let S=n.getControlFault();if(S.kind==="fault")throw S.error;let g=n.getCycle(t,i);if(g!==void 0)throw g;let v=n.activeCyclePath(t,f);if(v){let b=new ee(i,v);throw n.latchCycle(t,i,b),b}let k=s.length,O,C=!1;if(c===void 0){let b=d?.[k];if(b!==void 0&&Object.is(b.node,f))O=!1,C=!0;else O=h().has(f)}else O=c.has(f);if(!O&&!C&&d!==void 0&&d.length>0){let b=d[s.length];if(b!==void 0&&Object.is(b.node,f))C=!0;else{if(l===void 0){l=new Set;for(let q of d)l.add(q.node)}C=l.has(f)}}let L=u,T=t.serve(f,n);Ne();let P=n.getCycle(t,i);if(P!==void 0)throw P;let Z=c!==void 0?c.has(f):u===L&&s.length===k?!1:h().has(f),I=qe,W=Ue,x=Z||C&&I===y,ue=d===void 0&&Re(y,M,I,W);if(!x&&!ue){if(Ke=I,le===void 0)le=()=>Nt(Ke),le.reverseProofEnabled=!0;let b=o(f,i,t,n,1,s.length,le);if(b){let q=n.getControlFault();if(q.kind==="fault")throw q.error;let Xe=new ee(i,[i,...b]);throw n.latchCycle(t,i,Xe),Xe}}if(!Z){let b=a?.dependencies[s.length];c?.add(f),s.push(b!==void 0&&Object.is(b.node,f)&&Object.is(b.token,T.token)?b:Object.freeze({node:f,token:T.token})),Ct(f)}if(z=I,H=W,T.outcome.kind==="control-error"){n.latchControlFault(T.outcome.error);let b=n.getControlFault();if(b.kind==="fault")throw b.error;throw T.outcome.error}let J=n.getControlFault();if(J.kind==="fault")throw J.error;if(T.outcome.kind==="error")throw new Ce(f,T.outcome.error);return T.outcome.value};try{let f,S,g=!1;try{f=e.get(Et)}catch(P){g=!0,S=P}finally{m=!1}if(g)S=rt(S,"getter");let v=g?void 0:it(f,"getter");Ne();let k=n.getControlFault();if(k.kind==="fault")return R(i,t.createOutcomeToken(),{kind:"control-error",error:k.error},s);let O=n.getCycle(t,i);if(O!==void 0)return R(i,t.createOutcomeToken(),{kind:"error",error:O},s);if(g)return R(i,t.createOutcomeToken(),{kind:"error",error:S instanceof _?S:new fe(i,S)},s);if(v===void 0)throw Error("Selector result classification was not completed");let C=n.getControlFault();if(C.kind==="fault")return R(i,t.createOutcomeToken(),{kind:"control-error",error:C.error},s);if(v.kind==="error")return R(i,t.createOutcomeToken(),{kind:"error",error:v.error instanceof _?v.error:new fe(i,v.error)},s);let L=v.value,T;if(p){let P=e.equal??Object.is,Z,I,W=!1;try{Z=P(p.value,L)}catch(q){W=!0,I=rt(q,"comparator")}let x=W?void 0:it(Z,"comparator");Ne();let ue=n.getControlFault();if(ue.kind==="fault")return R(i,t.createOutcomeToken(),{kind:"control-error",error:ue.error},s);let J=n.getCycle(t,i);if(J!==void 0)return R(i,t.createOutcomeToken(),{kind:"error",error:J},s);if(W)return R(i,t.createOutcomeToken(),{kind:"error",error:I instanceof _?I:new he(i,I)},s);if(x===void 0)throw Error("Selector comparator classification was not completed");let b=n.getControlFault();if(b.kind==="fault")return R(i,t.createOutcomeToken(),{kind:"control-error",error:b.error},s);if(x.kind==="error")return R(i,t.createOutcomeToken(),{kind:"error",error:x.error instanceof _?x.error:new he(i,x.error)},s);if(x.value!==!0&&x.value!==!1)return R(i,t.createOutcomeToken(),{kind:"error",error:new Ee},s);if(x.value===!0)L=p.value,T=p.current?p.token:void 0}return R(i,T??t.createOutcomeToken(),{kind:"value",value:L},s)}finally{try{ke?.close()}finally{n.leave(t,i)}}};class A{#t=[];#n;#o=0;#i;#s=Ht;latchControlFault(e){if(this.#s.kind==="fault")return;this.#s=Object.freeze({kind:"fault",error:e})}getControlFault(){return this.#s}noteSelectorGraphPublication(e){let t=this.#n;if(t===void 0){this.#n=e,this.#o=1;return}if(Object.is(t,e)){this.#o++;return}let n=this.#i??(this.#i=new WeakMap);n.set(e,(n.get(e)??0)+1)}getSelectorGraphPublicationCount(e){return Object.is(this.#n,e)?this.#o:this.#i?.get(e)??0}enter(e,t,n){this.#t.push({host:e,selector:t,dependencyPrefix:n,revalidatePrefix:void 0,cycleError:void 0})}leave(e,t){let n=this.#t.pop();if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame corruption")}isActive(e,t){return this.#t.some((n)=>Object.is(n.host,e)&&Object.is(n.selector,t))}isSoleActiveSelector(e,t){let n=!1;for(let o of this.#t){if(!Object.is(o.host,e))continue;if(n||!Object.is(o.selector,t))return!1;n=!0}return n}activeCyclePath(e,t){let n=this.#t.findIndex((o)=>Object.is(o.host,e)&&Object.is(o.selector,t));if(n===-1)return;return Object.freeze([...this.#t.slice(n).filter((o)=>Object.is(o.host,e)).map((o)=>o.selector),t])}setPrefixRevalidator(e,t,n){let o=this.#r(e,t);if(o.revalidatePrefix!==void 0)throw Error("Selector prefix revalidator is already installed");o.revalidatePrefix=n}revalidateAncestorPrefixes(e,t){this.#r(e,t);for(let n=0;n<this.#t.length-1;n++){let o=this.#t[n];if(!Object.is(o.host,e))continue;let r=o.revalidatePrefix;if(r===void 0)throw Error("Selector prefix revalidator is not installed");r()}}getTransientDependencies(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o.dependencyPrefix}return}latchCycle(e,t,n){let o=this.#a(e,t);o.cycleError??=n}getCycle(e,t){return this.#r(e,t).cycleError}#r(e,t){let n=this.#t[this.#t.length-1];if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame is not active");return n}#a(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o}throw Error("Selector evaluation frame is not active")}}var Ht=Object.freeze({kind:"none"});var ut=Symbol("no-committed-selector-baseline");class ve{#t;#n=new Map;#o=new Map;#i=new Map;#s;#r=1;#a=0;#c;constructor(e,t,n){this.#t=e,this.#s=t,this.#c=n}readSelector(e){let t=new A,n=this.serve(e,t);if(n.outcome.kind!=="value")throw n.outcome.error;return n.outcome.value}advanceGeneration(e){if(e!==this.#s+1)throw Error("Scratch selector generation is not contiguous");this.#s=e,this.#n.clear(),this.#o.clear()}revoke(){this.#n.clear(),this.#o.clear(),this.#i.clear(),this.#t=void 0}serve(e,t){let n=this.#d(),o=n.resolveState(e,t);if(o.kind==="atom"){let a=this.#o.get(e);if(a!==void 0)return a;let d=Object.freeze({token:this.createOutcomeToken(),outcome:n.readDraftAtomOutcome(e,t)});return this.#o.set(e,d),d}let r=this.#n.get(e);if(r!==void 0)return r.served;let i=n.runSelectorActivity(t,()=>this.#c(o.definition,this,t));if(i.outcome.kind==="control-error")throw i.outcome.error;let s=Object.freeze({token:i.token,outcome:i.outcome});return this.#a++,t.noteSelectorGraphPublication(this),this.#n.set(e,Object.freeze({served:s,dependencies:i.dependencies})),s}getSelectorRecord(e){let t=this.#n.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorGraphVersion(){return this.#a}getComparisonBaseline(e){let t=this.#i.get(e);if(t===void 0)t=this.#d().captureCommittedSelectorSuccess(e)??ut,this.#i.set(e,t);return t===ut?void 0:Object.freeze({current:!1,value:t.value})}createOutcomeToken(){return Object.freeze({id:this.#r++})}#d(){if(this.#t===void 0)throw Error("Scratch selector host is revoked");return this.#t}}var ft=4096,Gt=Object.freeze([]);class St{onDeadReference;onEmptinessProbe;#t=new WeakMap;#n=new Set;constructor(e,t){this.onDeadReference=e;this.onEmptinessProbe=t}add(e){if(this.#t.has(e))return;let t=new WeakRef(e);this.#t.set(e,t),this.#n.add(t)}delete(e){let t=this.#t.get(e);if(t===void 0)return;this.#t.delete(e),this.#n.delete(t)}forEach(e){for(let t of this.#n){let n=t.deref();if(n===void 0){this.#n.delete(t),this.onDeadReference?.();continue}e(n)}}visitWithin(e,t){for(let n of this.#n){if(e.remaining===0)return!1;e.remaining--;let o=n.deref();if(o===void 0){this.#n.delete(n),this.onDeadReference?.();continue}if(!t(o))return!1}return!0}isEmpty(){for(let e of this.#n){if(this.onEmptinessProbe?.(),e.deref()!==void 0)return!1;this.#n.delete(e),this.onDeadReference?.()}return!0}clear(){this.#n.clear(),this.#t=new WeakMap}}class ge{coordinator;parent;name;children;namedChildren=new Map;atomOverrides=new WeakMap;#t=new WeakMap;#n;#o=new WeakMap;#i;#s=new WeakMap;#r=new WeakSet;#a=0;#c=0;#d;#l=!1;#h;#u="live";constructor(e,t,n){this.coordinator=e,this.parent=t,this.name=n,this.children=this.#m(),this.#n=this.#m()}get status(){return this.#u}get facade(){if(this.#h===void 0)throw Error("Store scope facade is not installed");return this.#h}installFacade(e){if(this.#h!==void 0)throw Error("Store scope facade is already installed");this.#h=e}markDisposing(){if(this.#u==="live")this.#u="disposing"}markDisposed(){this.#u="disposed"}getAtomView(e){return this.#t.get(e)}getMaterializedServedOutcome(e){let t=this.#t.get(e);if(t!==void 0)return t.served;let n=e,o=this.#o.get(n);return o!==void 0&&!this.#r.has(n)?o.served:void 0}createAtomView(e,t,n){let o=this.#t.get(e);if(o!==void 0)return o;let r={scope:this,atom:e,served:Object.freeze({token:this.createOutcomeToken(),outcome:t}),inheritedFrom:n,inheritingChildren:this.#m()};if(this.#t.set(e,r),this.#n.add(r),n!==void 0)n.inheritingChildren.add(r),this.coordinator.recordCounter("routeAdds");return r}attachAtomView(e,t){if(Object.is(e.inheritedFrom,t))return;this.detachAtomView(e),e.inheritedFrom=t,t.inheritingChildren.add(e),this.coordinator.recordCounter("routeAdds")}detachAtomView(e){if(e.inheritedFrom===void 0)return;e.inheritedFrom.inheritingChildren.delete(e),e.inheritedFrom=void 0,this.coordinator.recordCounter("routeRemoves")}updateAtomView(e,t){e.served=Object.freeze({token:this.createOutcomeToken(),outcome:t}),this.coordinator.reachSubscriptionTarget(this,e.atom)}captureCommittedSelectorSuccess(e){let t=this.#o.get(e)?.lastSuccess;return t===void 0?void 0:Object.freeze({value:t.value})}isSelectorDirty(e){return this.#r.has(e)}getCommittedSelectorDependencies(e){return this.#o.get(e)?.dependencies}markDependents(e){this.#s.get(e)?.forEach((t)=>{if(this.coordinator.enqueueSelector(this,t))this.#r.add(t)})}dropRecords(){this.#n.forEach((e)=>{this.detachAtomView(e),e.inheritingChildren.clear()}),this.#n.clear(),this.atomOverrides=new WeakMap,this.#t=new WeakMap,this.#o=new WeakMap,this.#i=void 0,this.#s=new WeakMap,this.#r=new WeakSet,this.#a++,this.#e()}serve(e,t){let n=this.coordinator.runtimeDomain;if(U(n,e,t)==="invalid")throw TypeError("Selector get requires a valid State");return this.serveKnownLocal(e,t)}serveKnownLocal(e,t){let n=this.coordinator.runtimeDomain;if(n.atoms.has(e)){let a=this.#t.get(e);if(a!==void 0)return a.served;return this.coordinator.serveScopeAtom(this,e,t)}let o=n.selectors.get(e);if(o===void 0)throw TypeError("Unknown committed StoreTree state");let r=e,i=this.#o.get(r);if(i!==void 0&&this.coordinator.postSourceApply)this.coordinator.prepareSelectorRead(this,r,t),i=this.#o.get(r);if(i!==void 0&&!this.#r.has(r))return i.served;let s=se(n,t,()=>this.coordinator.evaluate(o,this,t));if(s.outcome.kind==="control-error"&&!this.coordinator.postSourceApply)throw s.outcome.error;return this.#b(r,s,t)}getSelectorRecord(e){let t=this.#o.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorDependencyNodes(e){let t=this.#o.get(e);if(t===void 0)return;let n=e,o=this.#i?.get(n);if(o===void 0){let r=[];for(let s of t.dependencies)if(this.coordinator.runtimeDomain.selectors.has(s.node))r.push(s.node);o=Object.freeze(r);let i=this.#i;if(i===void 0)i=new WeakMap,this.#i=i;i.set(n,o)}return o}visitSelectorDependents(e,t,n){return this.#s.get(e)?.visitWithin(t,n)??!0}getSelectorGraphVersion(){return this.#a}beginSelectorGraphObservation(e){if(!this.coordinator.runtimeDomain.selectors.has(e))return;if(this.#c===0)this.#d=[],this.#l=!1;this.#c++;let t=this.#d?.length??0,n=!1;return Object.freeze({takeAddedEdges:()=>{if(n||this.#l)return;let o=this.#d;if(o===void 0)return;if(t===o.length)return Gt;let r=Object.freeze(o.slice(t));return t=o.length,r},close:()=>{if(n)return;if(n=!0,this.#c--,this.#c!==0)return;this.#d=void 0,this.#l=!1}})}getComparisonBaseline(e){let t=this.#o.get(e);if(t?.lastSuccess===void 0)return;return t.served.outcome.kind==="value"?Object.freeze({current:!0,value:t.lastSuccess.value,token:t.served.token}):Object.freeze({current:!1,value:t.lastSuccess.value})}createOutcomeToken(){return this.coordinator.createOutcomeToken()}#b(e,t,n){let o=this.#o.get(e),r=Object.freeze({token:t.token,outcome:t.outcome}),i=Object.freeze({served:r,dependencies:t.dependencies,lastSuccess:t.outcome.kind==="value"?Object.freeze({value:t.outcome.value,token:t.token}):o?.lastSuccess}),s=this.#y(e,o?.dependencies??ht,t.dependencies),a=s?this.#S(e,o?.dependencies??ht,t.dependencies):void 0;if(s)this.#i?.delete(e);if(this.#a++,n.noteSelectorGraphPublication(this),this.#o.set(e,i),this.#r.delete(e),a!==void 0)this.#p(a);if(o!==void 0&&!Object.is(o.served.token,t.token))this.coordinator.reachSubscriptionTarget(this,e),this.markDependents(e);if(t.outcome.kind==="control-error")this.coordinator.latchPropagationControlFault(t.outcome.error);return r}#y(e,t,n){if(t.length===n.length){let o=0;while(o<t.length&&Object.is(t[o].node,n[o].node))o++;if(o===t.length)return!1}for(let o of t){let r=this.#s.get(o.node);if(r?.delete(e),r?.isEmpty())this.#s.delete(o.node)}for(let o of n){let r=this.#s.get(o.node);if(r===void 0)r=this.#m(),this.#s.set(o.node,r);r.add(e)}return!0}#S(e,t,n){if(this.#c===0||this.#l)return;let o=this.#d;if(o===void 0){this.#e();return}let r=ft-o.length,i=this.coordinator.runtimeDomain.selectors,s=new Set;for(let d of t)if(i.has(d.node))s.add(d.node);let a=[];for(let d of n)if(i.has(d.node)&&!s.has(d.node)){if(a.push(Object.freeze({tail:e,head:d.node})),a.length>r){this.#e();return}}return a}#p(e){if(e.length===0)return;let t=this.#d;if(t===void 0||t.length+e.length>ft){this.#e();return}t.push(...e)}#e(){if(this.#c===0)return;this.#d=[],this.#l=!0}#m(){return new St(this.coordinator.instrumented?()=>this.coordinator.recordCounter("deadRouteCompactions"):void 0)}}var ht=Object.freeze([]);class Fe{transaction=Object.freeze({});#t;#n;#o;#i;#s;#r;#a;#c;#d;#l;#h;#u;#b;#y;#S;#p;#e;generation=0;active=!0;constructor(e){this.#t=e}get hasIntents(){return this.#o!==void 0||this.#i!==void 0||this.#s!==void 0||this.#r!==void 0}get singleIntentScope(){return this.#n}get singleIntent(){return this.#i===void 0?this.#o:void 0}stage(e,t){let n=this.#r;if(n!==void 0){let i=n.get(e);if(i===void 0)i=this.#f(),n.set(e,i);i.set(t.atom,t),this.#m();return}let o=this.#s;if(o!==void 0){if(Object.is(this.#n,e))o.set(t.atom,t);else{let i=this.#f();i.set(this.#n,o);let s=this.#f();s.set(t.atom,t),i.set(e,s),this.#r=i,this.#s=void 0,this.#n=void 0}this.#m();return}let r=this.#o;if(r===void 0){this.#n=e,this.#o=t,this.#m();return}if(Object.is(this.#n,e)&&Object.is(r.atom,t.atom)){this.#o=t,this.#m();return}if(Object.is(this.#n,e)){let i=this.#i;if(i===void 0){this.#i=t,this.#m();return}if(Object.is(i.atom,t.atom)){this.#i=t,this.#m();return}let s=this.#f();s.set(r.atom,r),s.set(i.atom,i),s.set(t.atom,t),this.#s=s}else{let i=this.#f(),s=this.#f();if(s.set(r.atom,r),this.#i!==void 0)s.set(this.#i.atom,this.#i);i.set(this.#n,s);let a=this.#f();a.set(t.atom,t),i.set(e,a),this.#r=i,this.#n=void 0}this.#o=void 0,this.#i=void 0,this.#m()}forEachIntent(e){let t=this.#o;if(t!==void 0){if(e(this.#n,t),this.#i!==void 0)e(this.#n,this.#i);return}let n=this.#s;if(n!==void 0){let r=this.#n;for(let i of n.values())e(r,i);return}let o=this.#r;if(o===void 0)return;for(let[r,i]of o)for(let s of i.values())e(r,s)}getIntent(e,t){let n=this.#o;if(n!==void 0&&Object.is(this.#n,e)&&Object.is(n.atom,t))return n;let o=this.#i;if(o!==void 0&&Object.is(this.#n,e)&&Object.is(o.atom,t))return o;if(Object.is(this.#n,e))return this.#s?.get(t);return this.#r?.get(e)?.get(t)}getAtomBaseline(e,t){if(this.#d!==void 0&&Object.is(this.#a,e)&&Object.is(this.#c,t))return this.#d;if(this.#h!==void 0&&Object.is(this.#a,e)&&Object.is(this.#l,t))return this.#h;if(Object.is(this.#a,e))return this.#u?.get(t);return this.#b?.get(e)?.get(t)}setAtomBaseline(e,t,n){let o=this.#b;if(o!==void 0){let s=o.get(e);if(s===void 0)s=this.#f(),o.set(e,s);if(!s.has(t))s.set(t,n);return}let r=this.#u;if(r!==void 0){if(Object.is(this.#a,e)){if(!r.has(t))r.set(t,n)}else{let s=this.#f();s.set(this.#a,r);let a=this.#f();a.set(t,n),s.set(e,a),this.#b=s,this.#u=void 0,this.#a=void 0}return}let i=this.#d;if(i===void 0){this.#a=e,this.#c=t,this.#d=n;return}if(Object.is(this.#a,e)&&Object.is(this.#c,t))return;if(Object.is(this.#a,e)){let s=this.#h;if(s===void 0){this.#l=t,this.#h=n;return}if(Object.is(this.#l,t))return;let a=this.#f();a.set(this.#c,i),a.set(this.#l,s),a.set(t,n),this.#u=a}else{let s=this.#f(),a=this.#f();if(a.set(this.#c,i),this.#l!==void 0&&this.#h!==void 0)a.set(this.#l,this.#h);s.set(this.#a,a);let d=this.#f();d.set(t,n),s.set(e,d),this.#b=s,this.#a=void 0}this.#c=void 0,this.#d=void 0,this.#l=void 0,this.#h=void 0}getFallback(e){if(Object.is(this.#y,e))return this.#S;return this.#p?.get(e)}hasFallback(e){return Object.is(this.#y,e)||(this.#p?.has(e)??!1)}setFallback(e,t){let n=this.#p;if(n!==void 0){n.set(e,t);return}if(this.#S===void 0){this.#y=e,this.#S=t;return}if(Object.is(this.#y,e)){this.#S=t;return}let o=this.#f();o.set(this.#y,this.#S),o.set(e,t),this.#p=o,this.#y=void 0,this.#S=void 0}forEachFallback(e){if(this.#y!==void 0&&this.#S!==void 0)e(this.#y,this.#S);if(this.#p!==void 0)for(let[t,n]of this.#p)e(t,n)}#m(){this.generation+=1;let e=this.#e;if(e!==void 0)for(let t of e.values())t.advanceGeneration(this.generation)}getScratchHost(e){return this.#e?.get(e)}installScratchHost(e,t){let n=this.#e,o=n===void 0;if(n===void 0)n=new Map,this.#e=n;return n.set(e,t),o}close(){if(!this.active)return;this.active=!1;let e=this.#e;if(e!==void 0){for(let t of e.values())t.revoke();e.clear()}this.#e=void 0}release(){if(this.#s?.clear(),this.#r!==void 0){for(let e of this.#r.values())e.clear();this.#r.clear()}if(this.#u?.clear(),this.#b!==void 0){for(let e of this.#b.values())e.clear();this.#b.clear()}this.#p?.clear(),this.#n=void 0,this.#o=void 0,this.#i=void 0,this.#s=void 0,this.#r=void 0,this.#a=void 0,this.#c=void 0,this.#d=void 0,this.#l=void 0,this.#h=void 0,this.#u=void 0,this.#b=void 0,this.#y=void 0,this.#S=void 0,this.#p=void 0,this.#e?.clear(),this.#e=void 0}#f(){return this.#t?.(),new Map}}class pt{get;set;update;reset;scope;constructor(e,t,n){this.get=(o)=>e.transactionGet(t,n,o),this.set=(o,r)=>e.transactionSet(t,n,o,r),this.update=(o,r)=>e.transactionUpdate(t,n,o,r),this.reset=(o)=>e.transactionReset(t,n,o),this.scope=(...o)=>e.transactionScope(t,n,o[0],o.length,o[1]),ae(this,e.runtimeDomain.ownerToken),e.runtimeDomain.transactionCursors.set(this,t),Object.freeze(this)}}var _e=(e,t,n)=>new pt(e,t,n),Be=(e)=>{let t=E(e);if(t.kind==="not-thenable")return;if(t.kind==="inspection-error")throw t.error;throw D(t),new te},mt=(e)=>{let t=E(e);if(t.kind==="not-thenable")throw e;if(t.kind==="inspection-error")throw t.error;throw D(t),new te};var Lt=(e)=>function(){let n=e.target;if(n===void 0)return;n.host.removeSubscription(e)},wt=Object.freeze({sourceEpoch:0,routeVisits:1,deadRouteCompactions:2,scratchHostAllocations:3,propagationSettlements:4,disposalVisits:5,warmParentHops:6,scopeNodesCreated:7,storeFacadesCreated:8,namedScopeHits:9,namedScopeMisses:10,routeAdds:11,routeRemoves:12,fallbackPublications:13,draftCreations:14,scratchMapAllocations:15,finalResolutionVisits:16,finalPreflightVisits:17,draftStorageAllocations:18,commitWorksetAllocations:19,subscriptionIndexMapsCreated:20,subscriptionTargetsCreated:21,subscriptionRegistrations:22,subscriptionRemovals:23,unsubscribeClosuresCreated:24,activeSubscriptionScopes:25,activeSubscriptionTargets:26,activeSubscriptions:27,notificationTargetsReached:28,notificationSnapshots:29,subscriberCallbacksAttempted:30,subscriberErrors:31}),Wt=32,Tt=new WeakMap,pn=()=>{let e=new Uint32Array(Wt),t=Object.freeze({read(n){return e[wt[n]]??0}});return Tt.set(t,e),t},N=(e)=>Object.freeze({kind:"value",value:e}),qt=(e)=>Object.freeze({kind:"error",error:e}),yt=(e)=>e.kind==="value"?N(e.value):qt(e.error),bt=(e,t)=>{if(e.kind!==t.kind)return!1;if(e.kind==="value"&&t.kind==="value")return Object.is(e.value,t.value);return e.kind!=="value"&&t.kind!=="value"&&Object.is(e.error,t.error)},At=1,He=2,vt=4,Ut=(e)=>({onAllocation:e,preflightAtom:void 0,preflightScope:void 0,preflightOutcome:void 0,secondPreflightAtom:void 0,secondPreflightScope:void 0,secondPreflightOutcome:void 0,preflight:void 0,consideredRecord:void 0,secondConsideredRecord:void 0,considered:void 0,affectedRecord:void 0,affectedBefore:void 0,secondAffectedRecord:void 0,secondAffectedBefore:void 0,affected:void 0}),Le=(e)=>(e.onAllocation?.(),new Map),Kt=(e)=>(e.onAllocation?.(),new Set),Ge=(e,t,n)=>{if(e.preflightOutcome!==void 0&&Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return e.preflightOutcome;if(e.secondPreflightOutcome!==void 0&&Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return e.secondPreflightOutcome;return e.preflight?.get(t)?.get(n)},gt=(e,t,n,o)=>{if(e.preflightOutcome===void 0){e.preflightAtom=t,e.preflightScope=n,e.preflightOutcome=o;return}if(Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return;if(e.secondPreflightOutcome===void 0){e.secondPreflightAtom=t,e.secondPreflightScope=n,e.secondPreflightOutcome=o;return}if(Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return;let r=e.preflight;if(r===void 0)r=Le(e),e.preflight=r;let i=r.get(t);if(i===void 0)i=Le(e),r.set(t,i);i.set(n,o)},Yt=(e,t)=>{if(Object.is(e.consideredRecord,t)||Object.is(e.secondConsideredRecord,t))return!1;if(e.consideredRecord===void 0)return e.consideredRecord=t,!0;if(e.secondConsideredRecord===void 0)return e.secondConsideredRecord=t,!0;let n=e.considered;if(n===void 0)n=Kt(e),e.considered=n;if(n.has(t))return!1;return n.add(t),!0},Xt=(e,t,n)=>{if(e.affectedRecord===void 0){e.affectedRecord=t,e.affectedBefore=n;return}if(e.secondAffectedRecord===void 0){e.secondAffectedRecord=t,e.secondAffectedBefore=n;return}let o=e.affected;if(o===void 0)o=Le(e),e.affected=o;o.set(t,n)};class Ot{#t=new WeakMap;#n;#o=1;#i=0;#s=!1;#r;#a;#c;#d=0;#l;#h;#u;#b=1;#y=0;#S;#p;#e;#m;#f;evaluate;constructor(e,t,n){this.#e=e,this.#m=t===void 0?void 0:Tt.get(t),this.#f=n,this.evaluate=n?.evaluate??lt,this.#n=new ge(this),this.recordCounter("scopeNodesCreated")}get runtimeDomain(){return this.#e}get postSourceApply(){return this.#s}get instrumented(){return this.#m!==void 0}get rootScope(){return this.#n}recordCounter(e,t=1){let n=this.#m;if(n===void 0)return;n[wt[e]]+=t}#T(){return this.recordCounter("draftCreations"),new Fe(this.instrumented?()=>this.recordCounter("draftStorageAllocations"):void 0)}get(e,t){let n=new A,o=t,r=j(this.#e,o,n),i=ze(this.#e,"StoreTree.get");if(this.#A(e),r==="invalid")throw TypeError("StoreTree.get requires a valid State");if(i===void 0){let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value")throw s.outcome.error;return s.outcome.value}try{let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value"){if(s.outcome.kind==="control-error")i.latchControlFault(s.outcome.error);throw s.outcome.error}return s.outcome.value}catch(s){let a=n.getControlFault();if(a.kind==="fault")i.latchControlFault(a.error);throw s}}sub(e,t,n){let o=t,r,i=this.#e.states.has(o)?"local":j(this.#e,o,r=new A);if(V(this.#e,"StoreTree.sub"),this.#A(e),i==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("StoreTree.sub requires a valid State");if(typeof n!=="function")throw TypeError("StoreTree.sub requires a callback function");let s=e.getMaterializedServedOutcome(o)??e.serveKnownLocal(o,r??new A);if(s.outcome.kind==="control-error")throw s.outcome.error;let a=this.#u;if(a===void 0){if(a=new Map,this.#u=a,this.instrumented)this.recordCounter("subscriptionIndexMapsCreated")}let d=a.get(e);if(d===void 0){if(d=new Map,a.set(e,d),this.instrumented)this.recordCounter("subscriptionIndexMapsCreated"),this.recordCounter("activeSubscriptionScopes")}let c=d.get(o);if(c===void 0){if(c={host:this,scope:e,state:o,head:void 0,tail:void 0,reachedEpoch:0},d.set(o,c),this.instrumented)this.recordCounter("subscriptionTargetsCreated"),this.recordCounter("activeSubscriptionTargets")}let l={callback:n,target:c,previous:c.tail,next:void 0};if(c.tail===void 0)c.head=l;else c.tail.next=l;if(c.tail=l,this.instrumented)this.recordCounter("subscriptionRegistrations"),this.recordCounter("activeSubscriptions"),this.recordCounter("unsubscribeClosuresCreated");return Lt(l)}removeSubscription(e){let t=e.target;if(t===void 0)return;et(this.#e);let{previous:n,next:o}=e;if(n===void 0)t.head=o;else n.next=o;if(o===void 0)t.tail=n;else o.previous=n;e.callback=void 0,e.target=void 0,e.previous=void 0,e.next=void 0;let r=this.instrumented;if(r)this.recordCounter("subscriptionRemovals"),this.recordCounter("activeSubscriptions",-1);if(t.head!==void 0)return;let i=this.#u,s=i?.get(t.scope);if(s?.get(t.state)===t){if(s.delete(t.state),r)this.recordCounter("activeSubscriptionTargets",-1)}if(s!==void 0&&s.size===0){if(i?.delete(t.scope),r)this.recordCounter("activeSubscriptionScopes",-1)}if(i?.size===0)this.#u=void 0}set(e,t,n){this.#O(e,t,"StoreTree.set","set",n)}update(e,t,n){this.#O(e,t,"StoreTree.update","update",n)}reset(e,t){this.#O(e,t,"StoreTree.reset","reset")}scope(e,t,n){if(t!==0&&(typeof n==="object"||typeof n==="function")&&n!==null)j(this.#e,n,new A);if(V(this.#e,"StoreTree.scope"),this.#A(e),t===0)return this.#P(e);if(t!==1||typeof n!=="string")throw TypeError("StoreTree.scope requires a string name");let o=e.namedChildren.get(n);if(o!==void 0)return this.recordCounter("namedScopeHits"),o.facade;return this.recordCounter("namedScopeMisses"),this.#P(e,n)}dispose(e){if(V(this.#e,"StoreTree.dispose"),e.status!=="live")return;let t=[],n=[Object.freeze({node:e,expanded:!1})];while(n.length>0){let{node:o,expanded:r}=n.pop();if(r){t.push(o);continue}o.markDisposing(),n.push(Object.freeze({node:o,expanded:!0}));let i=[];o.children.forEach((s)=>i.push(s));for(let s=i.length-1;s>=0;s--)n.push(Object.freeze({node:i[s],expanded:!1}))}for(let o of t){this.recordCounter("disposalVisits");let r=o.parent;if(r!==void 0){if(o.name!==void 0&&Object.is(r.namedChildren.get(o.name),o))r.namedChildren.delete(o.name);r.children.delete(o)}this.#$(o),o.dropRecords(),o.namedChildren.clear(),o.children.clear(),o.markDisposed()}if(Object.is(e,this.#n))this.#t=new WeakMap}txn(e,t,n){if(V(this.#e,"StoreTree.txn"),this.#A(e),typeof t!=="function"||n!==void 0&&typeof n!=="string")throw TypeError("StoreTree.txn requires a callback");let o=this.#T(),r=_e(this,o,e),i;try{i=Je(this.#e,o.transaction,()=>t(r))}catch(s){throw o.close(),o.release(),s}o.close();try{let s=new A;me(this.#e,s,()=>Be(i)),this.#F(o)}finally{o.release()}return i}readHydrationSnapshot(e,t){let n=new A,o=t,r=j(this.#e,o,n);if(V(this.#e,"adapter readHydrationSnapshot"),this.#A(e),r==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("readHydrationSnapshot requires a valid State");let i=this.#T(),s;try{if(this.#e.atoms.has(o)){let a=this.#v(i,e,o,n);if(a.kind!=="value")throw a.error;return a.value}return s=this.#K(i,e),s.readSelector(o)}finally{s?.revoke(),i.close(),i.forEachFallback((a,d)=>{if(this.#t.has(a))return;this.#t.set(a,d),this.recordCounter("fallbackPublications")}),i.release()}}transactionGet(e,t,n){let o=n,r=new A,i=j(this.#e,o,r);if(ye(this.#e,e.transaction,e.active),this.#A(t),i==="invalid")throw TypeError("Transaction.get requires a valid State");if(this.#e.atoms.has(o)){let a=this.#v(e,t,o,r);if(a.kind!=="value")throw a.error;return a.value}if(!this.#e.selectors.has(o))throw TypeError("Transaction.get requires a readable State");let s=e.getScratchHost(t);if(s===void 0){if(s=this.#U(e,t),e.installScratchHost(t,s))this.recordCounter("scratchMapAllocations")}return s.readSelector(o)}transactionSet(e,t,n,o){let r=n,i=new A;this.#R(e,t,r,i,"Transaction.set"),this.#j(e,t,r,o,i)}transactionUpdate(e,t,n,o){let r=n,i=new A;this.#R(e,t,r,i,"Transaction.update"),this.#I(e,t,r,o,i,"Transaction.update")}transactionReset(e,t,n){let o=n,r=new A;this.#R(e,t,o,r,"Transaction.reset"),this.#M(e,t,o,r)}transactionScope(e,t,n,o,r){let i=new A;if(typeof n!=="string")j(this.#e,n,i);ye(this.#e,e.transaction,e.active),this.#A(t);let s=this.#Y(t,n);if(o!==1&&o!==2)throw TypeError("Transaction.scope requires a target and optional callback");let a=_e(this,e,s);if(o===1)return a;if(typeof r!=="function")throw TypeError("Transaction.scope requires a callback function");let d;try{d=r(a)}catch(l){let u=new A;return me(this.#e,u,()=>mt(l))}let c=new A;return me(this.#e,c,()=>Be(d)),d}createOutcomeToken(){return Object.freeze({id:this.#o++})}#U(e,t){return this.recordCounter("scratchHostAllocations"),new ve(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#v(e,t,n,o),captureCommittedSelectorSuccess:(n)=>t.captureCommittedSelectorSuccess(n),runSelectorActivity:(n,o)=>se(this.#e,n,o)}),e.generation,this.evaluate)}#K(e,t){return this.recordCounter("scratchHostAllocations"),new ve(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#v(e,t,n,o),captureCommittedSelectorSuccess:()=>{return},runSelectorActivity:(n,o)=>se(this.#e,n,o)}),e.generation,this.evaluate)}#V(e,t){if(U(this.#e,e,t)==="invalid")throw TypeError("Selector get requires a valid State");if(this.#e.atoms.has(e))return Object.freeze({kind:"atom"});let n=this.#e.selectors.get(e);if(n===void 0)throw TypeError("Unknown scratch StoreTree State");return Object.freeze({kind:"selector",definition:n})}#P(e,t){let n=new ge(this,e,t);this.recordCounter("scopeNodesCreated");let o=new We(this,n,this.#f);if(e.children.add(n),t!==void 0)e.namedChildren.set(t,n);return o}#Y(e,t){if(typeof t==="string"){let i=e.namedChildren.get(t);if(i===void 0)throw new je;return this.#A(i),i}let n=t,o=this.#e.stores.get(n);if(o!==void 0){let i=o;if(this.#A(i),!Object.is(i.coordinator,this))throw new Ie;return i}let r=this.#e.transactionCursors.get(n);if(r!==void 0){if(!r.active)throw new Se;throw new pe}throw new pe}#A(e){if(e.status!=="live")throw new xe}#X(e,t,n,o){let r=j(this.#e,t,n);V(this.#e,o),this.#A(e),this.#x(t,r,o)}#O(e,t,n,o,r){let i=t,s=new A;this.#X(e,i,s,n);let a=this.#T();try{if(o==="set")this.#j(a,e,i,r,s);else if(o==="update")this.#I(a,e,i,r,s,n);else this.#M(a,e,i,s)}catch(d){throw a.close(),a.release(),d}a.close();try{this.#F(a)}finally{a.release()}}#$(e){let t=this.#u,n=t?.get(e);if(n===void 0)return;let o=0;for(let r of n.values()){let i=r.head;while(i!==void 0){let s=i.next;i.callback=void 0,i.target=void 0,i.previous=void 0,i.next=void 0,o++,i=s}r.head=void 0,r.tail=void 0}if(t.delete(e),t.size===0)this.#u=void 0;if(this.instrumented)this.recordCounter("subscriptionRemovals",o),this.recordCounter("activeSubscriptions",-o),this.recordCounter("activeSubscriptionTargets",-n.size),this.recordCounter("activeSubscriptionScopes",-1)}#R(e,t,n,o,r){let i=j(this.#e,n,o);ye(this.#e,e.transaction,e.active),this.#A(t),this.#x(n,i,r)}#x(e,t,n){if(t==="invalid"||!this.#e.atoms.has(e))throw TypeError(`${n} requires a valid Atom`)}#j(e,t,n,o,r){let i=B(this.#e,r,()=>re(o));if(i.kind==="error")throw i.error;let s=this.#N(e,t,n,r);this.#q(e,t,n,i.value,s,r)}#I(e,t,n,o,r,i){if(typeof o!=="function")throw TypeError(`${i} requires an updater function`);let s=this.#N(e,t,n,r),a=e.hasIntents?this.#v(e,t,n,r):s.outcome;if(a.kind!=="value")throw a.error;let d=this.#J(o,a.value,r);this.#q(e,t,n,d,s,r)}#M(e,t,n,o){this.#N(e,t,n,o);let r=t.parent===void 0?Object.freeze({outcome:this.#C(e,n,o),reachesFallback:!0}):this.#z(e,t.parent,n,o);if(r.outcome.kind!=="value")throw r.outcome.error;let i=r.reachesFallback&&e.hasFallback(n);e.stage(t,Object.freeze({kind:"reset",atom:n,publishDraftFallback:i}))}#N(e,t,n,o){let r=e.getAtomBaseline(t,n);if(r!==void 0)return r;let i=t.atomOverrides.has(n),s=t,a;while(s!==void 0){if(s.atomOverrides.has(n)){a=N(s.atomOverrides.get(n));break}s=s.parent}let d=a===void 0,c=Object.freeze({owned:i,outcome:a??this.#C(e,n,o),reachesFallback:d});return e.setAtomBaseline(t,n,c),c}#v(e,t,n,o){return this.#z(e,t,n,o).outcome}#z(e,t,n,o){let r=t;while(r!==void 0){let i=e.getIntent(r,n);if(i?.kind==="set")return Object.freeze({outcome:N(i.value),reachesFallback:!1});if(i===void 0&&r.atomOverrides.has(n))return Object.freeze({outcome:N(r.atomOverrides.get(n)),reachesFallback:!1});r=r.parent}return Object.freeze({outcome:this.#C(e,n,o),reachesFallback:!0})}#C(e,t,n){let o=this.#t.get(t);if(o!==void 0)return o;let r=this.#g(t);if(r.fallback.kind==="eager")return N(r.fallback.value);let i=r.fallback.initialize,s=e.getFallback(t);if(s!==void 0)return s;let a=yt(B(this.#e,n,()=>Me(i)));return e.setFallback(t,a),a}#Q(e,t,n,o){let r=this.#g(e).equal;if(r===void 0)return Object.is(t,n)?t:n;return this.#Z(r,t,n,o)?t:n}#Z(e,t,n,o){return B(this.#e,o,()=>{let r;try{r=e(t,n)}catch(s){let a=E(s);if(a.kind==="not-thenable")throw s;if(a.kind==="inspection-error")throw a.error;throw D(a),new oe}let i=E(r);if(i.kind==="inspection-error")throw i.error;if(i.kind==="thenable")throw D(i),new oe;if(r!==!0&&r!==!1)throw new oe;return r})}#J(e,t,n){return B(this.#e,n,()=>{let o;try{o=e(t)}catch(i){let s=E(i);if(s.kind==="not-thenable")throw i;if(s.kind==="inspection-error")throw s.error;throw D(s),new ne}let r=re(o);if(r.kind==="error")throw r.error;return r.value})}#F(e){if(!e.hasIntents)return;let{singleIntent:t,singleIntentScope:n}=e;if(t?.kind==="reset"&&n!==void 0&&!t.publishDraftFallback&&e.getAtomBaseline(n,t.atom)?.owned===!1)return;let o=Ut(this.instrumented?()=>this.recordCounter("commitWorksetAllocations"):void 0),r,i;if(t!==void 0&&n!==void 0)r=this.#_(e,n,t,o);else e.forEachIntent((a,d)=>{let c=this.#_(e,a,d,o);if(r===void 0){r=c;return}if(i===void 0)i=[];i.push(c)});if(r===void 0)return;if(this.#f?.(1,e,this.#e.atoms),this.#B(e,r),i!==void 0)for(let a of i)this.#B(e,a);let s=this.#H(r);if(i!==void 0)for(let a of i){let d=this.#H(a);s||=d}if(this.#G(r),i!==void 0)for(let a of i)this.#G(a);this.#se();try{let a,d,c=o.affectedRecord,l=o.affectedBefore;if(c!==void 0&&l!==void 0)a=this.#E(o,c,l);let{secondAffectedRecord:u,secondAffectedBefore:p}=o;if(u!==void 0&&p!==void 0){let m=this.#E(o,u,p);if(m!==void 0)if(a===void 0)a=m;else d=[m]}if(o.affected!==void 0)for(let[m,h]of o.affected){let y=this.#E(o,m,h);if(y===void 0)continue;if(a===void 0)a=y;else{if(d===void 0)d=[];d.push(y)}}if(s)this.#i+=1,this.recordCounter("sourceEpoch");this.#f?.(2,a===void 0?0:1+(d?.length??0)),this.#ie(a,d)}catch(a){throw this.#k(),a}}#_(e,t,n,o){let r=e.getAtomBaseline(t,n.atom);if(r===void 0)throw Error("TreeDraft atom baseline is missing");this.#L(e,t,n.atom,o);let i=Object.freeze({scope:t,intent:n,ownershipChanged:n.kind==="set"?!r.owned||!Object.is(t.atomOverrides.get(n.atom),n.value):r.owned}),s=t.getAtomView(n.atom);if(s!==void 0)this.#ee(e,s,o);return i}#B(e,t){if(!t.intent.publishDraftFallback)return;let n=e.getFallback(t.intent.atom);if(n!==void 0&&!this.#t.has(t.intent.atom))this.#t.set(t.intent.atom,n),this.recordCounter("fallbackPublications")}#H(e){let{intent:t,scope:n}=e;if(t.kind==="set")n.atomOverrides.set(t.atom,t.value);else n.atomOverrides.delete(t.atom);return e.ownershipChanged}#G({scope:e,intent:t}){let n=e.getAtomView(t.atom);if(n===void 0)return;if(t.kind==="set"||e.parent===void 0)e.detachAtomView(n);else e.attachAtomView(n,this.#oe(e.parent,t.atom))}#E(e,t,n){let o=Ge(e,t.atom,t.scope);if(o===void 0)throw Error("Affected AtomView final outcome is missing");if(this.recordCounter("finalResolutionVisits"),bt(n,o))return;return t.scope.updateAtomView(t,o),t}#ee(e,t,n){let o=[t];while(o.length!==0){let r=o.pop();if(!Yt(n,r))continue;let i=r.served.outcome,s=this.#L(e,r.scope,r.atom,n);if(bt(i,s))continue;Xt(n,r,i);let a=o.length;r.inheritingChildren.forEach((d)=>{this.recordCounter("routeVisits"),o.push(d)});for(let d=a,c=o.length-1;d<c;d++,c--){let l=o[d];o[d]=o[c],o[c]=l}}}#L(e,t,n,o){let r=Ge(o,n,t);if(r!==void 0)return r;let i=t,s,a,d;while(i!==void 0){let c=Ge(o,n,i);if(c!==void 0){d=c;break}if(s===void 0)s=i;else{if(a===void 0)a=[];a.push(i)}let l=e.getIntent(i,n);if(l?.kind==="set"){d=N(l.value);break}if(l===void 0&&i.atomOverrides.has(n)){d=N(i.atomOverrides.get(n));break}i=i.parent}if(d??=this.#te(e,n),s!==void 0)gt(o,n,s,d),this.recordCounter("finalPreflightVisits");if(a!==void 0)for(let c of a)gt(o,n,c,d),this.recordCounter("finalPreflightVisits");return d}#te(e,t){let n=this.#t.get(t);if(n!==void 0)return n;let o=e.getFallback(t);if(o!==void 0)return o;let r=this.#g(t);if(r.fallback.kind==="eager")return N(r.fallback.value);throw Error("Final Atom fallback was not resolved during staging")}#ne(e){let t=this.#t.get(e);if(t!==void 0)return t;let n=this.#g(e);if(n.fallback.kind==="eager")return N(n.fallback.value);throw Error("Committed Atom fallback is not materialized")}#oe(e,t){let n=e,o=[],r;while(!0){let i=n.getAtomView(t);if(i!==void 0){r=i;break}if(n.atomOverrides.has(t)){r=n.createAtomView(t,N(n.atomOverrides.get(t)));break}if(n.parent===void 0){r=n.createAtomView(t,this.#ne(t));break}o.push(n),n=n.parent}for(let i=o.length-1;i>=0;i--)r=o[i].createAtomView(t,r.served.outcome,r);return r}serveScopeAtom(e,t,n){let o=e,r=[],i;while(!0){let s=o.getAtomView(t);if(s!==void 0){i=s;break}if(o.atomOverrides.has(t)){i=o.createAtomView(t,N(o.atomOverrides.get(t)));break}if(o.parent===void 0){i=o.createAtomView(t,this.#re(t,n));break}this.recordCounter("warmParentHops"),r.push(o),o=o.parent}for(let s=r.length-1;s>=0;s--)i=r[s].createAtomView(t,i.served.outcome,i);return i.served}#re(e,t){let n=this.#t.get(e);if(n!==void 0)return n;let o=this.#g(e);if(o.fallback.kind==="eager")return N(o.fallback.value);let r=o.fallback.initialize,i=yt(B(this.#e,t,()=>Me(r)));return this.#t.set(e,i),this.recordCounter("fallbackPublications"),i}#g(e){let t=this.#e.atoms.get(e);if(t===void 0)throw TypeError("Unknown committed StoreTree Atom");return t}#ie(e,t){if(e===void 0){this.#k();return}this.recordCounter("propagationSettlements"),this.#r=[],this.#a=void 0,this.#c=void 0,this.#d=0,this.#l=void 0,this.#h=void 0,this.#s=!0;let n;try{if(e.scope.markDependents(e.atom),t!==void 0)for(let r of t)r.scope.markDependents(r.atom);let o=0;while(o<this.#r.length){let r=this.#r[o++],i=this.#r[o++];this.#D(r,i)}}finally{n=this.#h,this.#h=void 0,this.#s=!1,this.#r=void 0,this.#a=void 0,this.#c=void 0,this.#d=0,this.#l=void 0}this.#ae(n)}#se(){this.#S=void 0,this.#p=void 0,this.#y=this.#u===void 0?0:this.#b++}#k(){this.#y=0,this.#S=void 0,this.#p=void 0}reachSubscriptionTarget(e,t){let n=this.#y,o=this.#u?.get(e)?.get(t);if(n===0||o===void 0||o.reachedEpoch===n)return;if(o.reachedEpoch=n,this.instrumented)this.recordCounter("notificationTargetsReached");if(this.#S===void 0){this.#S=o;return}if(this.#p===void 0)this.#p=[o];else this.#p.push(o)}#ae(e){let t=this.#S;if(t===void 0){if(this.#k(),e!==void 0)throw e;return}let n,o,r=(c)=>{let l=c.head;while(l!==void 0){let u=l.callback;if(u!==void 0)if(n===void 0)n=u;else if(o===void 0)o=[n,u];else o.push(u);l=l.next}};r(t);let i=this.#p;if(i!==void 0)for(let c of i)r(c);if(this.#k(),n===void 0){if(e!==void 0)throw e;return}let s=Object.freeze(o??[n]),a=this.instrumented;if(a)this.recordCounter("notificationSnapshots");let d;for(let c of s){if(a)this.recordCounter("subscriberCallbacksAttempted");let l=new A,u=!1,p;try{Ze(this.#e,l,()=>{try{let m=c(),h=E(m);if(h.kind==="thenable")D(h);else if(h.kind==="inspection-error")u=!0,p=h.error}catch(m){u=!0,p=m;let h=E(m);if(h.kind==="thenable")D(h)}})}catch(m){u=!0,p=m}if(u){if(d===void 0)d=[];if(d.push(p),a)this.recordCounter("subscriberErrors")}}if(d===void 0){if(e!==void 0)throw e;return}throw new Pe(e===void 0?d:[e,...d])}enqueueSelector(e,t){let n=this.#r;if(n===void 0)return!1;if((this.#W(e,t)&At)!==0)return!0;return this.#w(e,t,At),n.push(e,t),!0}prepareSelectorRead(e,t,n){if(this.#r===void 0)return;this.#D(e,t,n)}#D(e,t,n){if((this.#W(e,t)&(vt|He))!==0)return;this.#w(e,t,He);try{let r=e.getSelectorGraphVersion(),i=e.getCommittedSelectorDependencies(t);if(i!==void 0){for(let s of i)if(this.#e.selectors.has(s.node))this.#D(e,s.node)}if(e.isSelectorDirty(t)){let s=r===e.getSelectorGraphVersion();if(n!==void 0&&s)e.serve(t,n);else e.serve(t,new A)}this.#w(e,t,vt)}finally{this.#w(e,t,0,He)}}#W(e,t){if(Object.is(this.#a,e)&&Object.is(this.#c,t))return this.#d;return this.#l?.get(e)?.get(t)??0}#w(e,t,n,o=0){if(this.#a===void 0){this.#a=e,this.#c=t,this.#d=n&~o;return}if(Object.is(this.#a,e)&&Object.is(this.#c,t)){this.#d=(this.#d|n)&~o;return}let r=this.#l;if(r===void 0)r=new Map,this.#l=r;let i=r.get(e);if(i===void 0)i=new Map,r.set(e,i);i.set(t,((i.get(t)??0)|n)&~o)}latchPropagationControlFault(e){this.#h??=e}#q(e,t,n,o,r,i){let s=r.outcome.kind==="value"?this.#Q(n,r.outcome.value,o,i):o;e.stage(t,Object.freeze({kind:"set",atom:n,value:s,publishDraftFallback:r.reachesFallback&&e.hasFallback(n)}))}}class We{get;sub;set;update;reset;txn;scope;dispose;constructor(e,t,n){this.get=(o)=>e.get(t,o),this.sub=(o,r)=>e.sub(t,o,r),this.set=(o,r)=>e.set(t,o,r),this.update=(o,r)=>e.update(t,o,r),this.reset=(o)=>e.reset(t,o),this.txn=(o,r)=>e.txn(t,o,r),this.scope=function(o){return e.scope(t,arguments.length,o)},this.dispose=()=>e.dispose(t),t.installFacade(this),ae(this,e.runtimeDomain.ownerToken),e.runtimeDomain.stores.set(this,t),e.recordCounter("storeFacadesCreated"),n?.(0,this,t),Object.freeze(this)}}var kt=(e)=>{if(e.equal!==void 0&&typeof e.equal!=="function")throw TypeError("Atom equal must be a function");return{...e.name===void 0?{}:{name:e.name},...e.equal===void 0?{}:{equal:e.equal}}},Rt=(e)=>{let t={states:new WeakSet,atoms:new WeakMap,selectors:new WeakMap,stores:new WeakMap,transactionCursors:new WeakMap,ownerToken:Object.freeze({}),activity:void 0},n=(d,c={})=>{let l=new A,u=B(t,l,()=>re(d));if(u.kind==="error")throw u.error;let p=be("atom",t.ownerToken);return t.states.add(p),t.atoms.set(p,Object.freeze({fallback:Object.freeze({kind:"eager",value:u.value}),...kt(c)})),p},o=(d,c={})=>{if(typeof d!=="function")throw TypeError("atomLazy requires an initializer function");let l=be("atom",t.ownerToken);return t.states.add(l),t.atoms.set(l,Object.freeze({fallback:Object.freeze({kind:"lazy",initialize:d}),...kt(c)})),l},r=(d,c={})=>{if(typeof d!=="function")throw TypeError("selector requires a getter function");if(c.equal!==void 0&&typeof c.equal!=="function")throw TypeError("selector equal must be a function");let l=be("selector",t.ownerToken),u=Object.freeze({node:l,get:d,...c.name===void 0?{}:{name:c.name},...c.equal===void 0?{}:{equal:c.equal}});return t.states.add(l),t.selectors.set(l,u),l},i=(d)=>{let c=new A;if(j(t,d,c)==="invalid")return;return t.stores.get(d)},a=Object.freeze({assertStore:(d)=>{let c=i(d);if(V(t,"adapter assertStore"),c===void 0)throw TypeError("assertStore requires a valid Store")},read:(d,c)=>{if(i(d)===void 0)throw ze(t,"adapter read"),TypeError("read requires a valid Store");return d.get(c)},subscribe:(d,c,l)=>{if(i(d)===void 0)throw V(t,"adapter subscribe"),TypeError("subscribe requires a valid Store");return d.sub(c,l)},readHydrationSnapshot:(d,c)=>{let l=i(d);if(l===void 0)throw V(t,"adapter readHydrationSnapshot"),TypeError("readHydrationSnapshot requires a valid Store");return l.coordinator.readHydrationSnapshot(l,c)}});return Object.freeze({atom:n,atomLazy:o,selector:r,adapter:a,createStoreTree:(d=e,c)=>{V(t,"createStoreTree");let l=new Ot(t,d,c);return new We(l,l.rootScope,c)}})};var $t=Rt(),bn=(e,t)=>$t.createStoreTree(e,t);
2
+ export{ee as a,_t as b,lt as c,Ve as d,Pe as e,K as f,Y as g,X as h,Se as i,te as j,ne as k,oe as l,xe as m,je as n,Ie as o,pe as p,pn as q,$t as r,bn as s};
@@ -1 +1 @@
1
- import{q as e}from"../chunk-y786myym.js";var t=e.adapter,a=t.assertStore,o=t.read,s=t.subscribe,n=t.readHydrationSnapshot;export{a as assertStore,o as read,n as readHydrationSnapshot,s as subscribe};
1
+ import{r as e}from"../chunk-fbqtxaaa.js";var t=e.adapter,a=t.assertStore,o=t.read,s=t.subscribe,n=t.readHydrationSnapshot;export{a as assertStore,o as read,n as readHydrationSnapshot,s as subscribe};
@@ -0,0 +1,2 @@
1
+ class F extends Error{seal(){Object.freeze(this)}}class fe extends F{code="VALDRES_SELECTOR_GETTER_ERROR";selector;cause;constructor(e,t){super("Selector getter failed");this.name="SelectorGetterError",this.selector=e,this.cause=t,this.seal()}}class Ce extends F{code="VALDRES_SELECTOR_DEPENDENCY_ERROR";dependency;cause;constructor(e,t){super("Selector dependency failed");this.name="SelectorDependencyError",this.dependency=e,this.cause=t,this.seal()}}class ee extends F{code="VALDRES_SELECTOR_CIRCULAR_DEPENDENCY";selector;path;constructor(e,t){super("Selector dependency graph must be acyclic");this.name="SelectorCircularDependencyError",this.selector=e,this.path=Object.freeze([...t]),this.seal()}}class _ extends F{code="VALDRES_INVALID_SYNCHRONOUS_SELECTOR_RESULT";phase;constructor(e){super(`Selector ${e} returned or threw a thenable`);this.name="InvalidSynchronousSelectorResultError",this.phase=e,this.seal()}}class Ee extends F{code="VALDRES_INVALID_SELECTOR_COMPARATOR_RESULT";constructor(){super("Selector comparator must return exactly true or false");this.name="InvalidSelectorComparatorResultError",this.seal()}}class he extends F{code="VALDRES_SELECTOR_COMPARATOR_ERROR";selector;cause;constructor(e,t){super("Selector comparator failed");this.name="SelectorComparatorError",this.selector=e,this.cause=t,this.seal()}}class De extends F{code="VALDRES_SELECTOR_READ_REVOKED";constructor(){super("Selector supplied get is no longer active");this.name="SelectorReadRevokedError",this.seal()}}var $e=Object.freeze({kind:"not-thenable"}),Dt=()=>{},Vt=Reflect.apply,Qe=Symbol.for("valdres.runtime-owner/v1");class w extends Error{seal(){Object.freeze(this)}}class Ve extends w{code="VALDRES_RUNTIME_MISMATCH";constructor(){super("Valdres handles belong to a different runtime domain");this.name="RuntimeMismatchError",this.seal()}}class Pe extends w{code="VALDRES_SUBSCRIBER_NOTIFICATION";cause;causes;committed=!0;phase="notifying";source="owned-mutation";constructor(e){super("One or more Store subscribers threw during notification");this.name="SubscriberNotificationError",this.causes=Object.freeze([...e]),this.cause=this.causes[0],this.seal()}}class K extends w{code="VALDRES_CALLBACK_CAPABILITY";constructor(){super("This callback cannot use captured Valdres runtime capabilities");this.name="CallbackCapabilityError",this.seal()}}class Y extends w{code="VALDRES_SELECTOR_CAPABILITY_ERROR";constructor(e){super(`A selector callback cannot call ${e} directly`);this.name="SelectorCapabilityError",this.seal()}}class X extends w{code="VALDRES_TRANSACTION_PHASE";constructor(){super("Captured StoreTree work is forbidden during a transaction");this.name="TransactionPhaseError",this.seal()}}class Se extends w{code="VALDRES_TRANSACTION_CLOSED";constructor(){super("The Transaction cursor is no longer active");this.name="TransactionClosedError",this.seal()}}class te extends w{code="VALDRES_INVALID_TRANSACTION_CALLBACK_RESULT";constructor(){super("Transaction callbacks must return synchronously");this.name="InvalidTransactionCallbackResultError",this.seal()}}class ne extends w{code="VALDRES_INVALID_SYNCHRONOUS_ATOM_VALUE";constructor(){super("Atom values and lazy initializers must be synchronous");this.name="InvalidSynchronousAtomValueError",this.seal()}}class oe extends w{code="VALDRES_INVALID_ATOM_COMPARATOR_RESULT";constructor(){super("Atom comparators must return exactly true or false synchronously");this.name="InvalidAtomComparatorResultError",this.seal()}}class xe extends w{code="VALDRES_STORE_DISPOSED";constructor(){super("This Store has been disposed");this.name="StoreDisposedError",this.seal()}}class je extends w{code="VALDRES_SCOPE_NOT_FOUND";constructor(){super("The named child Store does not exist");this.name="ScopeNotFoundError",this.seal()}}class Ie extends w{code="VALDRES_STORE_TREE_MISMATCH";constructor(){super("The Store belongs to a different StoreTree");this.name="StoreTreeMismatchError",this.seal()}}class pe extends w{code="VALDRES_INVALID_TRANSACTION_TARGET";constructor(){super("Transaction.scope requires a Store or named child");this.name="InvalidTransactionTargetError",this.seal()}}var E=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return $e;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):$e}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},D=(e)=>{try{Vt(e.then,e.target,[void 0,Dt])}catch{}},re=(e)=>{let t=E(e);if(t.kind==="not-thenable")return Object.freeze({kind:"value",value:e});if(t.kind==="inspection-error")return Object.freeze({kind:"error",error:t.error});return D(t),Object.freeze({kind:"error",error:new ne})},Me=(e)=>{try{return re(e())}catch(t){let n=E(t);if(n.kind==="not-thenable")return Object.freeze({kind:"error",error:t});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return D(n),Object.freeze({kind:"error",error:new ne})}},ie=(e,t,n)=>{let o=e.activity;e.activity=t;try{return n()}finally{e.activity=o}},B=(e,t,n)=>{try{let o=ie(e,Object.freeze({kind:"guarded-callback",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},Ze=(e,t,n)=>{try{let o=ie(e,Object.freeze({kind:"subscriber",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},se=(e,t,n)=>ie(e,Object.freeze({kind:"selector",session:t}),n),Je=(e,t,n)=>ie(e,Object.freeze({kind:"transaction",transaction:t}),n),me=(e,t,n)=>{try{let o=ie(e,Object.freeze({kind:"transaction-result",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},V=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="selector")throw new Y(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new X;throw new K},ze=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="subscriber")return n.session;if(n.kind==="selector")throw new Y(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new X;throw new K},et=(e)=>{let t=e.activity;if(t===void 0||t.kind==="subscriber")return;if(t.kind==="selector")throw new Y("Store unsubscribe");if(t.kind==="transaction"||t.kind==="transaction-result")throw new X;throw new K},ye=(e,t,n)=>{if(!n)throw new Se;let o=e.activity;if(o?.kind==="transaction"&&Object.is(o.transaction,t))return;if(o?.kind==="selector")throw new Y("Transaction cursor operation");if(o?.kind==="guarded-callback")throw new K;throw new X},tt=(e,t)=>{let n=e.activity;return n!==void 0&&"session"in n?n.session:t},U=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";if((typeof t==="object"||typeof t==="function")&&t!==null){let o=Object.getOwnPropertyDescriptor(t,Qe);if(o!==void 0&&"value"in o&&!Object.is(o.value,e.ownerToken)){let r=new Ve;throw tt(e,n).latchControlFault(r),r}}return"invalid"},j=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";let o=e.activity,r=tt(e,n);if(o!==void 0&&"session"in o)try{let i=U(e,t,r),s=r.getControlFault();if(s.kind==="fault")throw s.error;return i}catch(i){let s=r.getControlFault();if(s.kind==="fault")throw s.error;throw i}return B(e,r,()=>U(e,t,r))},ae=(e,t)=>(Object.defineProperty(e,Qe,{value:t,enumerable:!1,writable:!1,configurable:!1}),e),be=(e,t)=>Object.freeze(ae({kind:e},t));var nt=Object.freeze({kind:"not-thenable"}),Pt=()=>{},xt=Reflect.apply,ot=Symbol("selector dependency path root"),st=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return nt;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):nt}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},at=(e)=>{try{xt(e.then,e.target,[void 0,Pt])}catch{}},jt=(e)=>Object.freeze(e),It=(e)=>Object.freeze(e),R=(e,t,n,o)=>{let r=It(o);return Object.freeze({selector:e,token:t,outcome:jt(n),dependencies:r,attemptedPrefix:n.kind==="value"?Mt:Object.freeze(r.map((i)=>i.node))})},Mt=Object.freeze([]),Ae=32,Q=8192,zt=2*Ae,dt=128;class ct{passiveSearches;searches=0;constructor(e,t){if(this.passiveSearches=e,t!==void 0)this.diagnostics=t}get enabled(){return this.disabled!==!0}beginSearch(){if(this.searches++,this.diagnostics!==void 0)this.diagnosticsCompleted=!1,this.mapProbes=0,this.prunedNodes=0;let e=this.enabled&&this.searches>this.passiveSearches&&this.first!==void 0;if(e)this.consultCurrentSearch=!0,this.hits=0;else if(this.consultCurrentSearch===!0)this.consultCurrentSearch=void 0;if(e&&this.passiveOrigin===!0&&this.searches===this.passiveSearches+1&&this.passiveProbeBudget===void 0)this.passiveProbeBudget=Math.min(Q,2*this.first.size);return e}hasProvenNoPath(e){if(!this.enabled)return!1;let t=this.first;if(t!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(t.has(e))return this.hits=(this.hits??0)|1,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}let n=this.second;if(n!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(n.has(e))return this.hits=(this.hits??0)|2,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}return!1}hasProvenNoPathMeasured(e){if(!this.enabled)return!1;let t=this.first;if(t!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(this.mapProbes=(this.mapProbes??0)+1,t.has(e))return this.hits=(this.hits??0)|1,this.prunedNodes=(this.prunedNodes??0)+1,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}let n=this.second;if(n!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(this.mapProbes=(this.mapProbes??0)+1,n.has(e))return this.hits=(this.hits??0)|2,this.prunedNodes=(this.prunedNodes??0)+1,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}return!1}completeNegative(e){if(!this.enabled)return;if(this.searches<=this.passiveSearches){let n=e.size>=Ae&&e.size<=Q,o;if(this.searches===1&&n)this.first=e,this.firstIndependentlyClosed=!0,this.passiveOrigin=!0,o="initial";else if(this.searches===this.passiveSearches&&n)o=this.first===void 0?"initial":"activation-replacement",this.first=e,this.firstIndependentlyClosed=!0,this.second=void 0,this.secondIndependentlyClosed=void 0,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0;this.completeDiagnostics(o);return}if((this.hits??0)!==0){if(e.size>Q){this.disable("over-cap-hit");return}let n=this.first,o=this.second,r=this.firstIndependentlyClosed===!0,i=this.secondIndependentlyClosed===!0;this.first=void 0,this.second=void 0,this.firstIndependentlyClosed=void 0,this.secondIndependentlyClosed=void 0,this.retain(n,r),this.retain(o,i);let s=this.retain(e,!1);this.locked=!0,this.missWork=0,this.completeDiagnostics(s?"hit-derived":void 0);return}if(e.size===1){this.completeDiagnostics();return}let t=e.size>=Ae&&e.size<=Q;if(this.first===void 0){if(t)this.first=e,this.firstIndependentlyClosed=!0;this.completeDiagnostics(t?"initial":void 0);return}if(this.missWork=(this.missWork??0)+Math.min(e.size,Ae),this.locked!==!0&&this.second===void 0&&t){this.second=e,this.secondIndependentlyClosed=!0,this.completeDiagnostics("secondary");return}if((this.missWork??0)>=zt){this.disable("miss-budget");return}this.completeDiagnostics()}completePositive(){this.completeDiagnostics()}advanceGraphVersion(e){if(!this.enabled||e===void 0)return this.reset(),!1;let t=this.firstIndependentlyClosed===!0?this.first:void 0,n=this.secondIndependentlyClosed===!0?this.second:void 0,o=t===void 0||n!==void 0&&n.size>t.size?n:t;if(o===void 0)return this.reset(),!1;if(this.passiveProbeBudget===void 0)this.passiveOrigin=!0,this.passiveProbeBudget=Math.min(Q,2*o.size);let r=0;for(let i of e){let s=this.hasWithinCrossVersionBudget(o,i.tail);if(s===void 0)return this.diagnostics?.recordMapProbes?.(r),this.reset(),!1;if(r++,!s)continue;let a=this.hasWithinCrossVersionBudget(o,i.head);if(a===void 0)return this.diagnostics?.recordMapProbes?.(r),this.reset(),!1;if(r++,!a)return this.diagnostics?.recordMapProbes?.(r),this.reset(),!1}if(this.diagnostics?.recordMapProbes?.(r),this.passiveProbeBudget===0)return this.reset(),!1;return this.first=o,this.firstIndependentlyClosed=!0,this.second=void 0,this.secondIndependentlyClosed=void 0,this.hits=void 0,this.consultCurrentSearch=void 0,this.diagnosticsCompleted=void 0,this.mapProbes=void 0,this.prunedNodes=void 0,!0}reset(){this.first=void 0,this.second=void 0,this.firstIndependentlyClosed=void 0,this.secondIndependentlyClosed=void 0,this.hits=void 0,this.missWork=void 0,this.locked=void 0,this.disabled=void 0,this.searches=0,this.consultCurrentSearch=void 0,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,this.diagnosticsCompleted=void 0,this.mapProbes=void 0,this.prunedNodes=void 0}retain(e,t=!1){if(e===void 0||e.size>Q||e===this.first)return!1;if(this.first===void 0||e.size>this.first.size)return this.second=this.first,this.secondIndependentlyClosed=this.firstIndependentlyClosed,this.first=e,this.firstIndependentlyClosed=t,!0;if(this.second===void 0||e.size>this.second.size)return this.second=e,this.secondIndependentlyClosed=t,!0;return!1}disable(e){this.first=void 0,this.second=void 0,this.firstIndependentlyClosed=void 0,this.secondIndependentlyClosed=void 0,this.missWork=void 0,this.disabled=!0,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,this.completeDiagnostics(void 0,e)}hasWithinCrossVersionBudget(e,t){let n=this.passiveProbeBudget;if(n===void 0||n===0)return;let o=e.has(t);return this.passiveProbeBudget=n-1,o}completeDiagnostics(e,t){let n=this.diagnostics;if(n===void 0||this.diagnosticsCompleted===!0)return;this.diagnosticsCompleted=!0;let o=this.mapProbes??0;n.completeSearch(this.consultCurrentSearch===!0?(this.hits??0)!==0?"consulted-pruned":"consulted-no-prune":"observing",e,t,o,this.prunedNodes??0,(this.first?.size??0)+(this.second?.size??0))}}var Ft=(e,t)=>new ct(e,t),de=(e,t,n,o,r,i)=>{if(i!==void 0)i.nodeVisits=n,i.dependentProbes=dt-t.remaining-n,i.liveDependents=o,i.maxFrontier=r;return e},_t=(e,t,n,o,r,i=!0)=>{if(r!==void 0)r.nodeVisits=0,r.dependentProbes=0,r.liveDependents=0,r.maxFrontier=0;let s=n.visitSelectorDependents;if(s===void 0)return"unsupported";if(!o.isSoleActiveSelector(n,t))return"ineligible-active-frames";if(!Object.is(e,t)){let m=n.getSelectorDependencyNodes;if(m!==void 0){let h=m.call(n,e);if(h===void 0||h.length===0)return"proven-terminal"}}if(!i)return"disabled";let a={remaining:dt},d=[t],c=new Set(d),l=0,u=0,p=1;while(d.length>0){if(a.remaining===0)return de("budget-exhausted",a,l,u,p,r);a.remaining--,l++;let m=d.pop();if(Object.is(m,e))return de("path-possible",a,l,u,p,r);let h=!1,y=s.call(n,m,a,(M)=>{if(u++,Object.is(M,e))return h=!0,!1;if(!c.has(M)){if(c.add(M),d.push(M),d.length>p)p=d.length}return!0});if(h)return de("path-possible",a,l,u,p,r);if(!y)return de("budget-exhausted",a,l,u,p,r)}return de("proven-reverse",a,l,u,p,r)},Bt=(e,t,n,o,r,i,s)=>{if(r===1){let u=_t(e,t,n,o,void 0,s?.reverseProofEnabled??!0);if(u==="proven-terminal"||u==="proven-reverse")return;if(u==="budget-exhausted"&&s!==void 0)s.reverseProofEnabled=!1}let a=s?.(),d=a?.beginSearch()??!1,c=[e],l=new Map([[e,ot]]);while(c.length>0){let u=c.pop();if(Object.is(u,t)){let h=[],y=u;while(y!==ot)h.push(y),y=l.get(y);return h.reverse(),a?.completePositive(),Object.freeze(h)}let p=o.getTransientDependencies(n,u);if(p){if(p.length===0)continue;if(d){let h=a.hasProvenNoPath(u);if(!a.enabled)d=!1;if(h)continue}for(let h of p){if(l.has(h.node))continue;l.set(h.node,u),c.push(h.node)}continue}if(n.getSelectorDependencyNodes!==void 0){let h=n.getSelectorDependencyNodes(u);if(h===void 0||h.length===0)continue;if(d){let y=a.hasProvenNoPath(u);if(!a.enabled)d=!1;if(y)continue}for(let y of h){if(l.has(y))continue;l.set(y,u),c.push(y)}continue}let m=n.getSelectorRecord(u);if(!m||m.dependencies.length===0)continue;if(d){let h=a.hasProvenNoPath(u);if(!a.enabled)d=!1;if(h)continue}for(let h of m.dependencies){if(l.has(h.node))continue;l.set(h.node,u),c.push(h.node)}}a?.completeNegative(l);return},rt=(e,t)=>{let n=st(e);if(n.kind==="thenable")return at(n),new _(t);if(n.kind==="inspection-error")return n.error;return e},it=(e,t)=>{let n=st(e);if(n.kind==="thenable")return at(n),Object.freeze({kind:"error",error:new _(t)});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return Object.freeze({kind:"value",value:e})},lt=(e,t,n,o=Bt,r)=>{let{node:i}=e,s=[],a=t.getSelectorRecord(i),d=a?.dependencies,c=d===void 0?new Set:void 0,l,u=0,p=t.getComparisonBaseline(i),m=!0,h=()=>{let f=c;if(f!==void 0)return f;f=new Set;for(let S of s)f.add(S.node);return c=f,f};n.enter(t,i,s);let y=t.getSelectorGraphVersion(),M=n.getSelectorGraphPublicationCount(t),z=y,H=M,qe=y,Ue=M,ke,we=!1,Te=y,ce=0,G,Ke=y,le,Oe=(f,S)=>{if(f===Te)return;if(Te=f,G===void 0){ce=0;return}if(G.advanceGraphVersion(S))return;ce=0,r?.graphVersionReset()},Nt=(f)=>{if(f!==Te)Oe(f,void 0);if(ce++,(d?.length??0)===0&&ce<3){r?.admissionSkipped();return}if(G===void 0){let S=d!==void 0&&d.length>0&&d.length<3;G=Ft(S?3:0,r)}if(!G.enabled){r?.disabled();return}return G},Ct=(f)=>{if(we)return;let S=t.beginSelectorGraphObservation?.(f);if(S===void 0)return;we=!0,ke=S},Re=(f,S,g,v)=>g-f===v-S,Ye=(f=t.getSelectorGraphVersion(),S=n.getSelectorGraphPublicationCount(t),g=Re(z,H,f,S))=>{if(f===z)return;if(!we&&t.beginSelectorGraphObservation!==void 0){Oe(f,void 0),z=f,H=S;return}let v=ke?.takeAddedEdges();if(Oe(f,v),g){z=f,H=S;return}if(v!==void 0){let k=!1;for(let O of v)if(o(O.head,O.tail,t,n,2,s.length)!==void 0){k=!0;break}if(!k){z=f,H=S;return}}for(let k=0;k<s.length;k++){let O=s[k],C=o(O.node,i,t,n,0,s.length);if(!C)continue;if(c!==void 0)for(let P=s.length-1;P>=k;P--)c.delete(s[P].node);if(s.length=k,u++,n.getControlFault().kind==="fault")return;let T=new ee(i,[i,...C]);n.latchCycle(t,i,T);return}z=f,H=S},Ne=()=>{let f=t.getSelectorGraphVersion(),S=n.getSelectorGraphPublicationCount(t);qe=f,Ue=S;let g=Re(z,H,f,S);if(!g)n.revalidateAncestorPrefixes(t,i);Ye(f,S,g)};n.setPrefixRevalidator(t,i,Ye);let Et=(f)=>{if(!m)throw new De;let S=n.getControlFault();if(S.kind==="fault")throw S.error;let g=n.getCycle(t,i);if(g!==void 0)throw g;let v=n.activeCyclePath(t,f);if(v){let b=new ee(i,v);throw n.latchCycle(t,i,b),b}let k=s.length,O,C=!1;if(c===void 0){let b=d?.[k];if(b!==void 0&&Object.is(b.node,f))O=!1,C=!0;else O=h().has(f)}else O=c.has(f);if(!O&&!C&&d!==void 0&&d.length>0){let b=d[s.length];if(b!==void 0&&Object.is(b.node,f))C=!0;else{if(l===void 0){l=new Set;for(let q of d)l.add(q.node)}C=l.has(f)}}let L=u,T=t.serve(f,n);Ne();let P=n.getCycle(t,i);if(P!==void 0)throw P;let Z=c!==void 0?c.has(f):u===L&&s.length===k?!1:h().has(f),I=qe,W=Ue,x=Z||C&&I===y,ue=d===void 0&&Re(y,M,I,W);if(!x&&!ue){if(Ke=I,le===void 0)le=()=>Nt(Ke),le.reverseProofEnabled=!0;let b=o(f,i,t,n,1,s.length,le);if(b){let q=n.getControlFault();if(q.kind==="fault")throw q.error;let Xe=new ee(i,[i,...b]);throw n.latchCycle(t,i,Xe),Xe}}if(!Z){let b=a?.dependencies[s.length];c?.add(f),s.push(b!==void 0&&Object.is(b.node,f)&&Object.is(b.token,T.token)?b:Object.freeze({node:f,token:T.token})),Ct(f)}if(z=I,H=W,T.outcome.kind==="control-error"){n.latchControlFault(T.outcome.error);let b=n.getControlFault();if(b.kind==="fault")throw b.error;throw T.outcome.error}let J=n.getControlFault();if(J.kind==="fault")throw J.error;if(T.outcome.kind==="error")throw new Ce(f,T.outcome.error);return T.outcome.value};try{let f,S,g=!1;try{f=e.get(Et)}catch(P){g=!0,S=P}finally{m=!1}if(g)S=rt(S,"getter");let v=g?void 0:it(f,"getter");Ne();let k=n.getControlFault();if(k.kind==="fault")return R(i,t.createOutcomeToken(),{kind:"control-error",error:k.error},s);let O=n.getCycle(t,i);if(O!==void 0)return R(i,t.createOutcomeToken(),{kind:"error",error:O},s);if(g)return R(i,t.createOutcomeToken(),{kind:"error",error:S instanceof _?S:new fe(i,S)},s);if(v===void 0)throw Error("Selector result classification was not completed");let C=n.getControlFault();if(C.kind==="fault")return R(i,t.createOutcomeToken(),{kind:"control-error",error:C.error},s);if(v.kind==="error")return R(i,t.createOutcomeToken(),{kind:"error",error:v.error instanceof _?v.error:new fe(i,v.error)},s);let L=v.value,T;if(p){let P=e.equal??Object.is,Z,I,W=!1;try{Z=P(p.value,L)}catch(q){W=!0,I=rt(q,"comparator")}let x=W?void 0:it(Z,"comparator");Ne();let ue=n.getControlFault();if(ue.kind==="fault")return R(i,t.createOutcomeToken(),{kind:"control-error",error:ue.error},s);let J=n.getCycle(t,i);if(J!==void 0)return R(i,t.createOutcomeToken(),{kind:"error",error:J},s);if(W)return R(i,t.createOutcomeToken(),{kind:"error",error:I instanceof _?I:new he(i,I)},s);if(x===void 0)throw Error("Selector comparator classification was not completed");let b=n.getControlFault();if(b.kind==="fault")return R(i,t.createOutcomeToken(),{kind:"control-error",error:b.error},s);if(x.kind==="error")return R(i,t.createOutcomeToken(),{kind:"error",error:x.error instanceof _?x.error:new he(i,x.error)},s);if(x.value!==!0&&x.value!==!1)return R(i,t.createOutcomeToken(),{kind:"error",error:new Ee},s);if(x.value===!0)L=p.value,T=p.current?p.token:void 0}return R(i,T??t.createOutcomeToken(),{kind:"value",value:L},s)}finally{try{ke?.close()}finally{n.leave(t,i)}}};class A{#t=[];#n;#o=0;#i;#s=Ht;latchControlFault(e){if(this.#s.kind==="fault")return;this.#s=Object.freeze({kind:"fault",error:e})}getControlFault(){return this.#s}noteSelectorGraphPublication(e){let t=this.#n;if(t===void 0){this.#n=e,this.#o=1;return}if(Object.is(t,e)){this.#o++;return}let n=this.#i??(this.#i=new WeakMap);n.set(e,(n.get(e)??0)+1)}getSelectorGraphPublicationCount(e){return Object.is(this.#n,e)?this.#o:this.#i?.get(e)??0}enter(e,t,n){this.#t.push({host:e,selector:t,dependencyPrefix:n,revalidatePrefix:void 0,cycleError:void 0})}leave(e,t){let n=this.#t.pop();if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame corruption")}isActive(e,t){return this.#t.some((n)=>Object.is(n.host,e)&&Object.is(n.selector,t))}isSoleActiveSelector(e,t){let n=!1;for(let o of this.#t){if(!Object.is(o.host,e))continue;if(n||!Object.is(o.selector,t))return!1;n=!0}return n}activeCyclePath(e,t){let n=this.#t.findIndex((o)=>Object.is(o.host,e)&&Object.is(o.selector,t));if(n===-1)return;return Object.freeze([...this.#t.slice(n).filter((o)=>Object.is(o.host,e)).map((o)=>o.selector),t])}setPrefixRevalidator(e,t,n){let o=this.#r(e,t);if(o.revalidatePrefix!==void 0)throw Error("Selector prefix revalidator is already installed");o.revalidatePrefix=n}revalidateAncestorPrefixes(e,t){this.#r(e,t);for(let n=0;n<this.#t.length-1;n++){let o=this.#t[n];if(!Object.is(o.host,e))continue;let r=o.revalidatePrefix;if(r===void 0)throw Error("Selector prefix revalidator is not installed");r()}}getTransientDependencies(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o.dependencyPrefix}return}latchCycle(e,t,n){let o=this.#a(e,t);o.cycleError??=n}getCycle(e,t){return this.#r(e,t).cycleError}#r(e,t){let n=this.#t[this.#t.length-1];if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame is not active");return n}#a(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o}throw Error("Selector evaluation frame is not active")}}var Ht=Object.freeze({kind:"none"});var ut=Symbol("no-committed-selector-baseline");class ve{#t;#n=new Map;#o=new Map;#i=new Map;#s;#r=1;#a=0;#c;constructor(e,t,n){this.#t=e,this.#s=t,this.#c=n}readSelector(e){let t=new A,n=this.serve(e,t);if(n.outcome.kind!=="value")throw n.outcome.error;return n.outcome.value}advanceGeneration(e){if(e!==this.#s+1)throw Error("Scratch selector generation is not contiguous");this.#s=e,this.#n.clear(),this.#o.clear()}revoke(){this.#n.clear(),this.#o.clear(),this.#i.clear(),this.#t=void 0}serve(e,t){let n=this.#d(),o=n.resolveState(e,t);if(o.kind==="atom"){let a=this.#o.get(e);if(a!==void 0)return a;let d=Object.freeze({token:this.createOutcomeToken(),outcome:n.readDraftAtomOutcome(e,t)});return this.#o.set(e,d),d}let r=this.#n.get(e);if(r!==void 0)return r.served;let i=n.runSelectorActivity(t,()=>this.#c(o.definition,this,t));if(i.outcome.kind==="control-error")throw i.outcome.error;let s=Object.freeze({token:i.token,outcome:i.outcome});return this.#a++,t.noteSelectorGraphPublication(this),this.#n.set(e,Object.freeze({served:s,dependencies:i.dependencies})),s}getSelectorRecord(e){let t=this.#n.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorGraphVersion(){return this.#a}getComparisonBaseline(e){let t=this.#i.get(e);if(t===void 0)t=this.#d().captureCommittedSelectorSuccess(e)??ut,this.#i.set(e,t);return t===ut?void 0:Object.freeze({current:!1,value:t.value})}createOutcomeToken(){return Object.freeze({id:this.#r++})}#d(){if(this.#t===void 0)throw Error("Scratch selector host is revoked");return this.#t}}var ft=4096,Gt=Object.freeze([]);class St{onDeadReference;onEmptinessProbe;#t=new WeakMap;#n=new Set;constructor(e,t){this.onDeadReference=e;this.onEmptinessProbe=t}add(e){if(this.#t.has(e))return;let t=new WeakRef(e);this.#t.set(e,t),this.#n.add(t)}delete(e){let t=this.#t.get(e);if(t===void 0)return;this.#t.delete(e),this.#n.delete(t)}forEach(e){for(let t of this.#n){let n=t.deref();if(n===void 0){this.#n.delete(t),this.onDeadReference?.();continue}e(n)}}visitWithin(e,t){for(let n of this.#n){if(e.remaining===0)return!1;e.remaining--;let o=n.deref();if(o===void 0){this.#n.delete(n),this.onDeadReference?.();continue}if(!t(o))return!1}return!0}isEmpty(){for(let e of this.#n){if(this.onEmptinessProbe?.(),e.deref()!==void 0)return!1;this.#n.delete(e),this.onDeadReference?.()}return!0}clear(){this.#n.clear(),this.#t=new WeakMap}}class ge{coordinator;parent;name;children;namedChildren=new Map;atomOverrides=new WeakMap;#t=new WeakMap;#n;#o=new WeakMap;#i;#s=new WeakMap;#r=new WeakSet;#a=0;#c=0;#d;#l=!1;#h;#u="live";constructor(e,t,n){this.coordinator=e,this.parent=t,this.name=n,this.children=this.#m(),this.#n=this.#m()}get status(){return this.#u}get facade(){if(this.#h===void 0)throw Error("Store scope facade is not installed");return this.#h}installFacade(e){if(this.#h!==void 0)throw Error("Store scope facade is already installed");this.#h=e}markDisposing(){if(this.#u==="live")this.#u="disposing"}markDisposed(){this.#u="disposed"}getAtomView(e){return this.#t.get(e)}getMaterializedServedOutcome(e){let t=this.#t.get(e);if(t!==void 0)return t.served;let n=e,o=this.#o.get(n);return o!==void 0&&!this.#r.has(n)?o.served:void 0}createAtomView(e,t,n){let o=this.#t.get(e);if(o!==void 0)return o;let r={scope:this,atom:e,served:Object.freeze({token:this.createOutcomeToken(),outcome:t}),inheritedFrom:n,inheritingChildren:this.#m()};if(this.#t.set(e,r),this.#n.add(r),n!==void 0)n.inheritingChildren.add(r),this.coordinator.recordCounter("routeAdds");return r}attachAtomView(e,t){if(Object.is(e.inheritedFrom,t))return;this.detachAtomView(e),e.inheritedFrom=t,t.inheritingChildren.add(e),this.coordinator.recordCounter("routeAdds")}detachAtomView(e){if(e.inheritedFrom===void 0)return;e.inheritedFrom.inheritingChildren.delete(e),e.inheritedFrom=void 0,this.coordinator.recordCounter("routeRemoves")}updateAtomView(e,t){e.served=Object.freeze({token:this.createOutcomeToken(),outcome:t}),this.coordinator.reachSubscriptionTarget(this,e.atom)}captureCommittedSelectorSuccess(e){let t=this.#o.get(e)?.lastSuccess;return t===void 0?void 0:Object.freeze({value:t.value})}isSelectorDirty(e){return this.#r.has(e)}getCommittedSelectorDependencies(e){return this.#o.get(e)?.dependencies}markDependents(e){this.#s.get(e)?.forEach((t)=>{if(this.coordinator.enqueueSelector(this,t))this.#r.add(t)})}dropRecords(){this.#n.forEach((e)=>{this.detachAtomView(e),e.inheritingChildren.clear()}),this.#n.clear(),this.atomOverrides=new WeakMap,this.#t=new WeakMap,this.#o=new WeakMap,this.#i=void 0,this.#s=new WeakMap,this.#r=new WeakSet,this.#a++,this.#e()}serve(e,t){let n=this.coordinator.runtimeDomain;if(U(n,e,t)==="invalid")throw TypeError("Selector get requires a valid State");return this.serveKnownLocal(e,t)}serveKnownLocal(e,t){let n=this.coordinator.runtimeDomain;if(n.atoms.has(e)){let a=this.#t.get(e);if(a!==void 0)return a.served;return this.coordinator.serveScopeAtom(this,e,t)}let o=n.selectors.get(e);if(o===void 0)throw TypeError("Unknown committed StoreTree state");let r=e,i=this.#o.get(r);if(i!==void 0&&this.coordinator.postSourceApply)this.coordinator.prepareSelectorRead(this,r,t),i=this.#o.get(r);if(i!==void 0&&!this.#r.has(r))return i.served;let s=se(n,t,()=>this.coordinator.evaluate(o,this,t));if(s.outcome.kind==="control-error"&&!this.coordinator.postSourceApply)throw s.outcome.error;return this.#b(r,s,t)}getSelectorRecord(e){let t=this.#o.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorDependencyNodes(e){let t=this.#o.get(e);if(t===void 0)return;let n=e,o=this.#i?.get(n);if(o===void 0){let r=[];for(let s of t.dependencies)if(this.coordinator.runtimeDomain.selectors.has(s.node))r.push(s.node);o=Object.freeze(r);let i=this.#i;if(i===void 0)i=new WeakMap,this.#i=i;i.set(n,o)}return o}visitSelectorDependents(e,t,n){return this.#s.get(e)?.visitWithin(t,n)??!0}getSelectorGraphVersion(){return this.#a}beginSelectorGraphObservation(e){if(!this.coordinator.runtimeDomain.selectors.has(e))return;if(this.#c===0)this.#d=[],this.#l=!1;this.#c++;let t=this.#d?.length??0,n=!1;return Object.freeze({takeAddedEdges:()=>{if(n||this.#l)return;let o=this.#d;if(o===void 0)return;if(t===o.length)return Gt;let r=Object.freeze(o.slice(t));return t=o.length,r},close:()=>{if(n)return;if(n=!0,this.#c--,this.#c!==0)return;this.#d=void 0,this.#l=!1}})}getComparisonBaseline(e){let t=this.#o.get(e);if(t?.lastSuccess===void 0)return;return t.served.outcome.kind==="value"?Object.freeze({current:!0,value:t.lastSuccess.value,token:t.served.token}):Object.freeze({current:!1,value:t.lastSuccess.value})}createOutcomeToken(){return this.coordinator.createOutcomeToken()}#b(e,t,n){let o=this.#o.get(e),r=Object.freeze({token:t.token,outcome:t.outcome}),i=Object.freeze({served:r,dependencies:t.dependencies,lastSuccess:t.outcome.kind==="value"?Object.freeze({value:t.outcome.value,token:t.token}):o?.lastSuccess}),s=this.#y(e,o?.dependencies??ht,t.dependencies),a=s?this.#S(e,o?.dependencies??ht,t.dependencies):void 0;if(s)this.#i?.delete(e);if(this.#a++,n.noteSelectorGraphPublication(this),this.#o.set(e,i),this.#r.delete(e),a!==void 0)this.#p(a);if(o!==void 0&&!Object.is(o.served.token,t.token))this.coordinator.reachSubscriptionTarget(this,e),this.markDependents(e);if(t.outcome.kind==="control-error")this.coordinator.latchPropagationControlFault(t.outcome.error);return r}#y(e,t,n){if(t.length===n.length){let o=0;while(o<t.length&&Object.is(t[o].node,n[o].node))o++;if(o===t.length)return!1}for(let o of t){let r=this.#s.get(o.node);if(r?.delete(e),r?.isEmpty())this.#s.delete(o.node)}for(let o of n){let r=this.#s.get(o.node);if(r===void 0)r=this.#m(),this.#s.set(o.node,r);r.add(e)}return!0}#S(e,t,n){if(this.#c===0||this.#l)return;let o=this.#d;if(o===void 0){this.#e();return}let r=ft-o.length,i=this.coordinator.runtimeDomain.selectors,s=new Set;for(let d of t)if(i.has(d.node))s.add(d.node);let a=[];for(let d of n)if(i.has(d.node)&&!s.has(d.node)){if(a.push(Object.freeze({tail:e,head:d.node})),a.length>r){this.#e();return}}return a}#p(e){if(e.length===0)return;let t=this.#d;if(t===void 0||t.length+e.length>ft){this.#e();return}t.push(...e)}#e(){if(this.#c===0)return;this.#d=[],this.#l=!0}#m(){return new St(this.coordinator.instrumented?()=>this.coordinator.recordCounter("deadRouteCompactions"):void 0)}}var ht=Object.freeze([]);class Fe{transaction=Object.freeze({});#t;#n;#o;#i;#s;#r;#a;#c;#d;#l;#h;#u;#b;#y;#S;#p;#e;generation=0;active=!0;constructor(e){this.#t=e}get hasIntents(){return this.#o!==void 0||this.#i!==void 0||this.#s!==void 0||this.#r!==void 0}get singleIntentScope(){return this.#n}get singleIntent(){return this.#i===void 0?this.#o:void 0}stage(e,t){let n=this.#r;if(n!==void 0){let i=n.get(e);if(i===void 0)i=this.#f(),n.set(e,i);i.set(t.atom,t),this.#m();return}let o=this.#s;if(o!==void 0){if(Object.is(this.#n,e))o.set(t.atom,t);else{let i=this.#f();i.set(this.#n,o);let s=this.#f();s.set(t.atom,t),i.set(e,s),this.#r=i,this.#s=void 0,this.#n=void 0}this.#m();return}let r=this.#o;if(r===void 0){this.#n=e,this.#o=t,this.#m();return}if(Object.is(this.#n,e)&&Object.is(r.atom,t.atom)){this.#o=t,this.#m();return}if(Object.is(this.#n,e)){let i=this.#i;if(i===void 0){this.#i=t,this.#m();return}if(Object.is(i.atom,t.atom)){this.#i=t,this.#m();return}let s=this.#f();s.set(r.atom,r),s.set(i.atom,i),s.set(t.atom,t),this.#s=s}else{let i=this.#f(),s=this.#f();if(s.set(r.atom,r),this.#i!==void 0)s.set(this.#i.atom,this.#i);i.set(this.#n,s);let a=this.#f();a.set(t.atom,t),i.set(e,a),this.#r=i,this.#n=void 0}this.#o=void 0,this.#i=void 0,this.#m()}forEachIntent(e){let t=this.#o;if(t!==void 0){if(e(this.#n,t),this.#i!==void 0)e(this.#n,this.#i);return}let n=this.#s;if(n!==void 0){let r=this.#n;for(let i of n.values())e(r,i);return}let o=this.#r;if(o===void 0)return;for(let[r,i]of o)for(let s of i.values())e(r,s)}getIntent(e,t){let n=this.#o;if(n!==void 0&&Object.is(this.#n,e)&&Object.is(n.atom,t))return n;let o=this.#i;if(o!==void 0&&Object.is(this.#n,e)&&Object.is(o.atom,t))return o;if(Object.is(this.#n,e))return this.#s?.get(t);return this.#r?.get(e)?.get(t)}getAtomBaseline(e,t){if(this.#d!==void 0&&Object.is(this.#a,e)&&Object.is(this.#c,t))return this.#d;if(this.#h!==void 0&&Object.is(this.#a,e)&&Object.is(this.#l,t))return this.#h;if(Object.is(this.#a,e))return this.#u?.get(t);return this.#b?.get(e)?.get(t)}setAtomBaseline(e,t,n){let o=this.#b;if(o!==void 0){let s=o.get(e);if(s===void 0)s=this.#f(),o.set(e,s);if(!s.has(t))s.set(t,n);return}let r=this.#u;if(r!==void 0){if(Object.is(this.#a,e)){if(!r.has(t))r.set(t,n)}else{let s=this.#f();s.set(this.#a,r);let a=this.#f();a.set(t,n),s.set(e,a),this.#b=s,this.#u=void 0,this.#a=void 0}return}let i=this.#d;if(i===void 0){this.#a=e,this.#c=t,this.#d=n;return}if(Object.is(this.#a,e)&&Object.is(this.#c,t))return;if(Object.is(this.#a,e)){let s=this.#h;if(s===void 0){this.#l=t,this.#h=n;return}if(Object.is(this.#l,t))return;let a=this.#f();a.set(this.#c,i),a.set(this.#l,s),a.set(t,n),this.#u=a}else{let s=this.#f(),a=this.#f();if(a.set(this.#c,i),this.#l!==void 0&&this.#h!==void 0)a.set(this.#l,this.#h);s.set(this.#a,a);let d=this.#f();d.set(t,n),s.set(e,d),this.#b=s,this.#a=void 0}this.#c=void 0,this.#d=void 0,this.#l=void 0,this.#h=void 0}getFallback(e){if(Object.is(this.#y,e))return this.#S;return this.#p?.get(e)}hasFallback(e){return Object.is(this.#y,e)||(this.#p?.has(e)??!1)}setFallback(e,t){let n=this.#p;if(n!==void 0){n.set(e,t);return}if(this.#S===void 0){this.#y=e,this.#S=t;return}if(Object.is(this.#y,e)){this.#S=t;return}let o=this.#f();o.set(this.#y,this.#S),o.set(e,t),this.#p=o,this.#y=void 0,this.#S=void 0}forEachFallback(e){if(this.#y!==void 0&&this.#S!==void 0)e(this.#y,this.#S);if(this.#p!==void 0)for(let[t,n]of this.#p)e(t,n)}#m(){this.generation+=1;let e=this.#e;if(e!==void 0)for(let t of e.values())t.advanceGeneration(this.generation)}getScratchHost(e){return this.#e?.get(e)}installScratchHost(e,t){let n=this.#e,o=n===void 0;if(n===void 0)n=new Map,this.#e=n;return n.set(e,t),o}close(){if(!this.active)return;this.active=!1;let e=this.#e;if(e!==void 0){for(let t of e.values())t.revoke();e.clear()}this.#e=void 0}release(){if(this.#s?.clear(),this.#r!==void 0){for(let e of this.#r.values())e.clear();this.#r.clear()}if(this.#u?.clear(),this.#b!==void 0){for(let e of this.#b.values())e.clear();this.#b.clear()}this.#p?.clear(),this.#n=void 0,this.#o=void 0,this.#i=void 0,this.#s=void 0,this.#r=void 0,this.#a=void 0,this.#c=void 0,this.#d=void 0,this.#l=void 0,this.#h=void 0,this.#u=void 0,this.#b=void 0,this.#y=void 0,this.#S=void 0,this.#p=void 0,this.#e?.clear(),this.#e=void 0}#f(){return this.#t?.(),new Map}}class pt{get;set;update;reset;scope;constructor(e,t,n){this.get=(o)=>e.transactionGet(t,n,o),this.set=(o,r)=>e.transactionSet(t,n,o,r),this.update=(o,r)=>e.transactionUpdate(t,n,o,r),this.reset=(o)=>e.transactionReset(t,n,o),this.scope=(...o)=>e.transactionScope(t,n,o[0],o.length,o[1]),ae(this,e.runtimeDomain.ownerToken),e.runtimeDomain.transactionCursors.set(this,t),Object.freeze(this)}}var _e=(e,t,n)=>new pt(e,t,n),Be=(e)=>{let t=E(e);if(t.kind==="not-thenable")return;if(t.kind==="inspection-error")throw t.error;throw D(t),new te},mt=(e)=>{let t=E(e);if(t.kind==="not-thenable")throw e;if(t.kind==="inspection-error")throw t.error;throw D(t),new te};var Lt=(e)=>function(){let n=e.target;if(n===void 0)return;n.host.removeSubscription(e)},wt=Object.freeze({sourceEpoch:0,routeVisits:1,deadRouteCompactions:2,scratchHostAllocations:3,propagationSettlements:4,disposalVisits:5,warmParentHops:6,scopeNodesCreated:7,storeFacadesCreated:8,namedScopeHits:9,namedScopeMisses:10,routeAdds:11,routeRemoves:12,fallbackPublications:13,draftCreations:14,scratchMapAllocations:15,finalResolutionVisits:16,finalPreflightVisits:17,draftStorageAllocations:18,commitWorksetAllocations:19,subscriptionIndexMapsCreated:20,subscriptionTargetsCreated:21,subscriptionRegistrations:22,subscriptionRemovals:23,unsubscribeClosuresCreated:24,activeSubscriptionScopes:25,activeSubscriptionTargets:26,activeSubscriptions:27,notificationTargetsReached:28,notificationSnapshots:29,subscriberCallbacksAttempted:30,subscriberErrors:31}),Wt=32,Tt=new WeakMap,pn=()=>{let e=new Uint32Array(Wt),t=Object.freeze({read(n){return e[wt[n]]??0}});return Tt.set(t,e),t},N=(e)=>Object.freeze({kind:"value",value:e}),qt=(e)=>Object.freeze({kind:"error",error:e}),yt=(e)=>e.kind==="value"?N(e.value):qt(e.error),bt=(e,t)=>{if(e.kind!==t.kind)return!1;if(e.kind==="value"&&t.kind==="value")return Object.is(e.value,t.value);return e.kind!=="value"&&t.kind!=="value"&&Object.is(e.error,t.error)},At=1,He=2,vt=4,Ut=(e)=>({onAllocation:e,preflightAtom:void 0,preflightScope:void 0,preflightOutcome:void 0,secondPreflightAtom:void 0,secondPreflightScope:void 0,secondPreflightOutcome:void 0,preflight:void 0,consideredRecord:void 0,secondConsideredRecord:void 0,considered:void 0,affectedRecord:void 0,affectedBefore:void 0,secondAffectedRecord:void 0,secondAffectedBefore:void 0,affected:void 0}),Le=(e)=>(e.onAllocation?.(),new Map),Kt=(e)=>(e.onAllocation?.(),new Set),Ge=(e,t,n)=>{if(e.preflightOutcome!==void 0&&Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return e.preflightOutcome;if(e.secondPreflightOutcome!==void 0&&Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return e.secondPreflightOutcome;return e.preflight?.get(t)?.get(n)},gt=(e,t,n,o)=>{if(e.preflightOutcome===void 0){e.preflightAtom=t,e.preflightScope=n,e.preflightOutcome=o;return}if(Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return;if(e.secondPreflightOutcome===void 0){e.secondPreflightAtom=t,e.secondPreflightScope=n,e.secondPreflightOutcome=o;return}if(Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return;let r=e.preflight;if(r===void 0)r=Le(e),e.preflight=r;let i=r.get(t);if(i===void 0)i=Le(e),r.set(t,i);i.set(n,o)},Yt=(e,t)=>{if(Object.is(e.consideredRecord,t)||Object.is(e.secondConsideredRecord,t))return!1;if(e.consideredRecord===void 0)return e.consideredRecord=t,!0;if(e.secondConsideredRecord===void 0)return e.secondConsideredRecord=t,!0;let n=e.considered;if(n===void 0)n=Kt(e),e.considered=n;if(n.has(t))return!1;return n.add(t),!0},Xt=(e,t,n)=>{if(e.affectedRecord===void 0){e.affectedRecord=t,e.affectedBefore=n;return}if(e.secondAffectedRecord===void 0){e.secondAffectedRecord=t,e.secondAffectedBefore=n;return}let o=e.affected;if(o===void 0)o=Le(e),e.affected=o;o.set(t,n)};class Ot{#t=new WeakMap;#n;#o=1;#i=0;#s=!1;#r;#a;#c;#d=0;#l;#h;#u;#b=1;#y=0;#S;#p;#e;#m;#f;evaluate;constructor(e,t,n){this.#e=e,this.#m=t===void 0?void 0:Tt.get(t),this.#f=n,this.evaluate=n?.evaluate??lt,this.#n=new ge(this),this.recordCounter("scopeNodesCreated")}get runtimeDomain(){return this.#e}get postSourceApply(){return this.#s}get instrumented(){return this.#m!==void 0}get rootScope(){return this.#n}recordCounter(e,t=1){let n=this.#m;if(n===void 0)return;n[wt[e]]+=t}#T(){return this.recordCounter("draftCreations"),new Fe(this.instrumented?()=>this.recordCounter("draftStorageAllocations"):void 0)}get(e,t){let n=new A,o=t,r=j(this.#e,o,n),i=ze(this.#e,"StoreTree.get");if(this.#A(e),r==="invalid")throw TypeError("StoreTree.get requires a valid State");if(i===void 0){let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value")throw s.outcome.error;return s.outcome.value}try{let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value"){if(s.outcome.kind==="control-error")i.latchControlFault(s.outcome.error);throw s.outcome.error}return s.outcome.value}catch(s){let a=n.getControlFault();if(a.kind==="fault")i.latchControlFault(a.error);throw s}}sub(e,t,n){let o=t,r,i=this.#e.states.has(o)?"local":j(this.#e,o,r=new A);if(V(this.#e,"StoreTree.sub"),this.#A(e),i==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("StoreTree.sub requires a valid State");if(typeof n!=="function")throw TypeError("StoreTree.sub requires a callback function");let s=e.getMaterializedServedOutcome(o)??e.serveKnownLocal(o,r??new A);if(s.outcome.kind==="control-error")throw s.outcome.error;let a=this.#u;if(a===void 0){if(a=new Map,this.#u=a,this.instrumented)this.recordCounter("subscriptionIndexMapsCreated")}let d=a.get(e);if(d===void 0){if(d=new Map,a.set(e,d),this.instrumented)this.recordCounter("subscriptionIndexMapsCreated"),this.recordCounter("activeSubscriptionScopes")}let c=d.get(o);if(c===void 0){if(c={host:this,scope:e,state:o,head:void 0,tail:void 0,reachedEpoch:0},d.set(o,c),this.instrumented)this.recordCounter("subscriptionTargetsCreated"),this.recordCounter("activeSubscriptionTargets")}let l={callback:n,target:c,previous:c.tail,next:void 0};if(c.tail===void 0)c.head=l;else c.tail.next=l;if(c.tail=l,this.instrumented)this.recordCounter("subscriptionRegistrations"),this.recordCounter("activeSubscriptions"),this.recordCounter("unsubscribeClosuresCreated");return Lt(l)}removeSubscription(e){let t=e.target;if(t===void 0)return;et(this.#e);let{previous:n,next:o}=e;if(n===void 0)t.head=o;else n.next=o;if(o===void 0)t.tail=n;else o.previous=n;e.callback=void 0,e.target=void 0,e.previous=void 0,e.next=void 0;let r=this.instrumented;if(r)this.recordCounter("subscriptionRemovals"),this.recordCounter("activeSubscriptions",-1);if(t.head!==void 0)return;let i=this.#u,s=i?.get(t.scope);if(s?.get(t.state)===t){if(s.delete(t.state),r)this.recordCounter("activeSubscriptionTargets",-1)}if(s!==void 0&&s.size===0){if(i?.delete(t.scope),r)this.recordCounter("activeSubscriptionScopes",-1)}if(i?.size===0)this.#u=void 0}set(e,t,n){this.#O(e,t,"StoreTree.set","set",n)}update(e,t,n){this.#O(e,t,"StoreTree.update","update",n)}reset(e,t){this.#O(e,t,"StoreTree.reset","reset")}scope(e,t,n){if(t!==0&&(typeof n==="object"||typeof n==="function")&&n!==null)j(this.#e,n,new A);if(V(this.#e,"StoreTree.scope"),this.#A(e),t===0)return this.#P(e);if(t!==1||typeof n!=="string")throw TypeError("StoreTree.scope requires a string name");let o=e.namedChildren.get(n);if(o!==void 0)return this.recordCounter("namedScopeHits"),o.facade;return this.recordCounter("namedScopeMisses"),this.#P(e,n)}dispose(e){if(V(this.#e,"StoreTree.dispose"),e.status!=="live")return;let t=[],n=[Object.freeze({node:e,expanded:!1})];while(n.length>0){let{node:o,expanded:r}=n.pop();if(r){t.push(o);continue}o.markDisposing(),n.push(Object.freeze({node:o,expanded:!0}));let i=[];o.children.forEach((s)=>i.push(s));for(let s=i.length-1;s>=0;s--)n.push(Object.freeze({node:i[s],expanded:!1}))}for(let o of t){this.recordCounter("disposalVisits");let r=o.parent;if(r!==void 0){if(o.name!==void 0&&Object.is(r.namedChildren.get(o.name),o))r.namedChildren.delete(o.name);r.children.delete(o)}this.#$(o),o.dropRecords(),o.namedChildren.clear(),o.children.clear(),o.markDisposed()}if(Object.is(e,this.#n))this.#t=new WeakMap}txn(e,t,n){if(V(this.#e,"StoreTree.txn"),this.#A(e),typeof t!=="function"||n!==void 0&&typeof n!=="string")throw TypeError("StoreTree.txn requires a callback");let o=this.#T(),r=_e(this,o,e),i;try{i=Je(this.#e,o.transaction,()=>t(r))}catch(s){throw o.close(),o.release(),s}o.close();try{let s=new A;me(this.#e,s,()=>Be(i)),this.#F(o)}finally{o.release()}return i}readHydrationSnapshot(e,t){let n=new A,o=t,r=j(this.#e,o,n);if(V(this.#e,"adapter readHydrationSnapshot"),this.#A(e),r==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("readHydrationSnapshot requires a valid State");let i=this.#T(),s;try{if(this.#e.atoms.has(o)){let a=this.#v(i,e,o,n);if(a.kind!=="value")throw a.error;return a.value}return s=this.#K(i,e),s.readSelector(o)}finally{s?.revoke(),i.close(),i.forEachFallback((a,d)=>{if(this.#t.has(a))return;this.#t.set(a,d),this.recordCounter("fallbackPublications")}),i.release()}}transactionGet(e,t,n){let o=n,r=new A,i=j(this.#e,o,r);if(ye(this.#e,e.transaction,e.active),this.#A(t),i==="invalid")throw TypeError("Transaction.get requires a valid State");if(this.#e.atoms.has(o)){let a=this.#v(e,t,o,r);if(a.kind!=="value")throw a.error;return a.value}if(!this.#e.selectors.has(o))throw TypeError("Transaction.get requires a readable State");let s=e.getScratchHost(t);if(s===void 0){if(s=this.#U(e,t),e.installScratchHost(t,s))this.recordCounter("scratchMapAllocations")}return s.readSelector(o)}transactionSet(e,t,n,o){let r=n,i=new A;this.#R(e,t,r,i,"Transaction.set"),this.#j(e,t,r,o,i)}transactionUpdate(e,t,n,o){let r=n,i=new A;this.#R(e,t,r,i,"Transaction.update"),this.#I(e,t,r,o,i,"Transaction.update")}transactionReset(e,t,n){let o=n,r=new A;this.#R(e,t,o,r,"Transaction.reset"),this.#M(e,t,o,r)}transactionScope(e,t,n,o,r){let i=new A;if(typeof n!=="string")j(this.#e,n,i);ye(this.#e,e.transaction,e.active),this.#A(t);let s=this.#Y(t,n);if(o!==1&&o!==2)throw TypeError("Transaction.scope requires a target and optional callback");let a=_e(this,e,s);if(o===1)return a;if(typeof r!=="function")throw TypeError("Transaction.scope requires a callback function");let d;try{d=r(a)}catch(l){let u=new A;return me(this.#e,u,()=>mt(l))}let c=new A;return me(this.#e,c,()=>Be(d)),d}createOutcomeToken(){return Object.freeze({id:this.#o++})}#U(e,t){return this.recordCounter("scratchHostAllocations"),new ve(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#v(e,t,n,o),captureCommittedSelectorSuccess:(n)=>t.captureCommittedSelectorSuccess(n),runSelectorActivity:(n,o)=>se(this.#e,n,o)}),e.generation,this.evaluate)}#K(e,t){return this.recordCounter("scratchHostAllocations"),new ve(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#v(e,t,n,o),captureCommittedSelectorSuccess:()=>{return},runSelectorActivity:(n,o)=>se(this.#e,n,o)}),e.generation,this.evaluate)}#V(e,t){if(U(this.#e,e,t)==="invalid")throw TypeError("Selector get requires a valid State");if(this.#e.atoms.has(e))return Object.freeze({kind:"atom"});let n=this.#e.selectors.get(e);if(n===void 0)throw TypeError("Unknown scratch StoreTree State");return Object.freeze({kind:"selector",definition:n})}#P(e,t){let n=new ge(this,e,t);this.recordCounter("scopeNodesCreated");let o=new We(this,n,this.#f);if(e.children.add(n),t!==void 0)e.namedChildren.set(t,n);return o}#Y(e,t){if(typeof t==="string"){let i=e.namedChildren.get(t);if(i===void 0)throw new je;return this.#A(i),i}let n=t,o=this.#e.stores.get(n);if(o!==void 0){let i=o;if(this.#A(i),!Object.is(i.coordinator,this))throw new Ie;return i}let r=this.#e.transactionCursors.get(n);if(r!==void 0){if(!r.active)throw new Se;throw new pe}throw new pe}#A(e){if(e.status!=="live")throw new xe}#X(e,t,n,o){let r=j(this.#e,t,n);V(this.#e,o),this.#A(e),this.#x(t,r,o)}#O(e,t,n,o,r){let i=t,s=new A;this.#X(e,i,s,n);let a=this.#T();try{if(o==="set")this.#j(a,e,i,r,s);else if(o==="update")this.#I(a,e,i,r,s,n);else this.#M(a,e,i,s)}catch(d){throw a.close(),a.release(),d}a.close();try{this.#F(a)}finally{a.release()}}#$(e){let t=this.#u,n=t?.get(e);if(n===void 0)return;let o=0;for(let r of n.values()){let i=r.head;while(i!==void 0){let s=i.next;i.callback=void 0,i.target=void 0,i.previous=void 0,i.next=void 0,o++,i=s}r.head=void 0,r.tail=void 0}if(t.delete(e),t.size===0)this.#u=void 0;if(this.instrumented)this.recordCounter("subscriptionRemovals",o),this.recordCounter("activeSubscriptions",-o),this.recordCounter("activeSubscriptionTargets",-n.size),this.recordCounter("activeSubscriptionScopes",-1)}#R(e,t,n,o,r){let i=j(this.#e,n,o);ye(this.#e,e.transaction,e.active),this.#A(t),this.#x(n,i,r)}#x(e,t,n){if(t==="invalid"||!this.#e.atoms.has(e))throw TypeError(`${n} requires a valid Atom`)}#j(e,t,n,o,r){let i=B(this.#e,r,()=>re(o));if(i.kind==="error")throw i.error;let s=this.#N(e,t,n,r);this.#q(e,t,n,i.value,s,r)}#I(e,t,n,o,r,i){if(typeof o!=="function")throw TypeError(`${i} requires an updater function`);let s=this.#N(e,t,n,r),a=e.hasIntents?this.#v(e,t,n,r):s.outcome;if(a.kind!=="value")throw a.error;let d=this.#J(o,a.value,r);this.#q(e,t,n,d,s,r)}#M(e,t,n,o){this.#N(e,t,n,o);let r=t.parent===void 0?Object.freeze({outcome:this.#C(e,n,o),reachesFallback:!0}):this.#z(e,t.parent,n,o);if(r.outcome.kind!=="value")throw r.outcome.error;let i=r.reachesFallback&&e.hasFallback(n);e.stage(t,Object.freeze({kind:"reset",atom:n,publishDraftFallback:i}))}#N(e,t,n,o){let r=e.getAtomBaseline(t,n);if(r!==void 0)return r;let i=t.atomOverrides.has(n),s=t,a;while(s!==void 0){if(s.atomOverrides.has(n)){a=N(s.atomOverrides.get(n));break}s=s.parent}let d=a===void 0,c=Object.freeze({owned:i,outcome:a??this.#C(e,n,o),reachesFallback:d});return e.setAtomBaseline(t,n,c),c}#v(e,t,n,o){return this.#z(e,t,n,o).outcome}#z(e,t,n,o){let r=t;while(r!==void 0){let i=e.getIntent(r,n);if(i?.kind==="set")return Object.freeze({outcome:N(i.value),reachesFallback:!1});if(i===void 0&&r.atomOverrides.has(n))return Object.freeze({outcome:N(r.atomOverrides.get(n)),reachesFallback:!1});r=r.parent}return Object.freeze({outcome:this.#C(e,n,o),reachesFallback:!0})}#C(e,t,n){let o=this.#t.get(t);if(o!==void 0)return o;let r=this.#g(t);if(r.fallback.kind==="eager")return N(r.fallback.value);let i=r.fallback.initialize,s=e.getFallback(t);if(s!==void 0)return s;let a=yt(B(this.#e,n,()=>Me(i)));return e.setFallback(t,a),a}#Q(e,t,n,o){let r=this.#g(e).equal;if(r===void 0)return Object.is(t,n)?t:n;return this.#Z(r,t,n,o)?t:n}#Z(e,t,n,o){return B(this.#e,o,()=>{let r;try{r=e(t,n)}catch(s){let a=E(s);if(a.kind==="not-thenable")throw s;if(a.kind==="inspection-error")throw a.error;throw D(a),new oe}let i=E(r);if(i.kind==="inspection-error")throw i.error;if(i.kind==="thenable")throw D(i),new oe;if(r!==!0&&r!==!1)throw new oe;return r})}#J(e,t,n){return B(this.#e,n,()=>{let o;try{o=e(t)}catch(i){let s=E(i);if(s.kind==="not-thenable")throw i;if(s.kind==="inspection-error")throw s.error;throw D(s),new ne}let r=re(o);if(r.kind==="error")throw r.error;return r.value})}#F(e){if(!e.hasIntents)return;let{singleIntent:t,singleIntentScope:n}=e;if(t?.kind==="reset"&&n!==void 0&&!t.publishDraftFallback&&e.getAtomBaseline(n,t.atom)?.owned===!1)return;let o=Ut(this.instrumented?()=>this.recordCounter("commitWorksetAllocations"):void 0),r,i;if(t!==void 0&&n!==void 0)r=this.#_(e,n,t,o);else e.forEachIntent((a,d)=>{let c=this.#_(e,a,d,o);if(r===void 0){r=c;return}if(i===void 0)i=[];i.push(c)});if(r===void 0)return;if(this.#f?.(1,e,this.#e.atoms),this.#B(e,r),i!==void 0)for(let a of i)this.#B(e,a);let s=this.#H(r);if(i!==void 0)for(let a of i){let d=this.#H(a);s||=d}if(this.#G(r),i!==void 0)for(let a of i)this.#G(a);this.#se();try{let a,d,c=o.affectedRecord,l=o.affectedBefore;if(c!==void 0&&l!==void 0)a=this.#E(o,c,l);let{secondAffectedRecord:u,secondAffectedBefore:p}=o;if(u!==void 0&&p!==void 0){let m=this.#E(o,u,p);if(m!==void 0)if(a===void 0)a=m;else d=[m]}if(o.affected!==void 0)for(let[m,h]of o.affected){let y=this.#E(o,m,h);if(y===void 0)continue;if(a===void 0)a=y;else{if(d===void 0)d=[];d.push(y)}}if(s)this.#i+=1,this.recordCounter("sourceEpoch");this.#f?.(2,a===void 0?0:1+(d?.length??0)),this.#ie(a,d)}catch(a){throw this.#k(),a}}#_(e,t,n,o){let r=e.getAtomBaseline(t,n.atom);if(r===void 0)throw Error("TreeDraft atom baseline is missing");this.#L(e,t,n.atom,o);let i=Object.freeze({scope:t,intent:n,ownershipChanged:n.kind==="set"?!r.owned||!Object.is(t.atomOverrides.get(n.atom),n.value):r.owned}),s=t.getAtomView(n.atom);if(s!==void 0)this.#ee(e,s,o);return i}#B(e,t){if(!t.intent.publishDraftFallback)return;let n=e.getFallback(t.intent.atom);if(n!==void 0&&!this.#t.has(t.intent.atom))this.#t.set(t.intent.atom,n),this.recordCounter("fallbackPublications")}#H(e){let{intent:t,scope:n}=e;if(t.kind==="set")n.atomOverrides.set(t.atom,t.value);else n.atomOverrides.delete(t.atom);return e.ownershipChanged}#G({scope:e,intent:t}){let n=e.getAtomView(t.atom);if(n===void 0)return;if(t.kind==="set"||e.parent===void 0)e.detachAtomView(n);else e.attachAtomView(n,this.#oe(e.parent,t.atom))}#E(e,t,n){let o=Ge(e,t.atom,t.scope);if(o===void 0)throw Error("Affected AtomView final outcome is missing");if(this.recordCounter("finalResolutionVisits"),bt(n,o))return;return t.scope.updateAtomView(t,o),t}#ee(e,t,n){let o=[t];while(o.length!==0){let r=o.pop();if(!Yt(n,r))continue;let i=r.served.outcome,s=this.#L(e,r.scope,r.atom,n);if(bt(i,s))continue;Xt(n,r,i);let a=o.length;r.inheritingChildren.forEach((d)=>{this.recordCounter("routeVisits"),o.push(d)});for(let d=a,c=o.length-1;d<c;d++,c--){let l=o[d];o[d]=o[c],o[c]=l}}}#L(e,t,n,o){let r=Ge(o,n,t);if(r!==void 0)return r;let i=t,s,a,d;while(i!==void 0){let c=Ge(o,n,i);if(c!==void 0){d=c;break}if(s===void 0)s=i;else{if(a===void 0)a=[];a.push(i)}let l=e.getIntent(i,n);if(l?.kind==="set"){d=N(l.value);break}if(l===void 0&&i.atomOverrides.has(n)){d=N(i.atomOverrides.get(n));break}i=i.parent}if(d??=this.#te(e,n),s!==void 0)gt(o,n,s,d),this.recordCounter("finalPreflightVisits");if(a!==void 0)for(let c of a)gt(o,n,c,d),this.recordCounter("finalPreflightVisits");return d}#te(e,t){let n=this.#t.get(t);if(n!==void 0)return n;let o=e.getFallback(t);if(o!==void 0)return o;let r=this.#g(t);if(r.fallback.kind==="eager")return N(r.fallback.value);throw Error("Final Atom fallback was not resolved during staging")}#ne(e){let t=this.#t.get(e);if(t!==void 0)return t;let n=this.#g(e);if(n.fallback.kind==="eager")return N(n.fallback.value);throw Error("Committed Atom fallback is not materialized")}#oe(e,t){let n=e,o=[],r;while(!0){let i=n.getAtomView(t);if(i!==void 0){r=i;break}if(n.atomOverrides.has(t)){r=n.createAtomView(t,N(n.atomOverrides.get(t)));break}if(n.parent===void 0){r=n.createAtomView(t,this.#ne(t));break}o.push(n),n=n.parent}for(let i=o.length-1;i>=0;i--)r=o[i].createAtomView(t,r.served.outcome,r);return r}serveScopeAtom(e,t,n){let o=e,r=[],i;while(!0){let s=o.getAtomView(t);if(s!==void 0){i=s;break}if(o.atomOverrides.has(t)){i=o.createAtomView(t,N(o.atomOverrides.get(t)));break}if(o.parent===void 0){i=o.createAtomView(t,this.#re(t,n));break}this.recordCounter("warmParentHops"),r.push(o),o=o.parent}for(let s=r.length-1;s>=0;s--)i=r[s].createAtomView(t,i.served.outcome,i);return i.served}#re(e,t){let n=this.#t.get(e);if(n!==void 0)return n;let o=this.#g(e);if(o.fallback.kind==="eager")return N(o.fallback.value);let r=o.fallback.initialize,i=yt(B(this.#e,t,()=>Me(r)));return this.#t.set(e,i),this.recordCounter("fallbackPublications"),i}#g(e){let t=this.#e.atoms.get(e);if(t===void 0)throw TypeError("Unknown committed StoreTree Atom");return t}#ie(e,t){if(e===void 0){this.#k();return}this.recordCounter("propagationSettlements"),this.#r=[],this.#a=void 0,this.#c=void 0,this.#d=0,this.#l=void 0,this.#h=void 0,this.#s=!0;let n;try{if(e.scope.markDependents(e.atom),t!==void 0)for(let r of t)r.scope.markDependents(r.atom);let o=0;while(o<this.#r.length){let r=this.#r[o++],i=this.#r[o++];this.#D(r,i)}}finally{n=this.#h,this.#h=void 0,this.#s=!1,this.#r=void 0,this.#a=void 0,this.#c=void 0,this.#d=0,this.#l=void 0}this.#ae(n)}#se(){this.#S=void 0,this.#p=void 0,this.#y=this.#u===void 0?0:this.#b++}#k(){this.#y=0,this.#S=void 0,this.#p=void 0}reachSubscriptionTarget(e,t){let n=this.#y,o=this.#u?.get(e)?.get(t);if(n===0||o===void 0||o.reachedEpoch===n)return;if(o.reachedEpoch=n,this.instrumented)this.recordCounter("notificationTargetsReached");if(this.#S===void 0){this.#S=o;return}if(this.#p===void 0)this.#p=[o];else this.#p.push(o)}#ae(e){let t=this.#S;if(t===void 0){if(this.#k(),e!==void 0)throw e;return}let n,o,r=(c)=>{let l=c.head;while(l!==void 0){let u=l.callback;if(u!==void 0)if(n===void 0)n=u;else if(o===void 0)o=[n,u];else o.push(u);l=l.next}};r(t);let i=this.#p;if(i!==void 0)for(let c of i)r(c);if(this.#k(),n===void 0){if(e!==void 0)throw e;return}let s=Object.freeze(o??[n]),a=this.instrumented;if(a)this.recordCounter("notificationSnapshots");let d;for(let c of s){if(a)this.recordCounter("subscriberCallbacksAttempted");let l=new A,u=!1,p;try{Ze(this.#e,l,()=>{try{let m=c(),h=E(m);if(h.kind==="thenable")D(h);else if(h.kind==="inspection-error")u=!0,p=h.error}catch(m){u=!0,p=m;let h=E(m);if(h.kind==="thenable")D(h)}})}catch(m){u=!0,p=m}if(u){if(d===void 0)d=[];if(d.push(p),a)this.recordCounter("subscriberErrors")}}if(d===void 0){if(e!==void 0)throw e;return}throw new Pe(e===void 0?d:[e,...d])}enqueueSelector(e,t){let n=this.#r;if(n===void 0)return!1;if((this.#W(e,t)&At)!==0)return!0;return this.#w(e,t,At),n.push(e,t),!0}prepareSelectorRead(e,t,n){if(this.#r===void 0)return;this.#D(e,t,n)}#D(e,t,n){if((this.#W(e,t)&(vt|He))!==0)return;this.#w(e,t,He);try{let r=e.getSelectorGraphVersion(),i=e.getCommittedSelectorDependencies(t);if(i!==void 0){for(let s of i)if(this.#e.selectors.has(s.node))this.#D(e,s.node)}if(e.isSelectorDirty(t)){let s=r===e.getSelectorGraphVersion();if(n!==void 0&&s)e.serve(t,n);else e.serve(t,new A)}this.#w(e,t,vt)}finally{this.#w(e,t,0,He)}}#W(e,t){if(Object.is(this.#a,e)&&Object.is(this.#c,t))return this.#d;return this.#l?.get(e)?.get(t)??0}#w(e,t,n,o=0){if(this.#a===void 0){this.#a=e,this.#c=t,this.#d=n&~o;return}if(Object.is(this.#a,e)&&Object.is(this.#c,t)){this.#d=(this.#d|n)&~o;return}let r=this.#l;if(r===void 0)r=new Map,this.#l=r;let i=r.get(e);if(i===void 0)i=new Map,r.set(e,i);i.set(t,((i.get(t)??0)|n)&~o)}latchPropagationControlFault(e){this.#h??=e}#q(e,t,n,o,r,i){let s=r.outcome.kind==="value"?this.#Q(n,r.outcome.value,o,i):o;e.stage(t,Object.freeze({kind:"set",atom:n,value:s,publishDraftFallback:r.reachesFallback&&e.hasFallback(n)}))}}class We{get;sub;set;update;reset;txn;scope;dispose;constructor(e,t,n){this.get=(o)=>e.get(t,o),this.sub=(o,r)=>e.sub(t,o,r),this.set=(o,r)=>e.set(t,o,r),this.update=(o,r)=>e.update(t,o,r),this.reset=(o)=>e.reset(t,o),this.txn=(o,r)=>e.txn(t,o,r),this.scope=function(o){return e.scope(t,arguments.length,o)},this.dispose=()=>e.dispose(t),t.installFacade(this),ae(this,e.runtimeDomain.ownerToken),e.runtimeDomain.stores.set(this,t),e.recordCounter("storeFacadesCreated"),n?.(0,this,t),Object.freeze(this)}}var kt=(e)=>{if(e.equal!==void 0&&typeof e.equal!=="function")throw TypeError("Atom equal must be a function");return{...e.name===void 0?{}:{name:e.name},...e.equal===void 0?{}:{equal:e.equal}}},Rt=(e)=>{let t={states:new WeakSet,atoms:new WeakMap,selectors:new WeakMap,stores:new WeakMap,transactionCursors:new WeakMap,ownerToken:Object.freeze({}),activity:void 0},n=(d,c={})=>{let l=new A,u=B(t,l,()=>re(d));if(u.kind==="error")throw u.error;let p=be("atom",t.ownerToken);return t.states.add(p),t.atoms.set(p,Object.freeze({fallback:Object.freeze({kind:"eager",value:u.value}),...kt(c)})),p},o=(d,c={})=>{if(typeof d!=="function")throw TypeError("atomLazy requires an initializer function");let l=be("atom",t.ownerToken);return t.states.add(l),t.atoms.set(l,Object.freeze({fallback:Object.freeze({kind:"lazy",initialize:d}),...kt(c)})),l},r=(d,c={})=>{if(typeof d!=="function")throw TypeError("selector requires a getter function");if(c.equal!==void 0&&typeof c.equal!=="function")throw TypeError("selector equal must be a function");let l=be("selector",t.ownerToken),u=Object.freeze({node:l,get:d,...c.name===void 0?{}:{name:c.name},...c.equal===void 0?{}:{equal:c.equal}});return t.states.add(l),t.selectors.set(l,u),l},i=(d)=>{let c=new A;if(j(t,d,c)==="invalid")return;return t.stores.get(d)},a=Object.freeze({assertStore:(d)=>{let c=i(d);if(V(t,"adapter assertStore"),c===void 0)throw TypeError("assertStore requires a valid Store")},read:(d,c)=>{if(i(d)===void 0)throw ze(t,"adapter read"),TypeError("read requires a valid Store");return d.get(c)},subscribe:(d,c,l)=>{if(i(d)===void 0)throw V(t,"adapter subscribe"),TypeError("subscribe requires a valid Store");return d.sub(c,l)},readHydrationSnapshot:(d,c)=>{let l=i(d);if(l===void 0)throw V(t,"adapter readHydrationSnapshot"),TypeError("readHydrationSnapshot requires a valid Store");return l.coordinator.readHydrationSnapshot(l,c)}});return Object.freeze({atom:n,atomLazy:o,selector:r,adapter:a,createStoreTree:(d=e,c)=>{V(t,"createStoreTree");let l=new Ot(t,d,c);return new We(l,l.rootScope,c)}})};var $t=Rt(),bn=(e,t)=>$t.createStoreTree(e,t);
2
+ export{ee as a,_t as b,lt as c,Ve as d,Pe as e,K as f,Y as g,X as h,Se as i,te as j,ne as k,oe as l,xe as m,je as n,Ie as o,pe as p,pn as q,$t as r,bn as s};
@@ -1 +1 @@
1
- import{a as o,c as a,d as n,e as l,f as p,g as c,h as i,i as s,j as u,k as y,l as v,m as E,n as m,o as S,q as t}from"./chunk-y786myym.js";var f=(r,e={})=>t.atomLazy(r,e),d=(r,e={})=>t.atom(r,e);Object.defineProperty(d,"lazy",{configurable:!1,enumerable:!0,value:f,writable:!1});var T=Object.freeze(d),x=(r,e={})=>t.selector(r,e);function V(){if(arguments.length!==0)throw TypeError("store() accepts no arguments");return t.createStoreTree()}var R=T,h=x,F=V,k=l,g=y,D=u,O=s,M=S,N=a,q=E,P=p,z=o,w=v,U=m,G=n,j=i,L=c;export{k as CallbackCapabilityError,g as InvalidAtomComparatorResultError,D as InvalidSynchronousAtomValueError,O as InvalidTransactionCallbackResultError,M as InvalidTransactionTargetError,N as RuntimeMismatchError,q as ScopeNotFoundError,P as SelectorCapabilityError,z as SelectorCircularDependencyError,w as StoreDisposedError,U as StoreTreeMismatchError,G as SubscriberNotificationError,j as TransactionClosedError,L as TransactionPhaseError,R as atom,h as selector,F as store};
1
+ import{a as o,d as a,e as n,f as l,g as p,h as c,i,j as s,k as u,l as y,m as v,n as E,o as m,p as S,r as t}from"./chunk-fbqtxaaa.js";var f=(r,e={})=>t.atomLazy(r,e),d=(r,e={})=>t.atom(r,e);Object.defineProperty(d,"lazy",{configurable:!1,enumerable:!0,value:f,writable:!1});var T=Object.freeze(d),x=(r,e={})=>t.selector(r,e);function V(){if(arguments.length!==0)throw TypeError("store() accepts no arguments");return t.createStoreTree()}var R=T,h=x,F=V,k=l,g=y,D=u,O=s,M=S,N=a,q=E,P=p,z=o,w=v,U=m,G=n,j=i,L=c;export{k as CallbackCapabilityError,g as InvalidAtomComparatorResultError,D as InvalidSynchronousAtomValueError,O as InvalidTransactionCallbackResultError,M as InvalidTransactionTargetError,N as RuntimeMismatchError,q as ScopeNotFoundError,P as SelectorCapabilityError,z as SelectorCircularDependencyError,w as StoreDisposedError,U as StoreTreeMismatchError,G as SubscriberNotificationError,j as TransactionClosedError,L as TransactionPhaseError,R as atom,h as selector,F as store};
@@ -1 +1 @@
1
- import{b as U,d as G,p as Y,r as ne}from"./chunk-y786myym.js";var te=2048,oe=1e5,A=256,B=1024,V=1e4,re=32,ie=20000,j=new Set(["span","operation","commit"]),se=new Set(["type","id","sequence","seqStart","seqEnd","startUs","durationUs","spanId","parentSpanId","operationId","commitId","evaluationId","searchId","name","result","totals"]),K=new Set(["value","previousValue","nextValue","resultValue","error","callback","updater"]),ae=()=>{},q=Symbol("inspection dependency path root"),ce=1;class N{#o;#e=[];#r=0;constructor(e){this.#o=e}add(e){if(this.#o===0)return!0;if(this.#e.length<this.#o)return this.#e.push(e),!1;return this.#e[this.#r]=e,this.#r=(this.#r+1)%this.#o,!0}snapshot(){if(this.#e.length<this.#o||this.#r===0)return Object.freeze([...this.#e]);return Object.freeze([...this.#e.slice(this.#r),...this.#e.slice(0,this.#r)])}}var H=(e)=>{if(e.length===0)return;let n=Number.POSITIVE_INFINITY,t=0;for(let o of e){let r="sequence"in o?o.sequence:void 0;n=Math.min(n,o.seqStart??r??0),t=Math.max(t,o.seqEnd??r??0)}return Object.freeze({firstSequence:n,lastSequence:t})},J=(e,n,t,o)=>{let r=e??n;if(!Number.isSafeInteger(r)||r<(o?0:1))throw TypeError(`${t} capacity must be ${o?"a non-negative":"a positive"} safe integer`);return r},W=(e)=>e.length<=A?e:e.slice(0,A),E=()=>({searches:0,visits:0,maxVisits:0,found:0}),X=()=>({admissionSkipped:0,observing:0,consultedNoPrune:0,consultedPruned:0,disabled:0,mapProbes:0,prunedNodes:0,graphVersionResets:0,initialSeeds:0,activationReplacementSeeds:0,secondarySeeds:0,hitDerivedSeeds:0,missBudgetDisables:0,oversizedHitApproachDisables:0,passiveProbeBudgetDisables:0,maxRetainedEntries:0}),Q=(e)=>Object.freeze({admissionSkipped:e.admissionSkipped,observing:e.observing,consultedNoPrune:e.consultedNoPrune,consultedPruned:e.consultedPruned,disabled:e.disabled,mapProbes:e.mapProbes,prunedNodes:e.prunedNodes,resets:Object.freeze({graphVersion:e.graphVersionResets}),seeds:Object.freeze({initial:e.initialSeeds,activationReplacement:e.activationReplacementSeeds,secondary:e.secondarySeeds,hitDerived:e.hitDerivedSeeds}),disables:Object.freeze({missBudget:e.missBudgetDisables,oversizedHitApproach:e.oversizedHitApproachDisables,passiveProbeBudget:e.passiveProbeBudgetDisables}),retained:Object.freeze({maxEntries:e.maxRetainedEntries})}),de=(e)=>{let n=X(),t=!1;return Object.freeze({sink:Object.freeze({admissionSkipped(){t=!0,n.admissionSkipped++,e({admissionSkipped:1})},disabled(){t=!0,n.disabled++,e({disabled:1})},graphVersionReset(){t=!0,n.graphVersionResets++,e({graphVersionResets:1})},recordMapProbes(r){if(r===0)return;t=!0,n.mapProbes+=r,e({mapProbes:r})},completeSearch(r,i,s,c=0,d=0,y=0){if(t=!0,r==="observing")n.observing++;else if(r==="consulted-no-prune")n.consultedNoPrune++;else n.consultedPruned++;if(n.mapProbes+=c,n.prunedNodes+=d,n.maxRetainedEntries=Math.max(n.maxRetainedEntries,y),i==="initial")n.initialSeeds++;else if(i==="activation-replacement")n.activationReplacementSeeds++;else if(i==="secondary")n.secondarySeeds++;else if(i==="hit-derived")n.hitDerivedSeeds++;if(s==="miss-budget")n.missBudgetDisables++;else if(s==="over-cap-hit")n.oversizedHitApproachDisables++;else if(s==="passive-probe-budget")n.passiveProbeBudgetDisables++;e({...r==="observing"?{observing:1}:r==="consulted-no-prune"?{consultedNoPrune:1}:{consultedPruned:1},mapProbes:c,prunedNodes:d,maxRetainedEntries:y,...i==="initial"?{initialSeeds:1}:i==="activation-replacement"?{activationReplacementSeeds:1}:i==="secondary"?{secondarySeeds:1}:i==="hit-derived"?{hitDerivedSeeds:1}:{},...s==="miss-budget"?{missBudgetDisables:1}:s==="over-cap-hit"?{oversizedHitApproachDisables:1}:s==="passive-probe-budget"?{passiveProbeBudgetDisables:1}:{}})}}),finish:()=>t?n:void 0})},le=()=>({selectorEvaluations:0,proposedTopologyChanges:0,proposedTopologyIdentical:0,transientSelectorHostsCreated:0,propagationSettled:0,notificationTargets:0,subscriberCallbacks:0,cycle:{searches:0,visits:0,maxVisits:0,found:0,prefixRevalidation:0,newEdgeProof:0,topologyDeltaProof:0,committed:0,scratch:0,hydration:0,newEdgeProofMemo:X(),lanes:{committed:{prefixRevalidation:E(),newEdgeProof:E(),topologyDeltaProof:E()},scratch:{prefixRevalidation:E(),newEdgeProof:E(),topologyDeltaProof:E()},hydration:{prefixRevalidation:E(),newEdgeProof:E(),topologyDeltaProof:E()}}}}),M=(e)=>Object.freeze({selectorEvaluations:e.selectorEvaluations,proposedTopologyChanges:e.proposedTopologyChanges,proposedTopologyIdentical:e.proposedTopologyIdentical,transientSelectorHostsCreated:e.transientSelectorHostsCreated,propagationSettled:e.propagationSettled,notificationTargets:e.notificationTargets,subscriberCallbacks:e.subscriberCallbacks,cycle:Object.freeze({searches:e.cycle.searches,visits:e.cycle.visits,maxVisits:e.cycle.maxVisits,found:e.cycle.found,bySite:Object.freeze({prefixRevalidation:e.cycle.prefixRevalidation,newEdgeProof:e.cycle.newEdgeProof,topologyDeltaProof:e.cycle.topologyDeltaProof}),byHost:Object.freeze({committed:e.cycle.committed,scratch:e.cycle.scratch,hydration:e.cycle.hydration}),newEdgeProofMemo:Q(e.cycle.newEdgeProofMemo),byLane:Object.freeze({committed:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.committed.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.committed.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.committed.topologyDeltaProof})}),scratch:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.scratch.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.scratch.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.scratch.topologyDeltaProof})}),hydration:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.hydration.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.hydration.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.hydration.topologyDeltaProof})})})})}),O=(e,n,t,o)=>{if(n.remaining--<=0||o>re)return null;if(e===null)return null;if(typeof e==="string")return e.length<=B?e:e.slice(0,B);if(typeof e==="boolean")return e;if(typeof e==="number")return Number.isFinite(e)?e:null;if(typeof e!=="object")return null;if(t.has(e))return null;t.add(e);try{if(Array.isArray(e)){let s=[],c=Math.min(e.length,V);for(let d=0;d<c;d++)s.push(O(e[d],n,t,o+1));return Object.freeze(s)}let r={},i=Object.keys(e).slice(0,V);for(let s of i){if(K.has(s))continue;let c=Reflect.get(e,s);if(c===void 0)continue;r[s]=O(c,n,t,o+1)}return Object.freeze(r)}finally{t.delete(e)}},z=(e)=>{if(e===void 0)return pe;let n={},t={remaining:ie};for(let o of Object.keys(e).slice(0,V)){if(se.has(o)||K.has(o))continue;let r=e[o];if(r===void 0)continue;n[o]=O(r,t,new Set,0)}return Object.freeze(n)},pe=Object.freeze({}),ue=(e,n)=>{if(n===void 0)return e;return Object.freeze({...e,...z(n)})},a=(e,n)=>n===void 0||!Number.isFinite(n)||n<=0?e:e+n,me=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return _;try{let n=e.then;return typeof n==="function"?{kind:"thenable",target:e,then:n}:_}catch(n){return{kind:"inspection-error",error:n}}},_=Object.freeze({kind:"not-thenable"});class Z{#o;#e;#r;#u;#d="";#s=1;#g=1;#S=1;#v=1;#k=1;#R=1;#E=1;#P=1;#T=1;#n=[];#m=new WeakMap;#C=new WeakMap;#w=new WeakMap;#f=new WeakMap;#l=0;#a=0;#t;#y;#x;constructor(e,n){this.#x=n,this.#r=J(e.capacity?.summaries,te,"Inspection summary",!1),this.#u=J(e.capacity?.details,oe,"Inspection detail",!0),this.#o=new N(this.#r),this.#e=new N(this.#u),this.#y=this.#p(),this.#D()}get recordingId(){return this.#d}registerStore(e,n){this.#w.set(e,n)}capture(e,n){let t=typeof e==="object"&&e!==null||typeof e==="function"?e:void 0,o=t===void 0?void 0:this.#w.get(t);if(o===void 0)throw TypeError("Inspection capture requires a Store owned by this inspector");let r;if(n!==void 0){let s=typeof n==="object"&&n!==null||typeof n==="function"?n:void 0,c=o.coordinator.runtimeDomain;if(s===void 0||!c.states.has(s))throw TypeError("Inspection capture requires a valid State");let d=c.atoms.get(s),y=c.selectors.get(s);if(d===void 0&&y===void 0)throw TypeError("Inspection capture requires a valid State");let R=d?.name??y?.name;r=this.reference(s,d===void 0?"selector":"atom",typeof R==="string"?R:void 0)}let i=this.#p();return Object.freeze({recordingId:this.#d,timeUs:this.#M(i),monotonicTimeMs:i,store:this.reference(o,"scope",o.name),...r===void 0?{}:{state:r},...this.#b()})}reference(e,n,t){if(this.#t!==void 0)return L;try{let o=this.#m.get(e);if(o===void 0)o=this.#T++,this.#m.set(e,o);let r=this.#C.get(e);if(r===void 0&&t!==void 0)r=W(t),this.#C.set(e,r);return Object.freeze({id:o,kind:n,...r===void 0?{}:{name:r}})}catch{return this.#c("reference"),L}}sessionId(e){let n=this.#f.get(e);if(n!==void 0)return n;let t=this.#E++;return this.#f.set(e,t),t}beginInterval(e){if(this.#t!==void 0)return F;try{let n=this.#V(e.type),t=Object.freeze({id:n,type:e.type}),o=Object.freeze({...this.#b(),...e.links}),r={token:t,parentId:this.#n[this.#n.length-1]?.token.id,links:o,name:e.name===void 0?void 0:W(e.name),seqStart:this.#s++,startUs:this.#I(),fields:z(e.fields),totals:j.has(e.type)?le():void 0,commitId:void 0,commitSourceApplied:!1,commitChangedSources:void 0,commitOwnershipChanged:void 0,commitFailurePhase:void 0,operationIntents:0,counterStart:j.has(e.type)?this.#O():void 0};if(e.type==="commit"){let i=this.#i("operation");if(i!==void 0)i.commitId=n}return this.#n.push(r),t}catch{return this.#c("begin-interval"),F}}finishInterval(e,n={}){if(e.id===0||this.#t!==void 0)return;try{let t=this.#n.pop();if(t===void 0||!Object.is(t.token,e))throw Error("Inspection intervals must finish in LIFO order");this.#j(t);let o=this.#s++,r=Math.max(0,this.#I()-t.startUs),i=ue(t.fields,n.fields),s=this.#z(t,o,r,i,n.result);if(j.has(t.token.type)){if(this.#o.add(s))this.#l++}else if(this.#e.add(s))this.#a++}catch{this.#c("finish-interval")}}record(e){if(this.#t!==void 0)return;try{let n=this.#s++,t=Object.freeze({...z(e.fields),type:e.type,sequence:n,timeUs:this.#I(),...this.#b(),...e.links});if(this.#e.add(t))this.#a++}catch{this.#c("record-detail")}}addWork(e){if(this.#t!==void 0)return;try{for(let n of this.#n){let t=n.totals;if(t===void 0)continue;t.selectorEvaluations=a(t.selectorEvaluations,e.selectorEvaluations),t.proposedTopologyChanges=a(t.proposedTopologyChanges,e.proposedTopologyChanges),t.proposedTopologyIdentical=a(t.proposedTopologyIdentical,e.proposedTopologyIdentical),t.transientSelectorHostsCreated=a(t.transientSelectorHostsCreated,e.transientSelectorHostsCreated),t.propagationSettled=a(t.propagationSettled,e.propagationSettled),t.notificationTargets=a(t.notificationTargets,e.notificationTargets),t.subscriberCallbacks=a(t.subscriberCallbacks,e.subscriberCallbacks);let o=e.cycle;if(o===void 0)continue;t.cycle.searches=a(t.cycle.searches,o.searches),t.cycle.visits=a(t.cycle.visits,o.visits),t.cycle.maxVisits=Math.max(t.cycle.maxVisits,o.maxVisits??0),t.cycle.found=a(t.cycle.found,o.found);let r=o.newEdgeProofMemo;if(r!==void 0){let i=t.cycle.newEdgeProofMemo;i.admissionSkipped=a(i.admissionSkipped,r.admissionSkipped),i.observing=a(i.observing,r.observing),i.consultedNoPrune=a(i.consultedNoPrune,r.consultedNoPrune),i.consultedPruned=a(i.consultedPruned,r.consultedPruned),i.disabled=a(i.disabled,r.disabled),i.mapProbes=a(i.mapProbes,r.mapProbes),i.prunedNodes=a(i.prunedNodes,r.prunedNodes),i.graphVersionResets=a(i.graphVersionResets,r.graphVersionResets),i.initialSeeds=a(i.initialSeeds,r.initialSeeds),i.activationReplacementSeeds=a(i.activationReplacementSeeds,r.activationReplacementSeeds),i.secondarySeeds=a(i.secondarySeeds,r.secondarySeeds),i.hitDerivedSeeds=a(i.hitDerivedSeeds,r.hitDerivedSeeds),i.missBudgetDisables=a(i.missBudgetDisables,r.missBudgetDisables),i.oversizedHitApproachDisables=a(i.oversizedHitApproachDisables,r.oversizedHitApproachDisables),i.passiveProbeBudgetDisables=a(i.passiveProbeBudgetDisables,r.passiveProbeBudgetDisables),i.maxRetainedEntries=Math.max(i.maxRetainedEntries,r.maxRetainedEntries??0)}if(o.site==="prefix-revalidation")t.cycle.prefixRevalidation+=o.searches??1;else if(o.site==="new-edge-proof")t.cycle.newEdgeProof+=o.searches??1;else if(o.site==="topology-delta-proof")t.cycle.topologyDeltaProof+=o.searches??1;if(o.host!==void 0)t.cycle[o.host]+=o.searches??1;if(o.host!==void 0&&o.site!==void 0){let i=o.site==="prefix-revalidation"?"prefixRevalidation":o.site==="new-edge-proof"?"newEdgeProof":"topologyDeltaProof",s=t.cycle.lanes[o.host][i];s.searches=a(s.searches,o.searches),s.visits=a(s.visits,o.visits),s.maxVisits=Math.max(s.maxVisits,o.maxVisits??0),s.found=a(s.found,o.found)}}}catch{this.#c("add-work")}}beginStoreOperation(e){return this.beginInterval({type:"operation",...e.name===void 0?{}:{name:e.name},fields:{operation:e.operation,scope:this.reference(e.scope,"scope",e.scopeName)}})}finishStoreOperation(e,n){let t=this.#i("operation"),o=t===void 0||!Object.is(t.token,e)||t.commitId===void 0||!t.commitSourceApplied?"none":n==="returned"?"committed":t.commitFailurePhase==="notify"?"committed-with-notification-error":"committed-with-propagation-error";this.finishInterval(e,{result:n,fields:{effect:o}})}beginStoreCommit(e){return this.beginInterval({type:"commit",links:{operationId:e.id}})}finishStoreCommit(e,n){let t=this.#i("operation");if(t!==void 0)t.commitSourceApplied||=n.sourceApplied,t.commitFailurePhase=n.failurePhase;this.finishInterval(e,{result:n.result,fields:{intents:n.intents,...n.changedSources===void 0?{}:{changedSources:n.changedSources},...n.ownershipChanged===void 0?{}:{ownershipChanged:n.ownershipChanged},sourceApplied:n.sourceApplied,notificationsCompleted:n.notificationsCompleted}})}recordStoreIntent(e){this.record({type:"intent",fields:{intent:e.intent,scope:this.reference(e.scope,"scope",e.scopeName),atom:this.reference(e.atom,"atom",e.atomName)}})}recordStoreEvent(...e){let n=e[0];if(n===0){let o=["set","update","reset","transaction"][e[1]];this.beginStoreOperation({operation:o,scope:e[2],...e[3]===void 0?{}:{scopeName:e[3]},...e[4]===void 0?{}:{name:e[4]}});return}if(n===1){let o=e[1]===0?"returned":"threw",r=this.#i("operation");if(r===void 0)return;let i=this.#i("commit");if(i!==void 0)this.#j(i),this.finishStoreCommit(i.token,{result:o,intents:r.operationIntents,...i.commitChangedSources===void 0?{}:{changedSources:i.commitChangedSources},...i.commitOwnershipChanged===void 0?{}:{ownershipChanged:i.commitOwnershipChanged},sourceApplied:i.commitSourceApplied,notificationsCompleted:o==="returned",...e[2]===void 0?{}:{failurePhase:e[2]===1?"notify":"propagate"}});this.finishStoreOperation(r.token,o);return}if(n===2){let o=this.#i("operation");if(o!==void 0)this.beginStoreCommit(o.token);return}if(n===3){let o=this.#i("commit");if(o!==void 0)o.commitSourceApplied=!0,o.commitChangedSources=e[1];return}let t=this.#i("operation");if(t!==void 0)t.operationIntents++;this.recordStoreIntent({intent:e[1]===0?"set":"reset",scope:e[2],...e[3]===void 0?{}:{scopeName:e[3]},atom:e[4],...e[5]===void 0?{}:{atomName:e[5]}})}hasActiveStoreOperation(){return this.#i("operation")!==void 0}beginDraftCommit(e,n){this.recordStoreEvent(2),e.forEachIntent((t,o)=>{let r=n.get(o.atom)?.name;this.recordStoreEvent(5,o.kind==="set"?0:2,t,t.name,o.atom,typeof r==="string"?r:void 0)})}findDependencyPath(e,n,t,o,r,i,s,c,d,y,R,I){let S=s===0?"prefix-revalidation":s===1?"new-edge-proof":"topology-delta-proof",w=this.beginInterval({type:"cycle-search",fields:{site:S,host:e,hostRef:n,start:this.#h(t),target:this.#h(o),graphVersion:r.getSelectorGraphVersion(),attributedSessionPublications:i.getSelectorGraphPublicationCount(r),evaluationGraphVersionDelta:r.getSelectorGraphVersion()-d,evaluationAttributedPublicationDelta:i.getSelectorGraphPublicationCount(r)-y,acceptedPrefixLength:c,parentWasCold:R}}),m=I?.beginSearch()??!1,l=[t],v=new Map([[t,q]]),x=0,p=0,b=1,C=0,P=0,T=0,g;while(l.length>0){let f=l.pop();if(x++,Object.is(f,o)){let u=[],k=f;while(k!==q)u.push(k),k=v.get(k);u.reverse(),g=Object.freeze(u);break}let h=i.getTransientDependencies(r,f);if(h){if(C++,h.length===0)continue;if(m){let u=I.hasProvenNoPathMeasured(f);if(!I.enabled)m=!1;if(u)continue}p+=h.length;for(let u of h){if(v.has(u.node))continue;v.set(u.node,f),l.push(u.node)}if(l.length>b)b=l.length;continue}if(r.getSelectorDependencyNodes!==void 0){let u=r.getSelectorDependencyNodes(f);if(u===void 0){T++;continue}if(P++,u.length===0)continue;if(m){let k=I.hasProvenNoPathMeasured(f);if(!I.enabled)m=!1;if(k)continue}p+=u.length;for(let k of u){if(v.has(k))continue;v.set(k,f),l.push(k)}if(l.length>b)b=l.length;continue}let D=r.getSelectorRecord(f);if(!D){T++;continue}if(P++,D.dependencies.length===0)continue;if(m){let u=I.hasProvenNoPathMeasured(f);if(!I.enabled)m=!1;if(u)continue}p+=D.dependencies.length;for(let u of D.dependencies){if(v.has(u.node))continue;v.set(u.node,f),l.push(u.node)}if(l.length>b)b=l.length}if(g===void 0)I?.completeNegative(v);else I?.completePositive();return this.addWork({cycle:{searches:1,visits:x,maxVisits:x,found:g===void 0?0:1,site:S,host:e}}),this.finishInterval(w,{result:"returned",fields:{visits:x,edges:p,maxFrontier:b,transientExpansions:C,recordExpansions:P,terminalPrunes:T,found:g!==void 0,...g===void 0?{}:{path:g.map((f)=>this.#h(f))}}}),g}span(e,n){if(typeof e!=="string")throw TypeError("Inspection span name must be a string");if(typeof n!=="function")throw TypeError("Inspection span callback must be a function");let t=this.beginInterval({type:"span",name:e}),o;try{o=n()}catch(i){throw this.finishInterval(t,{result:"threw"}),i}let r=me(o);if(r.kind==="inspection-error")throw this.finishInterval(t,{result:"threw"}),r.error;if(r.kind==="thenable"){try{Reflect.apply(r.then,r.target,[void 0,ae])}catch{}throw this.finishInterval(t,{result:"async-rejected"}),TypeError("Inspection spans must be synchronous")}return this.finishInterval(t,{result:"returned"}),o}export(){this.#N("export");let e=[...this.#o.snapshot()].sort((r,i)=>r.seqStart-i.seqStart),n=[...this.#e.snapshot()].sort((r,i)=>(r.seqStart??r.sequence??0)-(i.seqStart??i.sequence??0)),t=H(e),o=H(n);return Object.freeze({schema:"valdres.inspect",schemaVersion:3,recordingId:this.#d,summaries:Object.freeze(e),details:Object.freeze(n),complete:this.#l===0&&this.#a===0&&this.#t===void 0,overflow:Object.freeze({summaries:this.#l,details:this.#a,retained:Object.freeze({...t===void 0?{}:{summaries:t},...o===void 0?{}:{details:o}})}),...this.#t===void 0?{}:{fault:this.#t}})}reset(){this.#N("reset"),this.#D()}createInspector(){let e=this;return Object.freeze({get recordingId(){return e.recordingId},capture:(n,t)=>e.capture(n,t),span:(n,t)=>e.span(n,t),export:()=>e.export(),reset:()=>e.reset()})}#D(){this.#d=`inspection-${ce++}`,this.#o=new N(this.#r),this.#e=new N(this.#u),this.#s=1,this.#g=1,this.#S=1,this.#v=1,this.#k=1,this.#R=1,this.#E=1,this.#P=1,this.#T=1,this.#n=[],this.#m=new WeakMap,this.#f=new WeakMap,this.#l=0,this.#a=0,this.#t=void 0,this.#y=this.#p()}#V(e){if(e==="span")return this.#g++;if(e==="operation")return this.#S++;if(e==="commit")return this.#v++;if(e==="selector-evaluation")return this.#k++;if(e==="cycle-search")return this.#R++;return this.#P++}#b(){let e={};for(let n of this.#n){let{id:t,type:o}=n.token;if(n.links.sessionId!==void 0)e.sessionId=n.links.sessionId;if(o==="span")e.spanId=t;else if(o==="operation")e.operationId=t;else if(o==="commit")e.commitId=t;else if(o==="selector-evaluation")e.evaluationId=t;else if(o==="cycle-search")e.searchId=t}return e}#i(e){for(let n=this.#n.length-1;n>=0;n--){let t=this.#n[n];if(t.token.type===e)return t}return}#h(e){return typeof e==="object"&&e!==null||typeof e==="function"?this.reference(e,"state"):O(e,{remaining:1},new Set,0)}#z(e,n,t,o,r){let i={...o,type:e.token.type,seqStart:e.seqStart,seqEnd:n,startUs:e.startUs,durationUs:t,...e.links};if(e.token.type==="span")return Object.freeze({...i,type:"span",spanId:e.token.id,...e.links.spanId===void 0?{}:{parentSpanId:e.links.spanId},name:e.name??"",result:r??"returned",totals:M(e.totals)});if(e.token.type==="operation")return Object.freeze({...i,type:"operation",operationId:e.token.id,...e.name===void 0?{}:{name:e.name},...e.commitId===void 0?{}:{commitId:e.commitId},result:r==="threw"||r==="async-rejected"?"threw":"returned",effect:o.effect??(e.commitId===void 0?"none":"committed"),totals:M(e.totals)});if(e.token.type==="commit")return Object.freeze({...i,type:"commit",commitId:e.token.id,operationId:e.links.operationId??0,intents:o.intents??0,changedSources:o.changedSources??0,ownershipChanged:o.ownershipChanged??!1,sourceApplied:o.sourceApplied??!0,notificationsCompleted:o.notificationsCompleted??!0,totals:M(e.totals)});let s=e.token.type==="selector-evaluation"?{evaluationId:e.token.id}:e.token.type==="cycle-search"?{searchId:e.token.id}:{id:e.token.id};return Object.freeze({...i,...s})}#N(e){if(this.#n.length!==0)throw Error(`Inspection ${e} requires an idle Store`)}#O(){let e=(n)=>this.#x.read(n);return{sourceEpoch:e("sourceEpoch"),transientSelectorHostsCreated:e("scratchHostAllocations"),propagationSettled:e("propagationSettlements"),notificationTargets:e("notificationTargetsReached"),subscriberCallbacks:e("subscriberCallbacksAttempted")}}#j(e){let n=e.counterStart;if(n===void 0)return;e.counterStart=void 0;let t=this.#O();if(e.token.type==="commit")e.commitOwnershipChanged=t.sourceEpoch!==n.sourceEpoch;let o=e.totals;if(o===void 0)return;o.transientSelectorHostsCreated+=t.transientSelectorHostsCreated-n.transientSelectorHostsCreated,o.propagationSettled+=t.propagationSettled-n.propagationSettled,o.notificationTargets+=t.notificationTargets-n.notificationTargets,o.subscriberCallbacks+=t.subscriberCallbacks-n.subscriberCallbacks}#c(e){if(this.#t!==void 0)return;let n=this.#s++;this.#t=Object.freeze({type:"recorder-fault",phase:e,sequence:n}),this.#n=[]}#p(){return globalThis.performance?.now()??Date.now()}#M(e){return Math.max(0,Math.round((e-this.#y)*1000))}#I(){return this.#M(this.#p())}}var L=Object.freeze({id:0,kind:"store"}),F=Object.freeze({id:0,type:"operation"}),fe=(e)=>{let n=(r,i,s,c)=>{if(e.hasActiveStoreOperation())return c();e.recordStoreEvent(0,r,i,i.name,s);try{let d=c();return e.recordStoreEvent(1,0),d}catch(d){throw e.recordStoreEvent(1,1,d instanceof G?1:0),d}},t=(r,i,s)=>{if(r===0){let c=i,d=s;e.registerStore(c,d);let y=c,R=c.set,I=c.update,S=c.reset,w=c.txn;y.set=(m,l)=>n(0,d,void 0,()=>R(m,l)),y.update=(m,l)=>n(1,d,void 0,()=>I(m,l)),y.reset=(m)=>n(2,d,void 0,()=>S(m)),y.txn=(m,l)=>{if(typeof m!=="function"||l!==void 0&&typeof l!=="string")return w(m,l);return n(3,d,l,()=>w(m,l))};return}if(r===1){e.beginDraftCommit(i,s);return}if(r===2)e.recordStoreEvent(3,i)};return Object.assign(t,{evaluate:(r,i,s)=>{let c=i.getSelectorDependencyNodes!==void 0?"committed":e.hasActiveStoreOperation()?"scratch":"hydration",d=i.name,y=e.reference(i,c==="committed"?"scope":"scratch-host",typeof d==="string"?d:void 0),R=i.getSelectorGraphVersion(),I=s.getSelectorGraphPublicationCount(i),S=i.getSelectorRecord(r.node)?.dependencies,w=S?.length??0,m=e.beginInterval({type:"selector-evaluation",links:{sessionId:e.sessionId(s)},fields:{host:c,hostRef:y,selector:e.reference(r.node,"selector",typeof r.name==="string"?r.name:void 0),graphVersionStart:R,previousDependencyCount:w}});e.addWork({selectorEvaluations:1});let l=de((p)=>e.addWork({cycle:{newEdgeProofMemo:p}})),v=()=>{let p=l.finish();if(p===void 0)return;return Q(p)},x=(p,b,C,P,T,g,f)=>e.findDependencyPath(c,y,p,b,C,P,T,g,R,I,S===void 0,f);try{let p=U(r,i,s,x,l.sink),b=S===void 0||S.length!==p.dependencies.length||S.some((h,D)=>!Object.is(h.node,p.dependencies[D]?.node)),C=new Set(S?.map((h)=>h.node)),P=new Set(p.dependencies.map((h)=>h.node)),T=0,g=0;for(let h of P)if(!C.has(h))T++;for(let h of C)if(!P.has(h))g++;e.addWork(b?{proposedTopologyChanges:1}:{proposedTopologyIdentical:1});let f=v();return e.finishInterval(m,{result:"returned",fields:{outcome:p.outcome.kind,dependencyCount:p.dependencies.length,proposedTopologyChanged:b,proposedEdgesAdded:T,proposedEdgesRemoved:g,graphVersionEnd:i.getSelectorGraphVersion(),newEdgeProofMemo:f}}),p}catch(p){let b=v();throw e.finishInterval(m,{result:"threw",fields:{outcome:"threw",graphVersionEnd:i.getSelectorGraphVersion(),newEdgeProofMemo:b}}),p}}}),Object.freeze(t)},ee=(e={})=>{let n=Y(),t=new Z(e,n);return Object.freeze({recorder:t,inspect:t.createInspector(),instrumentation:n,trace:fe(t)})};var Se=(e={})=>{let{inspect:n,instrumentation:t,trace:o}=ee(e),r=ne(t,o);return Object.freeze({store:r,inspect:n})};export{Se as createInspectableStore};
1
+ import{b as Q,c as Z,e as ee,q as ne,s as ae}from"./chunk-fbqtxaaa.js";var ce=2048,de=1e5,q=256,H=1024,W=1e4,le=32,pe=20000,A=new Set(["span","operation","commit"]),ue=new Set(["type","id","sequence","seqStart","seqEnd","startUs","durationUs","spanId","parentSpanId","operationId","commitId","evaluationId","searchId","name","result","totals"]),te=new Set(["value","previousValue","nextValue","resultValue","error","callback","updater"]),me=()=>{},J=Symbol("inspection dependency path root"),_=(e)=>e==="proven-terminal"?"terminal":e==="proven-reverse"?"proven":e==="ineligible-active-frames"?"active-frames":e,fe=1;class O{#o;#e=[];#r=0;constructor(e){this.#o=e}add(e){if(this.#o===0)return!0;if(this.#e.length<this.#o)return this.#e.push(e),!1;return this.#e[this.#r]=e,this.#r=(this.#r+1)%this.#o,!0}snapshot(){if(this.#e.length<this.#o||this.#r===0)return Object.freeze([...this.#e]);return Object.freeze([...this.#e.slice(this.#r),...this.#e.slice(0,this.#r)])}}var L=(e)=>{if(e.length===0)return;let n=Number.POSITIVE_INFINITY,t=0;for(let o of e){let r="sequence"in o?o.sequence:void 0;n=Math.min(n,o.seqStart??r??0),t=Math.max(t,o.seqEnd??r??0)}return Object.freeze({firstSequence:n,lastSequence:t})},U=(e,n,t,o)=>{let r=e??n;if(!Number.isSafeInteger(r)||r<(o?0:1))throw TypeError(`${t} capacity must be ${o?"a non-negative":"a positive"} safe integer`);return r},G=(e)=>e.length<=q?e:e.slice(0,q),E=()=>({searches:0,visits:0,maxVisits:0,found:0}),oe=()=>({admissionSkipped:0,observing:0,consultedNoPrune:0,consultedPruned:0,disabled:0,mapProbes:0,prunedNodes:0,graphVersionResets:0,initialSeeds:0,activationReplacementSeeds:0,secondarySeeds:0,hitDerivedSeeds:0,missBudgetDisables:0,oversizedHitApproachDisables:0,passiveProbeBudgetDisables:0,maxRetainedEntries:0}),re=(e)=>Object.freeze({admissionSkipped:e.admissionSkipped,observing:e.observing,consultedNoPrune:e.consultedNoPrune,consultedPruned:e.consultedPruned,disabled:e.disabled,mapProbes:e.mapProbes,prunedNodes:e.prunedNodes,resets:Object.freeze({graphVersion:e.graphVersionResets}),seeds:Object.freeze({initial:e.initialSeeds,activationReplacement:e.activationReplacementSeeds,secondary:e.secondarySeeds,hitDerived:e.hitDerivedSeeds}),disables:Object.freeze({missBudget:e.missBudgetDisables,oversizedHitApproach:e.oversizedHitApproachDisables,passiveProbeBudget:e.passiveProbeBudgetDisables}),retained:Object.freeze({maxEntries:e.maxRetainedEntries})}),be=(e)=>{let n=oe(),t=!1;return Object.freeze({sink:Object.freeze({admissionSkipped(){t=!0,n.admissionSkipped++,e({admissionSkipped:1})},disabled(){t=!0,n.disabled++,e({disabled:1})},graphVersionReset(){t=!0,n.graphVersionResets++,e({graphVersionResets:1})},recordMapProbes(r){if(r===0)return;t=!0,n.mapProbes+=r,e({mapProbes:r})},completeSearch(r,i,s,a=0,d=0,b=0){if(t=!0,r==="observing")n.observing++;else if(r==="consulted-no-prune")n.consultedNoPrune++;else n.consultedPruned++;if(n.mapProbes+=a,n.prunedNodes+=d,n.maxRetainedEntries=Math.max(n.maxRetainedEntries,b),i==="initial")n.initialSeeds++;else if(i==="activation-replacement")n.activationReplacementSeeds++;else if(i==="secondary")n.secondarySeeds++;else if(i==="hit-derived")n.hitDerivedSeeds++;if(s==="miss-budget")n.missBudgetDisables++;else if(s==="over-cap-hit")n.oversizedHitApproachDisables++;else if(s==="passive-probe-budget")n.passiveProbeBudgetDisables++;e({...r==="observing"?{observing:1}:r==="consulted-no-prune"?{consultedNoPrune:1}:{consultedPruned:1},mapProbes:a,prunedNodes:d,maxRetainedEntries:b,...i==="initial"?{initialSeeds:1}:i==="activation-replacement"?{activationReplacementSeeds:1}:i==="secondary"?{secondarySeeds:1}:i==="hit-derived"?{hitDerivedSeeds:1}:{},...s==="miss-budget"?{missBudgetDisables:1}:s==="over-cap-hit"?{oversizedHitApproachDisables:1}:s==="passive-probe-budget"?{passiveProbeBudgetDisables:1}:{}})}}),finish:()=>t?n:void 0})},ye=()=>({selectorEvaluations:0,proposedTopologyChanges:0,proposedTopologyIdentical:0,transientSelectorHostsCreated:0,propagationSettled:0,notificationTargets:0,subscriberCallbacks:0,cycle:{searches:0,visits:0,maxVisits:0,found:0,prefixRevalidation:0,newEdgeProof:0,topologyDeltaProof:0,committed:0,scratch:0,hydration:0,newEdgeProofMemo:oe(),reverseProof:{terminal:0,proven:0,pathPossible:0,budgetExhausted:0,disabled:0,activeFrames:0,unsupported:0,nodeVisits:0,dependentProbes:0,liveDependents:0,maxWork:0,maxFrontier:0},lanes:{committed:{prefixRevalidation:E(),newEdgeProof:E(),topologyDeltaProof:E()},scratch:{prefixRevalidation:E(),newEdgeProof:E(),topologyDeltaProof:E()},hydration:{prefixRevalidation:E(),newEdgeProof:E(),topologyDeltaProof:E()}}}}),B=(e)=>Object.freeze({selectorEvaluations:e.selectorEvaluations,proposedTopologyChanges:e.proposedTopologyChanges,proposedTopologyIdentical:e.proposedTopologyIdentical,transientSelectorHostsCreated:e.transientSelectorHostsCreated,propagationSettled:e.propagationSettled,notificationTargets:e.notificationTargets,subscriberCallbacks:e.subscriberCallbacks,cycle:Object.freeze({searches:e.cycle.searches,visits:e.cycle.visits,maxVisits:e.cycle.maxVisits,found:e.cycle.found,bySite:Object.freeze({prefixRevalidation:e.cycle.prefixRevalidation,newEdgeProof:e.cycle.newEdgeProof,topologyDeltaProof:e.cycle.topologyDeltaProof}),byHost:Object.freeze({committed:e.cycle.committed,scratch:e.cycle.scratch,hydration:e.cycle.hydration}),newEdgeProofMemo:re(e.cycle.newEdgeProofMemo),reverseProof:Object.freeze({...e.cycle.reverseProof}),byLane:Object.freeze({committed:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.committed.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.committed.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.committed.topologyDeltaProof})}),scratch:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.scratch.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.scratch.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.scratch.topologyDeltaProof})}),hydration:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.hydration.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.hydration.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.hydration.topologyDeltaProof})})})})}),z=(e,n,t,o)=>{if(n.remaining--<=0||o>le)return null;if(e===null)return null;if(typeof e==="string")return e.length<=H?e:e.slice(0,H);if(typeof e==="boolean")return e;if(typeof e==="number")return Number.isFinite(e)?e:null;if(typeof e!=="object")return null;if(t.has(e))return null;t.add(e);try{if(Array.isArray(e)){let s=[],a=Math.min(e.length,W);for(let d=0;d<a;d++)s.push(z(e[d],n,t,o+1));return Object.freeze(s)}let r={},i=Object.keys(e).slice(0,W);for(let s of i){if(te.has(s))continue;let a=Reflect.get(e,s);if(a===void 0)continue;r[s]=z(a,n,t,o+1)}return Object.freeze(r)}finally{t.delete(e)}},F=(e)=>{if(e===void 0)return he;let n={},t={remaining:pe};for(let o of Object.keys(e).slice(0,W)){if(ue.has(o)||te.has(o))continue;let r=e[o];if(r===void 0)continue;n[o]=z(r,t,new Set,0)}return Object.freeze(n)},he=Object.freeze({}),Ie=(e,n)=>{if(n===void 0)return e;return Object.freeze({...e,...F(n)})},c=(e,n)=>n===void 0||!Number.isFinite(n)||n<=0?e:e+n,ge=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return Y;try{let n=e.then;return typeof n==="function"?{kind:"thenable",target:e,then:n}:Y}catch(n){return{kind:"inspection-error",error:n}}},Y=Object.freeze({kind:"not-thenable"});class se{#o;#e;#r;#u;#d="";#i=1;#g=1;#S=1;#v=1;#P=1;#R=1;#E=1;#k=1;#T=1;#n=[];#m=new WeakMap;#x=new WeakMap;#w=new WeakMap;#f=new WeakMap;#l=0;#a=0;#t;#b;#C;constructor(e,n){this.#C=n,this.#r=U(e.capacity?.summaries,ce,"Inspection summary",!1),this.#u=U(e.capacity?.details,de,"Inspection detail",!0),this.#o=new O(this.#r),this.#e=new O(this.#u),this.#b=this.#p(),this.#D()}get recordingId(){return this.#d}registerStore(e,n){this.#w.set(e,n)}capture(e,n){let t=typeof e==="object"&&e!==null||typeof e==="function"?e:void 0,o=t===void 0?void 0:this.#w.get(t);if(o===void 0)throw TypeError("Inspection capture requires a Store owned by this inspector");let r;if(n!==void 0){let s=typeof n==="object"&&n!==null||typeof n==="function"?n:void 0,a=o.coordinator.runtimeDomain;if(s===void 0||!a.states.has(s))throw TypeError("Inspection capture requires a valid State");let d=a.atoms.get(s),b=a.selectors.get(s);if(d===void 0&&b===void 0)throw TypeError("Inspection capture requires a valid State");let R=d?.name??b?.name;r=this.reference(s,d===void 0?"selector":"atom",typeof R==="string"?R:void 0)}let i=this.#p();return Object.freeze({recordingId:this.#d,timeUs:this.#M(i),monotonicTimeMs:i,store:this.reference(o,"scope",o.name),...r===void 0?{}:{state:r},...this.#y()})}reference(e,n,t){if(this.#t!==void 0)return K;try{let o=this.#m.get(e);if(o===void 0)o=this.#T++,this.#m.set(e,o);let r=this.#x.get(e);if(r===void 0&&t!==void 0)r=G(t),this.#x.set(e,r);return Object.freeze({id:o,kind:n,...r===void 0?{}:{name:r}})}catch{return this.#c("reference"),K}}sessionId(e){let n=this.#f.get(e);if(n!==void 0)return n;let t=this.#E++;return this.#f.set(e,t),t}beginInterval(e){if(this.#t!==void 0)return X;try{let n=this.#V(e.type),t=Object.freeze({id:n,type:e.type}),o=Object.freeze({...this.#y(),...e.links}),r={token:t,parentId:this.#n[this.#n.length-1]?.token.id,links:o,name:e.name===void 0?void 0:G(e.name),seqStart:this.#i++,startUs:this.#I(),fields:F(e.fields),totals:A.has(e.type)?ye():void 0,commitId:void 0,commitSourceApplied:!1,commitChangedSources:void 0,commitOwnershipChanged:void 0,commitFailurePhase:void 0,operationIntents:0,counterStart:A.has(e.type)?this.#O():void 0};if(e.type==="commit"){let i=this.#s("operation");if(i!==void 0)i.commitId=n}return this.#n.push(r),t}catch{return this.#c("begin-interval"),X}}finishInterval(e,n={}){if(e.id===0||this.#t!==void 0)return;try{let t=this.#n.pop();if(t===void 0||!Object.is(t.token,e))throw Error("Inspection intervals must finish in LIFO order");this.#j(t);let o=this.#i++,r=Math.max(0,this.#I()-t.startUs),i=Ie(t.fields,n.fields),s=this.#z(t,o,r,i,n.result);if(A.has(t.token.type)){if(this.#o.add(s))this.#l++}else if(this.#e.add(s))this.#a++}catch{this.#c("finish-interval")}}record(e){if(this.#t!==void 0)return;try{let n=this.#i++,t=Object.freeze({...F(e.fields),type:e.type,sequence:n,timeUs:this.#I(),...this.#y(),...e.links});if(this.#e.add(t))this.#a++}catch{this.#c("record-detail")}}addWork(e){if(this.#t!==void 0)return;try{for(let n of this.#n){let t=n.totals;if(t===void 0)continue;t.selectorEvaluations=c(t.selectorEvaluations,e.selectorEvaluations),t.proposedTopologyChanges=c(t.proposedTopologyChanges,e.proposedTopologyChanges),t.proposedTopologyIdentical=c(t.proposedTopologyIdentical,e.proposedTopologyIdentical),t.transientSelectorHostsCreated=c(t.transientSelectorHostsCreated,e.transientSelectorHostsCreated),t.propagationSettled=c(t.propagationSettled,e.propagationSettled),t.notificationTargets=c(t.notificationTargets,e.notificationTargets),t.subscriberCallbacks=c(t.subscriberCallbacks,e.subscriberCallbacks);let o=e.cycle;if(o===void 0)continue;t.cycle.searches=c(t.cycle.searches,o.searches),t.cycle.visits=c(t.cycle.visits,o.visits),t.cycle.maxVisits=Math.max(t.cycle.maxVisits,o.maxVisits??0),t.cycle.found=c(t.cycle.found,o.found);let r=o.newEdgeProofMemo;if(r!==void 0){let s=t.cycle.newEdgeProofMemo;s.admissionSkipped=c(s.admissionSkipped,r.admissionSkipped),s.observing=c(s.observing,r.observing),s.consultedNoPrune=c(s.consultedNoPrune,r.consultedNoPrune),s.consultedPruned=c(s.consultedPruned,r.consultedPruned),s.disabled=c(s.disabled,r.disabled),s.mapProbes=c(s.mapProbes,r.mapProbes),s.prunedNodes=c(s.prunedNodes,r.prunedNodes),s.graphVersionResets=c(s.graphVersionResets,r.graphVersionResets),s.initialSeeds=c(s.initialSeeds,r.initialSeeds),s.activationReplacementSeeds=c(s.activationReplacementSeeds,r.activationReplacementSeeds),s.secondarySeeds=c(s.secondarySeeds,r.secondarySeeds),s.hitDerivedSeeds=c(s.hitDerivedSeeds,r.hitDerivedSeeds),s.missBudgetDisables=c(s.missBudgetDisables,r.missBudgetDisables),s.oversizedHitApproachDisables=c(s.oversizedHitApproachDisables,r.oversizedHitApproachDisables),s.passiveProbeBudgetDisables=c(s.passiveProbeBudgetDisables,r.passiveProbeBudgetDisables),s.maxRetainedEntries=Math.max(s.maxRetainedEntries,r.maxRetainedEntries??0)}let i=o.reverseProof;if(i!==void 0){let s=t.cycle.reverseProof;if(i.outcome==="terminal")s.terminal++;else if(i.outcome==="proven")s.proven++;else if(i.outcome==="path-possible")s.pathPossible++;else if(i.outcome==="budget-exhausted")s.budgetExhausted++;else if(i.outcome==="disabled")s.disabled++;else if(i.outcome==="active-frames")s.activeFrames++;else s.unsupported++;s.nodeVisits=c(s.nodeVisits,i.nodeVisits),s.dependentProbes=c(s.dependentProbes,i.dependentProbes),s.liveDependents=c(s.liveDependents,i.liveDependents),s.maxWork=Math.max(s.maxWork,i.nodeVisits+i.dependentProbes),s.maxFrontier=Math.max(s.maxFrontier,i.maxFrontier)}if(o.site==="prefix-revalidation")t.cycle.prefixRevalidation+=o.searches??1;else if(o.site==="new-edge-proof")t.cycle.newEdgeProof+=o.searches??1;else if(o.site==="topology-delta-proof")t.cycle.topologyDeltaProof+=o.searches??1;if(o.host!==void 0)t.cycle[o.host]+=o.searches??1;if(o.host!==void 0&&o.site!==void 0){let s=o.site==="prefix-revalidation"?"prefixRevalidation":o.site==="new-edge-proof"?"newEdgeProof":"topologyDeltaProof",a=t.cycle.lanes[o.host][s];a.searches=c(a.searches,o.searches),a.visits=c(a.visits,o.visits),a.maxVisits=Math.max(a.maxVisits,o.maxVisits??0),a.found=c(a.found,o.found)}}}catch{this.#c("add-work")}}beginStoreOperation(e){return this.beginInterval({type:"operation",...e.name===void 0?{}:{name:e.name},fields:{operation:e.operation,scope:this.reference(e.scope,"scope",e.scopeName)}})}finishStoreOperation(e,n){let t=this.#s("operation"),o=t===void 0||!Object.is(t.token,e)||t.commitId===void 0||!t.commitSourceApplied?"none":n==="returned"?"committed":t.commitFailurePhase==="notify"?"committed-with-notification-error":"committed-with-propagation-error";this.finishInterval(e,{result:n,fields:{effect:o}})}beginStoreCommit(e){return this.beginInterval({type:"commit",links:{operationId:e.id}})}finishStoreCommit(e,n){let t=this.#s("operation");if(t!==void 0)t.commitSourceApplied||=n.sourceApplied,t.commitFailurePhase=n.failurePhase;this.finishInterval(e,{result:n.result,fields:{intents:n.intents,...n.changedSources===void 0?{}:{changedSources:n.changedSources},...n.ownershipChanged===void 0?{}:{ownershipChanged:n.ownershipChanged},sourceApplied:n.sourceApplied,notificationsCompleted:n.notificationsCompleted}})}recordStoreIntent(e){this.record({type:"intent",fields:{intent:e.intent,scope:this.reference(e.scope,"scope",e.scopeName),atom:this.reference(e.atom,"atom",e.atomName)}})}recordStoreEvent(...e){let n=e[0];if(n===0){let o=["set","update","reset","transaction"][e[1]];this.beginStoreOperation({operation:o,scope:e[2],...e[3]===void 0?{}:{scopeName:e[3]},...e[4]===void 0?{}:{name:e[4]}});return}if(n===1){let o=e[1]===0?"returned":"threw",r=this.#s("operation");if(r===void 0)return;let i=this.#s("commit");if(i!==void 0)this.#j(i),this.finishStoreCommit(i.token,{result:o,intents:r.operationIntents,...i.commitChangedSources===void 0?{}:{changedSources:i.commitChangedSources},...i.commitOwnershipChanged===void 0?{}:{ownershipChanged:i.commitOwnershipChanged},sourceApplied:i.commitSourceApplied,notificationsCompleted:o==="returned",...e[2]===void 0?{}:{failurePhase:e[2]===1?"notify":"propagate"}});this.finishStoreOperation(r.token,o);return}if(n===2){let o=this.#s("operation");if(o!==void 0)this.beginStoreCommit(o.token);return}if(n===3){let o=this.#s("commit");if(o!==void 0)o.commitSourceApplied=!0,o.commitChangedSources=e[1];return}let t=this.#s("operation");if(t!==void 0)t.operationIntents++;this.recordStoreIntent({intent:e[1]===0?"set":"reset",scope:e[2],...e[3]===void 0?{}:{scopeName:e[3]},atom:e[4],...e[5]===void 0?{}:{atomName:e[5]}})}hasActiveStoreOperation(){return this.#s("operation")!==void 0}beginDraftCommit(e,n){this.recordStoreEvent(2),e.forEachIntent((t,o)=>{let r=n.get(o.atom)?.name;this.recordStoreEvent(5,o.kind==="set"?0:2,t,t.name,o.atom,typeof r==="string"?r:void 0)})}findDependencyPath(e,n,t,o,r,i,s,a,d,b,R,k){let S=s===0?"prefix-revalidation":s===1?"new-edge-proof":"topology-delta-proof",D=this.beginInterval({type:"cycle-search",fields:{site:S,host:e,hostRef:n,start:this.#h(t),target:this.#h(o),graphVersion:r.getSelectorGraphVersion(),attributedSessionPublications:i.getSelectorGraphPublicationCount(r),evaluationGraphVersionDelta:r.getSelectorGraphVersion()-d,evaluationAttributedPublicationDelta:i.getSelectorGraphPublicationCount(r)-b,acceptedPrefixLength:a,parentWasCold:R}}),m={nodeVisits:0,dependentProbes:0,liveDependents:0,maxFrontier:0},l=s===1?Q(t,o,r,i,m,k?.reverseProofEnabled??!0):void 0;if(l==="budget-exhausted"&&k!==void 0)k.reverseProofEnabled=!1;let j=l==="proven-terminal"||l==="proven-reverse",N=0,p=0,y=0,C=0,T=0,x=0,g;if(!j){let h=k?.(),f=h?.beginSearch()??!1,I=[t],w=new Map([[t,J]]);y=1;while(I.length>0){let v=I.pop();if(N++,Object.is(v,o)){let u=[],P=v;while(P!==J)u.push(P),P=w.get(P);u.reverse(),g=Object.freeze(u);break}let M=i.getTransientDependencies(r,v);if(M){if(C++,M.length===0)continue;if(f){let u=h.hasProvenNoPathMeasured(v);if(!h.enabled)f=!1;if(u)continue}p+=M.length;for(let u of M){if(w.has(u.node))continue;w.set(u.node,v),I.push(u.node)}if(I.length>y)y=I.length;continue}if(r.getSelectorDependencyNodes!==void 0){let u=r.getSelectorDependencyNodes(v);if(u===void 0){x++;continue}if(T++,u.length===0)continue;if(f){let P=h.hasProvenNoPathMeasured(v);if(!h.enabled)f=!1;if(P)continue}p+=u.length;for(let P of u){if(w.has(P))continue;w.set(P,v),I.push(P)}if(I.length>y)y=I.length;continue}let V=r.getSelectorRecord(v);if(!V){x++;continue}if(T++,V.dependencies.length===0)continue;if(f){let u=h.hasProvenNoPathMeasured(v);if(!h.enabled)f=!1;if(u)continue}p+=V.dependencies.length;for(let u of V.dependencies){if(w.has(u.node))continue;w.set(u.node,v),I.push(u.node)}if(I.length>y)y=I.length}if(g===void 0)h?.completeNegative(w);else h?.completePositive()}return this.addWork({cycle:{searches:1,visits:N,maxVisits:N,found:g===void 0?0:1,site:S,host:e,...l===void 0?{}:{reverseProof:{outcome:_(l),...m}}}}),this.finishInterval(D,{result:"returned",fields:{visits:N,edges:p,maxFrontier:y,transientExpansions:C,recordExpansions:T,terminalPrunes:x,...l===void 0?{}:{reverseProof:{outcome:_(l),...m}},found:g!==void 0,...g===void 0?{}:{path:g.map((h)=>this.#h(h))}}}),g}span(e,n){if(typeof e!=="string")throw TypeError("Inspection span name must be a string");if(typeof n!=="function")throw TypeError("Inspection span callback must be a function");let t=this.beginInterval({type:"span",name:e}),o;try{o=n()}catch(i){throw this.finishInterval(t,{result:"threw"}),i}let r=ge(o);if(r.kind==="inspection-error")throw this.finishInterval(t,{result:"threw"}),r.error;if(r.kind==="thenable"){try{Reflect.apply(r.then,r.target,[void 0,me])}catch{}throw this.finishInterval(t,{result:"async-rejected"}),TypeError("Inspection spans must be synchronous")}return this.finishInterval(t,{result:"returned"}),o}export(){this.#N("export");let e=[...this.#o.snapshot()].sort((r,i)=>r.seqStart-i.seqStart),n=[...this.#e.snapshot()].sort((r,i)=>(r.seqStart??r.sequence??0)-(i.seqStart??i.sequence??0)),t=L(e),o=L(n);return Object.freeze({schema:"valdres.inspect",schemaVersion:4,recordingId:this.#d,summaries:Object.freeze(e),details:Object.freeze(n),complete:this.#l===0&&this.#a===0&&this.#t===void 0,overflow:Object.freeze({summaries:this.#l,details:this.#a,retained:Object.freeze({...t===void 0?{}:{summaries:t},...o===void 0?{}:{details:o}})}),...this.#t===void 0?{}:{fault:this.#t}})}reset(){this.#N("reset"),this.#D()}createInspector(){let e=this;return Object.freeze({get recordingId(){return e.recordingId},capture:(n,t)=>e.capture(n,t),span:(n,t)=>e.span(n,t),export:()=>e.export(),reset:()=>e.reset()})}#D(){this.#d=`inspection-${fe++}`,this.#o=new O(this.#r),this.#e=new O(this.#u),this.#i=1,this.#g=1,this.#S=1,this.#v=1,this.#P=1,this.#R=1,this.#E=1,this.#k=1,this.#T=1,this.#n=[],this.#m=new WeakMap,this.#f=new WeakMap,this.#l=0,this.#a=0,this.#t=void 0,this.#b=this.#p()}#V(e){if(e==="span")return this.#g++;if(e==="operation")return this.#S++;if(e==="commit")return this.#v++;if(e==="selector-evaluation")return this.#P++;if(e==="cycle-search")return this.#R++;return this.#k++}#y(){let e={};for(let n of this.#n){let{id:t,type:o}=n.token;if(n.links.sessionId!==void 0)e.sessionId=n.links.sessionId;if(o==="span")e.spanId=t;else if(o==="operation")e.operationId=t;else if(o==="commit")e.commitId=t;else if(o==="selector-evaluation")e.evaluationId=t;else if(o==="cycle-search")e.searchId=t}return e}#s(e){for(let n=this.#n.length-1;n>=0;n--){let t=this.#n[n];if(t.token.type===e)return t}return}#h(e){return typeof e==="object"&&e!==null||typeof e==="function"?this.reference(e,"state"):z(e,{remaining:1},new Set,0)}#z(e,n,t,o,r){let i={...o,type:e.token.type,seqStart:e.seqStart,seqEnd:n,startUs:e.startUs,durationUs:t,...e.links};if(e.token.type==="span")return Object.freeze({...i,type:"span",spanId:e.token.id,...e.links.spanId===void 0?{}:{parentSpanId:e.links.spanId},name:e.name??"",result:r??"returned",totals:B(e.totals)});if(e.token.type==="operation")return Object.freeze({...i,type:"operation",operationId:e.token.id,...e.name===void 0?{}:{name:e.name},...e.commitId===void 0?{}:{commitId:e.commitId},result:r==="threw"||r==="async-rejected"?"threw":"returned",effect:o.effect??(e.commitId===void 0?"none":"committed"),totals:B(e.totals)});if(e.token.type==="commit")return Object.freeze({...i,type:"commit",commitId:e.token.id,operationId:e.links.operationId??0,intents:o.intents??0,changedSources:o.changedSources??0,ownershipChanged:o.ownershipChanged??!1,sourceApplied:o.sourceApplied??!0,notificationsCompleted:o.notificationsCompleted??!0,totals:B(e.totals)});let s=e.token.type==="selector-evaluation"?{evaluationId:e.token.id}:e.token.type==="cycle-search"?{searchId:e.token.id}:{id:e.token.id};return Object.freeze({...i,...s})}#N(e){if(this.#n.length!==0)throw Error(`Inspection ${e} requires an idle Store`)}#O(){let e=(n)=>this.#C.read(n);return{sourceEpoch:e("sourceEpoch"),transientSelectorHostsCreated:e("scratchHostAllocations"),propagationSettled:e("propagationSettlements"),notificationTargets:e("notificationTargetsReached"),subscriberCallbacks:e("subscriberCallbacksAttempted")}}#j(e){let n=e.counterStart;if(n===void 0)return;e.counterStart=void 0;let t=this.#O();if(e.token.type==="commit")e.commitOwnershipChanged=t.sourceEpoch!==n.sourceEpoch;let o=e.totals;if(o===void 0)return;o.transientSelectorHostsCreated+=t.transientSelectorHostsCreated-n.transientSelectorHostsCreated,o.propagationSettled+=t.propagationSettled-n.propagationSettled,o.notificationTargets+=t.notificationTargets-n.notificationTargets,o.subscriberCallbacks+=t.subscriberCallbacks-n.subscriberCallbacks}#c(e){if(this.#t!==void 0)return;let n=this.#i++;this.#t=Object.freeze({type:"recorder-fault",phase:e,sequence:n}),this.#n=[]}#p(){return globalThis.performance?.now()??Date.now()}#M(e){return Math.max(0,Math.round((e-this.#b)*1000))}#I(){return this.#M(this.#p())}}var K=Object.freeze({id:0,kind:"store"}),X=Object.freeze({id:0,type:"operation"}),Se=(e)=>{let n=(r,i,s,a)=>{if(e.hasActiveStoreOperation())return a();e.recordStoreEvent(0,r,i,i.name,s);try{let d=a();return e.recordStoreEvent(1,0),d}catch(d){throw e.recordStoreEvent(1,1,d instanceof ee?1:0),d}},t=(r,i,s)=>{if(r===0){let a=i,d=s;e.registerStore(a,d);let b=a,R=a.set,k=a.update,S=a.reset,D=a.txn;b.set=(m,l)=>n(0,d,void 0,()=>R(m,l)),b.update=(m,l)=>n(1,d,void 0,()=>k(m,l)),b.reset=(m)=>n(2,d,void 0,()=>S(m)),b.txn=(m,l)=>{if(typeof m!=="function"||l!==void 0&&typeof l!=="string")return D(m,l);return n(3,d,l,()=>D(m,l))};return}if(r===1){e.beginDraftCommit(i,s);return}if(r===2)e.recordStoreEvent(3,i)};return Object.assign(t,{evaluate:(r,i,s)=>{let a=i.getSelectorDependencyNodes!==void 0?"committed":e.hasActiveStoreOperation()?"scratch":"hydration",d=i.name,b=e.reference(i,a==="committed"?"scope":"scratch-host",typeof d==="string"?d:void 0),R=i.getSelectorGraphVersion(),k=s.getSelectorGraphPublicationCount(i),S=i.getSelectorRecord(r.node)?.dependencies,D=S?.length??0,m=e.beginInterval({type:"selector-evaluation",links:{sessionId:e.sessionId(s)},fields:{host:a,hostRef:b,selector:e.reference(r.node,"selector",typeof r.name==="string"?r.name:void 0),graphVersionStart:R,previousDependencyCount:D}});e.addWork({selectorEvaluations:1});let l=be((p)=>e.addWork({cycle:{newEdgeProofMemo:p}})),j=()=>{let p=l.finish();if(p===void 0)return;return re(p)},N=(p,y,C,T,x,g,h)=>e.findDependencyPath(a,b,p,y,C,T,x,g,R,k,S===void 0,h);try{let p=Z(r,i,s,N,l.sink),y=S===void 0||S.length!==p.dependencies.length||S.some((f,I)=>!Object.is(f.node,p.dependencies[I]?.node)),C=new Set(S?.map((f)=>f.node)),T=new Set(p.dependencies.map((f)=>f.node)),x=0,g=0;for(let f of T)if(!C.has(f))x++;for(let f of C)if(!T.has(f))g++;e.addWork(y?{proposedTopologyChanges:1}:{proposedTopologyIdentical:1});let h=j();return e.finishInterval(m,{result:"returned",fields:{outcome:p.outcome.kind,dependencyCount:p.dependencies.length,proposedTopologyChanged:y,proposedEdgesAdded:x,proposedEdgesRemoved:g,graphVersionEnd:i.getSelectorGraphVersion(),newEdgeProofMemo:h}}),p}catch(p){let y=j();throw e.finishInterval(m,{result:"threw",fields:{outcome:"threw",graphVersionEnd:i.getSelectorGraphVersion(),newEdgeProofMemo:y}}),p}}}),Object.freeze(t)},ie=(e={})=>{let n=ne(),t=new se(e,n);return Object.freeze({recorder:t,inspect:t.createInspector(),instrumentation:n,trace:Se(t)})};var Te=(e={})=>{let{inspect:n,instrumentation:t,trace:o}=ie(e),r=ae(t,o);return Object.freeze({store:r,inspect:n})};export{Te as createInspectableStore};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{a as o,c as a,d as n,e as l,f as p,g as c,h as i,i as s,j as u,k as y,l as v,m as E,n as m,o as S,q as t}from"./chunk-y786myym.js";var f=(r,e={})=>t.atomLazy(r,e),d=(r,e={})=>t.atom(r,e);Object.defineProperty(d,"lazy",{configurable:!1,enumerable:!0,value:f,writable:!1});var T=Object.freeze(d),x=(r,e={})=>t.selector(r,e);function V(){if(arguments.length!==0)throw TypeError("store() accepts no arguments");return t.createStoreTree()}var R=T,h=x,F=V,k=l,g=y,D=u,O=s,M=S,N=a,q=E,P=p,z=o,w=v,U=m,G=n,j=i,L=c;export{k as CallbackCapabilityError,g as InvalidAtomComparatorResultError,D as InvalidSynchronousAtomValueError,O as InvalidTransactionCallbackResultError,M as InvalidTransactionTargetError,N as RuntimeMismatchError,q as ScopeNotFoundError,P as SelectorCapabilityError,z as SelectorCircularDependencyError,w as StoreDisposedError,U as StoreTreeMismatchError,G as SubscriberNotificationError,j as TransactionClosedError,L as TransactionPhaseError,R as atom,h as selector,F as store};
1
+ import{a as o,d as a,e as n,f as l,g as p,h as c,i,j as s,k as u,l as y,m as v,n as E,o as m,p as S,r as t}from"./chunk-fbqtxaaa.js";var f=(r,e={})=>t.atomLazy(r,e),d=(r,e={})=>t.atom(r,e);Object.defineProperty(d,"lazy",{configurable:!1,enumerable:!0,value:f,writable:!1});var T=Object.freeze(d),x=(r,e={})=>t.selector(r,e);function V(){if(arguments.length!==0)throw TypeError("store() accepts no arguments");return t.createStoreTree()}var R=T,h=x,F=V,k=l,g=y,D=u,O=s,M=S,N=a,q=E,P=p,z=o,w=v,U=m,G=n,j=i,L=c;export{k as CallbackCapabilityError,g as InvalidAtomComparatorResultError,D as InvalidSynchronousAtomValueError,O as InvalidTransactionCallbackResultError,M as InvalidTransactionTargetError,N as RuntimeMismatchError,q as ScopeNotFoundError,P as SelectorCapabilityError,z as SelectorCircularDependencyError,w as StoreDisposedError,U as StoreTreeMismatchError,G as SubscriberNotificationError,j as TransactionClosedError,L as TransactionPhaseError,R as atom,h as selector,F as store};
package/dist/inspect.js CHANGED
@@ -1 +1 @@
1
- import{b as U,d as G,p as Y,r as ne}from"./chunk-y786myym.js";var te=2048,oe=1e5,A=256,B=1024,V=1e4,re=32,ie=20000,j=new Set(["span","operation","commit"]),se=new Set(["type","id","sequence","seqStart","seqEnd","startUs","durationUs","spanId","parentSpanId","operationId","commitId","evaluationId","searchId","name","result","totals"]),K=new Set(["value","previousValue","nextValue","resultValue","error","callback","updater"]),ae=()=>{},q=Symbol("inspection dependency path root"),ce=1;class N{#o;#e=[];#r=0;constructor(e){this.#o=e}add(e){if(this.#o===0)return!0;if(this.#e.length<this.#o)return this.#e.push(e),!1;return this.#e[this.#r]=e,this.#r=(this.#r+1)%this.#o,!0}snapshot(){if(this.#e.length<this.#o||this.#r===0)return Object.freeze([...this.#e]);return Object.freeze([...this.#e.slice(this.#r),...this.#e.slice(0,this.#r)])}}var H=(e)=>{if(e.length===0)return;let n=Number.POSITIVE_INFINITY,t=0;for(let o of e){let r="sequence"in o?o.sequence:void 0;n=Math.min(n,o.seqStart??r??0),t=Math.max(t,o.seqEnd??r??0)}return Object.freeze({firstSequence:n,lastSequence:t})},J=(e,n,t,o)=>{let r=e??n;if(!Number.isSafeInteger(r)||r<(o?0:1))throw TypeError(`${t} capacity must be ${o?"a non-negative":"a positive"} safe integer`);return r},W=(e)=>e.length<=A?e:e.slice(0,A),E=()=>({searches:0,visits:0,maxVisits:0,found:0}),X=()=>({admissionSkipped:0,observing:0,consultedNoPrune:0,consultedPruned:0,disabled:0,mapProbes:0,prunedNodes:0,graphVersionResets:0,initialSeeds:0,activationReplacementSeeds:0,secondarySeeds:0,hitDerivedSeeds:0,missBudgetDisables:0,oversizedHitApproachDisables:0,passiveProbeBudgetDisables:0,maxRetainedEntries:0}),Q=(e)=>Object.freeze({admissionSkipped:e.admissionSkipped,observing:e.observing,consultedNoPrune:e.consultedNoPrune,consultedPruned:e.consultedPruned,disabled:e.disabled,mapProbes:e.mapProbes,prunedNodes:e.prunedNodes,resets:Object.freeze({graphVersion:e.graphVersionResets}),seeds:Object.freeze({initial:e.initialSeeds,activationReplacement:e.activationReplacementSeeds,secondary:e.secondarySeeds,hitDerived:e.hitDerivedSeeds}),disables:Object.freeze({missBudget:e.missBudgetDisables,oversizedHitApproach:e.oversizedHitApproachDisables,passiveProbeBudget:e.passiveProbeBudgetDisables}),retained:Object.freeze({maxEntries:e.maxRetainedEntries})}),de=(e)=>{let n=X(),t=!1;return Object.freeze({sink:Object.freeze({admissionSkipped(){t=!0,n.admissionSkipped++,e({admissionSkipped:1})},disabled(){t=!0,n.disabled++,e({disabled:1})},graphVersionReset(){t=!0,n.graphVersionResets++,e({graphVersionResets:1})},recordMapProbes(r){if(r===0)return;t=!0,n.mapProbes+=r,e({mapProbes:r})},completeSearch(r,i,s,c=0,d=0,y=0){if(t=!0,r==="observing")n.observing++;else if(r==="consulted-no-prune")n.consultedNoPrune++;else n.consultedPruned++;if(n.mapProbes+=c,n.prunedNodes+=d,n.maxRetainedEntries=Math.max(n.maxRetainedEntries,y),i==="initial")n.initialSeeds++;else if(i==="activation-replacement")n.activationReplacementSeeds++;else if(i==="secondary")n.secondarySeeds++;else if(i==="hit-derived")n.hitDerivedSeeds++;if(s==="miss-budget")n.missBudgetDisables++;else if(s==="over-cap-hit")n.oversizedHitApproachDisables++;else if(s==="passive-probe-budget")n.passiveProbeBudgetDisables++;e({...r==="observing"?{observing:1}:r==="consulted-no-prune"?{consultedNoPrune:1}:{consultedPruned:1},mapProbes:c,prunedNodes:d,maxRetainedEntries:y,...i==="initial"?{initialSeeds:1}:i==="activation-replacement"?{activationReplacementSeeds:1}:i==="secondary"?{secondarySeeds:1}:i==="hit-derived"?{hitDerivedSeeds:1}:{},...s==="miss-budget"?{missBudgetDisables:1}:s==="over-cap-hit"?{oversizedHitApproachDisables:1}:s==="passive-probe-budget"?{passiveProbeBudgetDisables:1}:{}})}}),finish:()=>t?n:void 0})},le=()=>({selectorEvaluations:0,proposedTopologyChanges:0,proposedTopologyIdentical:0,transientSelectorHostsCreated:0,propagationSettled:0,notificationTargets:0,subscriberCallbacks:0,cycle:{searches:0,visits:0,maxVisits:0,found:0,prefixRevalidation:0,newEdgeProof:0,topologyDeltaProof:0,committed:0,scratch:0,hydration:0,newEdgeProofMemo:X(),lanes:{committed:{prefixRevalidation:E(),newEdgeProof:E(),topologyDeltaProof:E()},scratch:{prefixRevalidation:E(),newEdgeProof:E(),topologyDeltaProof:E()},hydration:{prefixRevalidation:E(),newEdgeProof:E(),topologyDeltaProof:E()}}}}),M=(e)=>Object.freeze({selectorEvaluations:e.selectorEvaluations,proposedTopologyChanges:e.proposedTopologyChanges,proposedTopologyIdentical:e.proposedTopologyIdentical,transientSelectorHostsCreated:e.transientSelectorHostsCreated,propagationSettled:e.propagationSettled,notificationTargets:e.notificationTargets,subscriberCallbacks:e.subscriberCallbacks,cycle:Object.freeze({searches:e.cycle.searches,visits:e.cycle.visits,maxVisits:e.cycle.maxVisits,found:e.cycle.found,bySite:Object.freeze({prefixRevalidation:e.cycle.prefixRevalidation,newEdgeProof:e.cycle.newEdgeProof,topologyDeltaProof:e.cycle.topologyDeltaProof}),byHost:Object.freeze({committed:e.cycle.committed,scratch:e.cycle.scratch,hydration:e.cycle.hydration}),newEdgeProofMemo:Q(e.cycle.newEdgeProofMemo),byLane:Object.freeze({committed:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.committed.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.committed.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.committed.topologyDeltaProof})}),scratch:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.scratch.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.scratch.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.scratch.topologyDeltaProof})}),hydration:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.hydration.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.hydration.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.hydration.topologyDeltaProof})})})})}),O=(e,n,t,o)=>{if(n.remaining--<=0||o>re)return null;if(e===null)return null;if(typeof e==="string")return e.length<=B?e:e.slice(0,B);if(typeof e==="boolean")return e;if(typeof e==="number")return Number.isFinite(e)?e:null;if(typeof e!=="object")return null;if(t.has(e))return null;t.add(e);try{if(Array.isArray(e)){let s=[],c=Math.min(e.length,V);for(let d=0;d<c;d++)s.push(O(e[d],n,t,o+1));return Object.freeze(s)}let r={},i=Object.keys(e).slice(0,V);for(let s of i){if(K.has(s))continue;let c=Reflect.get(e,s);if(c===void 0)continue;r[s]=O(c,n,t,o+1)}return Object.freeze(r)}finally{t.delete(e)}},z=(e)=>{if(e===void 0)return pe;let n={},t={remaining:ie};for(let o of Object.keys(e).slice(0,V)){if(se.has(o)||K.has(o))continue;let r=e[o];if(r===void 0)continue;n[o]=O(r,t,new Set,0)}return Object.freeze(n)},pe=Object.freeze({}),ue=(e,n)=>{if(n===void 0)return e;return Object.freeze({...e,...z(n)})},a=(e,n)=>n===void 0||!Number.isFinite(n)||n<=0?e:e+n,me=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return _;try{let n=e.then;return typeof n==="function"?{kind:"thenable",target:e,then:n}:_}catch(n){return{kind:"inspection-error",error:n}}},_=Object.freeze({kind:"not-thenable"});class Z{#o;#e;#r;#u;#d="";#s=1;#g=1;#S=1;#v=1;#k=1;#R=1;#E=1;#P=1;#T=1;#n=[];#m=new WeakMap;#C=new WeakMap;#w=new WeakMap;#f=new WeakMap;#l=0;#a=0;#t;#y;#x;constructor(e,n){this.#x=n,this.#r=J(e.capacity?.summaries,te,"Inspection summary",!1),this.#u=J(e.capacity?.details,oe,"Inspection detail",!0),this.#o=new N(this.#r),this.#e=new N(this.#u),this.#y=this.#p(),this.#D()}get recordingId(){return this.#d}registerStore(e,n){this.#w.set(e,n)}capture(e,n){let t=typeof e==="object"&&e!==null||typeof e==="function"?e:void 0,o=t===void 0?void 0:this.#w.get(t);if(o===void 0)throw TypeError("Inspection capture requires a Store owned by this inspector");let r;if(n!==void 0){let s=typeof n==="object"&&n!==null||typeof n==="function"?n:void 0,c=o.coordinator.runtimeDomain;if(s===void 0||!c.states.has(s))throw TypeError("Inspection capture requires a valid State");let d=c.atoms.get(s),y=c.selectors.get(s);if(d===void 0&&y===void 0)throw TypeError("Inspection capture requires a valid State");let R=d?.name??y?.name;r=this.reference(s,d===void 0?"selector":"atom",typeof R==="string"?R:void 0)}let i=this.#p();return Object.freeze({recordingId:this.#d,timeUs:this.#M(i),monotonicTimeMs:i,store:this.reference(o,"scope",o.name),...r===void 0?{}:{state:r},...this.#b()})}reference(e,n,t){if(this.#t!==void 0)return L;try{let o=this.#m.get(e);if(o===void 0)o=this.#T++,this.#m.set(e,o);let r=this.#C.get(e);if(r===void 0&&t!==void 0)r=W(t),this.#C.set(e,r);return Object.freeze({id:o,kind:n,...r===void 0?{}:{name:r}})}catch{return this.#c("reference"),L}}sessionId(e){let n=this.#f.get(e);if(n!==void 0)return n;let t=this.#E++;return this.#f.set(e,t),t}beginInterval(e){if(this.#t!==void 0)return F;try{let n=this.#V(e.type),t=Object.freeze({id:n,type:e.type}),o=Object.freeze({...this.#b(),...e.links}),r={token:t,parentId:this.#n[this.#n.length-1]?.token.id,links:o,name:e.name===void 0?void 0:W(e.name),seqStart:this.#s++,startUs:this.#I(),fields:z(e.fields),totals:j.has(e.type)?le():void 0,commitId:void 0,commitSourceApplied:!1,commitChangedSources:void 0,commitOwnershipChanged:void 0,commitFailurePhase:void 0,operationIntents:0,counterStart:j.has(e.type)?this.#O():void 0};if(e.type==="commit"){let i=this.#i("operation");if(i!==void 0)i.commitId=n}return this.#n.push(r),t}catch{return this.#c("begin-interval"),F}}finishInterval(e,n={}){if(e.id===0||this.#t!==void 0)return;try{let t=this.#n.pop();if(t===void 0||!Object.is(t.token,e))throw Error("Inspection intervals must finish in LIFO order");this.#j(t);let o=this.#s++,r=Math.max(0,this.#I()-t.startUs),i=ue(t.fields,n.fields),s=this.#z(t,o,r,i,n.result);if(j.has(t.token.type)){if(this.#o.add(s))this.#l++}else if(this.#e.add(s))this.#a++}catch{this.#c("finish-interval")}}record(e){if(this.#t!==void 0)return;try{let n=this.#s++,t=Object.freeze({...z(e.fields),type:e.type,sequence:n,timeUs:this.#I(),...this.#b(),...e.links});if(this.#e.add(t))this.#a++}catch{this.#c("record-detail")}}addWork(e){if(this.#t!==void 0)return;try{for(let n of this.#n){let t=n.totals;if(t===void 0)continue;t.selectorEvaluations=a(t.selectorEvaluations,e.selectorEvaluations),t.proposedTopologyChanges=a(t.proposedTopologyChanges,e.proposedTopologyChanges),t.proposedTopologyIdentical=a(t.proposedTopologyIdentical,e.proposedTopologyIdentical),t.transientSelectorHostsCreated=a(t.transientSelectorHostsCreated,e.transientSelectorHostsCreated),t.propagationSettled=a(t.propagationSettled,e.propagationSettled),t.notificationTargets=a(t.notificationTargets,e.notificationTargets),t.subscriberCallbacks=a(t.subscriberCallbacks,e.subscriberCallbacks);let o=e.cycle;if(o===void 0)continue;t.cycle.searches=a(t.cycle.searches,o.searches),t.cycle.visits=a(t.cycle.visits,o.visits),t.cycle.maxVisits=Math.max(t.cycle.maxVisits,o.maxVisits??0),t.cycle.found=a(t.cycle.found,o.found);let r=o.newEdgeProofMemo;if(r!==void 0){let i=t.cycle.newEdgeProofMemo;i.admissionSkipped=a(i.admissionSkipped,r.admissionSkipped),i.observing=a(i.observing,r.observing),i.consultedNoPrune=a(i.consultedNoPrune,r.consultedNoPrune),i.consultedPruned=a(i.consultedPruned,r.consultedPruned),i.disabled=a(i.disabled,r.disabled),i.mapProbes=a(i.mapProbes,r.mapProbes),i.prunedNodes=a(i.prunedNodes,r.prunedNodes),i.graphVersionResets=a(i.graphVersionResets,r.graphVersionResets),i.initialSeeds=a(i.initialSeeds,r.initialSeeds),i.activationReplacementSeeds=a(i.activationReplacementSeeds,r.activationReplacementSeeds),i.secondarySeeds=a(i.secondarySeeds,r.secondarySeeds),i.hitDerivedSeeds=a(i.hitDerivedSeeds,r.hitDerivedSeeds),i.missBudgetDisables=a(i.missBudgetDisables,r.missBudgetDisables),i.oversizedHitApproachDisables=a(i.oversizedHitApproachDisables,r.oversizedHitApproachDisables),i.passiveProbeBudgetDisables=a(i.passiveProbeBudgetDisables,r.passiveProbeBudgetDisables),i.maxRetainedEntries=Math.max(i.maxRetainedEntries,r.maxRetainedEntries??0)}if(o.site==="prefix-revalidation")t.cycle.prefixRevalidation+=o.searches??1;else if(o.site==="new-edge-proof")t.cycle.newEdgeProof+=o.searches??1;else if(o.site==="topology-delta-proof")t.cycle.topologyDeltaProof+=o.searches??1;if(o.host!==void 0)t.cycle[o.host]+=o.searches??1;if(o.host!==void 0&&o.site!==void 0){let i=o.site==="prefix-revalidation"?"prefixRevalidation":o.site==="new-edge-proof"?"newEdgeProof":"topologyDeltaProof",s=t.cycle.lanes[o.host][i];s.searches=a(s.searches,o.searches),s.visits=a(s.visits,o.visits),s.maxVisits=Math.max(s.maxVisits,o.maxVisits??0),s.found=a(s.found,o.found)}}}catch{this.#c("add-work")}}beginStoreOperation(e){return this.beginInterval({type:"operation",...e.name===void 0?{}:{name:e.name},fields:{operation:e.operation,scope:this.reference(e.scope,"scope",e.scopeName)}})}finishStoreOperation(e,n){let t=this.#i("operation"),o=t===void 0||!Object.is(t.token,e)||t.commitId===void 0||!t.commitSourceApplied?"none":n==="returned"?"committed":t.commitFailurePhase==="notify"?"committed-with-notification-error":"committed-with-propagation-error";this.finishInterval(e,{result:n,fields:{effect:o}})}beginStoreCommit(e){return this.beginInterval({type:"commit",links:{operationId:e.id}})}finishStoreCommit(e,n){let t=this.#i("operation");if(t!==void 0)t.commitSourceApplied||=n.sourceApplied,t.commitFailurePhase=n.failurePhase;this.finishInterval(e,{result:n.result,fields:{intents:n.intents,...n.changedSources===void 0?{}:{changedSources:n.changedSources},...n.ownershipChanged===void 0?{}:{ownershipChanged:n.ownershipChanged},sourceApplied:n.sourceApplied,notificationsCompleted:n.notificationsCompleted}})}recordStoreIntent(e){this.record({type:"intent",fields:{intent:e.intent,scope:this.reference(e.scope,"scope",e.scopeName),atom:this.reference(e.atom,"atom",e.atomName)}})}recordStoreEvent(...e){let n=e[0];if(n===0){let o=["set","update","reset","transaction"][e[1]];this.beginStoreOperation({operation:o,scope:e[2],...e[3]===void 0?{}:{scopeName:e[3]},...e[4]===void 0?{}:{name:e[4]}});return}if(n===1){let o=e[1]===0?"returned":"threw",r=this.#i("operation");if(r===void 0)return;let i=this.#i("commit");if(i!==void 0)this.#j(i),this.finishStoreCommit(i.token,{result:o,intents:r.operationIntents,...i.commitChangedSources===void 0?{}:{changedSources:i.commitChangedSources},...i.commitOwnershipChanged===void 0?{}:{ownershipChanged:i.commitOwnershipChanged},sourceApplied:i.commitSourceApplied,notificationsCompleted:o==="returned",...e[2]===void 0?{}:{failurePhase:e[2]===1?"notify":"propagate"}});this.finishStoreOperation(r.token,o);return}if(n===2){let o=this.#i("operation");if(o!==void 0)this.beginStoreCommit(o.token);return}if(n===3){let o=this.#i("commit");if(o!==void 0)o.commitSourceApplied=!0,o.commitChangedSources=e[1];return}let t=this.#i("operation");if(t!==void 0)t.operationIntents++;this.recordStoreIntent({intent:e[1]===0?"set":"reset",scope:e[2],...e[3]===void 0?{}:{scopeName:e[3]},atom:e[4],...e[5]===void 0?{}:{atomName:e[5]}})}hasActiveStoreOperation(){return this.#i("operation")!==void 0}beginDraftCommit(e,n){this.recordStoreEvent(2),e.forEachIntent((t,o)=>{let r=n.get(o.atom)?.name;this.recordStoreEvent(5,o.kind==="set"?0:2,t,t.name,o.atom,typeof r==="string"?r:void 0)})}findDependencyPath(e,n,t,o,r,i,s,c,d,y,R,I){let S=s===0?"prefix-revalidation":s===1?"new-edge-proof":"topology-delta-proof",w=this.beginInterval({type:"cycle-search",fields:{site:S,host:e,hostRef:n,start:this.#h(t),target:this.#h(o),graphVersion:r.getSelectorGraphVersion(),attributedSessionPublications:i.getSelectorGraphPublicationCount(r),evaluationGraphVersionDelta:r.getSelectorGraphVersion()-d,evaluationAttributedPublicationDelta:i.getSelectorGraphPublicationCount(r)-y,acceptedPrefixLength:c,parentWasCold:R}}),m=I?.beginSearch()??!1,l=[t],v=new Map([[t,q]]),x=0,p=0,b=1,C=0,P=0,T=0,g;while(l.length>0){let f=l.pop();if(x++,Object.is(f,o)){let u=[],k=f;while(k!==q)u.push(k),k=v.get(k);u.reverse(),g=Object.freeze(u);break}let h=i.getTransientDependencies(r,f);if(h){if(C++,h.length===0)continue;if(m){let u=I.hasProvenNoPathMeasured(f);if(!I.enabled)m=!1;if(u)continue}p+=h.length;for(let u of h){if(v.has(u.node))continue;v.set(u.node,f),l.push(u.node)}if(l.length>b)b=l.length;continue}if(r.getSelectorDependencyNodes!==void 0){let u=r.getSelectorDependencyNodes(f);if(u===void 0){T++;continue}if(P++,u.length===0)continue;if(m){let k=I.hasProvenNoPathMeasured(f);if(!I.enabled)m=!1;if(k)continue}p+=u.length;for(let k of u){if(v.has(k))continue;v.set(k,f),l.push(k)}if(l.length>b)b=l.length;continue}let D=r.getSelectorRecord(f);if(!D){T++;continue}if(P++,D.dependencies.length===0)continue;if(m){let u=I.hasProvenNoPathMeasured(f);if(!I.enabled)m=!1;if(u)continue}p+=D.dependencies.length;for(let u of D.dependencies){if(v.has(u.node))continue;v.set(u.node,f),l.push(u.node)}if(l.length>b)b=l.length}if(g===void 0)I?.completeNegative(v);else I?.completePositive();return this.addWork({cycle:{searches:1,visits:x,maxVisits:x,found:g===void 0?0:1,site:S,host:e}}),this.finishInterval(w,{result:"returned",fields:{visits:x,edges:p,maxFrontier:b,transientExpansions:C,recordExpansions:P,terminalPrunes:T,found:g!==void 0,...g===void 0?{}:{path:g.map((f)=>this.#h(f))}}}),g}span(e,n){if(typeof e!=="string")throw TypeError("Inspection span name must be a string");if(typeof n!=="function")throw TypeError("Inspection span callback must be a function");let t=this.beginInterval({type:"span",name:e}),o;try{o=n()}catch(i){throw this.finishInterval(t,{result:"threw"}),i}let r=me(o);if(r.kind==="inspection-error")throw this.finishInterval(t,{result:"threw"}),r.error;if(r.kind==="thenable"){try{Reflect.apply(r.then,r.target,[void 0,ae])}catch{}throw this.finishInterval(t,{result:"async-rejected"}),TypeError("Inspection spans must be synchronous")}return this.finishInterval(t,{result:"returned"}),o}export(){this.#N("export");let e=[...this.#o.snapshot()].sort((r,i)=>r.seqStart-i.seqStart),n=[...this.#e.snapshot()].sort((r,i)=>(r.seqStart??r.sequence??0)-(i.seqStart??i.sequence??0)),t=H(e),o=H(n);return Object.freeze({schema:"valdres.inspect",schemaVersion:3,recordingId:this.#d,summaries:Object.freeze(e),details:Object.freeze(n),complete:this.#l===0&&this.#a===0&&this.#t===void 0,overflow:Object.freeze({summaries:this.#l,details:this.#a,retained:Object.freeze({...t===void 0?{}:{summaries:t},...o===void 0?{}:{details:o}})}),...this.#t===void 0?{}:{fault:this.#t}})}reset(){this.#N("reset"),this.#D()}createInspector(){let e=this;return Object.freeze({get recordingId(){return e.recordingId},capture:(n,t)=>e.capture(n,t),span:(n,t)=>e.span(n,t),export:()=>e.export(),reset:()=>e.reset()})}#D(){this.#d=`inspection-${ce++}`,this.#o=new N(this.#r),this.#e=new N(this.#u),this.#s=1,this.#g=1,this.#S=1,this.#v=1,this.#k=1,this.#R=1,this.#E=1,this.#P=1,this.#T=1,this.#n=[],this.#m=new WeakMap,this.#f=new WeakMap,this.#l=0,this.#a=0,this.#t=void 0,this.#y=this.#p()}#V(e){if(e==="span")return this.#g++;if(e==="operation")return this.#S++;if(e==="commit")return this.#v++;if(e==="selector-evaluation")return this.#k++;if(e==="cycle-search")return this.#R++;return this.#P++}#b(){let e={};for(let n of this.#n){let{id:t,type:o}=n.token;if(n.links.sessionId!==void 0)e.sessionId=n.links.sessionId;if(o==="span")e.spanId=t;else if(o==="operation")e.operationId=t;else if(o==="commit")e.commitId=t;else if(o==="selector-evaluation")e.evaluationId=t;else if(o==="cycle-search")e.searchId=t}return e}#i(e){for(let n=this.#n.length-1;n>=0;n--){let t=this.#n[n];if(t.token.type===e)return t}return}#h(e){return typeof e==="object"&&e!==null||typeof e==="function"?this.reference(e,"state"):O(e,{remaining:1},new Set,0)}#z(e,n,t,o,r){let i={...o,type:e.token.type,seqStart:e.seqStart,seqEnd:n,startUs:e.startUs,durationUs:t,...e.links};if(e.token.type==="span")return Object.freeze({...i,type:"span",spanId:e.token.id,...e.links.spanId===void 0?{}:{parentSpanId:e.links.spanId},name:e.name??"",result:r??"returned",totals:M(e.totals)});if(e.token.type==="operation")return Object.freeze({...i,type:"operation",operationId:e.token.id,...e.name===void 0?{}:{name:e.name},...e.commitId===void 0?{}:{commitId:e.commitId},result:r==="threw"||r==="async-rejected"?"threw":"returned",effect:o.effect??(e.commitId===void 0?"none":"committed"),totals:M(e.totals)});if(e.token.type==="commit")return Object.freeze({...i,type:"commit",commitId:e.token.id,operationId:e.links.operationId??0,intents:o.intents??0,changedSources:o.changedSources??0,ownershipChanged:o.ownershipChanged??!1,sourceApplied:o.sourceApplied??!0,notificationsCompleted:o.notificationsCompleted??!0,totals:M(e.totals)});let s=e.token.type==="selector-evaluation"?{evaluationId:e.token.id}:e.token.type==="cycle-search"?{searchId:e.token.id}:{id:e.token.id};return Object.freeze({...i,...s})}#N(e){if(this.#n.length!==0)throw Error(`Inspection ${e} requires an idle Store`)}#O(){let e=(n)=>this.#x.read(n);return{sourceEpoch:e("sourceEpoch"),transientSelectorHostsCreated:e("scratchHostAllocations"),propagationSettled:e("propagationSettlements"),notificationTargets:e("notificationTargetsReached"),subscriberCallbacks:e("subscriberCallbacksAttempted")}}#j(e){let n=e.counterStart;if(n===void 0)return;e.counterStart=void 0;let t=this.#O();if(e.token.type==="commit")e.commitOwnershipChanged=t.sourceEpoch!==n.sourceEpoch;let o=e.totals;if(o===void 0)return;o.transientSelectorHostsCreated+=t.transientSelectorHostsCreated-n.transientSelectorHostsCreated,o.propagationSettled+=t.propagationSettled-n.propagationSettled,o.notificationTargets+=t.notificationTargets-n.notificationTargets,o.subscriberCallbacks+=t.subscriberCallbacks-n.subscriberCallbacks}#c(e){if(this.#t!==void 0)return;let n=this.#s++;this.#t=Object.freeze({type:"recorder-fault",phase:e,sequence:n}),this.#n=[]}#p(){return globalThis.performance?.now()??Date.now()}#M(e){return Math.max(0,Math.round((e-this.#y)*1000))}#I(){return this.#M(this.#p())}}var L=Object.freeze({id:0,kind:"store"}),F=Object.freeze({id:0,type:"operation"}),fe=(e)=>{let n=(r,i,s,c)=>{if(e.hasActiveStoreOperation())return c();e.recordStoreEvent(0,r,i,i.name,s);try{let d=c();return e.recordStoreEvent(1,0),d}catch(d){throw e.recordStoreEvent(1,1,d instanceof G?1:0),d}},t=(r,i,s)=>{if(r===0){let c=i,d=s;e.registerStore(c,d);let y=c,R=c.set,I=c.update,S=c.reset,w=c.txn;y.set=(m,l)=>n(0,d,void 0,()=>R(m,l)),y.update=(m,l)=>n(1,d,void 0,()=>I(m,l)),y.reset=(m)=>n(2,d,void 0,()=>S(m)),y.txn=(m,l)=>{if(typeof m!=="function"||l!==void 0&&typeof l!=="string")return w(m,l);return n(3,d,l,()=>w(m,l))};return}if(r===1){e.beginDraftCommit(i,s);return}if(r===2)e.recordStoreEvent(3,i)};return Object.assign(t,{evaluate:(r,i,s)=>{let c=i.getSelectorDependencyNodes!==void 0?"committed":e.hasActiveStoreOperation()?"scratch":"hydration",d=i.name,y=e.reference(i,c==="committed"?"scope":"scratch-host",typeof d==="string"?d:void 0),R=i.getSelectorGraphVersion(),I=s.getSelectorGraphPublicationCount(i),S=i.getSelectorRecord(r.node)?.dependencies,w=S?.length??0,m=e.beginInterval({type:"selector-evaluation",links:{sessionId:e.sessionId(s)},fields:{host:c,hostRef:y,selector:e.reference(r.node,"selector",typeof r.name==="string"?r.name:void 0),graphVersionStart:R,previousDependencyCount:w}});e.addWork({selectorEvaluations:1});let l=de((p)=>e.addWork({cycle:{newEdgeProofMemo:p}})),v=()=>{let p=l.finish();if(p===void 0)return;return Q(p)},x=(p,b,C,P,T,g,f)=>e.findDependencyPath(c,y,p,b,C,P,T,g,R,I,S===void 0,f);try{let p=U(r,i,s,x,l.sink),b=S===void 0||S.length!==p.dependencies.length||S.some((h,D)=>!Object.is(h.node,p.dependencies[D]?.node)),C=new Set(S?.map((h)=>h.node)),P=new Set(p.dependencies.map((h)=>h.node)),T=0,g=0;for(let h of P)if(!C.has(h))T++;for(let h of C)if(!P.has(h))g++;e.addWork(b?{proposedTopologyChanges:1}:{proposedTopologyIdentical:1});let f=v();return e.finishInterval(m,{result:"returned",fields:{outcome:p.outcome.kind,dependencyCount:p.dependencies.length,proposedTopologyChanged:b,proposedEdgesAdded:T,proposedEdgesRemoved:g,graphVersionEnd:i.getSelectorGraphVersion(),newEdgeProofMemo:f}}),p}catch(p){let b=v();throw e.finishInterval(m,{result:"threw",fields:{outcome:"threw",graphVersionEnd:i.getSelectorGraphVersion(),newEdgeProofMemo:b}}),p}}}),Object.freeze(t)},ee=(e={})=>{let n=Y(),t=new Z(e,n);return Object.freeze({recorder:t,inspect:t.createInspector(),instrumentation:n,trace:fe(t)})};var Se=(e={})=>{let{inspect:n,instrumentation:t,trace:o}=ee(e),r=ne(t,o);return Object.freeze({store:r,inspect:n})};export{Se as createInspectableStore};
1
+ import{b as Q,c as Z,e as ee,q as ne,s as ae}from"./chunk-fbqtxaaa.js";var ce=2048,de=1e5,q=256,H=1024,W=1e4,le=32,pe=20000,A=new Set(["span","operation","commit"]),ue=new Set(["type","id","sequence","seqStart","seqEnd","startUs","durationUs","spanId","parentSpanId","operationId","commitId","evaluationId","searchId","name","result","totals"]),te=new Set(["value","previousValue","nextValue","resultValue","error","callback","updater"]),me=()=>{},J=Symbol("inspection dependency path root"),_=(e)=>e==="proven-terminal"?"terminal":e==="proven-reverse"?"proven":e==="ineligible-active-frames"?"active-frames":e,fe=1;class O{#o;#e=[];#r=0;constructor(e){this.#o=e}add(e){if(this.#o===0)return!0;if(this.#e.length<this.#o)return this.#e.push(e),!1;return this.#e[this.#r]=e,this.#r=(this.#r+1)%this.#o,!0}snapshot(){if(this.#e.length<this.#o||this.#r===0)return Object.freeze([...this.#e]);return Object.freeze([...this.#e.slice(this.#r),...this.#e.slice(0,this.#r)])}}var L=(e)=>{if(e.length===0)return;let n=Number.POSITIVE_INFINITY,t=0;for(let o of e){let r="sequence"in o?o.sequence:void 0;n=Math.min(n,o.seqStart??r??0),t=Math.max(t,o.seqEnd??r??0)}return Object.freeze({firstSequence:n,lastSequence:t})},U=(e,n,t,o)=>{let r=e??n;if(!Number.isSafeInteger(r)||r<(o?0:1))throw TypeError(`${t} capacity must be ${o?"a non-negative":"a positive"} safe integer`);return r},G=(e)=>e.length<=q?e:e.slice(0,q),E=()=>({searches:0,visits:0,maxVisits:0,found:0}),oe=()=>({admissionSkipped:0,observing:0,consultedNoPrune:0,consultedPruned:0,disabled:0,mapProbes:0,prunedNodes:0,graphVersionResets:0,initialSeeds:0,activationReplacementSeeds:0,secondarySeeds:0,hitDerivedSeeds:0,missBudgetDisables:0,oversizedHitApproachDisables:0,passiveProbeBudgetDisables:0,maxRetainedEntries:0}),re=(e)=>Object.freeze({admissionSkipped:e.admissionSkipped,observing:e.observing,consultedNoPrune:e.consultedNoPrune,consultedPruned:e.consultedPruned,disabled:e.disabled,mapProbes:e.mapProbes,prunedNodes:e.prunedNodes,resets:Object.freeze({graphVersion:e.graphVersionResets}),seeds:Object.freeze({initial:e.initialSeeds,activationReplacement:e.activationReplacementSeeds,secondary:e.secondarySeeds,hitDerived:e.hitDerivedSeeds}),disables:Object.freeze({missBudget:e.missBudgetDisables,oversizedHitApproach:e.oversizedHitApproachDisables,passiveProbeBudget:e.passiveProbeBudgetDisables}),retained:Object.freeze({maxEntries:e.maxRetainedEntries})}),be=(e)=>{let n=oe(),t=!1;return Object.freeze({sink:Object.freeze({admissionSkipped(){t=!0,n.admissionSkipped++,e({admissionSkipped:1})},disabled(){t=!0,n.disabled++,e({disabled:1})},graphVersionReset(){t=!0,n.graphVersionResets++,e({graphVersionResets:1})},recordMapProbes(r){if(r===0)return;t=!0,n.mapProbes+=r,e({mapProbes:r})},completeSearch(r,i,s,a=0,d=0,b=0){if(t=!0,r==="observing")n.observing++;else if(r==="consulted-no-prune")n.consultedNoPrune++;else n.consultedPruned++;if(n.mapProbes+=a,n.prunedNodes+=d,n.maxRetainedEntries=Math.max(n.maxRetainedEntries,b),i==="initial")n.initialSeeds++;else if(i==="activation-replacement")n.activationReplacementSeeds++;else if(i==="secondary")n.secondarySeeds++;else if(i==="hit-derived")n.hitDerivedSeeds++;if(s==="miss-budget")n.missBudgetDisables++;else if(s==="over-cap-hit")n.oversizedHitApproachDisables++;else if(s==="passive-probe-budget")n.passiveProbeBudgetDisables++;e({...r==="observing"?{observing:1}:r==="consulted-no-prune"?{consultedNoPrune:1}:{consultedPruned:1},mapProbes:a,prunedNodes:d,maxRetainedEntries:b,...i==="initial"?{initialSeeds:1}:i==="activation-replacement"?{activationReplacementSeeds:1}:i==="secondary"?{secondarySeeds:1}:i==="hit-derived"?{hitDerivedSeeds:1}:{},...s==="miss-budget"?{missBudgetDisables:1}:s==="over-cap-hit"?{oversizedHitApproachDisables:1}:s==="passive-probe-budget"?{passiveProbeBudgetDisables:1}:{}})}}),finish:()=>t?n:void 0})},ye=()=>({selectorEvaluations:0,proposedTopologyChanges:0,proposedTopologyIdentical:0,transientSelectorHostsCreated:0,propagationSettled:0,notificationTargets:0,subscriberCallbacks:0,cycle:{searches:0,visits:0,maxVisits:0,found:0,prefixRevalidation:0,newEdgeProof:0,topologyDeltaProof:0,committed:0,scratch:0,hydration:0,newEdgeProofMemo:oe(),reverseProof:{terminal:0,proven:0,pathPossible:0,budgetExhausted:0,disabled:0,activeFrames:0,unsupported:0,nodeVisits:0,dependentProbes:0,liveDependents:0,maxWork:0,maxFrontier:0},lanes:{committed:{prefixRevalidation:E(),newEdgeProof:E(),topologyDeltaProof:E()},scratch:{prefixRevalidation:E(),newEdgeProof:E(),topologyDeltaProof:E()},hydration:{prefixRevalidation:E(),newEdgeProof:E(),topologyDeltaProof:E()}}}}),B=(e)=>Object.freeze({selectorEvaluations:e.selectorEvaluations,proposedTopologyChanges:e.proposedTopologyChanges,proposedTopologyIdentical:e.proposedTopologyIdentical,transientSelectorHostsCreated:e.transientSelectorHostsCreated,propagationSettled:e.propagationSettled,notificationTargets:e.notificationTargets,subscriberCallbacks:e.subscriberCallbacks,cycle:Object.freeze({searches:e.cycle.searches,visits:e.cycle.visits,maxVisits:e.cycle.maxVisits,found:e.cycle.found,bySite:Object.freeze({prefixRevalidation:e.cycle.prefixRevalidation,newEdgeProof:e.cycle.newEdgeProof,topologyDeltaProof:e.cycle.topologyDeltaProof}),byHost:Object.freeze({committed:e.cycle.committed,scratch:e.cycle.scratch,hydration:e.cycle.hydration}),newEdgeProofMemo:re(e.cycle.newEdgeProofMemo),reverseProof:Object.freeze({...e.cycle.reverseProof}),byLane:Object.freeze({committed:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.committed.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.committed.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.committed.topologyDeltaProof})}),scratch:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.scratch.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.scratch.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.scratch.topologyDeltaProof})}),hydration:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.hydration.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.hydration.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.hydration.topologyDeltaProof})})})})}),z=(e,n,t,o)=>{if(n.remaining--<=0||o>le)return null;if(e===null)return null;if(typeof e==="string")return e.length<=H?e:e.slice(0,H);if(typeof e==="boolean")return e;if(typeof e==="number")return Number.isFinite(e)?e:null;if(typeof e!=="object")return null;if(t.has(e))return null;t.add(e);try{if(Array.isArray(e)){let s=[],a=Math.min(e.length,W);for(let d=0;d<a;d++)s.push(z(e[d],n,t,o+1));return Object.freeze(s)}let r={},i=Object.keys(e).slice(0,W);for(let s of i){if(te.has(s))continue;let a=Reflect.get(e,s);if(a===void 0)continue;r[s]=z(a,n,t,o+1)}return Object.freeze(r)}finally{t.delete(e)}},F=(e)=>{if(e===void 0)return he;let n={},t={remaining:pe};for(let o of Object.keys(e).slice(0,W)){if(ue.has(o)||te.has(o))continue;let r=e[o];if(r===void 0)continue;n[o]=z(r,t,new Set,0)}return Object.freeze(n)},he=Object.freeze({}),Ie=(e,n)=>{if(n===void 0)return e;return Object.freeze({...e,...F(n)})},c=(e,n)=>n===void 0||!Number.isFinite(n)||n<=0?e:e+n,ge=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return Y;try{let n=e.then;return typeof n==="function"?{kind:"thenable",target:e,then:n}:Y}catch(n){return{kind:"inspection-error",error:n}}},Y=Object.freeze({kind:"not-thenable"});class se{#o;#e;#r;#u;#d="";#i=1;#g=1;#S=1;#v=1;#P=1;#R=1;#E=1;#k=1;#T=1;#n=[];#m=new WeakMap;#x=new WeakMap;#w=new WeakMap;#f=new WeakMap;#l=0;#a=0;#t;#b;#C;constructor(e,n){this.#C=n,this.#r=U(e.capacity?.summaries,ce,"Inspection summary",!1),this.#u=U(e.capacity?.details,de,"Inspection detail",!0),this.#o=new O(this.#r),this.#e=new O(this.#u),this.#b=this.#p(),this.#D()}get recordingId(){return this.#d}registerStore(e,n){this.#w.set(e,n)}capture(e,n){let t=typeof e==="object"&&e!==null||typeof e==="function"?e:void 0,o=t===void 0?void 0:this.#w.get(t);if(o===void 0)throw TypeError("Inspection capture requires a Store owned by this inspector");let r;if(n!==void 0){let s=typeof n==="object"&&n!==null||typeof n==="function"?n:void 0,a=o.coordinator.runtimeDomain;if(s===void 0||!a.states.has(s))throw TypeError("Inspection capture requires a valid State");let d=a.atoms.get(s),b=a.selectors.get(s);if(d===void 0&&b===void 0)throw TypeError("Inspection capture requires a valid State");let R=d?.name??b?.name;r=this.reference(s,d===void 0?"selector":"atom",typeof R==="string"?R:void 0)}let i=this.#p();return Object.freeze({recordingId:this.#d,timeUs:this.#M(i),monotonicTimeMs:i,store:this.reference(o,"scope",o.name),...r===void 0?{}:{state:r},...this.#y()})}reference(e,n,t){if(this.#t!==void 0)return K;try{let o=this.#m.get(e);if(o===void 0)o=this.#T++,this.#m.set(e,o);let r=this.#x.get(e);if(r===void 0&&t!==void 0)r=G(t),this.#x.set(e,r);return Object.freeze({id:o,kind:n,...r===void 0?{}:{name:r}})}catch{return this.#c("reference"),K}}sessionId(e){let n=this.#f.get(e);if(n!==void 0)return n;let t=this.#E++;return this.#f.set(e,t),t}beginInterval(e){if(this.#t!==void 0)return X;try{let n=this.#V(e.type),t=Object.freeze({id:n,type:e.type}),o=Object.freeze({...this.#y(),...e.links}),r={token:t,parentId:this.#n[this.#n.length-1]?.token.id,links:o,name:e.name===void 0?void 0:G(e.name),seqStart:this.#i++,startUs:this.#I(),fields:F(e.fields),totals:A.has(e.type)?ye():void 0,commitId:void 0,commitSourceApplied:!1,commitChangedSources:void 0,commitOwnershipChanged:void 0,commitFailurePhase:void 0,operationIntents:0,counterStart:A.has(e.type)?this.#O():void 0};if(e.type==="commit"){let i=this.#s("operation");if(i!==void 0)i.commitId=n}return this.#n.push(r),t}catch{return this.#c("begin-interval"),X}}finishInterval(e,n={}){if(e.id===0||this.#t!==void 0)return;try{let t=this.#n.pop();if(t===void 0||!Object.is(t.token,e))throw Error("Inspection intervals must finish in LIFO order");this.#j(t);let o=this.#i++,r=Math.max(0,this.#I()-t.startUs),i=Ie(t.fields,n.fields),s=this.#z(t,o,r,i,n.result);if(A.has(t.token.type)){if(this.#o.add(s))this.#l++}else if(this.#e.add(s))this.#a++}catch{this.#c("finish-interval")}}record(e){if(this.#t!==void 0)return;try{let n=this.#i++,t=Object.freeze({...F(e.fields),type:e.type,sequence:n,timeUs:this.#I(),...this.#y(),...e.links});if(this.#e.add(t))this.#a++}catch{this.#c("record-detail")}}addWork(e){if(this.#t!==void 0)return;try{for(let n of this.#n){let t=n.totals;if(t===void 0)continue;t.selectorEvaluations=c(t.selectorEvaluations,e.selectorEvaluations),t.proposedTopologyChanges=c(t.proposedTopologyChanges,e.proposedTopologyChanges),t.proposedTopologyIdentical=c(t.proposedTopologyIdentical,e.proposedTopologyIdentical),t.transientSelectorHostsCreated=c(t.transientSelectorHostsCreated,e.transientSelectorHostsCreated),t.propagationSettled=c(t.propagationSettled,e.propagationSettled),t.notificationTargets=c(t.notificationTargets,e.notificationTargets),t.subscriberCallbacks=c(t.subscriberCallbacks,e.subscriberCallbacks);let o=e.cycle;if(o===void 0)continue;t.cycle.searches=c(t.cycle.searches,o.searches),t.cycle.visits=c(t.cycle.visits,o.visits),t.cycle.maxVisits=Math.max(t.cycle.maxVisits,o.maxVisits??0),t.cycle.found=c(t.cycle.found,o.found);let r=o.newEdgeProofMemo;if(r!==void 0){let s=t.cycle.newEdgeProofMemo;s.admissionSkipped=c(s.admissionSkipped,r.admissionSkipped),s.observing=c(s.observing,r.observing),s.consultedNoPrune=c(s.consultedNoPrune,r.consultedNoPrune),s.consultedPruned=c(s.consultedPruned,r.consultedPruned),s.disabled=c(s.disabled,r.disabled),s.mapProbes=c(s.mapProbes,r.mapProbes),s.prunedNodes=c(s.prunedNodes,r.prunedNodes),s.graphVersionResets=c(s.graphVersionResets,r.graphVersionResets),s.initialSeeds=c(s.initialSeeds,r.initialSeeds),s.activationReplacementSeeds=c(s.activationReplacementSeeds,r.activationReplacementSeeds),s.secondarySeeds=c(s.secondarySeeds,r.secondarySeeds),s.hitDerivedSeeds=c(s.hitDerivedSeeds,r.hitDerivedSeeds),s.missBudgetDisables=c(s.missBudgetDisables,r.missBudgetDisables),s.oversizedHitApproachDisables=c(s.oversizedHitApproachDisables,r.oversizedHitApproachDisables),s.passiveProbeBudgetDisables=c(s.passiveProbeBudgetDisables,r.passiveProbeBudgetDisables),s.maxRetainedEntries=Math.max(s.maxRetainedEntries,r.maxRetainedEntries??0)}let i=o.reverseProof;if(i!==void 0){let s=t.cycle.reverseProof;if(i.outcome==="terminal")s.terminal++;else if(i.outcome==="proven")s.proven++;else if(i.outcome==="path-possible")s.pathPossible++;else if(i.outcome==="budget-exhausted")s.budgetExhausted++;else if(i.outcome==="disabled")s.disabled++;else if(i.outcome==="active-frames")s.activeFrames++;else s.unsupported++;s.nodeVisits=c(s.nodeVisits,i.nodeVisits),s.dependentProbes=c(s.dependentProbes,i.dependentProbes),s.liveDependents=c(s.liveDependents,i.liveDependents),s.maxWork=Math.max(s.maxWork,i.nodeVisits+i.dependentProbes),s.maxFrontier=Math.max(s.maxFrontier,i.maxFrontier)}if(o.site==="prefix-revalidation")t.cycle.prefixRevalidation+=o.searches??1;else if(o.site==="new-edge-proof")t.cycle.newEdgeProof+=o.searches??1;else if(o.site==="topology-delta-proof")t.cycle.topologyDeltaProof+=o.searches??1;if(o.host!==void 0)t.cycle[o.host]+=o.searches??1;if(o.host!==void 0&&o.site!==void 0){let s=o.site==="prefix-revalidation"?"prefixRevalidation":o.site==="new-edge-proof"?"newEdgeProof":"topologyDeltaProof",a=t.cycle.lanes[o.host][s];a.searches=c(a.searches,o.searches),a.visits=c(a.visits,o.visits),a.maxVisits=Math.max(a.maxVisits,o.maxVisits??0),a.found=c(a.found,o.found)}}}catch{this.#c("add-work")}}beginStoreOperation(e){return this.beginInterval({type:"operation",...e.name===void 0?{}:{name:e.name},fields:{operation:e.operation,scope:this.reference(e.scope,"scope",e.scopeName)}})}finishStoreOperation(e,n){let t=this.#s("operation"),o=t===void 0||!Object.is(t.token,e)||t.commitId===void 0||!t.commitSourceApplied?"none":n==="returned"?"committed":t.commitFailurePhase==="notify"?"committed-with-notification-error":"committed-with-propagation-error";this.finishInterval(e,{result:n,fields:{effect:o}})}beginStoreCommit(e){return this.beginInterval({type:"commit",links:{operationId:e.id}})}finishStoreCommit(e,n){let t=this.#s("operation");if(t!==void 0)t.commitSourceApplied||=n.sourceApplied,t.commitFailurePhase=n.failurePhase;this.finishInterval(e,{result:n.result,fields:{intents:n.intents,...n.changedSources===void 0?{}:{changedSources:n.changedSources},...n.ownershipChanged===void 0?{}:{ownershipChanged:n.ownershipChanged},sourceApplied:n.sourceApplied,notificationsCompleted:n.notificationsCompleted}})}recordStoreIntent(e){this.record({type:"intent",fields:{intent:e.intent,scope:this.reference(e.scope,"scope",e.scopeName),atom:this.reference(e.atom,"atom",e.atomName)}})}recordStoreEvent(...e){let n=e[0];if(n===0){let o=["set","update","reset","transaction"][e[1]];this.beginStoreOperation({operation:o,scope:e[2],...e[3]===void 0?{}:{scopeName:e[3]},...e[4]===void 0?{}:{name:e[4]}});return}if(n===1){let o=e[1]===0?"returned":"threw",r=this.#s("operation");if(r===void 0)return;let i=this.#s("commit");if(i!==void 0)this.#j(i),this.finishStoreCommit(i.token,{result:o,intents:r.operationIntents,...i.commitChangedSources===void 0?{}:{changedSources:i.commitChangedSources},...i.commitOwnershipChanged===void 0?{}:{ownershipChanged:i.commitOwnershipChanged},sourceApplied:i.commitSourceApplied,notificationsCompleted:o==="returned",...e[2]===void 0?{}:{failurePhase:e[2]===1?"notify":"propagate"}});this.finishStoreOperation(r.token,o);return}if(n===2){let o=this.#s("operation");if(o!==void 0)this.beginStoreCommit(o.token);return}if(n===3){let o=this.#s("commit");if(o!==void 0)o.commitSourceApplied=!0,o.commitChangedSources=e[1];return}let t=this.#s("operation");if(t!==void 0)t.operationIntents++;this.recordStoreIntent({intent:e[1]===0?"set":"reset",scope:e[2],...e[3]===void 0?{}:{scopeName:e[3]},atom:e[4],...e[5]===void 0?{}:{atomName:e[5]}})}hasActiveStoreOperation(){return this.#s("operation")!==void 0}beginDraftCommit(e,n){this.recordStoreEvent(2),e.forEachIntent((t,o)=>{let r=n.get(o.atom)?.name;this.recordStoreEvent(5,o.kind==="set"?0:2,t,t.name,o.atom,typeof r==="string"?r:void 0)})}findDependencyPath(e,n,t,o,r,i,s,a,d,b,R,k){let S=s===0?"prefix-revalidation":s===1?"new-edge-proof":"topology-delta-proof",D=this.beginInterval({type:"cycle-search",fields:{site:S,host:e,hostRef:n,start:this.#h(t),target:this.#h(o),graphVersion:r.getSelectorGraphVersion(),attributedSessionPublications:i.getSelectorGraphPublicationCount(r),evaluationGraphVersionDelta:r.getSelectorGraphVersion()-d,evaluationAttributedPublicationDelta:i.getSelectorGraphPublicationCount(r)-b,acceptedPrefixLength:a,parentWasCold:R}}),m={nodeVisits:0,dependentProbes:0,liveDependents:0,maxFrontier:0},l=s===1?Q(t,o,r,i,m,k?.reverseProofEnabled??!0):void 0;if(l==="budget-exhausted"&&k!==void 0)k.reverseProofEnabled=!1;let j=l==="proven-terminal"||l==="proven-reverse",N=0,p=0,y=0,C=0,T=0,x=0,g;if(!j){let h=k?.(),f=h?.beginSearch()??!1,I=[t],w=new Map([[t,J]]);y=1;while(I.length>0){let v=I.pop();if(N++,Object.is(v,o)){let u=[],P=v;while(P!==J)u.push(P),P=w.get(P);u.reverse(),g=Object.freeze(u);break}let M=i.getTransientDependencies(r,v);if(M){if(C++,M.length===0)continue;if(f){let u=h.hasProvenNoPathMeasured(v);if(!h.enabled)f=!1;if(u)continue}p+=M.length;for(let u of M){if(w.has(u.node))continue;w.set(u.node,v),I.push(u.node)}if(I.length>y)y=I.length;continue}if(r.getSelectorDependencyNodes!==void 0){let u=r.getSelectorDependencyNodes(v);if(u===void 0){x++;continue}if(T++,u.length===0)continue;if(f){let P=h.hasProvenNoPathMeasured(v);if(!h.enabled)f=!1;if(P)continue}p+=u.length;for(let P of u){if(w.has(P))continue;w.set(P,v),I.push(P)}if(I.length>y)y=I.length;continue}let V=r.getSelectorRecord(v);if(!V){x++;continue}if(T++,V.dependencies.length===0)continue;if(f){let u=h.hasProvenNoPathMeasured(v);if(!h.enabled)f=!1;if(u)continue}p+=V.dependencies.length;for(let u of V.dependencies){if(w.has(u.node))continue;w.set(u.node,v),I.push(u.node)}if(I.length>y)y=I.length}if(g===void 0)h?.completeNegative(w);else h?.completePositive()}return this.addWork({cycle:{searches:1,visits:N,maxVisits:N,found:g===void 0?0:1,site:S,host:e,...l===void 0?{}:{reverseProof:{outcome:_(l),...m}}}}),this.finishInterval(D,{result:"returned",fields:{visits:N,edges:p,maxFrontier:y,transientExpansions:C,recordExpansions:T,terminalPrunes:x,...l===void 0?{}:{reverseProof:{outcome:_(l),...m}},found:g!==void 0,...g===void 0?{}:{path:g.map((h)=>this.#h(h))}}}),g}span(e,n){if(typeof e!=="string")throw TypeError("Inspection span name must be a string");if(typeof n!=="function")throw TypeError("Inspection span callback must be a function");let t=this.beginInterval({type:"span",name:e}),o;try{o=n()}catch(i){throw this.finishInterval(t,{result:"threw"}),i}let r=ge(o);if(r.kind==="inspection-error")throw this.finishInterval(t,{result:"threw"}),r.error;if(r.kind==="thenable"){try{Reflect.apply(r.then,r.target,[void 0,me])}catch{}throw this.finishInterval(t,{result:"async-rejected"}),TypeError("Inspection spans must be synchronous")}return this.finishInterval(t,{result:"returned"}),o}export(){this.#N("export");let e=[...this.#o.snapshot()].sort((r,i)=>r.seqStart-i.seqStart),n=[...this.#e.snapshot()].sort((r,i)=>(r.seqStart??r.sequence??0)-(i.seqStart??i.sequence??0)),t=L(e),o=L(n);return Object.freeze({schema:"valdres.inspect",schemaVersion:4,recordingId:this.#d,summaries:Object.freeze(e),details:Object.freeze(n),complete:this.#l===0&&this.#a===0&&this.#t===void 0,overflow:Object.freeze({summaries:this.#l,details:this.#a,retained:Object.freeze({...t===void 0?{}:{summaries:t},...o===void 0?{}:{details:o}})}),...this.#t===void 0?{}:{fault:this.#t}})}reset(){this.#N("reset"),this.#D()}createInspector(){let e=this;return Object.freeze({get recordingId(){return e.recordingId},capture:(n,t)=>e.capture(n,t),span:(n,t)=>e.span(n,t),export:()=>e.export(),reset:()=>e.reset()})}#D(){this.#d=`inspection-${fe++}`,this.#o=new O(this.#r),this.#e=new O(this.#u),this.#i=1,this.#g=1,this.#S=1,this.#v=1,this.#P=1,this.#R=1,this.#E=1,this.#k=1,this.#T=1,this.#n=[],this.#m=new WeakMap,this.#f=new WeakMap,this.#l=0,this.#a=0,this.#t=void 0,this.#b=this.#p()}#V(e){if(e==="span")return this.#g++;if(e==="operation")return this.#S++;if(e==="commit")return this.#v++;if(e==="selector-evaluation")return this.#P++;if(e==="cycle-search")return this.#R++;return this.#k++}#y(){let e={};for(let n of this.#n){let{id:t,type:o}=n.token;if(n.links.sessionId!==void 0)e.sessionId=n.links.sessionId;if(o==="span")e.spanId=t;else if(o==="operation")e.operationId=t;else if(o==="commit")e.commitId=t;else if(o==="selector-evaluation")e.evaluationId=t;else if(o==="cycle-search")e.searchId=t}return e}#s(e){for(let n=this.#n.length-1;n>=0;n--){let t=this.#n[n];if(t.token.type===e)return t}return}#h(e){return typeof e==="object"&&e!==null||typeof e==="function"?this.reference(e,"state"):z(e,{remaining:1},new Set,0)}#z(e,n,t,o,r){let i={...o,type:e.token.type,seqStart:e.seqStart,seqEnd:n,startUs:e.startUs,durationUs:t,...e.links};if(e.token.type==="span")return Object.freeze({...i,type:"span",spanId:e.token.id,...e.links.spanId===void 0?{}:{parentSpanId:e.links.spanId},name:e.name??"",result:r??"returned",totals:B(e.totals)});if(e.token.type==="operation")return Object.freeze({...i,type:"operation",operationId:e.token.id,...e.name===void 0?{}:{name:e.name},...e.commitId===void 0?{}:{commitId:e.commitId},result:r==="threw"||r==="async-rejected"?"threw":"returned",effect:o.effect??(e.commitId===void 0?"none":"committed"),totals:B(e.totals)});if(e.token.type==="commit")return Object.freeze({...i,type:"commit",commitId:e.token.id,operationId:e.links.operationId??0,intents:o.intents??0,changedSources:o.changedSources??0,ownershipChanged:o.ownershipChanged??!1,sourceApplied:o.sourceApplied??!0,notificationsCompleted:o.notificationsCompleted??!0,totals:B(e.totals)});let s=e.token.type==="selector-evaluation"?{evaluationId:e.token.id}:e.token.type==="cycle-search"?{searchId:e.token.id}:{id:e.token.id};return Object.freeze({...i,...s})}#N(e){if(this.#n.length!==0)throw Error(`Inspection ${e} requires an idle Store`)}#O(){let e=(n)=>this.#C.read(n);return{sourceEpoch:e("sourceEpoch"),transientSelectorHostsCreated:e("scratchHostAllocations"),propagationSettled:e("propagationSettlements"),notificationTargets:e("notificationTargetsReached"),subscriberCallbacks:e("subscriberCallbacksAttempted")}}#j(e){let n=e.counterStart;if(n===void 0)return;e.counterStart=void 0;let t=this.#O();if(e.token.type==="commit")e.commitOwnershipChanged=t.sourceEpoch!==n.sourceEpoch;let o=e.totals;if(o===void 0)return;o.transientSelectorHostsCreated+=t.transientSelectorHostsCreated-n.transientSelectorHostsCreated,o.propagationSettled+=t.propagationSettled-n.propagationSettled,o.notificationTargets+=t.notificationTargets-n.notificationTargets,o.subscriberCallbacks+=t.subscriberCallbacks-n.subscriberCallbacks}#c(e){if(this.#t!==void 0)return;let n=this.#i++;this.#t=Object.freeze({type:"recorder-fault",phase:e,sequence:n}),this.#n=[]}#p(){return globalThis.performance?.now()??Date.now()}#M(e){return Math.max(0,Math.round((e-this.#b)*1000))}#I(){return this.#M(this.#p())}}var K=Object.freeze({id:0,kind:"store"}),X=Object.freeze({id:0,type:"operation"}),Se=(e)=>{let n=(r,i,s,a)=>{if(e.hasActiveStoreOperation())return a();e.recordStoreEvent(0,r,i,i.name,s);try{let d=a();return e.recordStoreEvent(1,0),d}catch(d){throw e.recordStoreEvent(1,1,d instanceof ee?1:0),d}},t=(r,i,s)=>{if(r===0){let a=i,d=s;e.registerStore(a,d);let b=a,R=a.set,k=a.update,S=a.reset,D=a.txn;b.set=(m,l)=>n(0,d,void 0,()=>R(m,l)),b.update=(m,l)=>n(1,d,void 0,()=>k(m,l)),b.reset=(m)=>n(2,d,void 0,()=>S(m)),b.txn=(m,l)=>{if(typeof m!=="function"||l!==void 0&&typeof l!=="string")return D(m,l);return n(3,d,l,()=>D(m,l))};return}if(r===1){e.beginDraftCommit(i,s);return}if(r===2)e.recordStoreEvent(3,i)};return Object.assign(t,{evaluate:(r,i,s)=>{let a=i.getSelectorDependencyNodes!==void 0?"committed":e.hasActiveStoreOperation()?"scratch":"hydration",d=i.name,b=e.reference(i,a==="committed"?"scope":"scratch-host",typeof d==="string"?d:void 0),R=i.getSelectorGraphVersion(),k=s.getSelectorGraphPublicationCount(i),S=i.getSelectorRecord(r.node)?.dependencies,D=S?.length??0,m=e.beginInterval({type:"selector-evaluation",links:{sessionId:e.sessionId(s)},fields:{host:a,hostRef:b,selector:e.reference(r.node,"selector",typeof r.name==="string"?r.name:void 0),graphVersionStart:R,previousDependencyCount:D}});e.addWork({selectorEvaluations:1});let l=be((p)=>e.addWork({cycle:{newEdgeProofMemo:p}})),j=()=>{let p=l.finish();if(p===void 0)return;return re(p)},N=(p,y,C,T,x,g,h)=>e.findDependencyPath(a,b,p,y,C,T,x,g,R,k,S===void 0,h);try{let p=Z(r,i,s,N,l.sink),y=S===void 0||S.length!==p.dependencies.length||S.some((f,I)=>!Object.is(f.node,p.dependencies[I]?.node)),C=new Set(S?.map((f)=>f.node)),T=new Set(p.dependencies.map((f)=>f.node)),x=0,g=0;for(let f of T)if(!C.has(f))x++;for(let f of C)if(!T.has(f))g++;e.addWork(y?{proposedTopologyChanges:1}:{proposedTopologyIdentical:1});let h=j();return e.finishInterval(m,{result:"returned",fields:{outcome:p.outcome.kind,dependencyCount:p.dependencies.length,proposedTopologyChanged:y,proposedEdgesAdded:x,proposedEdgesRemoved:g,graphVersionEnd:i.getSelectorGraphVersion(),newEdgeProofMemo:h}}),p}catch(p){let y=j();throw e.finishInterval(m,{result:"threw",fields:{outcome:"threw",graphVersionEnd:i.getSelectorGraphVersion(),newEdgeProofMemo:y}}),p}}}),Object.freeze(t)},ie=(e={})=>{let n=ne(),t=new se(e,n);return Object.freeze({recorder:t,inspect:t.createInspector(),instrumentation:n,trace:Se(t)})};var Te=(e={})=>{let{inspect:n,instrumentation:t,trace:o}=ie(e),r=ae(t,o);return Object.freeze({store:r,inspect:n})};export{Te as createInspectableStore};
@@ -1,5 +1,5 @@
1
1
  import type { Store } from "./v1.js";
2
- import type { CommitInspection, CycleSearchInspectionDetail, InspectableStoreOptions, InspectionCycleBucket, InspectionCycleTotals, InspectionCapture, InspectionDetail, InspectionDetailType, InspectionExport, InspectionJsonObject, InspectionJsonPrimitive, InspectionJsonValue, InspectionNewEdgeProofMemoTotals, InspectionOverflow, InspectionRecorderFault, InspectionReference, InspectionReferenceKind, InspectionSummary, InspectionWorkTotals, OperationInspection, IntentInspectionDetail, SelectorEvaluationInspectionDetail, SpanInspection, StateInspectionCapture, StoreInspector } from "./v1-internal/inspection.js";
2
+ import type { CommitInspection, CycleSearchInspectionDetail, InspectableStoreOptions, InspectionCycleBucket, InspectionCycleTotals, InspectionCapture, InspectionDetail, InspectionDetailType, InspectionExport, InspectionJsonObject, InspectionJsonPrimitive, InspectionJsonValue, InspectionNewEdgeProofMemoTotals, InspectionOverflow, InspectionRecorderFault, InspectionReference, InspectionReferenceKind, InspectionReverseProofOutcome, InspectionReverseProofTotals, InspectionSummary, InspectionWorkTotals, OperationInspection, IntentInspectionDetail, SelectorEvaluationInspectionDetail, SpanInspection, StateInspectionCapture, StoreInspector } from "./v1-internal/inspection.js";
3
3
  export interface InspectableStoreResult {
4
4
  readonly store: Store;
5
5
  readonly inspect: StoreInspector;
@@ -9,4 +9,4 @@ export interface InspectableStoreResult {
9
9
  * State values, callbacks, and Store internals never enter the recording.
10
10
  */
11
11
  export declare const createInspectableStore: (options?: InspectableStoreOptions) => InspectableStoreResult;
12
- export type { CommitInspection, CycleSearchInspectionDetail, InspectableStoreOptions, InspectionCycleBucket, InspectionCycleTotals, InspectionCapture, InspectionDetail, InspectionDetailType, InspectionExport, InspectionJsonObject, InspectionJsonPrimitive, InspectionJsonValue, InspectionNewEdgeProofMemoTotals, InspectionOverflow, InspectionRecorderFault, InspectionReference, InspectionReferenceKind, InspectionSummary, InspectionWorkTotals, OperationInspection, IntentInspectionDetail, SelectorEvaluationInspectionDetail, SpanInspection, StateInspectionCapture, StoreInspector, };
12
+ export type { CommitInspection, CycleSearchInspectionDetail, InspectableStoreOptions, InspectionCycleBucket, InspectionCycleTotals, InspectionCapture, InspectionDetail, InspectionDetailType, InspectionExport, InspectionJsonObject, InspectionJsonPrimitive, InspectionJsonValue, InspectionNewEdgeProofMemoTotals, InspectionOverflow, InspectionRecorderFault, InspectionReference, InspectionReferenceKind, InspectionReverseProofOutcome, InspectionReverseProofTotals, InspectionSummary, InspectionWorkTotals, OperationInspection, IntentInspectionDetail, SelectorEvaluationInspectionDetail, SpanInspection, StateInspectionCapture, StoreInspector, };
@@ -1,4 +1,4 @@
1
- import type { SelectorComparisonBaseline, SelectorDefinition, SelectorDependencySnapshot, SelectorEvaluationHost, SelectorEvaluationProposal, SelectorGraphObservation, SelectorRecordView, ServedSelectorOutcome } from "../selector-evaluator/types.js";
1
+ import type { SelectorComparisonBaseline, SelectorDefinition, SelectorDependencySnapshot, SelectorEvaluationHost, SelectorEvaluationProposal, SelectorGraphObservation, SelectorGraphTraversalBudget, SelectorRecordView, ServedSelectorOutcome } from "../selector-evaluator/types.js";
2
2
  import { SelectorEvaluationSession } from "../selector-evaluator/types.js";
3
3
  import { type AnyAtom, type AnyState, type RuntimeDomainRecords } from "./runtime-domain.js";
4
4
  import type { DraftAtomOutcome } from "./tree-transaction.js";
@@ -40,6 +40,11 @@ export declare class WeakHandleSet<Value extends object> {
40
40
  add(value: Value): void;
41
41
  delete(value: Value): void;
42
42
  forEach(visitor: (value: Value) => void): void;
43
+ /**
44
+ * Visit live handles while charging every underlying weak-reference probe.
45
+ * Returns true only when the set was exhausted.
46
+ */
47
+ visitWithin(budget: SelectorGraphTraversalBudget, visitor: (value: Value) => boolean): boolean;
43
48
  isEmpty(): boolean;
44
49
  clear(): void;
45
50
  }
@@ -85,6 +90,7 @@ export declare class StoreScopeNode implements SelectorEvaluationHost<AnyState,
85
90
  serveKnownLocal(node: AnyState, session: SelectorEvaluationSession<AnyState>): ServedSelectorOutcome<OutcomeToken>;
86
91
  getSelectorRecord(node: AnyState): SelectorRecordView<AnyState, OutcomeToken> | undefined;
87
92
  getSelectorDependencyNodes(node: AnyState): readonly AnySelector[] | undefined;
93
+ visitSelectorDependents(node: AnyState, budget: SelectorGraphTraversalBudget, visitor: (dependent: AnyState) => boolean): boolean;
88
94
  getSelectorGraphVersion(): number;
89
95
  beginSelectorGraphObservation(newlyAcceptedDependency: AnyState): SelectorGraphObservation<AnyState> | undefined;
90
96
  getComparisonBaseline(node: AnyState): SelectorComparisonBaseline<OutcomeToken> | undefined;
@@ -1,6 +1,6 @@
1
1
  import { type InternalStoreTreeInstrumentation, type InternalStoreTreeTrace } from "./committed-store-tree/committed-store-tree.js";
2
2
  import type { CommittedStoreTree, State } from "./committed-store-tree/types.js";
3
- import type { SelectorCycleSearchSite, SelectorEvaluationHost, SelectorEvaluationSession, SelectorNewEdgeProofMemo } from "./selector-evaluator/types.js";
3
+ import type { SelectorCycleSearchSite, SelectorEvaluationHost, SelectorEvaluationSession, SelectorNewEdgeProofMemoProvider } from "./selector-evaluator/types.js";
4
4
  type StoreRecorderEvent = readonly [
5
5
  event: 0,
6
6
  operation: 0 | 1 | 2 | 3,
@@ -61,6 +61,24 @@ export type InspectionNewEdgeProofMemoTotals = Readonly<{
61
61
  maxEntries: number;
62
62
  }>;
63
63
  }> & InspectionJsonObject;
64
+ export type InspectionReverseProofOutcome = "terminal" | "proven" | "path-possible" | "budget-exhausted" | "disabled" | "active-frames" | "unsupported";
65
+ /** Bounded reverse-first work and outcomes for logical site-1 proofs. */
66
+ export type InspectionReverseProofTotals = Readonly<{
67
+ /** These seven outcomes partition all new-edge proofs. */
68
+ readonly terminal: number;
69
+ readonly proven: number;
70
+ readonly pathPossible: number;
71
+ readonly budgetExhausted: number;
72
+ readonly disabled: number;
73
+ readonly activeFrames: number;
74
+ readonly unsupported: number;
75
+ /** Reverse-only structural work; ordinary `cycle.visits` stays forward-only. */
76
+ readonly nodeVisits: number;
77
+ readonly dependentProbes: number;
78
+ readonly liveDependents: number;
79
+ readonly maxWork: number;
80
+ readonly maxFrontier: number;
81
+ }> & InspectionJsonObject;
64
82
  export interface InspectionCycleTotals {
65
83
  readonly searches: number;
66
84
  readonly visits: number;
@@ -78,6 +96,8 @@ export interface InspectionCycleTotals {
78
96
  }>;
79
97
  /** Aggregate site-1 proof-sharing decisions; no per-node events. */
80
98
  readonly newEdgeProofMemo: InspectionNewEdgeProofMemoTotals;
99
+ /** Aggregate bounded reverse-first decisions; no per-node events. */
100
+ readonly reverseProof: InspectionReverseProofTotals;
81
101
  readonly byLane: Readonly<{
82
102
  committed: Readonly<{
83
103
  prefixRevalidation: InspectionCycleBucket;
@@ -206,6 +226,13 @@ export interface CycleSearchInspectionDetail extends InspectionDetailLinks {
206
226
  readonly transientExpansions: number;
207
227
  readonly recordExpansions: number;
208
228
  readonly terminalPrunes: number;
229
+ readonly reverseProof?: Readonly<{
230
+ outcome: InspectionReverseProofOutcome;
231
+ nodeVisits: number;
232
+ dependentProbes: number;
233
+ liveDependents: number;
234
+ maxFrontier: number;
235
+ }>;
209
236
  readonly found: boolean;
210
237
  readonly path?: readonly InspectionJsonValue[];
211
238
  }
@@ -232,7 +259,7 @@ export interface InspectionRecorderFault {
232
259
  }
233
260
  export interface InspectionExport {
234
261
  readonly schema: "valdres.inspect";
235
- readonly schemaVersion: 3;
262
+ readonly schemaVersion: 4;
236
263
  readonly recordingId: string;
237
264
  readonly summaries: readonly InspectionSummary[];
238
265
  readonly details: readonly InspectionDetail[];
@@ -320,6 +347,13 @@ type NewEdgeProofMemoWorkDelta = Readonly<{
320
347
  passiveProbeBudgetDisables?: number;
321
348
  maxRetainedEntries?: number;
322
349
  }>;
350
+ type ReverseProofWorkDelta = Readonly<{
351
+ outcome: InspectionReverseProofOutcome;
352
+ nodeVisits: number;
353
+ dependentProbes: number;
354
+ liveDependents: number;
355
+ maxFrontier: number;
356
+ }>;
323
357
  export interface InspectionWorkDelta {
324
358
  readonly selectorEvaluations?: number;
325
359
  readonly proposedTopologyChanges?: number;
@@ -336,12 +370,13 @@ export interface InspectionWorkDelta {
336
370
  site?: "prefix-revalidation" | "new-edge-proof" | "topology-delta-proof";
337
371
  host?: "committed" | "scratch" | "hydration";
338
372
  newEdgeProofMemo?: NewEdgeProofMemoWorkDelta;
373
+ reverseProof?: ReverseProofWorkDelta;
339
374
  }>;
340
375
  }
341
376
  export interface InternalInspectionRecorder {
342
377
  recordStoreEvent(...event: StoreRecorderEvent): void;
343
378
  hasActiveStoreOperation(): boolean;
344
- findDependencyPath<Node, Token extends object>(hostKind: "committed" | "scratch" | "hydration", hostRef: InspectionReference, start: Node, target: Node, host: SelectorEvaluationHost<Node, Token>, session: SelectorEvaluationSession<Node>, site: SelectorCycleSearchSite, acceptedPrefixLength: number, evaluationGraphVersionStart: number, evaluationAttributedPublicationStart: number, parentWasCold: boolean, newEdgeProofMemo?: SelectorNewEdgeProofMemo<Node>): readonly Node[] | undefined;
379
+ findDependencyPath<Node, Token extends object>(hostKind: "committed" | "scratch" | "hydration", hostRef: InspectionReference, start: Node, target: Node, host: SelectorEvaluationHost<Node, Token>, session: SelectorEvaluationSession<Node>, site: SelectorCycleSearchSite, acceptedPrefixLength: number, evaluationGraphVersionStart: number, evaluationAttributedPublicationStart: number, parentWasCold: boolean, getNewEdgeProofMemo?: SelectorNewEdgeProofMemoProvider<Node>): readonly Node[] | undefined;
345
380
  reference(target: object, kind: InspectionReferenceKind, name?: string): InspectionReference;
346
381
  beginInterval(input: InternalInspectionIntervalInput): InternalInspectionIntervalToken;
347
382
  finishInterval(token: InternalInspectionIntervalToken, finish?: InternalInspectionIntervalFinish): void;
@@ -1,4 +1,19 @@
1
1
  import type { SelectorDefinition, SelectorNewEdgeProofDiagnostics, SelectorEvaluationHost, SelectorEvaluationProposal, SelectorEvaluationSession, SelectorCycleSearch } from "./types.js";
2
+ export type SelectorReverseProofOutcome = "unsupported" | "ineligible-active-frames" | "proven-terminal" | "proven-reverse" | "path-possible" | "budget-exhausted" | "disabled";
3
+ export interface SelectorReverseProofMeasurement {
4
+ nodeVisits: number;
5
+ dependentProbes: number;
6
+ liveDependents: number;
7
+ maxFrontier: number;
8
+ }
9
+ /**
10
+ * Try the cheap direction first for a site-1 proof. The persistent host's
11
+ * reverse index describes the effective graph exactly only while `target` is
12
+ * its sole active frame: changing the target's own outgoing prefix cannot add
13
+ * a path into the target. Any possible positive or bounded/ineligible case is
14
+ * deliberately left to the canonical ordered forward DFS.
15
+ */
16
+ export declare const tryProveNoDependencyPathReverse: <Node, Token extends object>(start: Node, target: Node, host: SelectorEvaluationHost<Node, Token>, session: SelectorEvaluationSession<Node>, measurement?: SelectorReverseProofMeasurement, allowTraversal?: boolean) => SelectorReverseProofOutcome;
2
17
  /**
3
18
  * Evaluate exactly one selector body. This function never installs the active
4
19
  * selector record; persistent, scratch, and hydration hosts apply the returned
@@ -53,6 +53,10 @@ export interface SelectorGraphObservation<Node> {
53
53
  takeAddedEdges(): readonly SelectorGraphEdgeAddition<Node>[] | undefined;
54
54
  close(): void;
55
55
  }
56
+ /** @internal Mutable budget shared with one bounded selector-graph traversal. */
57
+ export interface SelectorGraphTraversalBudget {
58
+ remaining: number;
59
+ }
56
60
  export type SelectorProposalOutcome<Value = unknown> = SelectorOutcome<Value>;
57
61
  export interface SelectorEvaluationProposal<Node, Token extends object, Value = unknown> {
58
62
  readonly selector: Node;
@@ -109,6 +113,13 @@ export interface SelectorNewEdgeProofMemo<Node> {
109
113
  /** Completes a physical search that found its target and retained nothing. */
110
114
  completePositive(): void;
111
115
  }
116
+ /** @internal Evaluation-local site-1 acceleration state. */
117
+ export interface SelectorNewEdgeProofMemoProvider<Node> {
118
+ /** Lazily acquired only when a site-1 proof falls back to forward DFS. */
119
+ (): SelectorNewEdgeProofMemo<Node> | undefined;
120
+ /** A bounded reverse traversal disables itself after its first budget miss. */
121
+ reverseProofEnabled: boolean;
122
+ }
112
123
  /**
113
124
  * Optional inspectable-Store strategy. Live nodes are valid only for the
114
125
  * duration of the call; a recorder must translate them immediately.
@@ -116,14 +127,15 @@ export interface SelectorNewEdgeProofMemo<Node> {
116
127
  * Site 0 is the canonical accepted-prefix proof, site 1 is a newly proposed
117
128
  * edge proof, and site 2 is a negative-only replay of an exact committed edge
118
129
  * addition. A positive site-2 result must fall back to site 0 so first-read
119
- * blame and the canonical cycle path remain unchanged. `newEdgeProofMemo` is
120
- * supplied only at site 1. Its evidence remains evaluation-local and may cross
121
- * a graph version only when one exact addition interval preserves a fully
122
- * exhausted, successor-closed negative proof.
130
+ * blame and the canonical cycle path remain unchanged. The memo provider is
131
+ * supplied only at site 1 and is invoked only when a bounded host acceleration
132
+ * cannot prove the negative first. Its evidence remains evaluation-local and
133
+ * may cross a graph version only when one exact addition interval preserves a
134
+ * fully exhausted, successor-closed negative proof.
123
135
  */
124
136
  export type SelectorCycleSearch<Node, Token extends object> = (start: Node, target: Node, host: SelectorEvaluationHost<Node, Token>, session: SelectorEvaluationSession<Node>, site: SelectorCycleSearchSite,
125
137
  /** Length of the active selector prefix whose acyclicity this proves. */
126
- acceptedPrefixLength: number, newEdgeProofMemo?: SelectorNewEdgeProofMemo<Node>) => readonly Node[] | undefined;
138
+ acceptedPrefixLength: number, getNewEdgeProofMemo?: SelectorNewEdgeProofMemoProvider<Node>) => readonly Node[] | undefined;
127
139
  export interface SelectorEvaluationStrategy {
128
140
  <Node, Token extends object, Value>(definition: SelectorDefinition<Node, Value>, host: SelectorEvaluationHost<Node, Token>, session: SelectorEvaluationSession<Node>): SelectorEvaluationProposal<Node, Token, Value>;
129
141
  }
@@ -146,6 +158,15 @@ export interface SelectorEvaluationHost<Node, Token extends object> {
146
158
  * than requesting fallback to `getSelectorRecord`.
147
159
  */
148
160
  getSelectorDependencyNodes?(node: Node): readonly Node[] | undefined;
161
+ /**
162
+ * Optional committed-host reverse adjacency. It must synchronously expose
163
+ * every authoritative committed selector that directly depends on `node`.
164
+ * The host must decrement `budget.remaining` once for every underlying
165
+ * route reference it probes, including dead weak references, and stop when
166
+ * either the budget or the visitor asks it to. Returns true only after
167
+ * exhausting the adjacency.
168
+ */
169
+ visitSelectorDependents?(node: Node, budget: SelectorGraphTraversalBudget, visitor: (dependent: Node) => boolean): boolean;
149
170
  /**
150
171
  * Monotonic version advanced for every selector-graph publication or
151
172
  * interleavable record removal/clear.
@@ -187,6 +208,8 @@ export declare class SelectorEvaluationSession<Node> {
187
208
  leave(host: object, selector: Node): void;
188
209
  /** @internal */
189
210
  isActive(host: object, node: Node): boolean;
211
+ /** @internal True when this selector is the host's only active frame. */
212
+ isSoleActiveSelector(host: object, selector: Node): boolean;
190
213
  /** @internal */
191
214
  activeCyclePath(host: object, node: Node): readonly Node[] | undefined;
192
215
  /** @internal Evaluator-owned active-frame coordination. */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "valdres",
3
3
  "description": "Fast atom-based state management for JavaScript. Inspired by Recoil and Jotai.",
4
- "version": "1.0.0-beta.33",
4
+ "version": "1.0.0-beta.34",
5
5
  "license": "MIT",
6
6
  "author": {
7
7
  "name": "Eigil Sagafos"
@@ -1,2 +0,0 @@
1
- class z extends Error{seal(){Object.freeze(this)}}class ce extends z{code="VALDRES_SELECTOR_GETTER_ERROR";selector;cause;constructor(e,t){super("Selector getter failed");this.name="SelectorGetterError",this.selector=e,this.cause=t,this.seal()}}class Re extends z{code="VALDRES_SELECTOR_DEPENDENCY_ERROR";dependency;cause;constructor(e,t){super("Selector dependency failed");this.name="SelectorDependencyError",this.dependency=e,this.cause=t,this.seal()}}class J extends z{code="VALDRES_SELECTOR_CIRCULAR_DEPENDENCY";selector;path;constructor(e,t){super("Selector dependency graph must be acyclic");this.name="SelectorCircularDependencyError",this.selector=e,this.path=Object.freeze([...t]),this.seal()}}class F extends z{code="VALDRES_INVALID_SYNCHRONOUS_SELECTOR_RESULT";phase;constructor(e){super(`Selector ${e} returned or threw a thenable`);this.name="InvalidSynchronousSelectorResultError",this.phase=e,this.seal()}}class Ce extends z{code="VALDRES_INVALID_SELECTOR_COMPARATOR_RESULT";constructor(){super("Selector comparator must return exactly true or false");this.name="InvalidSelectorComparatorResultError",this.seal()}}class le extends z{code="VALDRES_SELECTOR_COMPARATOR_ERROR";selector;cause;constructor(e,t){super("Selector comparator failed");this.name="SelectorComparatorError",this.selector=e,this.cause=t,this.seal()}}class Ne extends z{code="VALDRES_SELECTOR_READ_REVOKED";constructor(){super("Selector supplied get is no longer active");this.name="SelectorReadRevokedError",this.seal()}}var Ke=Object.freeze({kind:"not-thenable"}),Rt=()=>{},Ct=Reflect.apply,Ye=Symbol.for("valdres.runtime-owner/v1");class k extends Error{seal(){Object.freeze(this)}}class Ee extends k{code="VALDRES_RUNTIME_MISMATCH";constructor(){super("Valdres handles belong to a different runtime domain");this.name="RuntimeMismatchError",this.seal()}}class De extends k{code="VALDRES_SUBSCRIBER_NOTIFICATION";cause;causes;committed=!0;phase="notifying";source="owned-mutation";constructor(e){super("One or more Store subscribers threw during notification");this.name="SubscriberNotificationError",this.causes=Object.freeze([...e]),this.cause=this.causes[0],this.seal()}}class q extends k{code="VALDRES_CALLBACK_CAPABILITY";constructor(){super("This callback cannot use captured Valdres runtime capabilities");this.name="CallbackCapabilityError",this.seal()}}class K extends k{code="VALDRES_SELECTOR_CAPABILITY_ERROR";constructor(e){super(`A selector callback cannot call ${e} directly`);this.name="SelectorCapabilityError",this.seal()}}class Y extends k{code="VALDRES_TRANSACTION_PHASE";constructor(){super("Captured StoreTree work is forbidden during a transaction");this.name="TransactionPhaseError",this.seal()}}class ue extends k{code="VALDRES_TRANSACTION_CLOSED";constructor(){super("The Transaction cursor is no longer active");this.name="TransactionClosedError",this.seal()}}class ee extends k{code="VALDRES_INVALID_TRANSACTION_CALLBACK_RESULT";constructor(){super("Transaction callbacks must return synchronously");this.name="InvalidTransactionCallbackResultError",this.seal()}}class te extends k{code="VALDRES_INVALID_SYNCHRONOUS_ATOM_VALUE";constructor(){super("Atom values and lazy initializers must be synchronous");this.name="InvalidSynchronousAtomValueError",this.seal()}}class ne extends k{code="VALDRES_INVALID_ATOM_COMPARATOR_RESULT";constructor(){super("Atom comparators must return exactly true or false synchronously");this.name="InvalidAtomComparatorResultError",this.seal()}}class Ve extends k{code="VALDRES_STORE_DISPOSED";constructor(){super("This Store has been disposed");this.name="StoreDisposedError",this.seal()}}class Pe extends k{code="VALDRES_SCOPE_NOT_FOUND";constructor(){super("The named child Store does not exist");this.name="ScopeNotFoundError",this.seal()}}class je extends k{code="VALDRES_STORE_TREE_MISMATCH";constructor(){super("The Store belongs to a different StoreTree");this.name="StoreTreeMismatchError",this.seal()}}class fe extends k{code="VALDRES_INVALID_TRANSACTION_TARGET";constructor(){super("Transaction.scope requires a Store or named child");this.name="InvalidTransactionTargetError",this.seal()}}var N=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return Ke;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):Ke}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},E=(e)=>{try{Ct(e.then,e.target,[void 0,Rt])}catch{}},oe=(e)=>{let t=N(e);if(t.kind==="not-thenable")return Object.freeze({kind:"value",value:e});if(t.kind==="inspection-error")return Object.freeze({kind:"error",error:t.error});return E(t),Object.freeze({kind:"error",error:new te})},xe=(e)=>{try{return oe(e())}catch(t){let n=N(t);if(n.kind==="not-thenable")return Object.freeze({kind:"error",error:t});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return E(n),Object.freeze({kind:"error",error:new te})}},re=(e,t,n)=>{let o=e.activity;e.activity=t;try{return n()}finally{e.activity=o}},_=(e,t,n)=>{try{let o=re(e,Object.freeze({kind:"guarded-callback",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},Xe=(e,t,n)=>{try{let o=re(e,Object.freeze({kind:"subscriber",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},ie=(e,t,n)=>re(e,Object.freeze({kind:"selector",session:t}),n),$e=(e,t,n)=>re(e,Object.freeze({kind:"transaction",transaction:t}),n),he=(e,t,n)=>{try{let o=re(e,Object.freeze({kind:"transaction-result",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},D=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="selector")throw new K(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new Y;throw new q},Ie=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="subscriber")return n.session;if(n.kind==="selector")throw new K(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new Y;throw new q},Qe=(e)=>{let t=e.activity;if(t===void 0||t.kind==="subscriber")return;if(t.kind==="selector")throw new K("Store unsubscribe");if(t.kind==="transaction"||t.kind==="transaction-result")throw new Y;throw new q},Se=(e,t,n)=>{if(!n)throw new ue;let o=e.activity;if(o?.kind==="transaction"&&Object.is(o.transaction,t))return;if(o?.kind==="selector")throw new K("Transaction cursor operation");if(o?.kind==="guarded-callback")throw new q;throw new Y},Ze=(e,t)=>{let n=e.activity;return n!==void 0&&"session"in n?n.session:t},U=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";if((typeof t==="object"||typeof t==="function")&&t!==null){let o=Object.getOwnPropertyDescriptor(t,Ye);if(o!==void 0&&"value"in o&&!Object.is(o.value,e.ownerToken)){let r=new Ee;throw Ze(e,n).latchControlFault(r),r}}return"invalid"},j=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";let o=e.activity,r=Ze(e,n);if(o!==void 0&&"session"in o)try{let i=U(e,t,r),s=r.getControlFault();if(s.kind==="fault")throw s.error;return i}catch(i){let s=r.getControlFault();if(s.kind==="fault")throw s.error;throw i}return _(e,r,()=>U(e,t,r))},se=(e,t)=>(Object.defineProperty(e,Ye,{value:t,enumerable:!1,writable:!1,configurable:!1}),e),pe=(e,t)=>Object.freeze(se({kind:e},t));var Je=Object.freeze({kind:"not-thenable"}),Nt=()=>{},Et=Reflect.apply,et=Symbol("selector dependency path root"),ot=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return Je;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):Je}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},rt=(e)=>{try{Et(e.then,e.target,[void 0,Nt])}catch{}},Dt=(e)=>Object.freeze(e),Vt=(e)=>Object.freeze(e),O=(e,t,n,o)=>{let r=Vt(o);return Object.freeze({selector:e,token:t,outcome:Dt(n),dependencies:r,attemptedPrefix:n.kind==="value"?Pt:Object.freeze(r.map((i)=>i.node))})},Pt=Object.freeze([]),me=32,X=8192,jt=2*me;class it{passiveSearches;searches=0;constructor(e,t){if(this.passiveSearches=e,t!==void 0)this.diagnostics=t}get enabled(){return this.disabled!==!0}beginSearch(){if(this.searches++,this.diagnostics!==void 0)this.diagnosticsCompleted=!1,this.mapProbes=0,this.prunedNodes=0;let e=this.enabled&&this.searches>this.passiveSearches&&this.first!==void 0;if(e)this.consultCurrentSearch=!0,this.hits=0;else if(this.consultCurrentSearch===!0)this.consultCurrentSearch=void 0;if(e&&this.passiveOrigin===!0&&this.searches===this.passiveSearches+1&&this.passiveProbeBudget===void 0)this.passiveProbeBudget=Math.min(X,2*this.first.size);return e}hasProvenNoPath(e){if(!this.enabled)return!1;let t=this.first;if(t!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(t.has(e))return this.hits=(this.hits??0)|1,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}let n=this.second;if(n!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(n.has(e))return this.hits=(this.hits??0)|2,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}return!1}hasProvenNoPathMeasured(e){if(!this.enabled)return!1;let t=this.first;if(t!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(this.mapProbes=(this.mapProbes??0)+1,t.has(e))return this.hits=(this.hits??0)|1,this.prunedNodes=(this.prunedNodes??0)+1,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}let n=this.second;if(n!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(this.mapProbes=(this.mapProbes??0)+1,n.has(e))return this.hits=(this.hits??0)|2,this.prunedNodes=(this.prunedNodes??0)+1,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}return!1}completeNegative(e){if(!this.enabled)return;if(this.searches<=this.passiveSearches){let n=e.size>=me&&e.size<=X,o;if(this.searches===1&&n)this.first=e,this.firstIndependentlyClosed=!0,this.passiveOrigin=!0,o="initial";else if(this.searches===this.passiveSearches&&n)o=this.first===void 0?"initial":"activation-replacement",this.first=e,this.firstIndependentlyClosed=!0,this.second=void 0,this.secondIndependentlyClosed=void 0,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0;this.completeDiagnostics(o);return}if((this.hits??0)!==0){if(e.size>X){this.disable("over-cap-hit");return}let n=this.first,o=this.second,r=this.firstIndependentlyClosed===!0,i=this.secondIndependentlyClosed===!0;this.first=void 0,this.second=void 0,this.firstIndependentlyClosed=void 0,this.secondIndependentlyClosed=void 0,this.retain(n,r),this.retain(o,i);let s=this.retain(e,!1);this.locked=!0,this.missWork=0,this.completeDiagnostics(s?"hit-derived":void 0);return}if(e.size===1){this.completeDiagnostics();return}let t=e.size>=me&&e.size<=X;if(this.first===void 0){if(t)this.first=e,this.firstIndependentlyClosed=!0;this.completeDiagnostics(t?"initial":void 0);return}if(this.missWork=(this.missWork??0)+Math.min(e.size,me),this.locked!==!0&&this.second===void 0&&t){this.second=e,this.secondIndependentlyClosed=!0,this.completeDiagnostics("secondary");return}if((this.missWork??0)>=jt){this.disable("miss-budget");return}this.completeDiagnostics()}completePositive(){this.completeDiagnostics()}advanceGraphVersion(e){if(!this.enabled||e===void 0)return this.reset(),!1;let t=this.firstIndependentlyClosed===!0?this.first:void 0,n=this.secondIndependentlyClosed===!0?this.second:void 0,o=t===void 0||n!==void 0&&n.size>t.size?n:t;if(o===void 0)return this.reset(),!1;if(this.passiveProbeBudget===void 0)this.passiveOrigin=!0,this.passiveProbeBudget=Math.min(X,2*o.size);let r=0;for(let i of e){let s=this.hasWithinCrossVersionBudget(o,i.tail);if(s===void 0)return this.diagnostics?.recordMapProbes?.(r),this.reset(),!1;if(r++,!s)continue;let a=this.hasWithinCrossVersionBudget(o,i.head);if(a===void 0)return this.diagnostics?.recordMapProbes?.(r),this.reset(),!1;if(r++,!a)return this.diagnostics?.recordMapProbes?.(r),this.reset(),!1}if(this.diagnostics?.recordMapProbes?.(r),this.passiveProbeBudget===0)return this.reset(),!1;return this.first=o,this.firstIndependentlyClosed=!0,this.second=void 0,this.secondIndependentlyClosed=void 0,this.hits=void 0,this.consultCurrentSearch=void 0,this.diagnosticsCompleted=void 0,this.mapProbes=void 0,this.prunedNodes=void 0,!0}reset(){this.first=void 0,this.second=void 0,this.firstIndependentlyClosed=void 0,this.secondIndependentlyClosed=void 0,this.hits=void 0,this.missWork=void 0,this.locked=void 0,this.disabled=void 0,this.searches=0,this.consultCurrentSearch=void 0,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,this.diagnosticsCompleted=void 0,this.mapProbes=void 0,this.prunedNodes=void 0}retain(e,t=!1){if(e===void 0||e.size>X||e===this.first)return!1;if(this.first===void 0||e.size>this.first.size)return this.second=this.first,this.secondIndependentlyClosed=this.firstIndependentlyClosed,this.first=e,this.firstIndependentlyClosed=t,!0;if(this.second===void 0||e.size>this.second.size)return this.second=e,this.secondIndependentlyClosed=t,!0;return!1}disable(e){this.first=void 0,this.second=void 0,this.firstIndependentlyClosed=void 0,this.secondIndependentlyClosed=void 0,this.missWork=void 0,this.disabled=!0,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,this.completeDiagnostics(void 0,e)}hasWithinCrossVersionBudget(e,t){let n=this.passiveProbeBudget;if(n===void 0||n===0)return;let o=e.has(t);return this.passiveProbeBudget=n-1,o}completeDiagnostics(e,t){let n=this.diagnostics;if(n===void 0||this.diagnosticsCompleted===!0)return;this.diagnosticsCompleted=!0;let o=this.mapProbes??0;n.completeSearch(this.consultCurrentSearch===!0?(this.hits??0)!==0?"consulted-pruned":"consulted-no-prune":"observing",e,t,o,this.prunedNodes??0,(this.first?.size??0)+(this.second?.size??0))}}var xt=(e,t)=>new it(e,t),It=(e,t,n,o,r,i,s)=>{let a=s?.beginSearch()??!1,d=[e],c=new Map([[e,et]]);while(d.length>0){let l=d.pop();if(Object.is(l,t)){let f=[],p=l;while(p!==et)f.push(p),p=c.get(p);return f.reverse(),s?.completePositive(),Object.freeze(f)}let S=o.getTransientDependencies(n,l);if(S){if(S.length===0)continue;if(a){let f=s.hasProvenNoPath(l);if(!s.enabled)a=!1;if(f)continue}for(let f of S){if(c.has(f.node))continue;c.set(f.node,l),d.push(f.node)}continue}if(n.getSelectorDependencyNodes!==void 0){let f=n.getSelectorDependencyNodes(l);if(f===void 0||f.length===0)continue;if(a){let p=s.hasProvenNoPath(l);if(!s.enabled)a=!1;if(p)continue}for(let p of f){if(c.has(p))continue;c.set(p,l),d.push(p)}continue}let b=n.getSelectorRecord(l);if(!b||b.dependencies.length===0)continue;if(a){let f=s.hasProvenNoPath(l);if(!s.enabled)a=!1;if(f)continue}for(let f of b.dependencies){if(c.has(f.node))continue;c.set(f.node,l),d.push(f.node)}}s?.completeNegative(c);return},tt=(e,t)=>{let n=ot(e);if(n.kind==="thenable")return rt(n),new F(t);if(n.kind==="inspection-error")return n.error;return e},nt=(e,t)=>{let n=ot(e);if(n.kind==="thenable")return rt(n),Object.freeze({kind:"error",error:new F(t)});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return Object.freeze({kind:"value",value:e})},st=(e,t,n,o=It,r)=>{let{node:i}=e,s=[],a=t.getSelectorRecord(i),d=a?.dependencies,c=d===void 0?new Set:void 0,l,S=0,b=t.getComparisonBaseline(i),f=!0,p=()=>{let u=c;if(u!==void 0)return u;u=new Set;for(let h of s)u.add(h.node);return c=u,u};n.enter(t,i,s);let x=t.getSelectorGraphVersion(),Ae=n.getSelectorGraphPublicationCount(t),M=x,B=Ae,Le=x,We=Ae,ve,ge=!1,ke=x,ae=0,H,we=(u,h)=>{if(u===ke)return;if(ke=u,H===void 0){ae=0;return}if(H.advanceGraphVersion(h))return;ae=0,r?.graphVersionReset()},wt=(u)=>{if(u!==ke)we(u,void 0);if(ae++,(d?.length??0)===0&&ae<3){r?.admissionSkipped();return}if(H===void 0){let h=d!==void 0&&d.length>0&&d.length<3;H=xt(h?3:0,r)}if(!H.enabled){r?.disabled();return}return H},Tt=(u)=>{if(ge)return;let h=t.beginSelectorGraphObservation?.(u);if(h===void 0)return;ge=!0,ve=h},Te=(u,h,v,A)=>v-u===A-h,Ue=(u=t.getSelectorGraphVersion(),h=n.getSelectorGraphPublicationCount(t),v=Te(M,B,u,h))=>{if(u===M)return;if(!ge&&t.beginSelectorGraphObservation!==void 0){we(u,void 0),M=u,B=h;return}let A=ve?.takeAddedEdges();if(we(u,A),v){M=u,B=h;return}if(A!==void 0){let g=!1;for(let T of A)if(o(T.head,T.tail,t,n,2,s.length)!==void 0){g=!0;break}if(!g){M=u,B=h;return}}for(let g=0;g<s.length;g++){let T=s[g],C=o(T.node,i,t,n,0,s.length);if(!C)continue;if(c!==void 0)for(let V=s.length-1;V>=g;V--)c.delete(s[V].node);if(s.length=g,S++,n.getControlFault().kind==="fault")return;let w=new J(i,[i,...C]);n.latchCycle(t,i,w);return}M=u,B=h},Oe=()=>{let u=t.getSelectorGraphVersion(),h=n.getSelectorGraphPublicationCount(t);Le=u,We=h;let v=Te(M,B,u,h);if(!v)n.revalidateAncestorPrefixes(t,i);Ue(u,h,v)};n.setPrefixRevalidator(t,i,Ue);let Ot=(u)=>{if(!f)throw new Ne;let h=n.getControlFault();if(h.kind==="fault")throw h.error;let v=n.getCycle(t,i);if(v!==void 0)throw v;let A=n.activeCyclePath(t,u);if(A){let m=new J(i,A);throw n.latchCycle(t,i,m),m}let g=s.length,T,C=!1;if(c===void 0){let m=d?.[g];if(m!==void 0&&Object.is(m.node,u))T=!1,C=!0;else T=p().has(u)}else T=c.has(u);if(!T&&!C&&d!==void 0&&d.length>0){let m=d[s.length];if(m!==void 0&&Object.is(m.node,u))C=!0;else{if(l===void 0){l=new Set;for(let W of d)l.add(W.node)}C=l.has(u)}}let G=S,w=t.serve(u,n);Oe();let V=n.getCycle(t,i);if(V!==void 0)throw V;let Q=c!==void 0?c.has(u):S===G&&s.length===g?!1:p().has(u),I=Le,L=We,P=Q||C&&I===x,de=d===void 0&&Te(x,Ae,I,L);if(!P&&!de){let m=o(u,i,t,n,1,s.length,wt(I));if(m){let W=n.getControlFault();if(W.kind==="fault")throw W.error;let qe=new J(i,[i,...m]);throw n.latchCycle(t,i,qe),qe}}if(!Q){let m=a?.dependencies[s.length];c?.add(u),s.push(m!==void 0&&Object.is(m.node,u)&&Object.is(m.token,w.token)?m:Object.freeze({node:u,token:w.token})),Tt(u)}if(M=I,B=L,w.outcome.kind==="control-error"){n.latchControlFault(w.outcome.error);let m=n.getControlFault();if(m.kind==="fault")throw m.error;throw w.outcome.error}let Z=n.getControlFault();if(Z.kind==="fault")throw Z.error;if(w.outcome.kind==="error")throw new Re(u,w.outcome.error);return w.outcome.value};try{let u,h,v=!1;try{u=e.get(Ot)}catch(V){v=!0,h=V}finally{f=!1}if(v)h=tt(h,"getter");let A=v?void 0:nt(u,"getter");Oe();let g=n.getControlFault();if(g.kind==="fault")return O(i,t.createOutcomeToken(),{kind:"control-error",error:g.error},s);let T=n.getCycle(t,i);if(T!==void 0)return O(i,t.createOutcomeToken(),{kind:"error",error:T},s);if(v)return O(i,t.createOutcomeToken(),{kind:"error",error:h instanceof F?h:new ce(i,h)},s);if(A===void 0)throw Error("Selector result classification was not completed");let C=n.getControlFault();if(C.kind==="fault")return O(i,t.createOutcomeToken(),{kind:"control-error",error:C.error},s);if(A.kind==="error")return O(i,t.createOutcomeToken(),{kind:"error",error:A.error instanceof F?A.error:new ce(i,A.error)},s);let G=A.value,w;if(b){let V=e.equal??Object.is,Q,I,L=!1;try{Q=V(b.value,G)}catch(W){L=!0,I=tt(W,"comparator")}let P=L?void 0:nt(Q,"comparator");Oe();let de=n.getControlFault();if(de.kind==="fault")return O(i,t.createOutcomeToken(),{kind:"control-error",error:de.error},s);let Z=n.getCycle(t,i);if(Z!==void 0)return O(i,t.createOutcomeToken(),{kind:"error",error:Z},s);if(L)return O(i,t.createOutcomeToken(),{kind:"error",error:I instanceof F?I:new le(i,I)},s);if(P===void 0)throw Error("Selector comparator classification was not completed");let m=n.getControlFault();if(m.kind==="fault")return O(i,t.createOutcomeToken(),{kind:"control-error",error:m.error},s);if(P.kind==="error")return O(i,t.createOutcomeToken(),{kind:"error",error:P.error instanceof F?P.error:new le(i,P.error)},s);if(P.value!==!0&&P.value!==!1)return O(i,t.createOutcomeToken(),{kind:"error",error:new Ce},s);if(P.value===!0)G=b.value,w=b.current?b.token:void 0}return O(i,w??t.createOutcomeToken(),{kind:"value",value:G},s)}finally{try{ve?.close()}finally{n.leave(t,i)}}};class y{#t=[];#n;#o=0;#i;#a=Mt;latchControlFault(e){if(this.#a.kind==="fault")return;this.#a=Object.freeze({kind:"fault",error:e})}getControlFault(){return this.#a}noteSelectorGraphPublication(e){let t=this.#n;if(t===void 0){this.#n=e,this.#o=1;return}if(Object.is(t,e)){this.#o++;return}let n=this.#i??(this.#i=new WeakMap);n.set(e,(n.get(e)??0)+1)}getSelectorGraphPublicationCount(e){return Object.is(this.#n,e)?this.#o:this.#i?.get(e)??0}enter(e,t,n){this.#t.push({host:e,selector:t,dependencyPrefix:n,revalidatePrefix:void 0,cycleError:void 0})}leave(e,t){let n=this.#t.pop();if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame corruption")}isActive(e,t){return this.#t.some((n)=>Object.is(n.host,e)&&Object.is(n.selector,t))}activeCyclePath(e,t){let n=this.#t.findIndex((o)=>Object.is(o.host,e)&&Object.is(o.selector,t));if(n===-1)return;return Object.freeze([...this.#t.slice(n).filter((o)=>Object.is(o.host,e)).map((o)=>o.selector),t])}setPrefixRevalidator(e,t,n){let o=this.#r(e,t);if(o.revalidatePrefix!==void 0)throw Error("Selector prefix revalidator is already installed");o.revalidatePrefix=n}revalidateAncestorPrefixes(e,t){this.#r(e,t);for(let n=0;n<this.#t.length-1;n++){let o=this.#t[n];if(!Object.is(o.host,e))continue;let r=o.revalidatePrefix;if(r===void 0)throw Error("Selector prefix revalidator is not installed");r()}}getTransientDependencies(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o.dependencyPrefix}return}latchCycle(e,t,n){let o=this.#s(e,t);o.cycleError??=n}getCycle(e,t){return this.#r(e,t).cycleError}#r(e,t){let n=this.#t[this.#t.length-1];if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame is not active");return n}#s(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o}throw Error("Selector evaluation frame is not active")}}var Mt=Object.freeze({kind:"none"});var at=Symbol("no-committed-selector-baseline");class ye{#t;#n=new Map;#o=new Map;#i=new Map;#a;#r=1;#s=0;#c;constructor(e,t,n){this.#t=e,this.#a=t,this.#c=n}readSelector(e){let t=new y,n=this.serve(e,t);if(n.outcome.kind!=="value")throw n.outcome.error;return n.outcome.value}advanceGeneration(e){if(e!==this.#a+1)throw Error("Scratch selector generation is not contiguous");this.#a=e,this.#n.clear(),this.#o.clear()}revoke(){this.#n.clear(),this.#o.clear(),this.#i.clear(),this.#t=void 0}serve(e,t){let n=this.#d(),o=n.resolveState(e,t);if(o.kind==="atom"){let a=this.#o.get(e);if(a!==void 0)return a;let d=Object.freeze({token:this.createOutcomeToken(),outcome:n.readDraftAtomOutcome(e,t)});return this.#o.set(e,d),d}let r=this.#n.get(e);if(r!==void 0)return r.served;let i=n.runSelectorActivity(t,()=>this.#c(o.definition,this,t));if(i.outcome.kind==="control-error")throw i.outcome.error;let s=Object.freeze({token:i.token,outcome:i.outcome});return this.#s++,t.noteSelectorGraphPublication(this),this.#n.set(e,Object.freeze({served:s,dependencies:i.dependencies})),s}getSelectorRecord(e){let t=this.#n.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorGraphVersion(){return this.#s}getComparisonBaseline(e){let t=this.#i.get(e);if(t===void 0)t=this.#d().captureCommittedSelectorSuccess(e)??at,this.#i.set(e,t);return t===at?void 0:Object.freeze({current:!1,value:t.value})}createOutcomeToken(){return Object.freeze({id:this.#r++})}#d(){if(this.#t===void 0)throw Error("Scratch selector host is revoked");return this.#t}}var dt=4096,zt=Object.freeze([]);class lt{onDeadReference;onEmptinessProbe;#t=new WeakMap;#n=new Set;constructor(e,t){this.onDeadReference=e;this.onEmptinessProbe=t}add(e){if(this.#t.has(e))return;let t=new WeakRef(e);this.#t.set(e,t),this.#n.add(t)}delete(e){let t=this.#t.get(e);if(t===void 0)return;this.#t.delete(e),this.#n.delete(t)}forEach(e){for(let t of this.#n){let n=t.deref();if(n===void 0){this.#n.delete(t),this.onDeadReference?.();continue}e(n)}}isEmpty(){for(let e of this.#n){if(this.onEmptinessProbe?.(),e.deref()!==void 0)return!1;this.#n.delete(e),this.onDeadReference?.()}return!0}clear(){this.#n.clear(),this.#t=new WeakMap}}class be{coordinator;parent;name;children;namedChildren=new Map;atomOverrides=new WeakMap;#t=new WeakMap;#n;#o=new WeakMap;#i;#a=new WeakMap;#r=new WeakSet;#s=0;#c=0;#d;#l=!1;#h;#u="live";constructor(e,t,n){this.coordinator=e,this.parent=t,this.name=n,this.children=this.#m(),this.#n=this.#m()}get status(){return this.#u}get facade(){if(this.#h===void 0)throw Error("Store scope facade is not installed");return this.#h}installFacade(e){if(this.#h!==void 0)throw Error("Store scope facade is already installed");this.#h=e}markDisposing(){if(this.#u==="live")this.#u="disposing"}markDisposed(){this.#u="disposed"}getAtomView(e){return this.#t.get(e)}getMaterializedServedOutcome(e){let t=this.#t.get(e);if(t!==void 0)return t.served;let n=e,o=this.#o.get(n);return o!==void 0&&!this.#r.has(n)?o.served:void 0}createAtomView(e,t,n){let o=this.#t.get(e);if(o!==void 0)return o;let r={scope:this,atom:e,served:Object.freeze({token:this.createOutcomeToken(),outcome:t}),inheritedFrom:n,inheritingChildren:this.#m()};if(this.#t.set(e,r),this.#n.add(r),n!==void 0)n.inheritingChildren.add(r),this.coordinator.recordCounter("routeAdds");return r}attachAtomView(e,t){if(Object.is(e.inheritedFrom,t))return;this.detachAtomView(e),e.inheritedFrom=t,t.inheritingChildren.add(e),this.coordinator.recordCounter("routeAdds")}detachAtomView(e){if(e.inheritedFrom===void 0)return;e.inheritedFrom.inheritingChildren.delete(e),e.inheritedFrom=void 0,this.coordinator.recordCounter("routeRemoves")}updateAtomView(e,t){e.served=Object.freeze({token:this.createOutcomeToken(),outcome:t}),this.coordinator.reachSubscriptionTarget(this,e.atom)}captureCommittedSelectorSuccess(e){let t=this.#o.get(e)?.lastSuccess;return t===void 0?void 0:Object.freeze({value:t.value})}isSelectorDirty(e){return this.#r.has(e)}getCommittedSelectorDependencies(e){return this.#o.get(e)?.dependencies}markDependents(e){this.#a.get(e)?.forEach((t)=>{if(this.coordinator.enqueueSelector(this,t))this.#r.add(t)})}dropRecords(){this.#n.forEach((e)=>{this.detachAtomView(e),e.inheritingChildren.clear()}),this.#n.clear(),this.atomOverrides=new WeakMap,this.#t=new WeakMap,this.#o=new WeakMap,this.#i=void 0,this.#a=new WeakMap,this.#r=new WeakSet,this.#s++,this.#e()}serve(e,t){let n=this.coordinator.runtimeDomain;if(U(n,e,t)==="invalid")throw TypeError("Selector get requires a valid State");return this.serveKnownLocal(e,t)}serveKnownLocal(e,t){let n=this.coordinator.runtimeDomain;if(n.atoms.has(e)){let a=this.#t.get(e);if(a!==void 0)return a.served;return this.coordinator.serveScopeAtom(this,e,t)}let o=n.selectors.get(e);if(o===void 0)throw TypeError("Unknown committed StoreTree state");let r=e,i=this.#o.get(r);if(i!==void 0&&this.coordinator.postSourceApply)this.coordinator.prepareSelectorRead(this,r,t),i=this.#o.get(r);if(i!==void 0&&!this.#r.has(r))return i.served;let s=ie(n,t,()=>this.coordinator.evaluate(o,this,t));if(s.outcome.kind==="control-error"&&!this.coordinator.postSourceApply)throw s.outcome.error;return this.#b(r,s,t)}getSelectorRecord(e){let t=this.#o.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorDependencyNodes(e){let t=this.#o.get(e);if(t===void 0)return;let n=e,o=this.#i?.get(n);if(o===void 0){let r=[];for(let s of t.dependencies)if(this.coordinator.runtimeDomain.selectors.has(s.node))r.push(s.node);o=Object.freeze(r);let i=this.#i;if(i===void 0)i=new WeakMap,this.#i=i;i.set(n,o)}return o}getSelectorGraphVersion(){return this.#s}beginSelectorGraphObservation(e){if(!this.coordinator.runtimeDomain.selectors.has(e))return;if(this.#c===0)this.#d=[],this.#l=!1;this.#c++;let t=this.#d?.length??0,n=!1;return Object.freeze({takeAddedEdges:()=>{if(n||this.#l)return;let o=this.#d;if(o===void 0)return;if(t===o.length)return zt;let r=Object.freeze(o.slice(t));return t=o.length,r},close:()=>{if(n)return;if(n=!0,this.#c--,this.#c!==0)return;this.#d=void 0,this.#l=!1}})}getComparisonBaseline(e){let t=this.#o.get(e);if(t?.lastSuccess===void 0)return;return t.served.outcome.kind==="value"?Object.freeze({current:!0,value:t.lastSuccess.value,token:t.served.token}):Object.freeze({current:!1,value:t.lastSuccess.value})}createOutcomeToken(){return this.coordinator.createOutcomeToken()}#b(e,t,n){let o=this.#o.get(e),r=Object.freeze({token:t.token,outcome:t.outcome}),i=Object.freeze({served:r,dependencies:t.dependencies,lastSuccess:t.outcome.kind==="value"?Object.freeze({value:t.outcome.value,token:t.token}):o?.lastSuccess}),s=this.#y(e,o?.dependencies??ct,t.dependencies),a=s?this.#S(e,o?.dependencies??ct,t.dependencies):void 0;if(s)this.#i?.delete(e);if(this.#s++,n.noteSelectorGraphPublication(this),this.#o.set(e,i),this.#r.delete(e),a!==void 0)this.#p(a);if(o!==void 0&&!Object.is(o.served.token,t.token))this.coordinator.reachSubscriptionTarget(this,e),this.markDependents(e);if(t.outcome.kind==="control-error")this.coordinator.latchPropagationControlFault(t.outcome.error);return r}#y(e,t,n){if(t.length===n.length){let o=0;while(o<t.length&&Object.is(t[o].node,n[o].node))o++;if(o===t.length)return!1}for(let o of t){let r=this.#a.get(o.node);if(r?.delete(e),r?.isEmpty())this.#a.delete(o.node)}for(let o of n){let r=this.#a.get(o.node);if(r===void 0)r=this.#m(),this.#a.set(o.node,r);r.add(e)}return!0}#S(e,t,n){if(this.#c===0||this.#l)return;let o=this.#d;if(o===void 0){this.#e();return}let r=dt-o.length,i=this.coordinator.runtimeDomain.selectors,s=new Set;for(let d of t)if(i.has(d.node))s.add(d.node);let a=[];for(let d of n)if(i.has(d.node)&&!s.has(d.node)){if(a.push(Object.freeze({tail:e,head:d.node})),a.length>r){this.#e();return}}return a}#p(e){if(e.length===0)return;let t=this.#d;if(t===void 0||t.length+e.length>dt){this.#e();return}t.push(...e)}#e(){if(this.#c===0)return;this.#d=[],this.#l=!0}#m(){return new lt(this.coordinator.instrumented?()=>this.coordinator.recordCounter("deadRouteCompactions"):void 0)}}var ct=Object.freeze([]);class Me{transaction=Object.freeze({});#t;#n;#o;#i;#a;#r;#s;#c;#d;#l;#h;#u;#b;#y;#S;#p;#e;generation=0;active=!0;constructor(e){this.#t=e}get hasIntents(){return this.#o!==void 0||this.#i!==void 0||this.#a!==void 0||this.#r!==void 0}get singleIntentScope(){return this.#n}get singleIntent(){return this.#i===void 0?this.#o:void 0}stage(e,t){let n=this.#r;if(n!==void 0){let i=n.get(e);if(i===void 0)i=this.#f(),n.set(e,i);i.set(t.atom,t),this.#m();return}let o=this.#a;if(o!==void 0){if(Object.is(this.#n,e))o.set(t.atom,t);else{let i=this.#f();i.set(this.#n,o);let s=this.#f();s.set(t.atom,t),i.set(e,s),this.#r=i,this.#a=void 0,this.#n=void 0}this.#m();return}let r=this.#o;if(r===void 0){this.#n=e,this.#o=t,this.#m();return}if(Object.is(this.#n,e)&&Object.is(r.atom,t.atom)){this.#o=t,this.#m();return}if(Object.is(this.#n,e)){let i=this.#i;if(i===void 0){this.#i=t,this.#m();return}if(Object.is(i.atom,t.atom)){this.#i=t,this.#m();return}let s=this.#f();s.set(r.atom,r),s.set(i.atom,i),s.set(t.atom,t),this.#a=s}else{let i=this.#f(),s=this.#f();if(s.set(r.atom,r),this.#i!==void 0)s.set(this.#i.atom,this.#i);i.set(this.#n,s);let a=this.#f();a.set(t.atom,t),i.set(e,a),this.#r=i,this.#n=void 0}this.#o=void 0,this.#i=void 0,this.#m()}forEachIntent(e){let t=this.#o;if(t!==void 0){if(e(this.#n,t),this.#i!==void 0)e(this.#n,this.#i);return}let n=this.#a;if(n!==void 0){let r=this.#n;for(let i of n.values())e(r,i);return}let o=this.#r;if(o===void 0)return;for(let[r,i]of o)for(let s of i.values())e(r,s)}getIntent(e,t){let n=this.#o;if(n!==void 0&&Object.is(this.#n,e)&&Object.is(n.atom,t))return n;let o=this.#i;if(o!==void 0&&Object.is(this.#n,e)&&Object.is(o.atom,t))return o;if(Object.is(this.#n,e))return this.#a?.get(t);return this.#r?.get(e)?.get(t)}getAtomBaseline(e,t){if(this.#d!==void 0&&Object.is(this.#s,e)&&Object.is(this.#c,t))return this.#d;if(this.#h!==void 0&&Object.is(this.#s,e)&&Object.is(this.#l,t))return this.#h;if(Object.is(this.#s,e))return this.#u?.get(t);return this.#b?.get(e)?.get(t)}setAtomBaseline(e,t,n){let o=this.#b;if(o!==void 0){let s=o.get(e);if(s===void 0)s=this.#f(),o.set(e,s);if(!s.has(t))s.set(t,n);return}let r=this.#u;if(r!==void 0){if(Object.is(this.#s,e)){if(!r.has(t))r.set(t,n)}else{let s=this.#f();s.set(this.#s,r);let a=this.#f();a.set(t,n),s.set(e,a),this.#b=s,this.#u=void 0,this.#s=void 0}return}let i=this.#d;if(i===void 0){this.#s=e,this.#c=t,this.#d=n;return}if(Object.is(this.#s,e)&&Object.is(this.#c,t))return;if(Object.is(this.#s,e)){let s=this.#h;if(s===void 0){this.#l=t,this.#h=n;return}if(Object.is(this.#l,t))return;let a=this.#f();a.set(this.#c,i),a.set(this.#l,s),a.set(t,n),this.#u=a}else{let s=this.#f(),a=this.#f();if(a.set(this.#c,i),this.#l!==void 0&&this.#h!==void 0)a.set(this.#l,this.#h);s.set(this.#s,a);let d=this.#f();d.set(t,n),s.set(e,d),this.#b=s,this.#s=void 0}this.#c=void 0,this.#d=void 0,this.#l=void 0,this.#h=void 0}getFallback(e){if(Object.is(this.#y,e))return this.#S;return this.#p?.get(e)}hasFallback(e){return Object.is(this.#y,e)||(this.#p?.has(e)??!1)}setFallback(e,t){let n=this.#p;if(n!==void 0){n.set(e,t);return}if(this.#S===void 0){this.#y=e,this.#S=t;return}if(Object.is(this.#y,e)){this.#S=t;return}let o=this.#f();o.set(this.#y,this.#S),o.set(e,t),this.#p=o,this.#y=void 0,this.#S=void 0}forEachFallback(e){if(this.#y!==void 0&&this.#S!==void 0)e(this.#y,this.#S);if(this.#p!==void 0)for(let[t,n]of this.#p)e(t,n)}#m(){this.generation+=1;let e=this.#e;if(e!==void 0)for(let t of e.values())t.advanceGeneration(this.generation)}getScratchHost(e){return this.#e?.get(e)}installScratchHost(e,t){let n=this.#e,o=n===void 0;if(n===void 0)n=new Map,this.#e=n;return n.set(e,t),o}close(){if(!this.active)return;this.active=!1;let e=this.#e;if(e!==void 0){for(let t of e.values())t.revoke();e.clear()}this.#e=void 0}release(){if(this.#a?.clear(),this.#r!==void 0){for(let e of this.#r.values())e.clear();this.#r.clear()}if(this.#u?.clear(),this.#b!==void 0){for(let e of this.#b.values())e.clear();this.#b.clear()}this.#p?.clear(),this.#n=void 0,this.#o=void 0,this.#i=void 0,this.#a=void 0,this.#r=void 0,this.#s=void 0,this.#c=void 0,this.#d=void 0,this.#l=void 0,this.#h=void 0,this.#u=void 0,this.#b=void 0,this.#y=void 0,this.#S=void 0,this.#p=void 0,this.#e?.clear(),this.#e=void 0}#f(){return this.#t?.(),new Map}}class ut{get;set;update;reset;scope;constructor(e,t,n){this.get=(o)=>e.transactionGet(t,n,o),this.set=(o,r)=>e.transactionSet(t,n,o,r),this.update=(o,r)=>e.transactionUpdate(t,n,o,r),this.reset=(o)=>e.transactionReset(t,n,o),this.scope=(...o)=>e.transactionScope(t,n,o[0],o.length,o[1]),se(this,e.runtimeDomain.ownerToken),e.runtimeDomain.transactionCursors.set(this,t),Object.freeze(this)}}var ze=(e,t,n)=>new ut(e,t,n),Fe=(e)=>{let t=N(e);if(t.kind==="not-thenable")return;if(t.kind==="inspection-error")throw t.error;throw E(t),new ee},ft=(e)=>{let t=N(e);if(t.kind==="not-thenable")throw e;if(t.kind==="inspection-error")throw t.error;throw E(t),new ee};var Ft=(e)=>function(){let n=e.target;if(n===void 0)return;n.host.removeSubscription(e)},At=Object.freeze({sourceEpoch:0,routeVisits:1,deadRouteCompactions:2,scratchHostAllocations:3,propagationSettlements:4,disposalVisits:5,warmParentHops:6,scopeNodesCreated:7,storeFacadesCreated:8,namedScopeHits:9,namedScopeMisses:10,routeAdds:11,routeRemoves:12,fallbackPublications:13,draftCreations:14,scratchMapAllocations:15,finalResolutionVisits:16,finalPreflightVisits:17,draftStorageAllocations:18,commitWorksetAllocations:19,subscriptionIndexMapsCreated:20,subscriptionTargetsCreated:21,subscriptionRegistrations:22,subscriptionRemovals:23,unsubscribeClosuresCreated:24,activeSubscriptionScopes:25,activeSubscriptionTargets:26,activeSubscriptions:27,notificationTargetsReached:28,notificationSnapshots:29,subscriberCallbacksAttempted:30,subscriberErrors:31}),_t=32,vt=new WeakMap,ln=()=>{let e=new Uint32Array(_t),t=Object.freeze({read(n){return e[At[n]]??0}});return vt.set(t,e),t},R=(e)=>Object.freeze({kind:"value",value:e}),Bt=(e)=>Object.freeze({kind:"error",error:e}),ht=(e)=>e.kind==="value"?R(e.value):Bt(e.error),St=(e,t)=>{if(e.kind!==t.kind)return!1;if(e.kind==="value"&&t.kind==="value")return Object.is(e.value,t.value);return e.kind!=="value"&&t.kind!=="value"&&Object.is(e.error,t.error)},pt=1,_e=2,mt=4,Ht=(e)=>({onAllocation:e,preflightAtom:void 0,preflightScope:void 0,preflightOutcome:void 0,secondPreflightAtom:void 0,secondPreflightScope:void 0,secondPreflightOutcome:void 0,preflight:void 0,consideredRecord:void 0,secondConsideredRecord:void 0,considered:void 0,affectedRecord:void 0,affectedBefore:void 0,secondAffectedRecord:void 0,secondAffectedBefore:void 0,affected:void 0}),He=(e)=>(e.onAllocation?.(),new Map),Gt=(e)=>(e.onAllocation?.(),new Set),Be=(e,t,n)=>{if(e.preflightOutcome!==void 0&&Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return e.preflightOutcome;if(e.secondPreflightOutcome!==void 0&&Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return e.secondPreflightOutcome;return e.preflight?.get(t)?.get(n)},yt=(e,t,n,o)=>{if(e.preflightOutcome===void 0){e.preflightAtom=t,e.preflightScope=n,e.preflightOutcome=o;return}if(Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return;if(e.secondPreflightOutcome===void 0){e.secondPreflightAtom=t,e.secondPreflightScope=n,e.secondPreflightOutcome=o;return}if(Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return;let r=e.preflight;if(r===void 0)r=He(e),e.preflight=r;let i=r.get(t);if(i===void 0)i=He(e),r.set(t,i);i.set(n,o)},Lt=(e,t)=>{if(Object.is(e.consideredRecord,t)||Object.is(e.secondConsideredRecord,t))return!1;if(e.consideredRecord===void 0)return e.consideredRecord=t,!0;if(e.secondConsideredRecord===void 0)return e.secondConsideredRecord=t,!0;let n=e.considered;if(n===void 0)n=Gt(e),e.considered=n;if(n.has(t))return!1;return n.add(t),!0},Wt=(e,t,n)=>{if(e.affectedRecord===void 0){e.affectedRecord=t,e.affectedBefore=n;return}if(e.secondAffectedRecord===void 0){e.secondAffectedRecord=t,e.secondAffectedBefore=n;return}let o=e.affected;if(o===void 0)o=He(e),e.affected=o;o.set(t,n)};class gt{#t=new WeakMap;#n;#o=1;#i=0;#a=!1;#r;#s;#c;#d=0;#l;#h;#u;#b=1;#y=0;#S;#p;#e;#m;#f;evaluate;constructor(e,t,n){this.#e=e,this.#m=t===void 0?void 0:vt.get(t),this.#f=n,this.evaluate=n?.evaluate??st,this.#n=new be(this),this.recordCounter("scopeNodesCreated")}get runtimeDomain(){return this.#e}get postSourceApply(){return this.#a}get instrumented(){return this.#m!==void 0}get rootScope(){return this.#n}recordCounter(e,t=1){let n=this.#m;if(n===void 0)return;n[At[e]]+=t}#T(){return this.recordCounter("draftCreations"),new Me(this.instrumented?()=>this.recordCounter("draftStorageAllocations"):void 0)}get(e,t){let n=new y,o=t,r=j(this.#e,o,n),i=Ie(this.#e,"StoreTree.get");if(this.#A(e),r==="invalid")throw TypeError("StoreTree.get requires a valid State");if(i===void 0){let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value")throw s.outcome.error;return s.outcome.value}try{let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value"){if(s.outcome.kind==="control-error")i.latchControlFault(s.outcome.error);throw s.outcome.error}return s.outcome.value}catch(s){let a=n.getControlFault();if(a.kind==="fault")i.latchControlFault(a.error);throw s}}sub(e,t,n){let o=t,r,i=this.#e.states.has(o)?"local":j(this.#e,o,r=new y);if(D(this.#e,"StoreTree.sub"),this.#A(e),i==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("StoreTree.sub requires a valid State");if(typeof n!=="function")throw TypeError("StoreTree.sub requires a callback function");let s=e.getMaterializedServedOutcome(o)??e.serveKnownLocal(o,r??new y);if(s.outcome.kind==="control-error")throw s.outcome.error;let a=this.#u;if(a===void 0){if(a=new Map,this.#u=a,this.instrumented)this.recordCounter("subscriptionIndexMapsCreated")}let d=a.get(e);if(d===void 0){if(d=new Map,a.set(e,d),this.instrumented)this.recordCounter("subscriptionIndexMapsCreated"),this.recordCounter("activeSubscriptionScopes")}let c=d.get(o);if(c===void 0){if(c={host:this,scope:e,state:o,head:void 0,tail:void 0,reachedEpoch:0},d.set(o,c),this.instrumented)this.recordCounter("subscriptionTargetsCreated"),this.recordCounter("activeSubscriptionTargets")}let l={callback:n,target:c,previous:c.tail,next:void 0};if(c.tail===void 0)c.head=l;else c.tail.next=l;if(c.tail=l,this.instrumented)this.recordCounter("subscriptionRegistrations"),this.recordCounter("activeSubscriptions"),this.recordCounter("unsubscribeClosuresCreated");return Ft(l)}removeSubscription(e){let t=e.target;if(t===void 0)return;Qe(this.#e);let{previous:n,next:o}=e;if(n===void 0)t.head=o;else n.next=o;if(o===void 0)t.tail=n;else o.previous=n;e.callback=void 0,e.target=void 0,e.previous=void 0,e.next=void 0;let r=this.instrumented;if(r)this.recordCounter("subscriptionRemovals"),this.recordCounter("activeSubscriptions",-1);if(t.head!==void 0)return;let i=this.#u,s=i?.get(t.scope);if(s?.get(t.state)===t){if(s.delete(t.state),r)this.recordCounter("activeSubscriptionTargets",-1)}if(s!==void 0&&s.size===0){if(i?.delete(t.scope),r)this.recordCounter("activeSubscriptionScopes",-1)}if(i?.size===0)this.#u=void 0}set(e,t,n){this.#O(e,t,"StoreTree.set","set",n)}update(e,t,n){this.#O(e,t,"StoreTree.update","update",n)}reset(e,t){this.#O(e,t,"StoreTree.reset","reset")}scope(e,t,n){if(t!==0&&(typeof n==="object"||typeof n==="function")&&n!==null)j(this.#e,n,new y);if(D(this.#e,"StoreTree.scope"),this.#A(e),t===0)return this.#P(e);if(t!==1||typeof n!=="string")throw TypeError("StoreTree.scope requires a string name");let o=e.namedChildren.get(n);if(o!==void 0)return this.recordCounter("namedScopeHits"),o.facade;return this.recordCounter("namedScopeMisses"),this.#P(e,n)}dispose(e){if(D(this.#e,"StoreTree.dispose"),e.status!=="live")return;let t=[],n=[Object.freeze({node:e,expanded:!1})];while(n.length>0){let{node:o,expanded:r}=n.pop();if(r){t.push(o);continue}o.markDisposing(),n.push(Object.freeze({node:o,expanded:!0}));let i=[];o.children.forEach((s)=>i.push(s));for(let s=i.length-1;s>=0;s--)n.push(Object.freeze({node:i[s],expanded:!1}))}for(let o of t){this.recordCounter("disposalVisits");let r=o.parent;if(r!==void 0){if(o.name!==void 0&&Object.is(r.namedChildren.get(o.name),o))r.namedChildren.delete(o.name);r.children.delete(o)}this.#$(o),o.dropRecords(),o.namedChildren.clear(),o.children.clear(),o.markDisposed()}if(Object.is(e,this.#n))this.#t=new WeakMap}txn(e,t,n){if(D(this.#e,"StoreTree.txn"),this.#A(e),typeof t!=="function"||n!==void 0&&typeof n!=="string")throw TypeError("StoreTree.txn requires a callback");let o=this.#T(),r=ze(this,o,e),i;try{i=$e(this.#e,o.transaction,()=>t(r))}catch(s){throw o.close(),o.release(),s}o.close();try{let s=new y;he(this.#e,s,()=>Fe(i)),this.#F(o)}finally{o.release()}return i}readHydrationSnapshot(e,t){let n=new y,o=t,r=j(this.#e,o,n);if(D(this.#e,"adapter readHydrationSnapshot"),this.#A(e),r==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("readHydrationSnapshot requires a valid State");let i=this.#T(),s;try{if(this.#e.atoms.has(o)){let a=this.#v(i,e,o,n);if(a.kind!=="value")throw a.error;return a.value}return s=this.#K(i,e),s.readSelector(o)}finally{s?.revoke(),i.close(),i.forEachFallback((a,d)=>{if(this.#t.has(a))return;this.#t.set(a,d),this.recordCounter("fallbackPublications")}),i.release()}}transactionGet(e,t,n){let o=n,r=new y,i=j(this.#e,o,r);if(Se(this.#e,e.transaction,e.active),this.#A(t),i==="invalid")throw TypeError("Transaction.get requires a valid State");if(this.#e.atoms.has(o)){let a=this.#v(e,t,o,r);if(a.kind!=="value")throw a.error;return a.value}if(!this.#e.selectors.has(o))throw TypeError("Transaction.get requires a readable State");let s=e.getScratchHost(t);if(s===void 0){if(s=this.#q(e,t),e.installScratchHost(t,s))this.recordCounter("scratchMapAllocations")}return s.readSelector(o)}transactionSet(e,t,n,o){let r=n,i=new y;this.#R(e,t,r,i,"Transaction.set"),this.#x(e,t,r,o,i)}transactionUpdate(e,t,n,o){let r=n,i=new y;this.#R(e,t,r,i,"Transaction.update"),this.#I(e,t,r,o,i,"Transaction.update")}transactionReset(e,t,n){let o=n,r=new y;this.#R(e,t,o,r,"Transaction.reset"),this.#M(e,t,o,r)}transactionScope(e,t,n,o,r){let i=new y;if(typeof n!=="string")j(this.#e,n,i);Se(this.#e,e.transaction,e.active),this.#A(t);let s=this.#Y(t,n);if(o!==1&&o!==2)throw TypeError("Transaction.scope requires a target and optional callback");let a=ze(this,e,s);if(o===1)return a;if(typeof r!=="function")throw TypeError("Transaction.scope requires a callback function");let d;try{d=r(a)}catch(l){let S=new y;return he(this.#e,S,()=>ft(l))}let c=new y;return he(this.#e,c,()=>Fe(d)),d}createOutcomeToken(){return Object.freeze({id:this.#o++})}#q(e,t){return this.recordCounter("scratchHostAllocations"),new ye(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#v(e,t,n,o),captureCommittedSelectorSuccess:(n)=>t.captureCommittedSelectorSuccess(n),runSelectorActivity:(n,o)=>ie(this.#e,n,o)}),e.generation,this.evaluate)}#K(e,t){return this.recordCounter("scratchHostAllocations"),new ye(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#v(e,t,n,o),captureCommittedSelectorSuccess:()=>{return},runSelectorActivity:(n,o)=>ie(this.#e,n,o)}),e.generation,this.evaluate)}#V(e,t){if(U(this.#e,e,t)==="invalid")throw TypeError("Selector get requires a valid State");if(this.#e.atoms.has(e))return Object.freeze({kind:"atom"});let n=this.#e.selectors.get(e);if(n===void 0)throw TypeError("Unknown scratch StoreTree State");return Object.freeze({kind:"selector",definition:n})}#P(e,t){let n=new be(this,e,t);this.recordCounter("scopeNodesCreated");let o=new Ge(this,n,this.#f);if(e.children.add(n),t!==void 0)e.namedChildren.set(t,n);return o}#Y(e,t){if(typeof t==="string"){let i=e.namedChildren.get(t);if(i===void 0)throw new Pe;return this.#A(i),i}let n=t,o=this.#e.stores.get(n);if(o!==void 0){let i=o;if(this.#A(i),!Object.is(i.coordinator,this))throw new je;return i}let r=this.#e.transactionCursors.get(n);if(r!==void 0){if(!r.active)throw new ue;throw new fe}throw new fe}#A(e){if(e.status!=="live")throw new Ve}#X(e,t,n,o){let r=j(this.#e,t,n);D(this.#e,o),this.#A(e),this.#j(t,r,o)}#O(e,t,n,o,r){let i=t,s=new y;this.#X(e,i,s,n);let a=this.#T();try{if(o==="set")this.#x(a,e,i,r,s);else if(o==="update")this.#I(a,e,i,r,s,n);else this.#M(a,e,i,s)}catch(d){throw a.close(),a.release(),d}a.close();try{this.#F(a)}finally{a.release()}}#$(e){let t=this.#u,n=t?.get(e);if(n===void 0)return;let o=0;for(let r of n.values()){let i=r.head;while(i!==void 0){let s=i.next;i.callback=void 0,i.target=void 0,i.previous=void 0,i.next=void 0,o++,i=s}r.head=void 0,r.tail=void 0}if(t.delete(e),t.size===0)this.#u=void 0;if(this.instrumented)this.recordCounter("subscriptionRemovals",o),this.recordCounter("activeSubscriptions",-o),this.recordCounter("activeSubscriptionTargets",-n.size),this.recordCounter("activeSubscriptionScopes",-1)}#R(e,t,n,o,r){let i=j(this.#e,n,o);Se(this.#e,e.transaction,e.active),this.#A(t),this.#j(n,i,r)}#j(e,t,n){if(t==="invalid"||!this.#e.atoms.has(e))throw TypeError(`${n} requires a valid Atom`)}#x(e,t,n,o,r){let i=_(this.#e,r,()=>oe(o));if(i.kind==="error")throw i.error;let s=this.#C(e,t,n,r);this.#U(e,t,n,i.value,s,r)}#I(e,t,n,o,r,i){if(typeof o!=="function")throw TypeError(`${i} requires an updater function`);let s=this.#C(e,t,n,r),a=e.hasIntents?this.#v(e,t,n,r):s.outcome;if(a.kind!=="value")throw a.error;let d=this.#J(o,a.value,r);this.#U(e,t,n,d,s,r)}#M(e,t,n,o){this.#C(e,t,n,o);let r=t.parent===void 0?Object.freeze({outcome:this.#N(e,n,o),reachesFallback:!0}):this.#z(e,t.parent,n,o);if(r.outcome.kind!=="value")throw r.outcome.error;let i=r.reachesFallback&&e.hasFallback(n);e.stage(t,Object.freeze({kind:"reset",atom:n,publishDraftFallback:i}))}#C(e,t,n,o){let r=e.getAtomBaseline(t,n);if(r!==void 0)return r;let i=t.atomOverrides.has(n),s=t,a;while(s!==void 0){if(s.atomOverrides.has(n)){a=R(s.atomOverrides.get(n));break}s=s.parent}let d=a===void 0,c=Object.freeze({owned:i,outcome:a??this.#N(e,n,o),reachesFallback:d});return e.setAtomBaseline(t,n,c),c}#v(e,t,n,o){return this.#z(e,t,n,o).outcome}#z(e,t,n,o){let r=t;while(r!==void 0){let i=e.getIntent(r,n);if(i?.kind==="set")return Object.freeze({outcome:R(i.value),reachesFallback:!1});if(i===void 0&&r.atomOverrides.has(n))return Object.freeze({outcome:R(r.atomOverrides.get(n)),reachesFallback:!1});r=r.parent}return Object.freeze({outcome:this.#N(e,n,o),reachesFallback:!0})}#N(e,t,n){let o=this.#t.get(t);if(o!==void 0)return o;let r=this.#g(t);if(r.fallback.kind==="eager")return R(r.fallback.value);let i=r.fallback.initialize,s=e.getFallback(t);if(s!==void 0)return s;let a=ht(_(this.#e,n,()=>xe(i)));return e.setFallback(t,a),a}#Q(e,t,n,o){let r=this.#g(e).equal;if(r===void 0)return Object.is(t,n)?t:n;return this.#Z(r,t,n,o)?t:n}#Z(e,t,n,o){return _(this.#e,o,()=>{let r;try{r=e(t,n)}catch(s){let a=N(s);if(a.kind==="not-thenable")throw s;if(a.kind==="inspection-error")throw a.error;throw E(a),new ne}let i=N(r);if(i.kind==="inspection-error")throw i.error;if(i.kind==="thenable")throw E(i),new ne;if(r!==!0&&r!==!1)throw new ne;return r})}#J(e,t,n){return _(this.#e,n,()=>{let o;try{o=e(t)}catch(i){let s=N(i);if(s.kind==="not-thenable")throw i;if(s.kind==="inspection-error")throw s.error;throw E(s),new te}let r=oe(o);if(r.kind==="error")throw r.error;return r.value})}#F(e){if(!e.hasIntents)return;let{singleIntent:t,singleIntentScope:n}=e;if(t?.kind==="reset"&&n!==void 0&&!t.publishDraftFallback&&e.getAtomBaseline(n,t.atom)?.owned===!1)return;let o=Ht(this.instrumented?()=>this.recordCounter("commitWorksetAllocations"):void 0),r,i;if(t!==void 0&&n!==void 0)r=this.#_(e,n,t,o);else e.forEachIntent((a,d)=>{let c=this.#_(e,a,d,o);if(r===void 0){r=c;return}if(i===void 0)i=[];i.push(c)});if(r===void 0)return;if(this.#f?.(1,e,this.#e.atoms),this.#B(e,r),i!==void 0)for(let a of i)this.#B(e,a);let s=this.#H(r);if(i!==void 0)for(let a of i){let d=this.#H(a);s||=d}if(this.#G(r),i!==void 0)for(let a of i)this.#G(a);this.#se();try{let a,d,c=o.affectedRecord,l=o.affectedBefore;if(c!==void 0&&l!==void 0)a=this.#E(o,c,l);let{secondAffectedRecord:S,secondAffectedBefore:b}=o;if(S!==void 0&&b!==void 0){let f=this.#E(o,S,b);if(f!==void 0)if(a===void 0)a=f;else d=[f]}if(o.affected!==void 0)for(let[f,p]of o.affected){let x=this.#E(o,f,p);if(x===void 0)continue;if(a===void 0)a=x;else{if(d===void 0)d=[];d.push(x)}}if(s)this.#i+=1,this.recordCounter("sourceEpoch");this.#f?.(2,a===void 0?0:1+(d?.length??0)),this.#ie(a,d)}catch(a){throw this.#k(),a}}#_(e,t,n,o){let r=e.getAtomBaseline(t,n.atom);if(r===void 0)throw Error("TreeDraft atom baseline is missing");this.#L(e,t,n.atom,o);let i=Object.freeze({scope:t,intent:n,ownershipChanged:n.kind==="set"?!r.owned||!Object.is(t.atomOverrides.get(n.atom),n.value):r.owned}),s=t.getAtomView(n.atom);if(s!==void 0)this.#ee(e,s,o);return i}#B(e,t){if(!t.intent.publishDraftFallback)return;let n=e.getFallback(t.intent.atom);if(n!==void 0&&!this.#t.has(t.intent.atom))this.#t.set(t.intent.atom,n),this.recordCounter("fallbackPublications")}#H(e){let{intent:t,scope:n}=e;if(t.kind==="set")n.atomOverrides.set(t.atom,t.value);else n.atomOverrides.delete(t.atom);return e.ownershipChanged}#G({scope:e,intent:t}){let n=e.getAtomView(t.atom);if(n===void 0)return;if(t.kind==="set"||e.parent===void 0)e.detachAtomView(n);else e.attachAtomView(n,this.#oe(e.parent,t.atom))}#E(e,t,n){let o=Be(e,t.atom,t.scope);if(o===void 0)throw Error("Affected AtomView final outcome is missing");if(this.recordCounter("finalResolutionVisits"),St(n,o))return;return t.scope.updateAtomView(t,o),t}#ee(e,t,n){let o=[t];while(o.length!==0){let r=o.pop();if(!Lt(n,r))continue;let i=r.served.outcome,s=this.#L(e,r.scope,r.atom,n);if(St(i,s))continue;Wt(n,r,i);let a=o.length;r.inheritingChildren.forEach((d)=>{this.recordCounter("routeVisits"),o.push(d)});for(let d=a,c=o.length-1;d<c;d++,c--){let l=o[d];o[d]=o[c],o[c]=l}}}#L(e,t,n,o){let r=Be(o,n,t);if(r!==void 0)return r;let i=t,s,a,d;while(i!==void 0){let c=Be(o,n,i);if(c!==void 0){d=c;break}if(s===void 0)s=i;else{if(a===void 0)a=[];a.push(i)}let l=e.getIntent(i,n);if(l?.kind==="set"){d=R(l.value);break}if(l===void 0&&i.atomOverrides.has(n)){d=R(i.atomOverrides.get(n));break}i=i.parent}if(d??=this.#te(e,n),s!==void 0)yt(o,n,s,d),this.recordCounter("finalPreflightVisits");if(a!==void 0)for(let c of a)yt(o,n,c,d),this.recordCounter("finalPreflightVisits");return d}#te(e,t){let n=this.#t.get(t);if(n!==void 0)return n;let o=e.getFallback(t);if(o!==void 0)return o;let r=this.#g(t);if(r.fallback.kind==="eager")return R(r.fallback.value);throw Error("Final Atom fallback was not resolved during staging")}#ne(e){let t=this.#t.get(e);if(t!==void 0)return t;let n=this.#g(e);if(n.fallback.kind==="eager")return R(n.fallback.value);throw Error("Committed Atom fallback is not materialized")}#oe(e,t){let n=e,o=[],r;while(!0){let i=n.getAtomView(t);if(i!==void 0){r=i;break}if(n.atomOverrides.has(t)){r=n.createAtomView(t,R(n.atomOverrides.get(t)));break}if(n.parent===void 0){r=n.createAtomView(t,this.#ne(t));break}o.push(n),n=n.parent}for(let i=o.length-1;i>=0;i--)r=o[i].createAtomView(t,r.served.outcome,r);return r}serveScopeAtom(e,t,n){let o=e,r=[],i;while(!0){let s=o.getAtomView(t);if(s!==void 0){i=s;break}if(o.atomOverrides.has(t)){i=o.createAtomView(t,R(o.atomOverrides.get(t)));break}if(o.parent===void 0){i=o.createAtomView(t,this.#re(t,n));break}this.recordCounter("warmParentHops"),r.push(o),o=o.parent}for(let s=r.length-1;s>=0;s--)i=r[s].createAtomView(t,i.served.outcome,i);return i.served}#re(e,t){let n=this.#t.get(e);if(n!==void 0)return n;let o=this.#g(e);if(o.fallback.kind==="eager")return R(o.fallback.value);let r=o.fallback.initialize,i=ht(_(this.#e,t,()=>xe(r)));return this.#t.set(e,i),this.recordCounter("fallbackPublications"),i}#g(e){let t=this.#e.atoms.get(e);if(t===void 0)throw TypeError("Unknown committed StoreTree Atom");return t}#ie(e,t){if(e===void 0){this.#k();return}this.recordCounter("propagationSettlements"),this.#r=[],this.#s=void 0,this.#c=void 0,this.#d=0,this.#l=void 0,this.#h=void 0,this.#a=!0;let n;try{if(e.scope.markDependents(e.atom),t!==void 0)for(let r of t)r.scope.markDependents(r.atom);let o=0;while(o<this.#r.length){let r=this.#r[o++],i=this.#r[o++];this.#D(r,i)}}finally{n=this.#h,this.#h=void 0,this.#a=!1,this.#r=void 0,this.#s=void 0,this.#c=void 0,this.#d=0,this.#l=void 0}this.#ae(n)}#se(){this.#S=void 0,this.#p=void 0,this.#y=this.#u===void 0?0:this.#b++}#k(){this.#y=0,this.#S=void 0,this.#p=void 0}reachSubscriptionTarget(e,t){let n=this.#y,o=this.#u?.get(e)?.get(t);if(n===0||o===void 0||o.reachedEpoch===n)return;if(o.reachedEpoch=n,this.instrumented)this.recordCounter("notificationTargetsReached");if(this.#S===void 0){this.#S=o;return}if(this.#p===void 0)this.#p=[o];else this.#p.push(o)}#ae(e){let t=this.#S;if(t===void 0){if(this.#k(),e!==void 0)throw e;return}let n,o,r=(c)=>{let l=c.head;while(l!==void 0){let S=l.callback;if(S!==void 0)if(n===void 0)n=S;else if(o===void 0)o=[n,S];else o.push(S);l=l.next}};r(t);let i=this.#p;if(i!==void 0)for(let c of i)r(c);if(this.#k(),n===void 0){if(e!==void 0)throw e;return}let s=Object.freeze(o??[n]),a=this.instrumented;if(a)this.recordCounter("notificationSnapshots");let d;for(let c of s){if(a)this.recordCounter("subscriberCallbacksAttempted");let l=new y,S=!1,b;try{Xe(this.#e,l,()=>{try{let f=c(),p=N(f);if(p.kind==="thenable")E(p);else if(p.kind==="inspection-error")S=!0,b=p.error}catch(f){S=!0,b=f;let p=N(f);if(p.kind==="thenable")E(p)}})}catch(f){S=!0,b=f}if(S){if(d===void 0)d=[];if(d.push(b),a)this.recordCounter("subscriberErrors")}}if(d===void 0){if(e!==void 0)throw e;return}throw new De(e===void 0?d:[e,...d])}enqueueSelector(e,t){let n=this.#r;if(n===void 0)return!1;if((this.#W(e,t)&pt)!==0)return!0;return this.#w(e,t,pt),n.push(e,t),!0}prepareSelectorRead(e,t,n){if(this.#r===void 0)return;this.#D(e,t,n)}#D(e,t,n){if((this.#W(e,t)&(mt|_e))!==0)return;this.#w(e,t,_e);try{let r=e.getSelectorGraphVersion(),i=e.getCommittedSelectorDependencies(t);if(i!==void 0){for(let s of i)if(this.#e.selectors.has(s.node))this.#D(e,s.node)}if(e.isSelectorDirty(t)){let s=r===e.getSelectorGraphVersion();if(n!==void 0&&s)e.serve(t,n);else e.serve(t,new y)}this.#w(e,t,mt)}finally{this.#w(e,t,0,_e)}}#W(e,t){if(Object.is(this.#s,e)&&Object.is(this.#c,t))return this.#d;return this.#l?.get(e)?.get(t)??0}#w(e,t,n,o=0){if(this.#s===void 0){this.#s=e,this.#c=t,this.#d=n&~o;return}if(Object.is(this.#s,e)&&Object.is(this.#c,t)){this.#d=(this.#d|n)&~o;return}let r=this.#l;if(r===void 0)r=new Map,this.#l=r;let i=r.get(e);if(i===void 0)i=new Map,r.set(e,i);i.set(t,((i.get(t)??0)|n)&~o)}latchPropagationControlFault(e){this.#h??=e}#U(e,t,n,o,r,i){let s=r.outcome.kind==="value"?this.#Q(n,r.outcome.value,o,i):o;e.stage(t,Object.freeze({kind:"set",atom:n,value:s,publishDraftFallback:r.reachesFallback&&e.hasFallback(n)}))}}class Ge{get;sub;set;update;reset;txn;scope;dispose;constructor(e,t,n){this.get=(o)=>e.get(t,o),this.sub=(o,r)=>e.sub(t,o,r),this.set=(o,r)=>e.set(t,o,r),this.update=(o,r)=>e.update(t,o,r),this.reset=(o)=>e.reset(t,o),this.txn=(o,r)=>e.txn(t,o,r),this.scope=function(o){return e.scope(t,arguments.length,o)},this.dispose=()=>e.dispose(t),t.installFacade(this),se(this,e.runtimeDomain.ownerToken),e.runtimeDomain.stores.set(this,t),e.recordCounter("storeFacadesCreated"),n?.(0,this,t),Object.freeze(this)}}var bt=(e)=>{if(e.equal!==void 0&&typeof e.equal!=="function")throw TypeError("Atom equal must be a function");return{...e.name===void 0?{}:{name:e.name},...e.equal===void 0?{}:{equal:e.equal}}},kt=(e)=>{let t={states:new WeakSet,atoms:new WeakMap,selectors:new WeakMap,stores:new WeakMap,transactionCursors:new WeakMap,ownerToken:Object.freeze({}),activity:void 0},n=(d,c={})=>{let l=new y,S=_(t,l,()=>oe(d));if(S.kind==="error")throw S.error;let b=pe("atom",t.ownerToken);return t.states.add(b),t.atoms.set(b,Object.freeze({fallback:Object.freeze({kind:"eager",value:S.value}),...bt(c)})),b},o=(d,c={})=>{if(typeof d!=="function")throw TypeError("atomLazy requires an initializer function");let l=pe("atom",t.ownerToken);return t.states.add(l),t.atoms.set(l,Object.freeze({fallback:Object.freeze({kind:"lazy",initialize:d}),...bt(c)})),l},r=(d,c={})=>{if(typeof d!=="function")throw TypeError("selector requires a getter function");if(c.equal!==void 0&&typeof c.equal!=="function")throw TypeError("selector equal must be a function");let l=pe("selector",t.ownerToken),S=Object.freeze({node:l,get:d,...c.name===void 0?{}:{name:c.name},...c.equal===void 0?{}:{equal:c.equal}});return t.states.add(l),t.selectors.set(l,S),l},i=(d)=>{let c=new y;if(j(t,d,c)==="invalid")return;return t.stores.get(d)},a=Object.freeze({assertStore:(d)=>{let c=i(d);if(D(t,"adapter assertStore"),c===void 0)throw TypeError("assertStore requires a valid Store")},read:(d,c)=>{if(i(d)===void 0)throw Ie(t,"adapter read"),TypeError("read requires a valid Store");return d.get(c)},subscribe:(d,c,l)=>{if(i(d)===void 0)throw D(t,"adapter subscribe"),TypeError("subscribe requires a valid Store");return d.sub(c,l)},readHydrationSnapshot:(d,c)=>{let l=i(d);if(l===void 0)throw D(t,"adapter readHydrationSnapshot"),TypeError("readHydrationSnapshot requires a valid Store");return l.coordinator.readHydrationSnapshot(l,c)}});return Object.freeze({atom:n,atomLazy:o,selector:r,adapter:a,createStoreTree:(d=e,c)=>{D(t,"createStoreTree");let l=new gt(t,d,c);return new Ge(l,l.rootScope,c)}})};var Ut=kt(),hn=(e,t)=>Ut.createStoreTree(e,t);
2
- export{J as a,st as b,Ee as c,De as d,q as e,K as f,Y as g,ue as h,ee as i,te as j,ne as k,Ve as l,Pe as m,je as n,fe as o,ln as p,Ut as q,hn as r};
@@ -1,2 +0,0 @@
1
- class z extends Error{seal(){Object.freeze(this)}}class ce extends z{code="VALDRES_SELECTOR_GETTER_ERROR";selector;cause;constructor(e,t){super("Selector getter failed");this.name="SelectorGetterError",this.selector=e,this.cause=t,this.seal()}}class Re extends z{code="VALDRES_SELECTOR_DEPENDENCY_ERROR";dependency;cause;constructor(e,t){super("Selector dependency failed");this.name="SelectorDependencyError",this.dependency=e,this.cause=t,this.seal()}}class J extends z{code="VALDRES_SELECTOR_CIRCULAR_DEPENDENCY";selector;path;constructor(e,t){super("Selector dependency graph must be acyclic");this.name="SelectorCircularDependencyError",this.selector=e,this.path=Object.freeze([...t]),this.seal()}}class F extends z{code="VALDRES_INVALID_SYNCHRONOUS_SELECTOR_RESULT";phase;constructor(e){super(`Selector ${e} returned or threw a thenable`);this.name="InvalidSynchronousSelectorResultError",this.phase=e,this.seal()}}class Ce extends z{code="VALDRES_INVALID_SELECTOR_COMPARATOR_RESULT";constructor(){super("Selector comparator must return exactly true or false");this.name="InvalidSelectorComparatorResultError",this.seal()}}class le extends z{code="VALDRES_SELECTOR_COMPARATOR_ERROR";selector;cause;constructor(e,t){super("Selector comparator failed");this.name="SelectorComparatorError",this.selector=e,this.cause=t,this.seal()}}class Ne extends z{code="VALDRES_SELECTOR_READ_REVOKED";constructor(){super("Selector supplied get is no longer active");this.name="SelectorReadRevokedError",this.seal()}}var Ke=Object.freeze({kind:"not-thenable"}),Rt=()=>{},Ct=Reflect.apply,Ye=Symbol.for("valdres.runtime-owner/v1");class k extends Error{seal(){Object.freeze(this)}}class Ee extends k{code="VALDRES_RUNTIME_MISMATCH";constructor(){super("Valdres handles belong to a different runtime domain");this.name="RuntimeMismatchError",this.seal()}}class De extends k{code="VALDRES_SUBSCRIBER_NOTIFICATION";cause;causes;committed=!0;phase="notifying";source="owned-mutation";constructor(e){super("One or more Store subscribers threw during notification");this.name="SubscriberNotificationError",this.causes=Object.freeze([...e]),this.cause=this.causes[0],this.seal()}}class q extends k{code="VALDRES_CALLBACK_CAPABILITY";constructor(){super("This callback cannot use captured Valdres runtime capabilities");this.name="CallbackCapabilityError",this.seal()}}class K extends k{code="VALDRES_SELECTOR_CAPABILITY_ERROR";constructor(e){super(`A selector callback cannot call ${e} directly`);this.name="SelectorCapabilityError",this.seal()}}class Y extends k{code="VALDRES_TRANSACTION_PHASE";constructor(){super("Captured StoreTree work is forbidden during a transaction");this.name="TransactionPhaseError",this.seal()}}class ue extends k{code="VALDRES_TRANSACTION_CLOSED";constructor(){super("The Transaction cursor is no longer active");this.name="TransactionClosedError",this.seal()}}class ee extends k{code="VALDRES_INVALID_TRANSACTION_CALLBACK_RESULT";constructor(){super("Transaction callbacks must return synchronously");this.name="InvalidTransactionCallbackResultError",this.seal()}}class te extends k{code="VALDRES_INVALID_SYNCHRONOUS_ATOM_VALUE";constructor(){super("Atom values and lazy initializers must be synchronous");this.name="InvalidSynchronousAtomValueError",this.seal()}}class ne extends k{code="VALDRES_INVALID_ATOM_COMPARATOR_RESULT";constructor(){super("Atom comparators must return exactly true or false synchronously");this.name="InvalidAtomComparatorResultError",this.seal()}}class Ve extends k{code="VALDRES_STORE_DISPOSED";constructor(){super("This Store has been disposed");this.name="StoreDisposedError",this.seal()}}class Pe extends k{code="VALDRES_SCOPE_NOT_FOUND";constructor(){super("The named child Store does not exist");this.name="ScopeNotFoundError",this.seal()}}class je extends k{code="VALDRES_STORE_TREE_MISMATCH";constructor(){super("The Store belongs to a different StoreTree");this.name="StoreTreeMismatchError",this.seal()}}class fe extends k{code="VALDRES_INVALID_TRANSACTION_TARGET";constructor(){super("Transaction.scope requires a Store or named child");this.name="InvalidTransactionTargetError",this.seal()}}var N=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return Ke;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):Ke}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},E=(e)=>{try{Ct(e.then,e.target,[void 0,Rt])}catch{}},oe=(e)=>{let t=N(e);if(t.kind==="not-thenable")return Object.freeze({kind:"value",value:e});if(t.kind==="inspection-error")return Object.freeze({kind:"error",error:t.error});return E(t),Object.freeze({kind:"error",error:new te})},xe=(e)=>{try{return oe(e())}catch(t){let n=N(t);if(n.kind==="not-thenable")return Object.freeze({kind:"error",error:t});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return E(n),Object.freeze({kind:"error",error:new te})}},re=(e,t,n)=>{let o=e.activity;e.activity=t;try{return n()}finally{e.activity=o}},_=(e,t,n)=>{try{let o=re(e,Object.freeze({kind:"guarded-callback",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},Xe=(e,t,n)=>{try{let o=re(e,Object.freeze({kind:"subscriber",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},ie=(e,t,n)=>re(e,Object.freeze({kind:"selector",session:t}),n),$e=(e,t,n)=>re(e,Object.freeze({kind:"transaction",transaction:t}),n),he=(e,t,n)=>{try{let o=re(e,Object.freeze({kind:"transaction-result",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},D=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="selector")throw new K(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new Y;throw new q},Ie=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="subscriber")return n.session;if(n.kind==="selector")throw new K(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new Y;throw new q},Qe=(e)=>{let t=e.activity;if(t===void 0||t.kind==="subscriber")return;if(t.kind==="selector")throw new K("Store unsubscribe");if(t.kind==="transaction"||t.kind==="transaction-result")throw new Y;throw new q},Se=(e,t,n)=>{if(!n)throw new ue;let o=e.activity;if(o?.kind==="transaction"&&Object.is(o.transaction,t))return;if(o?.kind==="selector")throw new K("Transaction cursor operation");if(o?.kind==="guarded-callback")throw new q;throw new Y},Ze=(e,t)=>{let n=e.activity;return n!==void 0&&"session"in n?n.session:t},U=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";if((typeof t==="object"||typeof t==="function")&&t!==null){let o=Object.getOwnPropertyDescriptor(t,Ye);if(o!==void 0&&"value"in o&&!Object.is(o.value,e.ownerToken)){let r=new Ee;throw Ze(e,n).latchControlFault(r),r}}return"invalid"},j=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";let o=e.activity,r=Ze(e,n);if(o!==void 0&&"session"in o)try{let i=U(e,t,r),s=r.getControlFault();if(s.kind==="fault")throw s.error;return i}catch(i){let s=r.getControlFault();if(s.kind==="fault")throw s.error;throw i}return _(e,r,()=>U(e,t,r))},se=(e,t)=>(Object.defineProperty(e,Ye,{value:t,enumerable:!1,writable:!1,configurable:!1}),e),pe=(e,t)=>Object.freeze(se({kind:e},t));var Je=Object.freeze({kind:"not-thenable"}),Nt=()=>{},Et=Reflect.apply,et=Symbol("selector dependency path root"),ot=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return Je;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):Je}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},rt=(e)=>{try{Et(e.then,e.target,[void 0,Nt])}catch{}},Dt=(e)=>Object.freeze(e),Vt=(e)=>Object.freeze(e),O=(e,t,n,o)=>{let r=Vt(o);return Object.freeze({selector:e,token:t,outcome:Dt(n),dependencies:r,attemptedPrefix:n.kind==="value"?Pt:Object.freeze(r.map((i)=>i.node))})},Pt=Object.freeze([]),me=32,X=8192,jt=2*me;class it{passiveSearches;searches=0;constructor(e,t){if(this.passiveSearches=e,t!==void 0)this.diagnostics=t}get enabled(){return this.disabled!==!0}beginSearch(){if(this.searches++,this.diagnostics!==void 0)this.diagnosticsCompleted=!1,this.mapProbes=0,this.prunedNodes=0;let e=this.enabled&&this.searches>this.passiveSearches&&this.first!==void 0;if(e)this.consultCurrentSearch=!0,this.hits=0;else if(this.consultCurrentSearch===!0)this.consultCurrentSearch=void 0;if(e&&this.passiveOrigin===!0&&this.searches===this.passiveSearches+1&&this.passiveProbeBudget===void 0)this.passiveProbeBudget=Math.min(X,2*this.first.size);return e}hasProvenNoPath(e){if(!this.enabled)return!1;let t=this.first;if(t!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(t.has(e))return this.hits=(this.hits??0)|1,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}let n=this.second;if(n!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(n.has(e))return this.hits=(this.hits??0)|2,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}return!1}hasProvenNoPathMeasured(e){if(!this.enabled)return!1;let t=this.first;if(t!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(this.mapProbes=(this.mapProbes??0)+1,t.has(e))return this.hits=(this.hits??0)|1,this.prunedNodes=(this.prunedNodes??0)+1,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}let n=this.second;if(n!==void 0){let o=this.passiveProbeBudget;if(o===0)return this.disable("passive-probe-budget"),!1;if(this.mapProbes=(this.mapProbes??0)+1,n.has(e))return this.hits=(this.hits??0)|2,this.prunedNodes=(this.prunedNodes??0)+1,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,!0;if(o!==void 0){if(this.passiveProbeBudget=o-1,o===1)return this.disable("passive-probe-budget"),!1}}return!1}completeNegative(e){if(!this.enabled)return;if(this.searches<=this.passiveSearches){let n=e.size>=me&&e.size<=X,o;if(this.searches===1&&n)this.first=e,this.firstIndependentlyClosed=!0,this.passiveOrigin=!0,o="initial";else if(this.searches===this.passiveSearches&&n)o=this.first===void 0?"initial":"activation-replacement",this.first=e,this.firstIndependentlyClosed=!0,this.second=void 0,this.secondIndependentlyClosed=void 0,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0;this.completeDiagnostics(o);return}if((this.hits??0)!==0){if(e.size>X){this.disable("over-cap-hit");return}let n=this.first,o=this.second,r=this.firstIndependentlyClosed===!0,i=this.secondIndependentlyClosed===!0;this.first=void 0,this.second=void 0,this.firstIndependentlyClosed=void 0,this.secondIndependentlyClosed=void 0,this.retain(n,r),this.retain(o,i);let s=this.retain(e,!1);this.locked=!0,this.missWork=0,this.completeDiagnostics(s?"hit-derived":void 0);return}if(e.size===1){this.completeDiagnostics();return}let t=e.size>=me&&e.size<=X;if(this.first===void 0){if(t)this.first=e,this.firstIndependentlyClosed=!0;this.completeDiagnostics(t?"initial":void 0);return}if(this.missWork=(this.missWork??0)+Math.min(e.size,me),this.locked!==!0&&this.second===void 0&&t){this.second=e,this.secondIndependentlyClosed=!0,this.completeDiagnostics("secondary");return}if((this.missWork??0)>=jt){this.disable("miss-budget");return}this.completeDiagnostics()}completePositive(){this.completeDiagnostics()}advanceGraphVersion(e){if(!this.enabled||e===void 0)return this.reset(),!1;let t=this.firstIndependentlyClosed===!0?this.first:void 0,n=this.secondIndependentlyClosed===!0?this.second:void 0,o=t===void 0||n!==void 0&&n.size>t.size?n:t;if(o===void 0)return this.reset(),!1;if(this.passiveProbeBudget===void 0)this.passiveOrigin=!0,this.passiveProbeBudget=Math.min(X,2*o.size);let r=0;for(let i of e){let s=this.hasWithinCrossVersionBudget(o,i.tail);if(s===void 0)return this.diagnostics?.recordMapProbes?.(r),this.reset(),!1;if(r++,!s)continue;let a=this.hasWithinCrossVersionBudget(o,i.head);if(a===void 0)return this.diagnostics?.recordMapProbes?.(r),this.reset(),!1;if(r++,!a)return this.diagnostics?.recordMapProbes?.(r),this.reset(),!1}if(this.diagnostics?.recordMapProbes?.(r),this.passiveProbeBudget===0)return this.reset(),!1;return this.first=o,this.firstIndependentlyClosed=!0,this.second=void 0,this.secondIndependentlyClosed=void 0,this.hits=void 0,this.consultCurrentSearch=void 0,this.diagnosticsCompleted=void 0,this.mapProbes=void 0,this.prunedNodes=void 0,!0}reset(){this.first=void 0,this.second=void 0,this.firstIndependentlyClosed=void 0,this.secondIndependentlyClosed=void 0,this.hits=void 0,this.missWork=void 0,this.locked=void 0,this.disabled=void 0,this.searches=0,this.consultCurrentSearch=void 0,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,this.diagnosticsCompleted=void 0,this.mapProbes=void 0,this.prunedNodes=void 0}retain(e,t=!1){if(e===void 0||e.size>X||e===this.first)return!1;if(this.first===void 0||e.size>this.first.size)return this.second=this.first,this.secondIndependentlyClosed=this.firstIndependentlyClosed,this.first=e,this.firstIndependentlyClosed=t,!0;if(this.second===void 0||e.size>this.second.size)return this.second=e,this.secondIndependentlyClosed=t,!0;return!1}disable(e){this.first=void 0,this.second=void 0,this.firstIndependentlyClosed=void 0,this.secondIndependentlyClosed=void 0,this.missWork=void 0,this.disabled=!0,this.passiveOrigin=void 0,this.passiveProbeBudget=void 0,this.completeDiagnostics(void 0,e)}hasWithinCrossVersionBudget(e,t){let n=this.passiveProbeBudget;if(n===void 0||n===0)return;let o=e.has(t);return this.passiveProbeBudget=n-1,o}completeDiagnostics(e,t){let n=this.diagnostics;if(n===void 0||this.diagnosticsCompleted===!0)return;this.diagnosticsCompleted=!0;let o=this.mapProbes??0;n.completeSearch(this.consultCurrentSearch===!0?(this.hits??0)!==0?"consulted-pruned":"consulted-no-prune":"observing",e,t,o,this.prunedNodes??0,(this.first?.size??0)+(this.second?.size??0))}}var xt=(e,t)=>new it(e,t),It=(e,t,n,o,r,i,s)=>{let a=s?.beginSearch()??!1,d=[e],c=new Map([[e,et]]);while(d.length>0){let l=d.pop();if(Object.is(l,t)){let f=[],p=l;while(p!==et)f.push(p),p=c.get(p);return f.reverse(),s?.completePositive(),Object.freeze(f)}let S=o.getTransientDependencies(n,l);if(S){if(S.length===0)continue;if(a){let f=s.hasProvenNoPath(l);if(!s.enabled)a=!1;if(f)continue}for(let f of S){if(c.has(f.node))continue;c.set(f.node,l),d.push(f.node)}continue}if(n.getSelectorDependencyNodes!==void 0){let f=n.getSelectorDependencyNodes(l);if(f===void 0||f.length===0)continue;if(a){let p=s.hasProvenNoPath(l);if(!s.enabled)a=!1;if(p)continue}for(let p of f){if(c.has(p))continue;c.set(p,l),d.push(p)}continue}let b=n.getSelectorRecord(l);if(!b||b.dependencies.length===0)continue;if(a){let f=s.hasProvenNoPath(l);if(!s.enabled)a=!1;if(f)continue}for(let f of b.dependencies){if(c.has(f.node))continue;c.set(f.node,l),d.push(f.node)}}s?.completeNegative(c);return},tt=(e,t)=>{let n=ot(e);if(n.kind==="thenable")return rt(n),new F(t);if(n.kind==="inspection-error")return n.error;return e},nt=(e,t)=>{let n=ot(e);if(n.kind==="thenable")return rt(n),Object.freeze({kind:"error",error:new F(t)});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return Object.freeze({kind:"value",value:e})},st=(e,t,n,o=It,r)=>{let{node:i}=e,s=[],a=t.getSelectorRecord(i),d=a?.dependencies,c=d===void 0?new Set:void 0,l,S=0,b=t.getComparisonBaseline(i),f=!0,p=()=>{let u=c;if(u!==void 0)return u;u=new Set;for(let h of s)u.add(h.node);return c=u,u};n.enter(t,i,s);let x=t.getSelectorGraphVersion(),Ae=n.getSelectorGraphPublicationCount(t),M=x,B=Ae,Le=x,We=Ae,ve,ge=!1,ke=x,ae=0,H,we=(u,h)=>{if(u===ke)return;if(ke=u,H===void 0){ae=0;return}if(H.advanceGraphVersion(h))return;ae=0,r?.graphVersionReset()},wt=(u)=>{if(u!==ke)we(u,void 0);if(ae++,(d?.length??0)===0&&ae<3){r?.admissionSkipped();return}if(H===void 0){let h=d!==void 0&&d.length>0&&d.length<3;H=xt(h?3:0,r)}if(!H.enabled){r?.disabled();return}return H},Tt=(u)=>{if(ge)return;let h=t.beginSelectorGraphObservation?.(u);if(h===void 0)return;ge=!0,ve=h},Te=(u,h,v,A)=>v-u===A-h,Ue=(u=t.getSelectorGraphVersion(),h=n.getSelectorGraphPublicationCount(t),v=Te(M,B,u,h))=>{if(u===M)return;if(!ge&&t.beginSelectorGraphObservation!==void 0){we(u,void 0),M=u,B=h;return}let A=ve?.takeAddedEdges();if(we(u,A),v){M=u,B=h;return}if(A!==void 0){let g=!1;for(let T of A)if(o(T.head,T.tail,t,n,2,s.length)!==void 0){g=!0;break}if(!g){M=u,B=h;return}}for(let g=0;g<s.length;g++){let T=s[g],C=o(T.node,i,t,n,0,s.length);if(!C)continue;if(c!==void 0)for(let V=s.length-1;V>=g;V--)c.delete(s[V].node);if(s.length=g,S++,n.getControlFault().kind==="fault")return;let w=new J(i,[i,...C]);n.latchCycle(t,i,w);return}M=u,B=h},Oe=()=>{let u=t.getSelectorGraphVersion(),h=n.getSelectorGraphPublicationCount(t);Le=u,We=h;let v=Te(M,B,u,h);if(!v)n.revalidateAncestorPrefixes(t,i);Ue(u,h,v)};n.setPrefixRevalidator(t,i,Ue);let Ot=(u)=>{if(!f)throw new Ne;let h=n.getControlFault();if(h.kind==="fault")throw h.error;let v=n.getCycle(t,i);if(v!==void 0)throw v;let A=n.activeCyclePath(t,u);if(A){let m=new J(i,A);throw n.latchCycle(t,i,m),m}let g=s.length,T,C=!1;if(c===void 0){let m=d?.[g];if(m!==void 0&&Object.is(m.node,u))T=!1,C=!0;else T=p().has(u)}else T=c.has(u);if(!T&&!C&&d!==void 0&&d.length>0){let m=d[s.length];if(m!==void 0&&Object.is(m.node,u))C=!0;else{if(l===void 0){l=new Set;for(let W of d)l.add(W.node)}C=l.has(u)}}let G=S,w=t.serve(u,n);Oe();let V=n.getCycle(t,i);if(V!==void 0)throw V;let Q=c!==void 0?c.has(u):S===G&&s.length===g?!1:p().has(u),I=Le,L=We,P=Q||C&&I===x,de=d===void 0&&Te(x,Ae,I,L);if(!P&&!de){let m=o(u,i,t,n,1,s.length,wt(I));if(m){let W=n.getControlFault();if(W.kind==="fault")throw W.error;let qe=new J(i,[i,...m]);throw n.latchCycle(t,i,qe),qe}}if(!Q){let m=a?.dependencies[s.length];c?.add(u),s.push(m!==void 0&&Object.is(m.node,u)&&Object.is(m.token,w.token)?m:Object.freeze({node:u,token:w.token})),Tt(u)}if(M=I,B=L,w.outcome.kind==="control-error"){n.latchControlFault(w.outcome.error);let m=n.getControlFault();if(m.kind==="fault")throw m.error;throw w.outcome.error}let Z=n.getControlFault();if(Z.kind==="fault")throw Z.error;if(w.outcome.kind==="error")throw new Re(u,w.outcome.error);return w.outcome.value};try{let u,h,v=!1;try{u=e.get(Ot)}catch(V){v=!0,h=V}finally{f=!1}if(v)h=tt(h,"getter");let A=v?void 0:nt(u,"getter");Oe();let g=n.getControlFault();if(g.kind==="fault")return O(i,t.createOutcomeToken(),{kind:"control-error",error:g.error},s);let T=n.getCycle(t,i);if(T!==void 0)return O(i,t.createOutcomeToken(),{kind:"error",error:T},s);if(v)return O(i,t.createOutcomeToken(),{kind:"error",error:h instanceof F?h:new ce(i,h)},s);if(A===void 0)throw Error("Selector result classification was not completed");let C=n.getControlFault();if(C.kind==="fault")return O(i,t.createOutcomeToken(),{kind:"control-error",error:C.error},s);if(A.kind==="error")return O(i,t.createOutcomeToken(),{kind:"error",error:A.error instanceof F?A.error:new ce(i,A.error)},s);let G=A.value,w;if(b){let V=e.equal??Object.is,Q,I,L=!1;try{Q=V(b.value,G)}catch(W){L=!0,I=tt(W,"comparator")}let P=L?void 0:nt(Q,"comparator");Oe();let de=n.getControlFault();if(de.kind==="fault")return O(i,t.createOutcomeToken(),{kind:"control-error",error:de.error},s);let Z=n.getCycle(t,i);if(Z!==void 0)return O(i,t.createOutcomeToken(),{kind:"error",error:Z},s);if(L)return O(i,t.createOutcomeToken(),{kind:"error",error:I instanceof F?I:new le(i,I)},s);if(P===void 0)throw Error("Selector comparator classification was not completed");let m=n.getControlFault();if(m.kind==="fault")return O(i,t.createOutcomeToken(),{kind:"control-error",error:m.error},s);if(P.kind==="error")return O(i,t.createOutcomeToken(),{kind:"error",error:P.error instanceof F?P.error:new le(i,P.error)},s);if(P.value!==!0&&P.value!==!1)return O(i,t.createOutcomeToken(),{kind:"error",error:new Ce},s);if(P.value===!0)G=b.value,w=b.current?b.token:void 0}return O(i,w??t.createOutcomeToken(),{kind:"value",value:G},s)}finally{try{ve?.close()}finally{n.leave(t,i)}}};class y{#t=[];#n;#o=0;#i;#a=Mt;latchControlFault(e){if(this.#a.kind==="fault")return;this.#a=Object.freeze({kind:"fault",error:e})}getControlFault(){return this.#a}noteSelectorGraphPublication(e){let t=this.#n;if(t===void 0){this.#n=e,this.#o=1;return}if(Object.is(t,e)){this.#o++;return}let n=this.#i??(this.#i=new WeakMap);n.set(e,(n.get(e)??0)+1)}getSelectorGraphPublicationCount(e){return Object.is(this.#n,e)?this.#o:this.#i?.get(e)??0}enter(e,t,n){this.#t.push({host:e,selector:t,dependencyPrefix:n,revalidatePrefix:void 0,cycleError:void 0})}leave(e,t){let n=this.#t.pop();if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame corruption")}isActive(e,t){return this.#t.some((n)=>Object.is(n.host,e)&&Object.is(n.selector,t))}activeCyclePath(e,t){let n=this.#t.findIndex((o)=>Object.is(o.host,e)&&Object.is(o.selector,t));if(n===-1)return;return Object.freeze([...this.#t.slice(n).filter((o)=>Object.is(o.host,e)).map((o)=>o.selector),t])}setPrefixRevalidator(e,t,n){let o=this.#r(e,t);if(o.revalidatePrefix!==void 0)throw Error("Selector prefix revalidator is already installed");o.revalidatePrefix=n}revalidateAncestorPrefixes(e,t){this.#r(e,t);for(let n=0;n<this.#t.length-1;n++){let o=this.#t[n];if(!Object.is(o.host,e))continue;let r=o.revalidatePrefix;if(r===void 0)throw Error("Selector prefix revalidator is not installed");r()}}getTransientDependencies(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o.dependencyPrefix}return}latchCycle(e,t,n){let o=this.#s(e,t);o.cycleError??=n}getCycle(e,t){return this.#r(e,t).cycleError}#r(e,t){let n=this.#t[this.#t.length-1];if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame is not active");return n}#s(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o}throw Error("Selector evaluation frame is not active")}}var Mt=Object.freeze({kind:"none"});var at=Symbol("no-committed-selector-baseline");class ye{#t;#n=new Map;#o=new Map;#i=new Map;#a;#r=1;#s=0;#c;constructor(e,t,n){this.#t=e,this.#a=t,this.#c=n}readSelector(e){let t=new y,n=this.serve(e,t);if(n.outcome.kind!=="value")throw n.outcome.error;return n.outcome.value}advanceGeneration(e){if(e!==this.#a+1)throw Error("Scratch selector generation is not contiguous");this.#a=e,this.#n.clear(),this.#o.clear()}revoke(){this.#n.clear(),this.#o.clear(),this.#i.clear(),this.#t=void 0}serve(e,t){let n=this.#d(),o=n.resolveState(e,t);if(o.kind==="atom"){let a=this.#o.get(e);if(a!==void 0)return a;let d=Object.freeze({token:this.createOutcomeToken(),outcome:n.readDraftAtomOutcome(e,t)});return this.#o.set(e,d),d}let r=this.#n.get(e);if(r!==void 0)return r.served;let i=n.runSelectorActivity(t,()=>this.#c(o.definition,this,t));if(i.outcome.kind==="control-error")throw i.outcome.error;let s=Object.freeze({token:i.token,outcome:i.outcome});return this.#s++,t.noteSelectorGraphPublication(this),this.#n.set(e,Object.freeze({served:s,dependencies:i.dependencies})),s}getSelectorRecord(e){let t=this.#n.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorGraphVersion(){return this.#s}getComparisonBaseline(e){let t=this.#i.get(e);if(t===void 0)t=this.#d().captureCommittedSelectorSuccess(e)??at,this.#i.set(e,t);return t===at?void 0:Object.freeze({current:!1,value:t.value})}createOutcomeToken(){return Object.freeze({id:this.#r++})}#d(){if(this.#t===void 0)throw Error("Scratch selector host is revoked");return this.#t}}var dt=4096,zt=Object.freeze([]);class lt{onDeadReference;onEmptinessProbe;#t=new WeakMap;#n=new Set;constructor(e,t){this.onDeadReference=e;this.onEmptinessProbe=t}add(e){if(this.#t.has(e))return;let t=new WeakRef(e);this.#t.set(e,t),this.#n.add(t)}delete(e){let t=this.#t.get(e);if(t===void 0)return;this.#t.delete(e),this.#n.delete(t)}forEach(e){for(let t of this.#n){let n=t.deref();if(n===void 0){this.#n.delete(t),this.onDeadReference?.();continue}e(n)}}isEmpty(){for(let e of this.#n){if(this.onEmptinessProbe?.(),e.deref()!==void 0)return!1;this.#n.delete(e),this.onDeadReference?.()}return!0}clear(){this.#n.clear(),this.#t=new WeakMap}}class be{coordinator;parent;name;children;namedChildren=new Map;atomOverrides=new WeakMap;#t=new WeakMap;#n;#o=new WeakMap;#i;#a=new WeakMap;#r=new WeakSet;#s=0;#c=0;#d;#l=!1;#h;#u="live";constructor(e,t,n){this.coordinator=e,this.parent=t,this.name=n,this.children=this.#m(),this.#n=this.#m()}get status(){return this.#u}get facade(){if(this.#h===void 0)throw Error("Store scope facade is not installed");return this.#h}installFacade(e){if(this.#h!==void 0)throw Error("Store scope facade is already installed");this.#h=e}markDisposing(){if(this.#u==="live")this.#u="disposing"}markDisposed(){this.#u="disposed"}getAtomView(e){return this.#t.get(e)}getMaterializedServedOutcome(e){let t=this.#t.get(e);if(t!==void 0)return t.served;let n=e,o=this.#o.get(n);return o!==void 0&&!this.#r.has(n)?o.served:void 0}createAtomView(e,t,n){let o=this.#t.get(e);if(o!==void 0)return o;let r={scope:this,atom:e,served:Object.freeze({token:this.createOutcomeToken(),outcome:t}),inheritedFrom:n,inheritingChildren:this.#m()};if(this.#t.set(e,r),this.#n.add(r),n!==void 0)n.inheritingChildren.add(r),this.coordinator.recordCounter("routeAdds");return r}attachAtomView(e,t){if(Object.is(e.inheritedFrom,t))return;this.detachAtomView(e),e.inheritedFrom=t,t.inheritingChildren.add(e),this.coordinator.recordCounter("routeAdds")}detachAtomView(e){if(e.inheritedFrom===void 0)return;e.inheritedFrom.inheritingChildren.delete(e),e.inheritedFrom=void 0,this.coordinator.recordCounter("routeRemoves")}updateAtomView(e,t){e.served=Object.freeze({token:this.createOutcomeToken(),outcome:t}),this.coordinator.reachSubscriptionTarget(this,e.atom)}captureCommittedSelectorSuccess(e){let t=this.#o.get(e)?.lastSuccess;return t===void 0?void 0:Object.freeze({value:t.value})}isSelectorDirty(e){return this.#r.has(e)}getCommittedSelectorDependencies(e){return this.#o.get(e)?.dependencies}markDependents(e){this.#a.get(e)?.forEach((t)=>{if(this.coordinator.enqueueSelector(this,t))this.#r.add(t)})}dropRecords(){this.#n.forEach((e)=>{this.detachAtomView(e),e.inheritingChildren.clear()}),this.#n.clear(),this.atomOverrides=new WeakMap,this.#t=new WeakMap,this.#o=new WeakMap,this.#i=void 0,this.#a=new WeakMap,this.#r=new WeakSet,this.#s++,this.#e()}serve(e,t){let n=this.coordinator.runtimeDomain;if(U(n,e,t)==="invalid")throw TypeError("Selector get requires a valid State");return this.serveKnownLocal(e,t)}serveKnownLocal(e,t){let n=this.coordinator.runtimeDomain;if(n.atoms.has(e)){let a=this.#t.get(e);if(a!==void 0)return a.served;return this.coordinator.serveScopeAtom(this,e,t)}let o=n.selectors.get(e);if(o===void 0)throw TypeError("Unknown committed StoreTree state");let r=e,i=this.#o.get(r);if(i!==void 0&&this.coordinator.postSourceApply)this.coordinator.prepareSelectorRead(this,r,t),i=this.#o.get(r);if(i!==void 0&&!this.#r.has(r))return i.served;let s=ie(n,t,()=>this.coordinator.evaluate(o,this,t));if(s.outcome.kind==="control-error"&&!this.coordinator.postSourceApply)throw s.outcome.error;return this.#b(r,s,t)}getSelectorRecord(e){let t=this.#o.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorDependencyNodes(e){let t=this.#o.get(e);if(t===void 0)return;let n=e,o=this.#i?.get(n);if(o===void 0){let r=[];for(let s of t.dependencies)if(this.coordinator.runtimeDomain.selectors.has(s.node))r.push(s.node);o=Object.freeze(r);let i=this.#i;if(i===void 0)i=new WeakMap,this.#i=i;i.set(n,o)}return o}getSelectorGraphVersion(){return this.#s}beginSelectorGraphObservation(e){if(!this.coordinator.runtimeDomain.selectors.has(e))return;if(this.#c===0)this.#d=[],this.#l=!1;this.#c++;let t=this.#d?.length??0,n=!1;return Object.freeze({takeAddedEdges:()=>{if(n||this.#l)return;let o=this.#d;if(o===void 0)return;if(t===o.length)return zt;let r=Object.freeze(o.slice(t));return t=o.length,r},close:()=>{if(n)return;if(n=!0,this.#c--,this.#c!==0)return;this.#d=void 0,this.#l=!1}})}getComparisonBaseline(e){let t=this.#o.get(e);if(t?.lastSuccess===void 0)return;return t.served.outcome.kind==="value"?Object.freeze({current:!0,value:t.lastSuccess.value,token:t.served.token}):Object.freeze({current:!1,value:t.lastSuccess.value})}createOutcomeToken(){return this.coordinator.createOutcomeToken()}#b(e,t,n){let o=this.#o.get(e),r=Object.freeze({token:t.token,outcome:t.outcome}),i=Object.freeze({served:r,dependencies:t.dependencies,lastSuccess:t.outcome.kind==="value"?Object.freeze({value:t.outcome.value,token:t.token}):o?.lastSuccess}),s=this.#y(e,o?.dependencies??ct,t.dependencies),a=s?this.#S(e,o?.dependencies??ct,t.dependencies):void 0;if(s)this.#i?.delete(e);if(this.#s++,n.noteSelectorGraphPublication(this),this.#o.set(e,i),this.#r.delete(e),a!==void 0)this.#p(a);if(o!==void 0&&!Object.is(o.served.token,t.token))this.coordinator.reachSubscriptionTarget(this,e),this.markDependents(e);if(t.outcome.kind==="control-error")this.coordinator.latchPropagationControlFault(t.outcome.error);return r}#y(e,t,n){if(t.length===n.length){let o=0;while(o<t.length&&Object.is(t[o].node,n[o].node))o++;if(o===t.length)return!1}for(let o of t){let r=this.#a.get(o.node);if(r?.delete(e),r?.isEmpty())this.#a.delete(o.node)}for(let o of n){let r=this.#a.get(o.node);if(r===void 0)r=this.#m(),this.#a.set(o.node,r);r.add(e)}return!0}#S(e,t,n){if(this.#c===0||this.#l)return;let o=this.#d;if(o===void 0){this.#e();return}let r=dt-o.length,i=this.coordinator.runtimeDomain.selectors,s=new Set;for(let d of t)if(i.has(d.node))s.add(d.node);let a=[];for(let d of n)if(i.has(d.node)&&!s.has(d.node)){if(a.push(Object.freeze({tail:e,head:d.node})),a.length>r){this.#e();return}}return a}#p(e){if(e.length===0)return;let t=this.#d;if(t===void 0||t.length+e.length>dt){this.#e();return}t.push(...e)}#e(){if(this.#c===0)return;this.#d=[],this.#l=!0}#m(){return new lt(this.coordinator.instrumented?()=>this.coordinator.recordCounter("deadRouteCompactions"):void 0)}}var ct=Object.freeze([]);class Me{transaction=Object.freeze({});#t;#n;#o;#i;#a;#r;#s;#c;#d;#l;#h;#u;#b;#y;#S;#p;#e;generation=0;active=!0;constructor(e){this.#t=e}get hasIntents(){return this.#o!==void 0||this.#i!==void 0||this.#a!==void 0||this.#r!==void 0}get singleIntentScope(){return this.#n}get singleIntent(){return this.#i===void 0?this.#o:void 0}stage(e,t){let n=this.#r;if(n!==void 0){let i=n.get(e);if(i===void 0)i=this.#f(),n.set(e,i);i.set(t.atom,t),this.#m();return}let o=this.#a;if(o!==void 0){if(Object.is(this.#n,e))o.set(t.atom,t);else{let i=this.#f();i.set(this.#n,o);let s=this.#f();s.set(t.atom,t),i.set(e,s),this.#r=i,this.#a=void 0,this.#n=void 0}this.#m();return}let r=this.#o;if(r===void 0){this.#n=e,this.#o=t,this.#m();return}if(Object.is(this.#n,e)&&Object.is(r.atom,t.atom)){this.#o=t,this.#m();return}if(Object.is(this.#n,e)){let i=this.#i;if(i===void 0){this.#i=t,this.#m();return}if(Object.is(i.atom,t.atom)){this.#i=t,this.#m();return}let s=this.#f();s.set(r.atom,r),s.set(i.atom,i),s.set(t.atom,t),this.#a=s}else{let i=this.#f(),s=this.#f();if(s.set(r.atom,r),this.#i!==void 0)s.set(this.#i.atom,this.#i);i.set(this.#n,s);let a=this.#f();a.set(t.atom,t),i.set(e,a),this.#r=i,this.#n=void 0}this.#o=void 0,this.#i=void 0,this.#m()}forEachIntent(e){let t=this.#o;if(t!==void 0){if(e(this.#n,t),this.#i!==void 0)e(this.#n,this.#i);return}let n=this.#a;if(n!==void 0){let r=this.#n;for(let i of n.values())e(r,i);return}let o=this.#r;if(o===void 0)return;for(let[r,i]of o)for(let s of i.values())e(r,s)}getIntent(e,t){let n=this.#o;if(n!==void 0&&Object.is(this.#n,e)&&Object.is(n.atom,t))return n;let o=this.#i;if(o!==void 0&&Object.is(this.#n,e)&&Object.is(o.atom,t))return o;if(Object.is(this.#n,e))return this.#a?.get(t);return this.#r?.get(e)?.get(t)}getAtomBaseline(e,t){if(this.#d!==void 0&&Object.is(this.#s,e)&&Object.is(this.#c,t))return this.#d;if(this.#h!==void 0&&Object.is(this.#s,e)&&Object.is(this.#l,t))return this.#h;if(Object.is(this.#s,e))return this.#u?.get(t);return this.#b?.get(e)?.get(t)}setAtomBaseline(e,t,n){let o=this.#b;if(o!==void 0){let s=o.get(e);if(s===void 0)s=this.#f(),o.set(e,s);if(!s.has(t))s.set(t,n);return}let r=this.#u;if(r!==void 0){if(Object.is(this.#s,e)){if(!r.has(t))r.set(t,n)}else{let s=this.#f();s.set(this.#s,r);let a=this.#f();a.set(t,n),s.set(e,a),this.#b=s,this.#u=void 0,this.#s=void 0}return}let i=this.#d;if(i===void 0){this.#s=e,this.#c=t,this.#d=n;return}if(Object.is(this.#s,e)&&Object.is(this.#c,t))return;if(Object.is(this.#s,e)){let s=this.#h;if(s===void 0){this.#l=t,this.#h=n;return}if(Object.is(this.#l,t))return;let a=this.#f();a.set(this.#c,i),a.set(this.#l,s),a.set(t,n),this.#u=a}else{let s=this.#f(),a=this.#f();if(a.set(this.#c,i),this.#l!==void 0&&this.#h!==void 0)a.set(this.#l,this.#h);s.set(this.#s,a);let d=this.#f();d.set(t,n),s.set(e,d),this.#b=s,this.#s=void 0}this.#c=void 0,this.#d=void 0,this.#l=void 0,this.#h=void 0}getFallback(e){if(Object.is(this.#y,e))return this.#S;return this.#p?.get(e)}hasFallback(e){return Object.is(this.#y,e)||(this.#p?.has(e)??!1)}setFallback(e,t){let n=this.#p;if(n!==void 0){n.set(e,t);return}if(this.#S===void 0){this.#y=e,this.#S=t;return}if(Object.is(this.#y,e)){this.#S=t;return}let o=this.#f();o.set(this.#y,this.#S),o.set(e,t),this.#p=o,this.#y=void 0,this.#S=void 0}forEachFallback(e){if(this.#y!==void 0&&this.#S!==void 0)e(this.#y,this.#S);if(this.#p!==void 0)for(let[t,n]of this.#p)e(t,n)}#m(){this.generation+=1;let e=this.#e;if(e!==void 0)for(let t of e.values())t.advanceGeneration(this.generation)}getScratchHost(e){return this.#e?.get(e)}installScratchHost(e,t){let n=this.#e,o=n===void 0;if(n===void 0)n=new Map,this.#e=n;return n.set(e,t),o}close(){if(!this.active)return;this.active=!1;let e=this.#e;if(e!==void 0){for(let t of e.values())t.revoke();e.clear()}this.#e=void 0}release(){if(this.#a?.clear(),this.#r!==void 0){for(let e of this.#r.values())e.clear();this.#r.clear()}if(this.#u?.clear(),this.#b!==void 0){for(let e of this.#b.values())e.clear();this.#b.clear()}this.#p?.clear(),this.#n=void 0,this.#o=void 0,this.#i=void 0,this.#a=void 0,this.#r=void 0,this.#s=void 0,this.#c=void 0,this.#d=void 0,this.#l=void 0,this.#h=void 0,this.#u=void 0,this.#b=void 0,this.#y=void 0,this.#S=void 0,this.#p=void 0,this.#e?.clear(),this.#e=void 0}#f(){return this.#t?.(),new Map}}class ut{get;set;update;reset;scope;constructor(e,t,n){this.get=(o)=>e.transactionGet(t,n,o),this.set=(o,r)=>e.transactionSet(t,n,o,r),this.update=(o,r)=>e.transactionUpdate(t,n,o,r),this.reset=(o)=>e.transactionReset(t,n,o),this.scope=(...o)=>e.transactionScope(t,n,o[0],o.length,o[1]),se(this,e.runtimeDomain.ownerToken),e.runtimeDomain.transactionCursors.set(this,t),Object.freeze(this)}}var ze=(e,t,n)=>new ut(e,t,n),Fe=(e)=>{let t=N(e);if(t.kind==="not-thenable")return;if(t.kind==="inspection-error")throw t.error;throw E(t),new ee},ft=(e)=>{let t=N(e);if(t.kind==="not-thenable")throw e;if(t.kind==="inspection-error")throw t.error;throw E(t),new ee};var Ft=(e)=>function(){let n=e.target;if(n===void 0)return;n.host.removeSubscription(e)},At=Object.freeze({sourceEpoch:0,routeVisits:1,deadRouteCompactions:2,scratchHostAllocations:3,propagationSettlements:4,disposalVisits:5,warmParentHops:6,scopeNodesCreated:7,storeFacadesCreated:8,namedScopeHits:9,namedScopeMisses:10,routeAdds:11,routeRemoves:12,fallbackPublications:13,draftCreations:14,scratchMapAllocations:15,finalResolutionVisits:16,finalPreflightVisits:17,draftStorageAllocations:18,commitWorksetAllocations:19,subscriptionIndexMapsCreated:20,subscriptionTargetsCreated:21,subscriptionRegistrations:22,subscriptionRemovals:23,unsubscribeClosuresCreated:24,activeSubscriptionScopes:25,activeSubscriptionTargets:26,activeSubscriptions:27,notificationTargetsReached:28,notificationSnapshots:29,subscriberCallbacksAttempted:30,subscriberErrors:31}),_t=32,vt=new WeakMap,ln=()=>{let e=new Uint32Array(_t),t=Object.freeze({read(n){return e[At[n]]??0}});return vt.set(t,e),t},R=(e)=>Object.freeze({kind:"value",value:e}),Bt=(e)=>Object.freeze({kind:"error",error:e}),ht=(e)=>e.kind==="value"?R(e.value):Bt(e.error),St=(e,t)=>{if(e.kind!==t.kind)return!1;if(e.kind==="value"&&t.kind==="value")return Object.is(e.value,t.value);return e.kind!=="value"&&t.kind!=="value"&&Object.is(e.error,t.error)},pt=1,_e=2,mt=4,Ht=(e)=>({onAllocation:e,preflightAtom:void 0,preflightScope:void 0,preflightOutcome:void 0,secondPreflightAtom:void 0,secondPreflightScope:void 0,secondPreflightOutcome:void 0,preflight:void 0,consideredRecord:void 0,secondConsideredRecord:void 0,considered:void 0,affectedRecord:void 0,affectedBefore:void 0,secondAffectedRecord:void 0,secondAffectedBefore:void 0,affected:void 0}),He=(e)=>(e.onAllocation?.(),new Map),Gt=(e)=>(e.onAllocation?.(),new Set),Be=(e,t,n)=>{if(e.preflightOutcome!==void 0&&Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return e.preflightOutcome;if(e.secondPreflightOutcome!==void 0&&Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return e.secondPreflightOutcome;return e.preflight?.get(t)?.get(n)},yt=(e,t,n,o)=>{if(e.preflightOutcome===void 0){e.preflightAtom=t,e.preflightScope=n,e.preflightOutcome=o;return}if(Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return;if(e.secondPreflightOutcome===void 0){e.secondPreflightAtom=t,e.secondPreflightScope=n,e.secondPreflightOutcome=o;return}if(Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return;let r=e.preflight;if(r===void 0)r=He(e),e.preflight=r;let i=r.get(t);if(i===void 0)i=He(e),r.set(t,i);i.set(n,o)},Lt=(e,t)=>{if(Object.is(e.consideredRecord,t)||Object.is(e.secondConsideredRecord,t))return!1;if(e.consideredRecord===void 0)return e.consideredRecord=t,!0;if(e.secondConsideredRecord===void 0)return e.secondConsideredRecord=t,!0;let n=e.considered;if(n===void 0)n=Gt(e),e.considered=n;if(n.has(t))return!1;return n.add(t),!0},Wt=(e,t,n)=>{if(e.affectedRecord===void 0){e.affectedRecord=t,e.affectedBefore=n;return}if(e.secondAffectedRecord===void 0){e.secondAffectedRecord=t,e.secondAffectedBefore=n;return}let o=e.affected;if(o===void 0)o=He(e),e.affected=o;o.set(t,n)};class gt{#t=new WeakMap;#n;#o=1;#i=0;#a=!1;#r;#s;#c;#d=0;#l;#h;#u;#b=1;#y=0;#S;#p;#e;#m;#f;evaluate;constructor(e,t,n){this.#e=e,this.#m=t===void 0?void 0:vt.get(t),this.#f=n,this.evaluate=n?.evaluate??st,this.#n=new be(this),this.recordCounter("scopeNodesCreated")}get runtimeDomain(){return this.#e}get postSourceApply(){return this.#a}get instrumented(){return this.#m!==void 0}get rootScope(){return this.#n}recordCounter(e,t=1){let n=this.#m;if(n===void 0)return;n[At[e]]+=t}#T(){return this.recordCounter("draftCreations"),new Me(this.instrumented?()=>this.recordCounter("draftStorageAllocations"):void 0)}get(e,t){let n=new y,o=t,r=j(this.#e,o,n),i=Ie(this.#e,"StoreTree.get");if(this.#A(e),r==="invalid")throw TypeError("StoreTree.get requires a valid State");if(i===void 0){let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value")throw s.outcome.error;return s.outcome.value}try{let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value"){if(s.outcome.kind==="control-error")i.latchControlFault(s.outcome.error);throw s.outcome.error}return s.outcome.value}catch(s){let a=n.getControlFault();if(a.kind==="fault")i.latchControlFault(a.error);throw s}}sub(e,t,n){let o=t,r,i=this.#e.states.has(o)?"local":j(this.#e,o,r=new y);if(D(this.#e,"StoreTree.sub"),this.#A(e),i==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("StoreTree.sub requires a valid State");if(typeof n!=="function")throw TypeError("StoreTree.sub requires a callback function");let s=e.getMaterializedServedOutcome(o)??e.serveKnownLocal(o,r??new y);if(s.outcome.kind==="control-error")throw s.outcome.error;let a=this.#u;if(a===void 0){if(a=new Map,this.#u=a,this.instrumented)this.recordCounter("subscriptionIndexMapsCreated")}let d=a.get(e);if(d===void 0){if(d=new Map,a.set(e,d),this.instrumented)this.recordCounter("subscriptionIndexMapsCreated"),this.recordCounter("activeSubscriptionScopes")}let c=d.get(o);if(c===void 0){if(c={host:this,scope:e,state:o,head:void 0,tail:void 0,reachedEpoch:0},d.set(o,c),this.instrumented)this.recordCounter("subscriptionTargetsCreated"),this.recordCounter("activeSubscriptionTargets")}let l={callback:n,target:c,previous:c.tail,next:void 0};if(c.tail===void 0)c.head=l;else c.tail.next=l;if(c.tail=l,this.instrumented)this.recordCounter("subscriptionRegistrations"),this.recordCounter("activeSubscriptions"),this.recordCounter("unsubscribeClosuresCreated");return Ft(l)}removeSubscription(e){let t=e.target;if(t===void 0)return;Qe(this.#e);let{previous:n,next:o}=e;if(n===void 0)t.head=o;else n.next=o;if(o===void 0)t.tail=n;else o.previous=n;e.callback=void 0,e.target=void 0,e.previous=void 0,e.next=void 0;let r=this.instrumented;if(r)this.recordCounter("subscriptionRemovals"),this.recordCounter("activeSubscriptions",-1);if(t.head!==void 0)return;let i=this.#u,s=i?.get(t.scope);if(s?.get(t.state)===t){if(s.delete(t.state),r)this.recordCounter("activeSubscriptionTargets",-1)}if(s!==void 0&&s.size===0){if(i?.delete(t.scope),r)this.recordCounter("activeSubscriptionScopes",-1)}if(i?.size===0)this.#u=void 0}set(e,t,n){this.#O(e,t,"StoreTree.set","set",n)}update(e,t,n){this.#O(e,t,"StoreTree.update","update",n)}reset(e,t){this.#O(e,t,"StoreTree.reset","reset")}scope(e,t,n){if(t!==0&&(typeof n==="object"||typeof n==="function")&&n!==null)j(this.#e,n,new y);if(D(this.#e,"StoreTree.scope"),this.#A(e),t===0)return this.#P(e);if(t!==1||typeof n!=="string")throw TypeError("StoreTree.scope requires a string name");let o=e.namedChildren.get(n);if(o!==void 0)return this.recordCounter("namedScopeHits"),o.facade;return this.recordCounter("namedScopeMisses"),this.#P(e,n)}dispose(e){if(D(this.#e,"StoreTree.dispose"),e.status!=="live")return;let t=[],n=[Object.freeze({node:e,expanded:!1})];while(n.length>0){let{node:o,expanded:r}=n.pop();if(r){t.push(o);continue}o.markDisposing(),n.push(Object.freeze({node:o,expanded:!0}));let i=[];o.children.forEach((s)=>i.push(s));for(let s=i.length-1;s>=0;s--)n.push(Object.freeze({node:i[s],expanded:!1}))}for(let o of t){this.recordCounter("disposalVisits");let r=o.parent;if(r!==void 0){if(o.name!==void 0&&Object.is(r.namedChildren.get(o.name),o))r.namedChildren.delete(o.name);r.children.delete(o)}this.#$(o),o.dropRecords(),o.namedChildren.clear(),o.children.clear(),o.markDisposed()}if(Object.is(e,this.#n))this.#t=new WeakMap}txn(e,t,n){if(D(this.#e,"StoreTree.txn"),this.#A(e),typeof t!=="function"||n!==void 0&&typeof n!=="string")throw TypeError("StoreTree.txn requires a callback");let o=this.#T(),r=ze(this,o,e),i;try{i=$e(this.#e,o.transaction,()=>t(r))}catch(s){throw o.close(),o.release(),s}o.close();try{let s=new y;he(this.#e,s,()=>Fe(i)),this.#F(o)}finally{o.release()}return i}readHydrationSnapshot(e,t){let n=new y,o=t,r=j(this.#e,o,n);if(D(this.#e,"adapter readHydrationSnapshot"),this.#A(e),r==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("readHydrationSnapshot requires a valid State");let i=this.#T(),s;try{if(this.#e.atoms.has(o)){let a=this.#v(i,e,o,n);if(a.kind!=="value")throw a.error;return a.value}return s=this.#K(i,e),s.readSelector(o)}finally{s?.revoke(),i.close(),i.forEachFallback((a,d)=>{if(this.#t.has(a))return;this.#t.set(a,d),this.recordCounter("fallbackPublications")}),i.release()}}transactionGet(e,t,n){let o=n,r=new y,i=j(this.#e,o,r);if(Se(this.#e,e.transaction,e.active),this.#A(t),i==="invalid")throw TypeError("Transaction.get requires a valid State");if(this.#e.atoms.has(o)){let a=this.#v(e,t,o,r);if(a.kind!=="value")throw a.error;return a.value}if(!this.#e.selectors.has(o))throw TypeError("Transaction.get requires a readable State");let s=e.getScratchHost(t);if(s===void 0){if(s=this.#q(e,t),e.installScratchHost(t,s))this.recordCounter("scratchMapAllocations")}return s.readSelector(o)}transactionSet(e,t,n,o){let r=n,i=new y;this.#R(e,t,r,i,"Transaction.set"),this.#x(e,t,r,o,i)}transactionUpdate(e,t,n,o){let r=n,i=new y;this.#R(e,t,r,i,"Transaction.update"),this.#I(e,t,r,o,i,"Transaction.update")}transactionReset(e,t,n){let o=n,r=new y;this.#R(e,t,o,r,"Transaction.reset"),this.#M(e,t,o,r)}transactionScope(e,t,n,o,r){let i=new y;if(typeof n!=="string")j(this.#e,n,i);Se(this.#e,e.transaction,e.active),this.#A(t);let s=this.#Y(t,n);if(o!==1&&o!==2)throw TypeError("Transaction.scope requires a target and optional callback");let a=ze(this,e,s);if(o===1)return a;if(typeof r!=="function")throw TypeError("Transaction.scope requires a callback function");let d;try{d=r(a)}catch(l){let S=new y;return he(this.#e,S,()=>ft(l))}let c=new y;return he(this.#e,c,()=>Fe(d)),d}createOutcomeToken(){return Object.freeze({id:this.#o++})}#q(e,t){return this.recordCounter("scratchHostAllocations"),new ye(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#v(e,t,n,o),captureCommittedSelectorSuccess:(n)=>t.captureCommittedSelectorSuccess(n),runSelectorActivity:(n,o)=>ie(this.#e,n,o)}),e.generation,this.evaluate)}#K(e,t){return this.recordCounter("scratchHostAllocations"),new ye(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#v(e,t,n,o),captureCommittedSelectorSuccess:()=>{return},runSelectorActivity:(n,o)=>ie(this.#e,n,o)}),e.generation,this.evaluate)}#V(e,t){if(U(this.#e,e,t)==="invalid")throw TypeError("Selector get requires a valid State");if(this.#e.atoms.has(e))return Object.freeze({kind:"atom"});let n=this.#e.selectors.get(e);if(n===void 0)throw TypeError("Unknown scratch StoreTree State");return Object.freeze({kind:"selector",definition:n})}#P(e,t){let n=new be(this,e,t);this.recordCounter("scopeNodesCreated");let o=new Ge(this,n,this.#f);if(e.children.add(n),t!==void 0)e.namedChildren.set(t,n);return o}#Y(e,t){if(typeof t==="string"){let i=e.namedChildren.get(t);if(i===void 0)throw new Pe;return this.#A(i),i}let n=t,o=this.#e.stores.get(n);if(o!==void 0){let i=o;if(this.#A(i),!Object.is(i.coordinator,this))throw new je;return i}let r=this.#e.transactionCursors.get(n);if(r!==void 0){if(!r.active)throw new ue;throw new fe}throw new fe}#A(e){if(e.status!=="live")throw new Ve}#X(e,t,n,o){let r=j(this.#e,t,n);D(this.#e,o),this.#A(e),this.#j(t,r,o)}#O(e,t,n,o,r){let i=t,s=new y;this.#X(e,i,s,n);let a=this.#T();try{if(o==="set")this.#x(a,e,i,r,s);else if(o==="update")this.#I(a,e,i,r,s,n);else this.#M(a,e,i,s)}catch(d){throw a.close(),a.release(),d}a.close();try{this.#F(a)}finally{a.release()}}#$(e){let t=this.#u,n=t?.get(e);if(n===void 0)return;let o=0;for(let r of n.values()){let i=r.head;while(i!==void 0){let s=i.next;i.callback=void 0,i.target=void 0,i.previous=void 0,i.next=void 0,o++,i=s}r.head=void 0,r.tail=void 0}if(t.delete(e),t.size===0)this.#u=void 0;if(this.instrumented)this.recordCounter("subscriptionRemovals",o),this.recordCounter("activeSubscriptions",-o),this.recordCounter("activeSubscriptionTargets",-n.size),this.recordCounter("activeSubscriptionScopes",-1)}#R(e,t,n,o,r){let i=j(this.#e,n,o);Se(this.#e,e.transaction,e.active),this.#A(t),this.#j(n,i,r)}#j(e,t,n){if(t==="invalid"||!this.#e.atoms.has(e))throw TypeError(`${n} requires a valid Atom`)}#x(e,t,n,o,r){let i=_(this.#e,r,()=>oe(o));if(i.kind==="error")throw i.error;let s=this.#C(e,t,n,r);this.#U(e,t,n,i.value,s,r)}#I(e,t,n,o,r,i){if(typeof o!=="function")throw TypeError(`${i} requires an updater function`);let s=this.#C(e,t,n,r),a=e.hasIntents?this.#v(e,t,n,r):s.outcome;if(a.kind!=="value")throw a.error;let d=this.#J(o,a.value,r);this.#U(e,t,n,d,s,r)}#M(e,t,n,o){this.#C(e,t,n,o);let r=t.parent===void 0?Object.freeze({outcome:this.#N(e,n,o),reachesFallback:!0}):this.#z(e,t.parent,n,o);if(r.outcome.kind!=="value")throw r.outcome.error;let i=r.reachesFallback&&e.hasFallback(n);e.stage(t,Object.freeze({kind:"reset",atom:n,publishDraftFallback:i}))}#C(e,t,n,o){let r=e.getAtomBaseline(t,n);if(r!==void 0)return r;let i=t.atomOverrides.has(n),s=t,a;while(s!==void 0){if(s.atomOverrides.has(n)){a=R(s.atomOverrides.get(n));break}s=s.parent}let d=a===void 0,c=Object.freeze({owned:i,outcome:a??this.#N(e,n,o),reachesFallback:d});return e.setAtomBaseline(t,n,c),c}#v(e,t,n,o){return this.#z(e,t,n,o).outcome}#z(e,t,n,o){let r=t;while(r!==void 0){let i=e.getIntent(r,n);if(i?.kind==="set")return Object.freeze({outcome:R(i.value),reachesFallback:!1});if(i===void 0&&r.atomOverrides.has(n))return Object.freeze({outcome:R(r.atomOverrides.get(n)),reachesFallback:!1});r=r.parent}return Object.freeze({outcome:this.#N(e,n,o),reachesFallback:!0})}#N(e,t,n){let o=this.#t.get(t);if(o!==void 0)return o;let r=this.#g(t);if(r.fallback.kind==="eager")return R(r.fallback.value);let i=r.fallback.initialize,s=e.getFallback(t);if(s!==void 0)return s;let a=ht(_(this.#e,n,()=>xe(i)));return e.setFallback(t,a),a}#Q(e,t,n,o){let r=this.#g(e).equal;if(r===void 0)return Object.is(t,n)?t:n;return this.#Z(r,t,n,o)?t:n}#Z(e,t,n,o){return _(this.#e,o,()=>{let r;try{r=e(t,n)}catch(s){let a=N(s);if(a.kind==="not-thenable")throw s;if(a.kind==="inspection-error")throw a.error;throw E(a),new ne}let i=N(r);if(i.kind==="inspection-error")throw i.error;if(i.kind==="thenable")throw E(i),new ne;if(r!==!0&&r!==!1)throw new ne;return r})}#J(e,t,n){return _(this.#e,n,()=>{let o;try{o=e(t)}catch(i){let s=N(i);if(s.kind==="not-thenable")throw i;if(s.kind==="inspection-error")throw s.error;throw E(s),new te}let r=oe(o);if(r.kind==="error")throw r.error;return r.value})}#F(e){if(!e.hasIntents)return;let{singleIntent:t,singleIntentScope:n}=e;if(t?.kind==="reset"&&n!==void 0&&!t.publishDraftFallback&&e.getAtomBaseline(n,t.atom)?.owned===!1)return;let o=Ht(this.instrumented?()=>this.recordCounter("commitWorksetAllocations"):void 0),r,i;if(t!==void 0&&n!==void 0)r=this.#_(e,n,t,o);else e.forEachIntent((a,d)=>{let c=this.#_(e,a,d,o);if(r===void 0){r=c;return}if(i===void 0)i=[];i.push(c)});if(r===void 0)return;if(this.#f?.(1,e,this.#e.atoms),this.#B(e,r),i!==void 0)for(let a of i)this.#B(e,a);let s=this.#H(r);if(i!==void 0)for(let a of i){let d=this.#H(a);s||=d}if(this.#G(r),i!==void 0)for(let a of i)this.#G(a);this.#se();try{let a,d,c=o.affectedRecord,l=o.affectedBefore;if(c!==void 0&&l!==void 0)a=this.#E(o,c,l);let{secondAffectedRecord:S,secondAffectedBefore:b}=o;if(S!==void 0&&b!==void 0){let f=this.#E(o,S,b);if(f!==void 0)if(a===void 0)a=f;else d=[f]}if(o.affected!==void 0)for(let[f,p]of o.affected){let x=this.#E(o,f,p);if(x===void 0)continue;if(a===void 0)a=x;else{if(d===void 0)d=[];d.push(x)}}if(s)this.#i+=1,this.recordCounter("sourceEpoch");this.#f?.(2,a===void 0?0:1+(d?.length??0)),this.#ie(a,d)}catch(a){throw this.#k(),a}}#_(e,t,n,o){let r=e.getAtomBaseline(t,n.atom);if(r===void 0)throw Error("TreeDraft atom baseline is missing");this.#L(e,t,n.atom,o);let i=Object.freeze({scope:t,intent:n,ownershipChanged:n.kind==="set"?!r.owned||!Object.is(t.atomOverrides.get(n.atom),n.value):r.owned}),s=t.getAtomView(n.atom);if(s!==void 0)this.#ee(e,s,o);return i}#B(e,t){if(!t.intent.publishDraftFallback)return;let n=e.getFallback(t.intent.atom);if(n!==void 0&&!this.#t.has(t.intent.atom))this.#t.set(t.intent.atom,n),this.recordCounter("fallbackPublications")}#H(e){let{intent:t,scope:n}=e;if(t.kind==="set")n.atomOverrides.set(t.atom,t.value);else n.atomOverrides.delete(t.atom);return e.ownershipChanged}#G({scope:e,intent:t}){let n=e.getAtomView(t.atom);if(n===void 0)return;if(t.kind==="set"||e.parent===void 0)e.detachAtomView(n);else e.attachAtomView(n,this.#oe(e.parent,t.atom))}#E(e,t,n){let o=Be(e,t.atom,t.scope);if(o===void 0)throw Error("Affected AtomView final outcome is missing");if(this.recordCounter("finalResolutionVisits"),St(n,o))return;return t.scope.updateAtomView(t,o),t}#ee(e,t,n){let o=[t];while(o.length!==0){let r=o.pop();if(!Lt(n,r))continue;let i=r.served.outcome,s=this.#L(e,r.scope,r.atom,n);if(St(i,s))continue;Wt(n,r,i);let a=o.length;r.inheritingChildren.forEach((d)=>{this.recordCounter("routeVisits"),o.push(d)});for(let d=a,c=o.length-1;d<c;d++,c--){let l=o[d];o[d]=o[c],o[c]=l}}}#L(e,t,n,o){let r=Be(o,n,t);if(r!==void 0)return r;let i=t,s,a,d;while(i!==void 0){let c=Be(o,n,i);if(c!==void 0){d=c;break}if(s===void 0)s=i;else{if(a===void 0)a=[];a.push(i)}let l=e.getIntent(i,n);if(l?.kind==="set"){d=R(l.value);break}if(l===void 0&&i.atomOverrides.has(n)){d=R(i.atomOverrides.get(n));break}i=i.parent}if(d??=this.#te(e,n),s!==void 0)yt(o,n,s,d),this.recordCounter("finalPreflightVisits");if(a!==void 0)for(let c of a)yt(o,n,c,d),this.recordCounter("finalPreflightVisits");return d}#te(e,t){let n=this.#t.get(t);if(n!==void 0)return n;let o=e.getFallback(t);if(o!==void 0)return o;let r=this.#g(t);if(r.fallback.kind==="eager")return R(r.fallback.value);throw Error("Final Atom fallback was not resolved during staging")}#ne(e){let t=this.#t.get(e);if(t!==void 0)return t;let n=this.#g(e);if(n.fallback.kind==="eager")return R(n.fallback.value);throw Error("Committed Atom fallback is not materialized")}#oe(e,t){let n=e,o=[],r;while(!0){let i=n.getAtomView(t);if(i!==void 0){r=i;break}if(n.atomOverrides.has(t)){r=n.createAtomView(t,R(n.atomOverrides.get(t)));break}if(n.parent===void 0){r=n.createAtomView(t,this.#ne(t));break}o.push(n),n=n.parent}for(let i=o.length-1;i>=0;i--)r=o[i].createAtomView(t,r.served.outcome,r);return r}serveScopeAtom(e,t,n){let o=e,r=[],i;while(!0){let s=o.getAtomView(t);if(s!==void 0){i=s;break}if(o.atomOverrides.has(t)){i=o.createAtomView(t,R(o.atomOverrides.get(t)));break}if(o.parent===void 0){i=o.createAtomView(t,this.#re(t,n));break}this.recordCounter("warmParentHops"),r.push(o),o=o.parent}for(let s=r.length-1;s>=0;s--)i=r[s].createAtomView(t,i.served.outcome,i);return i.served}#re(e,t){let n=this.#t.get(e);if(n!==void 0)return n;let o=this.#g(e);if(o.fallback.kind==="eager")return R(o.fallback.value);let r=o.fallback.initialize,i=ht(_(this.#e,t,()=>xe(r)));return this.#t.set(e,i),this.recordCounter("fallbackPublications"),i}#g(e){let t=this.#e.atoms.get(e);if(t===void 0)throw TypeError("Unknown committed StoreTree Atom");return t}#ie(e,t){if(e===void 0){this.#k();return}this.recordCounter("propagationSettlements"),this.#r=[],this.#s=void 0,this.#c=void 0,this.#d=0,this.#l=void 0,this.#h=void 0,this.#a=!0;let n;try{if(e.scope.markDependents(e.atom),t!==void 0)for(let r of t)r.scope.markDependents(r.atom);let o=0;while(o<this.#r.length){let r=this.#r[o++],i=this.#r[o++];this.#D(r,i)}}finally{n=this.#h,this.#h=void 0,this.#a=!1,this.#r=void 0,this.#s=void 0,this.#c=void 0,this.#d=0,this.#l=void 0}this.#ae(n)}#se(){this.#S=void 0,this.#p=void 0,this.#y=this.#u===void 0?0:this.#b++}#k(){this.#y=0,this.#S=void 0,this.#p=void 0}reachSubscriptionTarget(e,t){let n=this.#y,o=this.#u?.get(e)?.get(t);if(n===0||o===void 0||o.reachedEpoch===n)return;if(o.reachedEpoch=n,this.instrumented)this.recordCounter("notificationTargetsReached");if(this.#S===void 0){this.#S=o;return}if(this.#p===void 0)this.#p=[o];else this.#p.push(o)}#ae(e){let t=this.#S;if(t===void 0){if(this.#k(),e!==void 0)throw e;return}let n,o,r=(c)=>{let l=c.head;while(l!==void 0){let S=l.callback;if(S!==void 0)if(n===void 0)n=S;else if(o===void 0)o=[n,S];else o.push(S);l=l.next}};r(t);let i=this.#p;if(i!==void 0)for(let c of i)r(c);if(this.#k(),n===void 0){if(e!==void 0)throw e;return}let s=Object.freeze(o??[n]),a=this.instrumented;if(a)this.recordCounter("notificationSnapshots");let d;for(let c of s){if(a)this.recordCounter("subscriberCallbacksAttempted");let l=new y,S=!1,b;try{Xe(this.#e,l,()=>{try{let f=c(),p=N(f);if(p.kind==="thenable")E(p);else if(p.kind==="inspection-error")S=!0,b=p.error}catch(f){S=!0,b=f;let p=N(f);if(p.kind==="thenable")E(p)}})}catch(f){S=!0,b=f}if(S){if(d===void 0)d=[];if(d.push(b),a)this.recordCounter("subscriberErrors")}}if(d===void 0){if(e!==void 0)throw e;return}throw new De(e===void 0?d:[e,...d])}enqueueSelector(e,t){let n=this.#r;if(n===void 0)return!1;if((this.#W(e,t)&pt)!==0)return!0;return this.#w(e,t,pt),n.push(e,t),!0}prepareSelectorRead(e,t,n){if(this.#r===void 0)return;this.#D(e,t,n)}#D(e,t,n){if((this.#W(e,t)&(mt|_e))!==0)return;this.#w(e,t,_e);try{let r=e.getSelectorGraphVersion(),i=e.getCommittedSelectorDependencies(t);if(i!==void 0){for(let s of i)if(this.#e.selectors.has(s.node))this.#D(e,s.node)}if(e.isSelectorDirty(t)){let s=r===e.getSelectorGraphVersion();if(n!==void 0&&s)e.serve(t,n);else e.serve(t,new y)}this.#w(e,t,mt)}finally{this.#w(e,t,0,_e)}}#W(e,t){if(Object.is(this.#s,e)&&Object.is(this.#c,t))return this.#d;return this.#l?.get(e)?.get(t)??0}#w(e,t,n,o=0){if(this.#s===void 0){this.#s=e,this.#c=t,this.#d=n&~o;return}if(Object.is(this.#s,e)&&Object.is(this.#c,t)){this.#d=(this.#d|n)&~o;return}let r=this.#l;if(r===void 0)r=new Map,this.#l=r;let i=r.get(e);if(i===void 0)i=new Map,r.set(e,i);i.set(t,((i.get(t)??0)|n)&~o)}latchPropagationControlFault(e){this.#h??=e}#U(e,t,n,o,r,i){let s=r.outcome.kind==="value"?this.#Q(n,r.outcome.value,o,i):o;e.stage(t,Object.freeze({kind:"set",atom:n,value:s,publishDraftFallback:r.reachesFallback&&e.hasFallback(n)}))}}class Ge{get;sub;set;update;reset;txn;scope;dispose;constructor(e,t,n){this.get=(o)=>e.get(t,o),this.sub=(o,r)=>e.sub(t,o,r),this.set=(o,r)=>e.set(t,o,r),this.update=(o,r)=>e.update(t,o,r),this.reset=(o)=>e.reset(t,o),this.txn=(o,r)=>e.txn(t,o,r),this.scope=function(o){return e.scope(t,arguments.length,o)},this.dispose=()=>e.dispose(t),t.installFacade(this),se(this,e.runtimeDomain.ownerToken),e.runtimeDomain.stores.set(this,t),e.recordCounter("storeFacadesCreated"),n?.(0,this,t),Object.freeze(this)}}var bt=(e)=>{if(e.equal!==void 0&&typeof e.equal!=="function")throw TypeError("Atom equal must be a function");return{...e.name===void 0?{}:{name:e.name},...e.equal===void 0?{}:{equal:e.equal}}},kt=(e)=>{let t={states:new WeakSet,atoms:new WeakMap,selectors:new WeakMap,stores:new WeakMap,transactionCursors:new WeakMap,ownerToken:Object.freeze({}),activity:void 0},n=(d,c={})=>{let l=new y,S=_(t,l,()=>oe(d));if(S.kind==="error")throw S.error;let b=pe("atom",t.ownerToken);return t.states.add(b),t.atoms.set(b,Object.freeze({fallback:Object.freeze({kind:"eager",value:S.value}),...bt(c)})),b},o=(d,c={})=>{if(typeof d!=="function")throw TypeError("atomLazy requires an initializer function");let l=pe("atom",t.ownerToken);return t.states.add(l),t.atoms.set(l,Object.freeze({fallback:Object.freeze({kind:"lazy",initialize:d}),...bt(c)})),l},r=(d,c={})=>{if(typeof d!=="function")throw TypeError("selector requires a getter function");if(c.equal!==void 0&&typeof c.equal!=="function")throw TypeError("selector equal must be a function");let l=pe("selector",t.ownerToken),S=Object.freeze({node:l,get:d,...c.name===void 0?{}:{name:c.name},...c.equal===void 0?{}:{equal:c.equal}});return t.states.add(l),t.selectors.set(l,S),l},i=(d)=>{let c=new y;if(j(t,d,c)==="invalid")return;return t.stores.get(d)},a=Object.freeze({assertStore:(d)=>{let c=i(d);if(D(t,"adapter assertStore"),c===void 0)throw TypeError("assertStore requires a valid Store")},read:(d,c)=>{if(i(d)===void 0)throw Ie(t,"adapter read"),TypeError("read requires a valid Store");return d.get(c)},subscribe:(d,c,l)=>{if(i(d)===void 0)throw D(t,"adapter subscribe"),TypeError("subscribe requires a valid Store");return d.sub(c,l)},readHydrationSnapshot:(d,c)=>{let l=i(d);if(l===void 0)throw D(t,"adapter readHydrationSnapshot"),TypeError("readHydrationSnapshot requires a valid Store");return l.coordinator.readHydrationSnapshot(l,c)}});return Object.freeze({atom:n,atomLazy:o,selector:r,adapter:a,createStoreTree:(d=e,c)=>{D(t,"createStoreTree");let l=new gt(t,d,c);return new Ge(l,l.rootScope,c)}})};var Ut=kt(),hn=(e,t)=>Ut.createStoreTree(e,t);
2
- export{J as a,st as b,Ee as c,De as d,q as e,K as f,Y as g,ue as h,ee as i,te as j,ne as k,Ve as l,Pe as m,je as n,fe as o,ln as p,Ut as q,hn as r};