@atom.io/template-preact-svg-editor 0.0.49 → 0.0.50
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/.turbo/turbo-build.log
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
|
|
2
|
-
> @atom.io/template-preact-svg-editor@0.0.
|
|
2
|
+
> @atom.io/template-preact-svg-editor@0.0.50 build /home/runner/work/wayforge/wayforge/templates/preact-svg-editor
|
|
3
3
|
> vite build
|
|
4
4
|
|
|
5
|
-
[36mvite v8.0.
|
|
5
|
+
[36mvite v8.0.3 [32mbuilding client environment for production...[36m[39m
|
|
6
6
|
[2K
|
|
7
7
|
rendering chunks...
|
|
8
8
|
computing gzip size...
|
|
9
9
|
dist/index.html 0.52 kB │ gzip: 0.32 kB
|
|
10
10
|
dist/assets/index-iBTIqdJW.css 1.58 kB │ gzip: 0.71 kB
|
|
11
|
-
dist/assets/index-
|
|
11
|
+
dist/assets/index-CI1UlrYK.js 80.93 kB │ gzip: 25.28 kB
|
|
12
12
|
|
|
13
|
-
[32m✓ built in
|
|
13
|
+
[32m✓ built in 152ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e,t,n,r,i,a,o,s,c,l,u,d,f={},p=[],m=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,h=Array.isArray;function g(e,t){for(var n in t)e[n]=t[n];return e}function _(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function v(t,n,r){var i,a,o,s={};for(o in n)o==`key`?i=n[o]:o==`ref`?a=n[o]:s[o]=n[o];if(arguments.length>2&&(s.children=arguments.length>3?e.call(arguments,2):r),typeof t==`function`&&t.defaultProps!=null)for(o in t.defaultProps)s[o]===void 0&&(s[o]=t.defaultProps[o]);return y(t,s,i,a,null)}function y(e,r,i,a,o){var s={type:e,props:r,key:i,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o??++n,__i:-1,__u:0};return o==null&&t.vnode!=null&&t.vnode(s),s}function b(e){return e.children}function x(e,t){this.props=e,this.context=t}function S(e,t){if(t==null)return e.__?S(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type==`function`?S(e):null}function C(e){if(e.__P&&e.__d){var n=e.__v,r=n.__e,i=[],a=[],o=g({},n);o.__v=n.__v+1,t.vnode&&t.vnode(o),ae(e.__P,o,n,e.__n,e.__P.namespaceURI,32&n.__u?[r]:null,i,r??S(n),!!(32&n.__u),a),o.__v=n.__v,o.__.__k[o.__i]=o,se(i,o,a),n.__e=n.__=null,o.__e!=r&&w(o)}}function w(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),w(e)}function T(e){(!e.__d&&(e.__d=!0)&&r.push(e)&&!E.__r++||i!=t.debounceRendering)&&((i=t.debounceRendering)||a)(E)}function E(){try{for(var e,t=1;r.length;)r.length>t&&r.sort(o),e=r.shift(),t=r.length,C(e)}finally{r.length=E.__r=0}}function ee(e,t,n,r,i,a,o,s,c,l,u){var d,m,h,g,_,v,y,b=r&&r.__k||p,x=t.length;for(c=D(n,t,b,c,x),d=0;d<x;d++)(h=n.__k[d])!=null&&(m=h.__i!=-1&&b[h.__i]||f,h.__i=d,v=ae(e,h,m,i,a,o,s,c,l,u),g=h.__e,h.ref&&m.ref!=h.ref&&(m.ref&&ue(m.ref,null,h),u.push(h.ref,h.__c||g,h)),_==null&&g!=null&&(_=g),(y=!!(4&h.__u))||m.__k===h.__k?c=O(h,c,e,y):typeof h.type==`function`&&v!==void 0?c=v:g&&(c=g.nextSibling),h.__u&=-7);return n.__e=_,c}function D(e,t,n,r,i){var a,o,s,c,l,u=n.length,d=u,f=0;for(e.__k=Array(i),a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(typeof o==`string`||typeof o==`number`||typeof o==`bigint`||o.constructor==String?o=e.__k[a]=y(null,o,null,null,null):h(o)?o=e.__k[a]=y(b,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=e.__k[a]=y(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):e.__k[a]=o,c=a+f,o.__=e,o.__b=e.__b+1,s=null,(l=o.__i=ne(o,n,c,d))!=-1&&(d--,(s=n[l])&&(s.__u|=2)),s==null||s.__v==null?(l==-1&&(i>u?f--:i<u&&f++),typeof o.type!=`function`&&(o.__u|=4)):l!=c&&(l==c-1?f--:l==c+1?f++:(l>c?f--:f++,o.__u|=4))):e.__k[a]=null;if(d)for(a=0;a<u;a++)(s=n[a])!=null&&!(2&s.__u)&&(s.__e==r&&(r=S(s)),de(s,s));return r}function O(e,t,n,r){var i,a;if(typeof e.type==`function`){for(i=e.__k,a=0;i&&a<i.length;a++)i[a]&&(i[a].__=e,t=O(i[a],t,n,r));return t}e.__e!=t&&(r&&(t&&e.type&&!t.parentNode&&(t=S(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t&&=t.nextSibling;while(t!=null&&t.nodeType==8);return t}function te(e,t){return t||=[],e==null||typeof e==`boolean`||(h(e)?e.some(function(e){te(e,t)}):t.push(e)),t}function ne(e,t,n,r){var i,a,o,s=e.key,c=e.type,l=t[n],u=l!=null&&(2&l.__u)==0;if(l===null&&s==null||u&&s==l.key&&c==l.type)return n;if(r>(u?1:0)){for(i=n-1,a=n+1;i>=0||a<t.length;)if((l=t[o=i>=0?i--:a++])!=null&&!(2&l.__u)&&s==l.key&&c==l.type)return o}return-1}function re(e,t,n){t[0]==`-`?e.setProperty(t,n??``):e[t]=n==null?``:typeof n!=`number`||m.test(t)?n:n+`px`}function k(e,t,n,r,i){var a,o;n:if(t==`style`)if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||re(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||re(e.style,t,n[t])}else if(t[0]==`o`&&t[1]==`n`)a=t!=(t=t.replace(s,`$1`)),o=t.toLowerCase(),t=o in e||t==`onFocusOut`||t==`onFocusIn`?o.slice(2):t.slice(2),e.l||={},e.l[t+a]=n,n?r?n.u=r.u:(n.u=c,e.addEventListener(t,a?u:l,a)):e.removeEventListener(t,a?u:l,a);else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n??``;break n}catch{}typeof n==`function`||(n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n))}}function ie(e){return function(n){if(this.l){var r=this.l[n.type+e];if(n.t==null)n.t=c++;else if(n.t<r.u)return;return r(t.event?t.event(n):n)}}}function ae(e,n,r,i,a,o,s,c,l,u){var d,f,m,v,y,S,C,w,T,E,D,O,te,ne,re,k=n.type;if(n.constructor!==void 0)return null;128&r.__u&&(l=!!(32&r.__u),o=[c=n.__e=r.__e]),(d=t.__b)&&d(n);n:if(typeof k==`function`)try{if(w=n.props,T=k.prototype&&k.prototype.render,E=(d=k.contextType)&&i[d.__c],D=d?E?E.props.value:d.__:i,r.__c?C=(f=n.__c=r.__c).__=f.__E:(T?n.__c=f=new k(w,D):(n.__c=f=new x(w,D),f.constructor=k,f.render=fe),E&&E.sub(f),f.state||={},f.__n=i,m=f.__d=!0,f.__h=[],f._sb=[]),T&&f.__s==null&&(f.__s=f.state),T&&k.getDerivedStateFromProps!=null&&(f.__s==f.state&&(f.__s=g({},f.__s)),g(f.__s,k.getDerivedStateFromProps(w,f.__s))),v=f.props,y=f.state,f.__v=n,m)T&&k.getDerivedStateFromProps==null&&f.componentWillMount!=null&&f.componentWillMount(),T&&f.componentDidMount!=null&&f.__h.push(f.componentDidMount);else{if(T&&k.getDerivedStateFromProps==null&&w!==v&&f.componentWillReceiveProps!=null&&f.componentWillReceiveProps(w,D),n.__v==r.__v||!f.__e&&f.shouldComponentUpdate!=null&&!1===f.shouldComponentUpdate(w,f.__s,D)){n.__v!=r.__v&&(f.props=w,f.state=f.__s,f.__d=!1),n.__e=r.__e,n.__k=r.__k,n.__k.some(function(e){e&&(e.__=n)}),p.push.apply(f.__h,f._sb),f._sb=[],f.__h.length&&s.push(f);break n}f.componentWillUpdate!=null&&f.componentWillUpdate(w,f.__s,D),T&&f.componentDidUpdate!=null&&f.__h.push(function(){f.componentDidUpdate(v,y,S)})}if(f.context=D,f.props=w,f.__P=e,f.__e=!1,O=t.__r,te=0,T)f.state=f.__s,f.__d=!1,O&&O(n),d=f.render(f.props,f.state,f.context),p.push.apply(f.__h,f._sb),f._sb=[];else do f.__d=!1,O&&O(n),d=f.render(f.props,f.state,f.context),f.state=f.__s;while(f.__d&&++te<25);f.state=f.__s,f.getChildContext!=null&&(i=g(g({},i),f.getChildContext())),T&&!m&&f.getSnapshotBeforeUpdate!=null&&(S=f.getSnapshotBeforeUpdate(v,y)),ne=d!=null&&d.type===b&&d.key==null?ce(d.props.children):d,c=ee(e,h(ne)?ne:[ne],n,r,i,a,o,s,c,l,u),f.base=n.__e,n.__u&=-161,f.__h.length&&s.push(f),C&&(f.__E=f.__=null)}catch(e){if(n.__v=null,l||o!=null)if(e.then){for(n.__u|=l?160:128;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;o[o.indexOf(c)]=null,n.__e=c}else{for(re=o.length;re--;)_(o[re]);oe(n)}else n.__e=r.__e,n.__k=r.__k,e.then||oe(n);t.__e(e,n,r)}else o==null&&n.__v==r.__v?(n.__k=r.__k,n.__e=r.__e):c=n.__e=le(r.__e,n,r,i,a,o,s,l,u);return(d=t.diffed)&&d(n),128&n.__u?void 0:c}function oe(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(oe))}function se(e,n,r){for(var i=0;i<r.length;i++)ue(r[i],r[++i],r[++i]);t.__c&&t.__c(n,e),e.some(function(n){try{e=n.__h,n.__h=[],e.some(function(e){e.call(n)})}catch(e){t.__e(e,n.__v)}})}function ce(e){return typeof e!=`object`||!e||e.__b>0?e:h(e)?e.map(ce):g({},e)}function le(n,r,i,a,o,s,c,l,u){var d,p,m,g,v,y,b,x=i.props||f,C=r.props,w=r.type;if(w==`svg`?o=`http://www.w3.org/2000/svg`:w==`math`?o=`http://www.w3.org/1998/Math/MathML`:o||=`http://www.w3.org/1999/xhtml`,s!=null){for(d=0;d<s.length;d++)if((v=s[d])&&`setAttribute`in v==!!w&&(w?v.localName==w:v.nodeType==3)){n=v,s[d]=null;break}}if(n==null){if(w==null)return document.createTextNode(C);n=document.createElementNS(o,w,C.is&&C),l&&=(t.__m&&t.__m(r,s),!1),s=null}if(w==null)x===C||l&&n.data==C||(n.data=C);else{if(s&&=e.call(n.childNodes),!l&&s!=null)for(x={},d=0;d<n.attributes.length;d++)x[(v=n.attributes[d]).name]=v.value;for(d in x)v=x[d],d==`dangerouslySetInnerHTML`?m=v:d==`children`||d in C||d==`value`&&`defaultValue`in C||d==`checked`&&`defaultChecked`in C||k(n,d,null,v,o);for(d in C)v=C[d],d==`children`?g=v:d==`dangerouslySetInnerHTML`?p=v:d==`value`?y=v:d==`checked`?b=v:l&&typeof v!=`function`||x[d]===v||k(n,d,v,x[d],o);if(p)l||m&&(p.__html==m.__html||p.__html==n.innerHTML)||(n.innerHTML=p.__html),r.__k=[];else if(m&&(n.innerHTML=``),ee(r.type==`template`?n.content:n,h(g)?g:[g],r,i,a,w==`foreignObject`?`http://www.w3.org/1999/xhtml`:o,s,c,s?s[0]:i.__k&&S(i,0),l,u),s!=null)for(d=s.length;d--;)_(s[d]);l||(d=`value`,w==`progress`&&y==null?n.removeAttribute(`value`):y!=null&&(y!==n[d]||w==`progress`&&!y||w==`option`&&y!=x[d])&&k(n,d,y,x[d],o),d=`checked`,b!=null&&b!=n[d]&&k(n,d,b,x[d],o))}return n}function ue(e,n,r){try{if(typeof e==`function`){var i=typeof e.__u==`function`;i&&e.__u(),i&&n==null||(e.__u=e(n))}else e.current=n}catch(e){t.__e(e,r)}}function de(e,n,r){var i,a;if(t.unmount&&t.unmount(e),(i=e.ref)&&(i.current&&i.current!=e.__e||ue(i,null,n)),(i=e.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(e){t.__e(e,n)}i.base=i.__P=null}if(i=e.__k)for(a=0;a<i.length;a++)i[a]&&de(i[a],n,r||typeof e.type!=`function`);r||_(e.__e),e.__c=e.__=e.__e=void 0}function fe(e,t,n){return this.constructor(e,n)}function pe(n,r,i){var a,o,s,c;r==document&&(r=document.documentElement),t.__&&t.__(n,r),o=(a=typeof i==`function`)?null:i&&i.__k||r.__k,s=[],c=[],ae(r,n=(!a&&i||r).__k=v(b,null,[n]),o||f,f,r.namespaceURI,!a&&i?[i]:o?null:r.firstChild?e.call(r.childNodes):null,s,!a&&i?i:o?o.__e:r.firstChild,a,c),se(s,n,c)}function me(e){function t(e){var n,r;return this.getChildContext||(n=new Set,(r={})[t.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(e){this.props.value!=e.value&&n.forEach(function(e){e.__e=!0,T(e)})},this.sub=function(e){n.add(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n&&n.delete(e),t&&t.call(e)}}),e.children}return t.__c=`__cC`+ d++,t.__=e,t.Provider=t.__l=(t.Consumer=function(e,t){return e.children(t)}).contextType=t,t}e=p.slice,t={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,r||{}),o=i.__d),o)return i.__E=i}catch(t){e=t}throw e}},n=0,x.prototype.setState=function(e,t){var n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=g({},this.state);typeof e==`function`&&(e=e(g({},n),this.props)),e&&g(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),T(this))},x.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),T(this))},x.prototype.render=b,r=[],a=typeof Promise==`function`?Promise.prototype.then.bind(Promise.resolve()):setTimeout,o=function(e,t){return e.__v.__b-t.__v.__b},E.__r=0,s=/(PointerCapture)$|Capture$/i,c=0,l=ie(!1),u=ie(!0),d=0;var he=``,ge=``,_e=``,ve=``;function ye(e){if(e===null)return ge;switch(typeof e){case`string`:return _e+e;case`number`:return ve+e;case`boolean`:return he+ +e;case`object`:return JSON.stringify(e)}}function be(e){switch(e[0]){case _e:return e.slice(1);case ve:return+e.slice(1);case he:return e.slice(1)===`1`;case ge:return null;case`[`:return JSON.parse(e)}}function xe(e){let t={},n=0;for(let r of e)t[r]=n,t[n]=r,++n;return t}function A(e){return JSON.parse(e)}var j=e=>JSON.stringify(e);Array.prototype,Boolean.prototype,Number.prototype,String.prototype;var Se=xe([`add`,`delete`,`clear`]),Ce=class e extends Set{mode=`record`;subject=new P;constructor(t){super(t),t instanceof e}READONLY_VIEW=this;toJSON(){return[...this]}static fromJSON(t){return new e(t)}add(e){let t=super.add(e);return this.mode===`record`&&this.emit({type:`add`,value:e}),t}clear(){let e=this.mode===`record`?[...this]:null;super.clear(),e&&this.emit({type:`clear`,values:e})}delete(e){let t=super.delete(e);return this.mode===`record`&&this.emit({type:`delete`,value:e}),t}subscribe(e,t){return this.subject.subscribe(e,t)}emit(t){this.subject.next(e.packUpdate(t))}do(t){this.mode=`playback`;let n=e.unpackUpdate(t);switch(n.type){case`add`:this.add(n.value);break;case`delete`:this.delete(n.value);break;case`clear`:this.clear()}return this.mode=`record`,null}undo(t){let n=e.unpackUpdate(t);switch(this.mode=`playback`,n.type){case`add`:this.delete(n.value);break;case`delete`:this.add(n.value);break;case`clear`:{let e=n.values;for(let t of e)this.add(t)}}return this.mode=`record`,null}static packUpdate(e){let t=Se[e.type]+``;return e.type===`clear`?t+e.values.map(ye).join(``):t+ye(e.value)}static unpackUpdate(e){let[t,n]=e.split(``),r=Se[t];return r===`clear`?{type:`clear`,values:n.split(``).map(be)}:{type:r,value:be(n)}}};function we(e=Math.random){return e().toString(36).slice(2)}function M(e){let t=e;for(;t.child!==null;)t=t.child;return t}function Te(e){let t=e;for(;t.parent!==null;)t=t.parent;return t}var Ee=/^\[object (?:Async|Generator|AsyncGenerator)?Function\]$/;function N(e){let t=Object.prototype.toString.call(e);return Ee.test(t)}function De(e,t){return N(e)?e(t):e}var Oe=class extends Promise{fate;resolve;reject;done=!1;constructor(e){let t,n;super((e,r)=>{t=e,n=r}),this.resolve=t,this.reject=n,this.use(e instanceof Promise?e:new Promise(e))}pass(e,t){e===this.fate&&(this.resolve(t),this.done=!0)}fail(e,t){e===this.fate&&(this.reject(t),this.done=!0)}use(e){if(this!==e)if(e instanceof Promise){let t=e;this.fate=t,t.then(e=>{this.pass(t,e)},e=>{this.fail(t,e)})}else this.resolve(e),this.fate=void 0}},P=class{Subscriber;subscribers=new Map;subscribe(e,t){return this.subscribers.set(e,t),()=>{this.unsubscribe(e)}}unsubscribe(e){this.subscribers.delete(e)}next(e){let t=this.subscribers.values();for(let n of t)n(e)}},ke=class extends P{state;constructor(e){super(),this.state=e}next(e){this.state=e,super.next(e)}},Ae=class e{_buffer;_index=0;constructor(e){let t;t=typeof e==`number`?e:e.length,this._buffer=Array.from({length:t})}get buffer(){return this._buffer}get index(){return this._index}add(e){this._buffer[this._index]=e,this._index=(this._index+1)%this._buffer.length}copy(){let t=new e([...this._buffer]);return t._index=this._index,t}};function F(e){let t={key:e.key,type:e.type};return`family`in e&&(t.family=e.family),t}var I=class extends Map{deleted=new Set;changed=new Set;source;constructor(e){super(),this.source=e}get(e){if(super.has(e))return super.get(e);if(!this.deleted.has(e)&&this.source.has(e))return this.source.get(e)}set(e,t){return this.deleted.delete(e),this.source.has(e)&&this.changed.add(e),super.set(e,t)}hasOwn(e){return super.has(e)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.source.has(e)&&(this.deleted.add(e),this.changed.delete(e)),super.delete(e)}clear(){this.deleted=new Set(this.source.keys()),this.changed.clear(),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(let[e,t]of this.source)!this.deleted.has(e)&&!this.changed.has(e)&&(yield[e,t])}*entries(){yield*this[Symbol.iterator]()}*keys(){yield*super.keys();for(let e of this.source.keys())!this.deleted.has(e)&&!this.changed.has(e)&&(yield e)}*values(){for(let[,e]of this[Symbol.iterator]())yield e}forEach(e){for(let[t,n]of this[Symbol.iterator]())e(n,t,this)}get size(){return super.size+this.source.size-this.changed.size-this.deleted.size}},je=class extends Set{deleted=new Set;source;constructor(e){super(),this.source=e}add(e){return this.source.has(e)?(this.deleted.delete(e),this):super.add(e)}hasOwn(e){return super.has(e)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.source.has(e)?(this.deleted.add(e),!0):super.delete(e)}clear(){this.deleted=new Set(this.source),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(let e of this.source)this.deleted.has(e)||(yield e)}*iterateOwn(){yield*super[Symbol.iterator]()}get size(){return super.size+this.source.size-this.deleted.size}},Me=class extends Map{deleted=new Set;source;constructor(e){super(),this.source=e}get(e){if(super.has(e))return super.get(e);if(!this.deleted.has(e)&&this.source.has(e)){let t=new je(this.source.get(e));return super.set(e,t),t}}set(e,t){return this.deleted.delete(e),super.set(e,t)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.deleted.add(e),super.delete(e)}},L=class e{a;b;cardinality;relations=new Map;contents=new Map;isAType;isBType;isContent;makeContentKey=(e,t)=>`${e}:${t}`;warn;getRelatedKeys(e){return this.relations.get(e)}addRelation(e,t){let n=this.relations.get(e),r=this.relations.get(t);n?n.add(t):(n=new Set([t]),this.relations.set(e,n)),r?r.add(e):(r=new Set([e]),this.relations.set(t,r))}deleteRelation(e,t){let n=this.relations.get(e);if(n){n.delete(t),n.size===0&&this.relations.delete(e);let r=this.relations.get(t);r&&(r.delete(e),r.size===0&&this.relations.delete(t))}}replaceRelationsUnsafely(e,t){this.relations.set(e,new Set(t));for(let n of t){let t=new Set().add(e);this.relations.set(n,t)}}replaceRelationsSafely(e,t){let n=this.relations.get(e),r=this.isAType?.(e)?e:void 0,i=r===void 0?e:void 0;if(n)for(let t of n){r??=t,i??=t;let n=this.relations.get(t);n&&(n.size===1?this.relations.delete(t):n.delete(e),this.contents.delete(this.makeContentKey(r,i)))}this.relations.set(e,new Set(t));for(let n of t){let t=this.relations.get(n);t?t.add(e):(t=new Set().add(e),this.relations.set(n,t))}}getContentInternal(e){return this.contents.get(e)}setContent(e,t){this.contents.set(e,t)}deleteContent(e){this.contents.delete(e)}constructor(e,t){if(this.a=e.between[0],this.b=e.between[1],this.cardinality=e.cardinality,this.isAType=t?.isAType??null,this.isBType=t?.isBType??null,this.isContent=t?.isContent??null,t?.makeContentKey&&(this.makeContentKey=t.makeContentKey),!t?.externalStore){let n=t?.source;n===void 0&&(this.relations=new Map(e.relations?.map(([e,t])=>[e,new Set(t)])),this.contents=new Map(e.contents)),n&&(this.relations=new Me(n.relations),this.contents=new I(n.contents))}if(t?.externalStore){let n=t.externalStore;this.has=(e,t)=>n.has(e,t),this.addRelation=(e,t)=>{n.addRelation(e,t)},this.deleteRelation=(e,t)=>{n.deleteRelation(e,t)},this.replaceRelationsSafely=(e,t)=>{n.replaceRelationsSafely(e,t)},this.replaceRelationsUnsafely=(e,t)=>{n.replaceRelationsUnsafely(e,t)},this.getRelatedKeys=(e=>n.getRelatedKeys(e)),n.getContent&&(this.getContentInternal=e=>n.getContent(e),this.setContent=(e,t)=>{n.setContent(e,t)},this.deleteContent=e=>{n.deleteContent(e)});for(let[t,n]of e.relations??[]){let e=this.isAType?.(t)?t:void 0,r=e===void 0?t:void 0;for(let t of n)e??=t,r??=t,this.addRelation(e,r)}for(let[t,n]of e.contents??[])this.setContent(t,n)}t?.warn&&(this.warn=t.warn)}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([e,t])=>[e,[...t]]),contents:[...this.contents.entries()]}}set(...e){let t,n,r;switch(e.length){case 1:{let i=e[0];t=i[this.a],n=i[this.b],r=void 0;break}case 2:{let i=e[0];typeof i==`string`?[t,n]=e:(t=i[this.a],n=i[this.b],r=e[1]);break}default:t=e[0],n=e[1],r=e[2];break}switch(this.cardinality){case`1:1`:{let e=this.getRelatedKey(t);e&&e!==n&&this.delete(t,e)}case`1:n`:{let e=this.getRelatedKey(n);e&&e!==t&&this.delete(e,n)}break;case`n:n`:}if(r){let e=this.makeContentKey(t,n);this.setContent(e,r)}return this.addRelation(t,n),this}delete(e,t){t=typeof t==`string`?t:e[this.b];let n=typeof e==`string`?e:e[this.a];if(n===void 0&&typeof t==`string`){let e=this.getRelatedKeys(t);if(e)for(let n of e)this.delete(n,t)}else if(typeof n==`string`&&t===void 0){let e=this.getRelatedKeys(n);if(e)for(let t of e)this.delete(n,t)}else if(typeof n==`string`&&typeof t==`string`){this.deleteRelation(n,t);let e=this.makeContentKey(n,t);this.deleteContent(e)}return this}getRelatedKey(e){let t=this.getRelatedKeys(e);if(t){t.size>1&&this.warn?.(`${t.size} related keys were found for key "${e}": (${[...t].map(e=>`"${e}"`).join(`, `)}). Only one related key was expected.`);let n;for(let e of t){n=e;break}return n}}replaceRelations(e,t,n){let r=!Array.isArray(t),i=r?Object.keys(t):t;if(n?.reckless?this.replaceRelationsUnsafely(e,i):this.replaceRelationsSafely(e,i),r)for(let n of i){let r=this.makeContentKey(e,n),i=t[n];this.setContent(r,i)}return this}getContent(e,t){let n=this.makeContentKey(e,t);return this.getContentInternal(n)}getRelationEntries(e){let t=e[this.a],n=e[this.b];if(t!==void 0&&n===void 0){let e=this.getRelatedKeys(t);if(e)return[...e].map(e=>[e,this.getContent(t,e)])}if(t===void 0&&n!==void 0){let e=this.getRelatedKeys(n);if(e)return[...e].map(e=>[e,this.getContent(e,n)])}return[]}has(e,t){return t?this.getRelatedKeys(e)?.has(t)??!1:this.relations.has(e)}overlay(){let t={source:this,makeContentKey:this.makeContentKey};return this.isAType&&(t.isAType=this.isAType),this.isBType&&(t.isBType=this.isBType),this.isContent&&(t.isContent=this.isContent),this.warn&&(t.warn=this.warn),new e({between:[this.a,this.b],cardinality:this.cardinality},t)}incorporate(e){let{relations:t,contents:n}=e;for(let[e,n]of t)if(n instanceof je){let{source:e}=n;for(let t of n.iterateOwn())e.add(t)}else this.relations.set(e,n);for(let e of t.deleted)this.relations.delete(e);for(let[e,t]of n)this.contents.set(e,t);for(let e of n.deleted)this.contents.delete(e)}};function Ne(e){return e.startsWith(`🔍 `)}function Pe(e){e.logger.info(`🪂`,`transaction`,e.transactionMeta.update.token.key,`Aborting transaction`),e.parent.child=null}function Fe(e,t,n){return(...r)=>V(e,t).run(r,n)}function Ie(e,t,n){let{token:r,update:{newValue:i,oldValue:a}}=t;G(e,r,n===`newValue`?i:a)}function Le(e){let{stack:t}=e;return t?`
|
|
2
2
|
`+t.split(`
|
|
3
3
|
`)?.slice(1)?.join(`
|
|
4
|
-
`):``}function Re(e,t,n,r=`any`){let i=t,a=j(n),o=[],s=M(e);if(Array.isArray(i))for(let t of i){let n=j(t);s.molecules.get(n)?e.moleculeGraph.set(n,a,{source:n}):o.push(n)}else{let t=j(i);s.molecules.get(t)?e.moleculeGraph.set(t,a,{source:t}):o.push(t)}let c=new P;o.length===0&&s.molecules.set(a,{key:n,stringKey:a,dependsOn:r,subject:c});let l={type:`molecule_creation`,key:n,provenance:i,timestamp:Date.now()};R(s)&&s.transactionMeta.phase===`building`?s.transactionMeta.update.subEvents.push(l):s.on.moleculeCreation.next(l);for(let t of o){let r=e.disposalTraces.buffer.find(e=>e?.key===t);e.logger.error(`❌`,`key`,n,`allocation failed:`,`Could not allocate to ${t} in store "${e.config.name}".`,r?`\n ${t} was most recently disposed\n${r.trace}`:`No previous disposal trace for ${t} was found.`)}return n}function ze(e,t){let n=j(t),r=e.molecules.get(n);if(!r){let r=e.disposalTraces.buffer.find(e=>e?.key===n);e.logger.error(`❌`,`key`,t,`deallocation failed:`,`Could not find allocation for ${n} in store "${e.config.name}".`,r?`\n This state was most recently deallocated\n${r.trace}`:`No previous disposal trace for ${n} was found.`);return}r.subject.next();let i=e.keyRefsInJoins.getRelatedKeys(n);if(i)for(let n of i){let r=e.joins.get(n);r&&r.relations.delete(t)}else{let n=kn(t);if(n){let[,t,r]=n,i=e.keyRefsInJoins.getRelatedKey(On(t,r));if(i){let n=e.joins.get(i);n&&n.relations.delete(t,r)}}}e.keyRefsInJoins.delete(n);let a=[],o=[],s=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:n});if(s)for(let[t,{source:r}]of s)r===n?ze(e,A(t)):a.push(r);let c=e.moleculeData.getRelatedKeys(r.stringKey);if(c)for(let n of c){let r=e.families.get(n),i=U(e,r,t);o.push([r.key,i]),Tt(e,r,t)}let l={type:`molecule_disposal`,key:r.key,values:o,provenance:a,timestamp:Date.now()};e.molecules.delete(n);let u=R(e)&&e.transactionMeta.phase===`building`;u&&e.transactionMeta.update.subEvents.push(l),e.moleculeGraph.delete(r.stringKey),e.keyRefsInJoins.delete(r.stringKey),e.moleculeData.delete(r.stringKey),u||e.on.moleculeDisposal.next(l),e.molecules.delete(r.stringKey);let d=Le(Error());e.disposalTraces.add({key:n,trace:d})}function Be(e,t,n,r){let i=j(n),a=M(e),o=a.molecules.get(i);if(!o){let t=e.disposalTraces.buffer.find(e=>e?.key===i);return e.logger.error(`❌`,`key`,i,`claim failed:`,`Could not allocate to ${i} in store "${e.config.name}".`,t?`\n ${i} was most recently disposed\n${t.trace}`:`No previous disposal trace for ${i} was found.`),n}let s=j(t),c=a.molecules.get(s);if(!c){let t=e.disposalTraces.buffer.find(e=>e?.key===s);return e.logger.error(`❌`,`key`,n,`claim failed:`,`Could not allocate to ${s} in store "${e.config.name}".`,t?`\n ${s} was most recently disposed\n${t.trace}`:`No previous disposal trace for ${s} was found.`),n}let l=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:o.stringKey}).filter(([,{source:e}])=>e!==i).map(([e])=>A(e));r&&a.moleculeGraph.delete(i),a.moleculeGraph.set({upstreamMoleculeKey:c.stringKey,downstreamMoleculeKey:o.stringKey},{source:c.stringKey});let u={type:`molecule_transfer`,key:o.key,exclusive:!!r,from:l,to:[c.key],timestamp:Date.now()};return R(a)&&a.transactionMeta.phase===`building`&&a.transactionMeta.update.subEvents.push(u),n}function Ve(e,t,n){switch(n){case`newValue`:Ue(e,t);break;case`oldValue`:Tt(e,t.token);break}}function He(e,t,n){switch(n){case`newValue`:Tt(e,t.token);break;case`oldValue`:Ue(e,t),t.subType===`atom`&&e.valueMap.set(t.token.key,t.value);break}}function Ue(e,t){let{token:n}=t;t.subType===`writable`&&t.value?G(e,n,t.value):U(e,n)}function We(e,t,n){switch(n){case`newValue`:Re(e,t.provenance,t.key);break;case`oldValue`:ze(e,t.key);break}}function Ge(e,t,n){switch(n){case`newValue`:ze(e,t.key);break;case`oldValue`:Re(e,t.provenance.map(A),t.key);for(let[n,r]of t.values){let i=e.families.get(n);if(i){U(e,i,t.key);let a=`${n}(${j(t.key)})`;e.valueMap.set(a,r)}}break}}function Ke(e,t,n){switch(n){case`newValue`:for(let n of t.to)Be(e,n,t.key,t.exclusive?`exclusive`:void 0);break;case`oldValue`:{let n=`exclusive`;for(let r of t.from)Be(e,r,t.key,n),n=void 0}break}}function qe(e,t,n){let r=n===`newValue`?t.subEvents:[...t.subEvents].reverse();for(let t of r)switch(t.type){case`atom_update`:Ie(e,t,n);break;case`state_creation`:Ve(e,t,n);break;case`state_disposal`:He(e,t,n);break;case`molecule_creation`:We(e,t,n);break;case`molecule_disposal`:Ge(e,t,n);break;case`molecule_transfer`:Ke(e,t,n);break;case`transaction_outcome`:qe(e,t,n);break}}function Je(e){return`epoch`in e.transactionMeta}function R(e){return`phase`in e.transactionMeta}function Ye(e,t){return e.transactionMeta.actionContinuities.getRelatedKey(t)}function Xe(e,t){return e.transactionMeta.epoch.get(t)}function Ze(e,t){let n=Ye(e,t);if(n!==void 0)return Xe(e,n)}function Qe(e,t,n){let r=Ye(e,t);r!==void 0&&e.transactionMeta.epoch.set(r,n)}function $e(e,t){let n=M(e),{parent:r}=n;n.transactionMeta.phase=`applying`,n.transactionMeta.update.output=t,r.child=null,r.on.transactionApplying.next(n.transactionMeta);let{subEvents:i}=n.transactionMeta.update;e.logger.info(`🛄`,`transaction`,n.transactionMeta.update.token.key,`applying ${i.length} subEvents:`,i),qe(r,n.transactionMeta.update,`newValue`),Je(r)?(Qe(r,n.transactionMeta.update.token.key,n.transactionMeta.update.epoch),V(e,{key:n.transactionMeta.update.token.key,type:`transaction`})?.subject.next(n.transactionMeta.update),e.logger.info(`🛬`,`transaction`,n.transactionMeta.update.token.key,`applied`)):R(r)&&r.transactionMeta.update.subEvents.push(n.transactionMeta.update),r.on.transactionApplying.next(null)}function et(e){return{store:e}}function z(e){return e[0].toUpperCase()+e.slice(1)}function tt(e,t){let n=e.joins.get(t.key);if(n===void 0){let r=B.STORE.joins.get(t.key);if(r===void 0)throw Error(`Join "${t.key}" not found in store "${e.config.name}"`);n=new at(Te(e),r.options),e.joins.set(t.key,n)}return n}function nt(e,t,n){let r=tt(e,t),i=M(e);if(R(i)){let{toolkit:e}=i.transactionMeta;r.transact(e,({relations:e})=>{n(e)})}else n(r.relations)}function rt(e,t,n){let r=tt(e,t),i;switch(t.cardinality){case`1:1`:{let a=`${t.a}KeyOf${z(t.b)}`,o=`${t.b}KeyOf${z(t.a)}`;i={get[a](){let t=r.states[a];return W(e,t,n)},get[o](){let t=r.states[o];return W(e,t,n)}};break}case`1:n`:{let a=`${t.a}KeyOf${z(t.b)}`,o=`${t.b}KeysOf${z(t.a)}`;i={get[a](){let t=r.states[a];return W(e,t,n)},get[o](){let t=r.states[o];return W(e,t,n)}};break}case`n:n`:{let a=`${t.a}KeysOf${z(t.b)}`,o=`${t.b}KeysOf${z(t.a)}`;i={get[a](){let t=r.states[a];return W(e,t,n)},get[o](){let t=r.states[o];return W(e,t,n)}}}}return i}function it(e,t,n){let r=tt(e,t);return n===`split`?[r.relatedKeysAtoms,r.relatedKeysAtoms]:r.relatedKeysAtoms}var at=class{toolkit;options;relations;states;relatedKeysAtoms;transact(e,t){let n=this.toolkit;this.toolkit=e,t(this),this.toolkit=n}store;[Symbol.dispose](){}constructor(e,t){this.store=e,this.options=t,this.store.miscResources.set(`join:${t.key}`,this),this.toolkit={get:((...t)=>U(e,...t)),set:((...t)=>{G(e,...t)}),find:((...t)=>W(e,...t)),json:t=>fn(e,t),relations:{edit:((...t)=>{nt(e,...t)}),find:((...t)=>rt(e,...t)),internal:((...t)=>it(e,...t))}};let n=t.between[0],r=t.between[1],i=un(e,{key:`${t.key}/relatedKeys`,class:Ce},[`join`,`relations`]);this.relatedKeysAtoms=i;let a=(t,n,r)=>{let{find:a,get:o,set:s}=t,c=a(i,n),l=o(c);for(let e of l)r.includes(e)||s(i,e,e=>(e.delete(n),e));s(c,t=>{t.clear();for(let c of r){let r=a(i,c),l=o(r),u=l.has(n);if(this.relations.cardinality===`1:n`){let t=[];for(let e of l){if(e===n)continue;let r;Vt(Bt,this.store,i,e,e=>(e.delete(c),r=e.size,e)),r===0&&t.push(e)}!u&&l.size>0&&s(r,e=>(e.clear(),e));for(let n of t)e.keyRefsInJoins.delete(On(c,n))}u||s(r,e=>(e.add(n),e)),t.add(c)}return t})},o=(e,t,n)=>{let{set:r}=e;r(i,t,e=>{for(let t of n)e.add(t);return e});for(let e of n)r(i,e,e=>(e.add(t),e));return!0},s=new L(t,{externalStore:{getRelatedKeys:e=>this.toolkit.get(i,e),addRelation:(e,n)=>{this.store.keyRefsInJoins.set(`"${e}"`,t.key),this.store.keyRefsInJoins.set(`"${n}"`,t.key),this.store.keyRefsInJoins.set(On(e,n),t.key),this.toolkit.set(i,e,e=>e.add(n)),this.toolkit.set(i,n,t=>t.add(e))},deleteRelation:(e,t)=>{this.toolkit.set(i,e,e=>(e.delete(t),e)),this.toolkit.set(i,t,t=>(t.delete(e),t));let n=On(e,t);this.store.keyRefsInJoins.delete(n)},replaceRelationsSafely:(e,t)=>{a(this.toolkit,e,t)},replaceRelationsUnsafely:(e,t)=>{o(this.toolkit,e,t)},has:(e,t)=>{let n=this.toolkit.get(i,e);return t?n.has(t):n.size>0}},isAType:t.isAType,isBType:t.isBType}),c=()=>yt(e,{key:`${t.key}/singleRelatedKey`,get:e=>({get:t})=>{let n=t(i,e);for(let e of n)return e;return null}},[`join`,`keys`]),l=()=>yt(e,{key:`${t.key}/multipleRelatedKeys`,get:t=>({get:n})=>n(dn(i,e),t)},[`join`,`keys`]);switch(t.cardinality){case`1:1`:{let e=c(),t=`${n}KeyOf${z(r)}`,i=`${r}KeyOf${z(n)}`;this.relations=s,this.states={[t]:e,[i]:e};break}case`1:n`:{let e=c(),t=l(),i=`${n}KeyOf${z(r)}`,a=`${r}KeysOf${z(n)}`,o={[i]:e,[a]:t};this.relations=s,this.states=o;break}case`n:n`:{let e=l(),t=`${n}KeysOf${z(r)}`,i=`${r}KeysOf${z(n)}`;this.relations=s,this.states={[t]:e,[i]:e}}}}};function ot(e,t,n,r){let i=M(e),a={parent:i,child:null,on:i.on,loggers:i.loggers,logger:i.logger,config:i.config,atoms:new I(i.atoms),atomsThatAreDefault:new Set(i.atomsThatAreDefault),families:new I(i.families),joins:new I(i.joins),operation:{open:!1},readonlySelectors:new I(i.readonlySelectors),timelines:new I(i.timelines),timelineTopics:i.timelineTopics.overlay(),trackers:new Map,transactions:new I(i.transactions),selectorAtoms:i.selectorAtoms.overlay(),selectorGraph:i.selectorGraph.overlay(),writableSelectors:new I(i.writableSelectors),valueMap:new I(i.valueMap),defaults:i.defaults,disposalTraces:e.disposalTraces.copy(),molecules:new I(i.molecules),moleculeGraph:i.moleculeGraph.overlay(),moleculeData:i.moleculeData.overlay(),keyRefsInJoins:i.keyRefsInJoins.overlay(),miscResources:new I(i.miscResources)},o=Ze(e,t.key),s={phase:`building`,update:{type:`transaction_outcome`,token:t,id:r,epoch:o===void 0?NaN:o+1,timestamp:Date.now(),subEvents:[],params:n,output:void 0},toolkit:{get:((...e)=>U(c,...e)),set:((...e)=>{G(c,...e)}),reset:((...e)=>{It(c,...e)}),run:(e,t=we())=>Fe(c,e,t),find:((...t)=>W(e,...t)),json:e=>fn(c,e),dispose:((...e)=>{Tt(c,...e)}),env:()=>et(c),relations:{edit:((...e)=>{nt(c,...e)}),find:((...e)=>rt(c,...e)),internal:((...e)=>it(c,...e))}}},c=Object.assign(a,{transactionMeta:s});return i.child=c,e.logger.info(`🛫`,`transaction`,t.key,`building with params:`,n),c}function st(e,t){let{key:n}=t,r=e.transactions.has(n),i={key:n,type:`transaction`,run:(r,a)=>{let o=ot(e,F(i),r,a);try{let{toolkit:e}=o.transactionMeta,n=t.do(e,...r);return $e(o,n),n}catch(t){throw Pe(o),e.logger.warn(`💥`,`transaction`,n,`caught:`,t),t}},install:e=>st(e,t),subject:new P};M(e).transactions.set(n,i);let a=F(i);return r||e.on.transactionCreation.next(a),a}var ct=class{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new L({between:[`selectorKey`,`atomKey`],cardinality:`n:n`});selectorGraph=new L({between:[`upstreamSelectorKey`,`downstreamSelectorKey`],cardinality:`n:n`},{makeContentKey:(...e)=>e.sort().join(`:`)});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new L({between:[`continuity`,`action`],cardinality:`1:n`})};timelines=new Map;timelineTopics=new L({between:[`timelineKey`,`topicKey`],cardinality:`1:n`});disposalTraces=new Ae(100);molecules=new Map;moleculeGraph=new L({between:[`upstreamMoleculeKey`,`downstreamMoleculeKey`],cardinality:`n:n`},{makeContentKey:(...e)=>e.sort().join(`:`)});moleculeData=new L({between:[`moleculeKey`,`stateFamilyKey`],cardinality:`n:n`},{makeContentKey:(...e)=>e.sort().join(`:`)});keyRefsInJoins=new L({between:[`moleculeKey`,`joinKey`],cardinality:`n:n`},{makeContentKey:(...e)=>e.sort().join(`:`)});miscResources=new Map;on={atomCreation:new P,atomDisposal:new P,selectorCreation:new P,selectorDisposal:new P,timelineCreation:new P,transactionCreation:new P,transactionApplying:new ke(null),operationClose:new P,moleculeCreation:new P,moleculeDisposal:new P};operation={open:!1};config={name:`IMPLICIT_STORE`,lifespan:`ephemeral`,isProduction:!0};loggers=[new Dn(`warn`,(e,t,n)=>!Ne(n))];logger={error:(...e)=>{for(let t of this.loggers)t.error(...e)},info:(...e)=>{for(let t of this.loggers)t.info(...e)},warn:(...e)=>{for(let t of this.loggers)t.warn(...e)}};constructor(e,t=null){if(this.config={...t?.config,...e},t!==null){this.operation={...t?.operation},Je(t)&&(this.transactionMeta={epoch:new Map(t?.transactionMeta.epoch),actionContinuities:new L(t?.transactionMeta.actionContinuities.toJSON())});for(let[,e]of t.families)e.internalRoles?.includes(`mutable`)||e.internalRoles?.includes(`join`)||e.install(this);let e=new Set;for(let[,n]of t.atoms)if(!e.has(n.key)&&(n.install(this),n.type===`mutable_atom`)){let r=fn(t,n),i=pn(n);e.add(r.key),e.add(i.key)}for(let[,e]of t.readonlySelectors)e.install(this);for(let[,n]of t.writableSelectors)e.has(n.key)||n.install(this);for(let[,e]of t.transactions)e.install(this);for(let[,e]of t.timelines)e.install(this)}}},B={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new ct({name:`IMPLICIT_STORE`,lifespan:`ephemeral`,isProduction:!0}),globalThis.ATOM_IO_IMPLICIT_STORE}},lt=class extends Error{constructor(e,t){super(`${q[e.type]} ${j(e.key)} not found in store "${t.config.name}".`)}};function V(e,t){let n,r=e;for(;r!==null;){switch(t.type){case`atom`:case`mutable_atom`:n=r.atoms.get(t.key);break;case`writable_pure_selector`:case`writable_held_selector`:n=r.writableSelectors.get(t.key);break;case`readonly_pure_selector`:case`readonly_held_selector`:n=r.readonlySelectors.get(t.key);break;case`atom_family`:case`mutable_atom_family`:case`writable_pure_selector_family`:case`readonly_pure_selector_family`:case`writable_held_selector_family`:case`readonly_held_selector_family`:n=r.families.get(t.key);break;case`timeline`:n=r.timelines.get(t.key);break;case`transaction`:n=r.transactions.get(t.key);break}if(n)return n;r=r.child}throw new lt(t,e)}function ut(e,t,n,r){let i=e.disposalTraces.buffer.find(e=>e?.key===j(r));switch(e.logger.error(`❌`,t.type,t.key,`gets a fallback value because key`,r,`is not allocated`,i?`This key was previously disposed:\n${i.trace}`:`(no previous disposal trace found)`),n.type){case`mutable_atom_family`:{if(e.defaults.has(n.key))return e.defaults.get(n.key);let t=new n.class;return e.defaults.set(n.key,t),t.READONLY_VIEW}case`atom_family`:{if(e.defaults.has(n.key))return e.defaults.get(n.key);let t=n.default,i=t(r);return e.defaults.set(n.key,i),i}case`readonly_pure_selector_family`:case`writable_pure_selector_family`:case`readonly_held_selector_family`:case`writable_held_selector_family`:{if(e.defaults.has(n.key))return e.defaults.get(n.key);let t=n.default(r);return e.defaults.set(n.key,t),t}}}function dt(e,t){let{type:n,key:r,catch:i}=t;switch(n){case`readonly_pure_selector`:case`writable_pure_selector`:{let a;e.logger.info(`🧮`,n,r,`computing value`);try{a=t.getFrom(e),a instanceof Promise&&(a=a.catch(t=>{if(e.logger.error(`💥`,n,r,`rejected:`,t),i){for(let e of i)if(t instanceof e)return t}throw t}))}catch(a){if(e.logger.error(`💥`,n,r,`rejected:`,a),i){for(let n of i)if(a instanceof n)return K(e,t,a)}throw a}return K(e,t,a)}case`atom`:{let a;if(N(t.default))try{a=t.default(),a instanceof Promise&&(a=a.catch(t=>{if(e.logger.error(`💥`,n,r,`rejected:`,t),i){for(let e of i)if(t instanceof e)return t}throw t}))}catch(o){if(e.logger.error(`💥`,n,r,`rejected:`,o),i){for(let n of i)if(o instanceof n)return a=K(e,t,o),e.logger.info(`✨`,t.type,r,`computed default`,a),a}throw o}else a=t.default,e.logger.info(`✨`,t.type,r,`using static default`,a);return K(e,t,a)}}}function H(e,t,n){if(e.valueMap.has(t.key))return hn(e,t,n);e.logger.info(`❔`,t.type,t.key,`value not found in cache`);let{key:r}=t;switch(t.type){case`readonly_held_selector`:case`writable_held_selector`:return e.logger.info(`🧮`,t.type,r,`computing value`),t.getFrom(e);case`writable_pure_selector`:case`readonly_pure_selector`:case`atom`:return dt(e,t);case`mutable_atom`:{let n=new t.class;return e.logger.info(`✨`,t.type,r,`created new instance`,n),K(e,t,n)}}}function ft(e,t){return V(e,{key:t.family.key,type:`${t.type}_family`})}var pt={atom_family:`atom`,molecule_family:`molecule`,mutable_atom_family:`mutable_atom`,readonly_held_selector_family:`readonly_held_selector`,readonly_pure_selector_family:`readonly_pure_selector`,writable_held_selector_family:`writable_held_selector`,writable_pure_selector_family:`writable_pure_selector`},mt=Symbol(`MUST_CREATE`),ht=Symbol(`DO_NOT_CREATE`);function gt(e,t,n,r){let i=j(r),a=t.molecules.get(i);if(!a&&t.config.lifespan===`immortal`){let{type:e,key:r}=n;return t.logger.warn(`💣`,`key`,i,`was used to mint a counterfeit token for`,e,`"${r}"`),{counterfeit:!0,key:`${r}(${i})`,type:pt[e],family:{key:r,subKey:i}}}let o;if(e===mt)t.logger.info(`👪`,n.type,n.key,`adds member`,typeof r==`string`?`\`${r}\``:r),o=n.create(r),a&&t.moleculeData.set(i,n.key);else{let{type:e,key:t}=n;return{key:`${t}(${i})`,type:pt[e],family:{key:t,subKey:i}}}return o}function _t(e,...t){let n,r,i,a,o;if(t.length===1){if(o=t[0],`family`in o){let t=ft(e,o);if(i=V(e,t),a=A(o.family.subKey),n=vt(e,t,a),`counterfeit`in o)return{token:o,family:i,subKey:a,isNew:!1};n?o=n:(r=gt(mt,e,t,a),o=r)}}else i=V(e,t[0]),a=t[1],n=vt(e,i,a),n?o=n:(r=gt(mt,e,i,a),o=r);let s=`counterfeit`in o;if(r&&s===!1&&i){let t;switch(o.type){case`readonly_pure_selector`:case`readonly_held_selector`:t=`readable`;break;case`atom`:case`mutable_atom`:case`writable_pure_selector`:case`writable_held_selector`:t=`writable`;break}let n={type:`state_creation`,subType:t,token:o,timestamp:Date.now()};i.subject.next(n);let r=M(e);if(o.family)if(Je(r))switch(o.type){case`atom`:case`mutable_atom`:e.on.atomCreation.next(o);break;case`writable_pure_selector`:case`readonly_pure_selector`:case`writable_held_selector`:case`readonly_held_selector`:e.on.selectorCreation.next(o);break}else R(r)&&r.on.transactionApplying.state===null&&r.transactionMeta.update.subEvents.push(n)}return{token:o,family:i,subKey:a,isNew:!!r}}function U(e,...t){let{token:n,family:r,subKey:i}=_t(e,...t);return`counterfeit`in n&&r&&i?ut(e,n,r,i):H(e,V(e,n))}function vt(e,t,n){let r=j(n),i=`${t.key}(${r})`,a=M(e),o;switch(t.type){case`atom_family`:case`mutable_atom_family`:o=a.atoms.get(i);break;case`writable_held_selector_family`:case`writable_pure_selector_family`:o=a.writableSelectors.get(i);break;case`readonly_held_selector_family`:case`readonly_pure_selector_family`:o=a.readonlySelectors.get(i);break}return o&&F(o)}function W(e,t,n){let r=V(e,t);return vt(e,t,n)||gt(ht,e,r,n)}function yt(e,t,n){let r=t.key,i=`readonly_pure_selector_family`,a={key:r,type:i},o=e.families.get(r);o&&e.config.isProduction===!0&&e.logger.error(`❗`,i,r,`Overwriting an existing ${q[o.type]} "${o.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let s=new P,c=n=>{let i=j(n),a={key:r,subKey:i},o=`${r}(${i})`,s=M(e),c={key:o,get:t.get(n)};return t.catch&&(c.catch=t.catch),Zt(s,c,a)},l={...a,create:c,internalRoles:n,subject:s,install:e=>yt(e,t),default:n=>t.get(n)({get:U.bind(null,e),find:W.bind(null,e),json:t=>fn(e,t),relations:{find:rt.bind(null,e),internal:it.bind(null,e)}})};return e.families.set(r,l),a}function bt(e,t,n){let r={key:t.key,type:`atom_family`},i=e.families.get(t.key);i&&e.config.isProduction===!0&&e.logger.error(`❗`,`atom_family`,t.key,`Overwriting an existing ${q[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let a=new P,o=n=>{let r=j(n),i={key:t.key,subKey:r},a=`${t.key}(${r})`,o=M(e),s=t.default,c={key:a,default:N(s)?()=>s(n):s};return t.effects&&(c.effects=t.effects(n)),t.catch&&(c.catch=t.catch),yn(o,c,i)},s={...r,create:o,default:t.default,subject:a,install:e=>bt(e,t),internalRoles:n};return e.families.set(t.key,s),N(t.default)===!1&&e.defaults.set(t.key,t.default),r}function xt(e,t,n){let r=t.key,i=`readonly_held_selector_family`,a={key:r,type:i},o=e.families.get(r);o&&e.config.isProduction===!0&&e.logger.error(`❗`,i,r,`Overwriting an existing ${q[o.type]} "${o.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let s=new P,c=n=>{let i=j(n),a={key:r,subKey:i},o=`${r}(${i})`;return Xt(M(e),{key:o,const:t.const(n),get:t.get(n)},a)},l={...a,create:c,internalRoles:n,subject:s,install:e=>xt(e,t),default:t.const};return e.families.set(r,l),a}function St(e,t,n){let r=t.key,i=`writable_held_selector_family`,a={key:r,type:i},o=e.families.get(r);o&&e.config.isProduction===!0&&e.logger.error(`❗`,i,r,`Overwriting an existing ${q[o.type]} "${o.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let s=new P,c=n=>{let i=j(n),a={key:r,subKey:i},o=`${r}(${i})`;return Qt(M(e),{key:o,const:t.const(n),get:t.get(n),set:t.set(n)},a)},l={...a,create:c,internalRoles:n,subject:s,install:e=>St(e,t),default:t.const};return e.families.set(r,l),a}function Ct(e,t,n){let r=t.key,i=`writable_pure_selector_family`,a={key:r,type:i},o=e.families.get(r);o&&e.config.isProduction===!0&&e.logger.error(`❗`,i,r,`Overwriting an existing ${q[o.type]} "${o.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let s=new P,c=n=>{let i=j(n),a={key:r,subKey:i},o=`${r}(${i})`,s=M(e),c={key:o,get:t.get(n),set:t.set(n)};return t.catch&&(c.catch=t.catch),$t(s,c,a)},l={...a,create:c,internalRoles:n,subject:s,install:e=>Ct(e,t),default:n=>t.get(n)({get:((...t)=>U(e,...t)),find:((...t)=>W(e,...t)),json:t=>fn(e,t),relations:{find:((...t)=>rt(e,...t)),internal:((...t)=>it(e,...t))}})};return e.families.set(r,l),a}function wt(e,t){let n=`set`in t,r=`const`in t;return r&&n?St(e,t,void 0):r?xt(e,t,void 0):n?Ct(e,t):yt(e,t)}function Tt(e,...t){let n;if(t.length===1)n=t[0];else{let r=t[0],i=t[1];n=W(e,r,i)}try{V(e,n)}catch{e.logger.error(`❌`,n.type,n.key,`could not be disposed because it was not found in the store "${e.config.name}".`);return}switch(n.type){case`atom`:case`mutable_atom`:xn(e,n);break;case`writable_pure_selector`:case`readonly_pure_selector`:case`writable_held_selector`:case`readonly_held_selector`:tn(e,n);break}}function Et(e,t){if(e.operation.open){let n=performance.now();return e.logger.info(`🚫`,t.type,t.key,`deferring setState at T-${n} until setState for "${e.operation.token.key}" is done`),n}return e.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:t,subEvents:[]},e.logger.info(`⭕`,t.type,t.key,`operation start in store "${e.config.name}"${R(e)?` ${e.transactionMeta.phase} "${e.transactionMeta.update.token.key}"`:``}`),e}function Dt(e){e.operation.open&&e.logger.info(`🔴`,e.operation.token.type,e.operation.token.key,`operation done in store "${e.config.name}"`),e.operation={open:!1},e.on.operationClose.next(e.operation)}function Ot(e,t){return e.operation.open?e.operation.done.has(t):(e.logger.error(`🐞`,`unknown`,t,`isDone called outside of an operation. This is probably a bug in AtomIO.`),!0)}function kt(e,t){if(!e.operation.open){e.logger.error(`🐞`,`unknown`,t,`markDone called outside of an operation. This is probably a bug in AtomIO.`);return}e.operation.done.add(t)}function At(e,t,n,r,i){let{oldValue:a,newValue:o}=n,s=`oldValue`in n,c=F(t);if(r&&i){t.subject.next({newValue:o});let n={checkpoint:!0,type:`state_creation`,subType:`writable`,token:c,timestamp:Date.now(),value:o};e.operation.subEvents.push(n),i.subject.next(n);let r=M(e);if(c.family)if(Je(r))switch(c.type){case`atom`:case`mutable_atom`:e.on.atomCreation.next(c);break;case`writable_pure_selector`:case`writable_held_selector`:e.on.selectorCreation.next(c);break}else R(r)&&r.on.transactionApplying.state===null&&r.transactionMeta.update.subEvents.push(n);return}let{key:l,subject:u,type:d}=t,f;if(f=s?{oldValue:mn(a)?a.READONLY_VIEW:a,newValue:mn(o)?o.READONLY_VIEW:o}:{newValue:mn(o)?o.READONLY_VIEW:o},Je(e)){switch(d){case`mutable_atom`:e.logger.info(`📢`,d,l,`is now (`,o,`) subscribers:`,u.subscribers.keys());break;case`atom`:case`writable_pure_selector`:case`writable_held_selector`:e.logger.info(`📢`,d,l,`went (`,a,`->`,o,`) subscribers:`,u.subscribers.keys())}u.next(f)}if(R(e)&&(d===`mutable_atom`||d===`atom`)){if(e.on.transactionApplying.state===null){if(mn(o))return;let{timestamp:t}=e.operation,n={type:`atom_update`,token:c,timestamp:t,update:f};e.transactionMeta.update.subEvents.push(n),e.logger.info(`📁`,`atom`,l,`stowed (`,a,`->`,o,`)`);return}if(bn(t,`tracker:signal`)){let t=l.slice(1),n=e.atoms.get(t);H(e,n,`mut`).do(f.newValue)===null&&_n(e,n)}}}var jt=Symbol(`UNSET`);function Mt(e,t,n){let r,i;if(N(n)){let a=H(e,t,`mut`);r=a,i=n(a)}else r=e.valueMap.has(t.key)?hn(e,t,`mut`):t.type===`atom`&&!N(t.default)?t.default:jt,i=n;return e.logger.info(`⭐`,`atom`,t.key,`setting value`,i),i=K(e,t,i),kt(e,t.key),_n(e,t),r===jt?{newValue:i}:{oldValue:r,newValue:i}}function Nt(e,t){switch(t.type){case`mutable_atom`:return Mt(e,t,new t.class);case`atom`:{let n;return n=N(t.default)?dt(e,t):t.default,Mt(e,t,n)}}}function Pt(e,t){let n;switch(t.type){case`atom`:case`mutable_atom`:n=Nt(e,t);break;case`writable_held_selector`:{let r=qt(e,t.key);for(let n of r.values())At(e,t,Nt(e,n),!1);let i=t.getFrom(e);n={oldValue:i,newValue:i}}break;case`writable_pure_selector`:{let r=dt(e,t),i=qt(e,t.key);for(let n of i.values())At(e,t,Nt(e,n),!1);n={oldValue:r,newValue:dt(e,t)}}break}return n}function G(e,...t){Vt(zt,e,...t)}var Ft=Symbol(`RESET`);function It(e,...t){G(e,...t,Ft)}function Lt(e,t,n){let r,i,a,{type:o,key:s}=t;switch(t.type){case`writable_pure_selector`:r=H(e,t,`mut`),i=De(n,r),i=K(e,t,i);break;case`writable_held_selector`:a=t.const,De(n,a),r=a,i=a}return e.logger.info(`⭐`,o,s,`setting to`,i),kt(e,s),t.setSelf(i),{oldValue:r,newValue:i}}function Rt(e,t,n){let r;switch(t.type){case`atom`:case`mutable_atom`:r=Mt(e,t,n);break;case`writable_pure_selector`:case`writable_held_selector`:r=Lt(e,t,n);break}return r}var zt=Symbol(`OWN_OP`),Bt=Symbol(`JOIN_OP`);function Vt(e,t,...n){let r,i,a,o,s,c;n.length===2?(a=n[0],c=n[1],`family`in a&&(o=ft(t,a),s=A(a.family.subKey),r=vt(t,o,s),a=r||(i=gt(mt,t,o,s)))):(o=V(t,n[0]),s=n[1],c=n[2],r=vt(t,o,s),a=r||(i=gt(mt,t,o,s)));let l=c===Ft?`reset`:`set`,u;if(e===zt){let n=Et(t,a);if(typeof n==`number`){let r=n,i=t.on.operationClose.subscribe(`waiting to ${l} "${a.key}" at T-${r}`,function(){i(),t.logger.info(`🟢`,a.type,a.key,`resuming deferred`,l,`from T-${r}`),Vt(e,t,a,c)});return}u=n}else u=t;if(`counterfeit`in a&&`family`in a){let e=a.family.subKey,n=t.disposalTraces.buffer.find(t=>t?.key===e);t.logger.error(`❌`,a.type,a.key,`could not be`,l,`because key`,e,`is not allocated.`,n?`this key was previously disposed:${n.trace}`:`(no previous disposal trace found)`);return}let d=V(u,a),f;f=c===Ft?Pt(u,d):Rt(u,d,c),At(u,d,f,!!i,o),e===zt&&Dt(u)}var Ht=(e,t)=>M(e).atoms.has(t),Ut=(e,t)=>M(e).writableSelectors.has(t),Wt=(e,t)=>M(e).readonlySelectors.has(t),Gt=(e,t)=>Ht(e,t)||Ut(e,t)||Wt(e,t);function Kt(e,t){return M(e).selectorGraph.getRelationEntries({downstreamSelectorKey:t}).filter(([e,{source:n}])=>n!==t).map(([e,{source:t}])=>t).filter(t=>Gt(e,t))}function qt(e,t,n=new Set){let r=Kt(e,t),i=new Map;for(;r.length>0;){let t=r.pop();if(!n.has(t))if(n.add(t),Ht(e,t)){let n=e.atoms.get(t);i.set(n.key,n)}else r.push(...Kt(e,t))}return i}function Jt(e,t,n,r,i){let a=M(e),{type:o,key:s}=r;if(o===`atom`||o===`mutable_atom`)a.selectorAtoms.set({selectorKey:n,atomKey:s}),e.logger.info(`🔍`,t,n,`discovers root atom "${s}"`);else{let r=qt(e,s,i);e.logger.info(`🔍`,t,n,`discovers root atoms: [ ${[...r.values()].map(e=>`"${e.key}"`).join(`, `)} ]`);for(let{key:e}of r.values())a.selectorAtoms=a.selectorAtoms.set({selectorKey:n,atomKey:e})}i.add(s)}function Yt(e,t,n,r){return{get:(...i)=>{let a=M(e),{token:o,family:s,subKey:c}=_t(e,...i),l;return l=`counterfeit`in o&&s&&c?ut(e,o,s,c):H(e,V(e,o)),e.logger.info(`🔌`,t,n,`registers dependency ( "${o.key}" =`,l,`)`),a.selectorGraph.set({upstreamSelectorKey:o.key,downstreamSelectorKey:n},{source:o.key}),Jt(e,t,n,o,r),l},set:((...t)=>{Vt(Bt,M(e),...t)}),find:((...t)=>W(e,...t)),json:t=>fn(e,t),relations:{edit:((...t)=>{nt(e,...t)}),find:((...t)=>rt(e,...t)),internal:((...t)=>it(e,...t))}}}function Xt(e,t,n){let r=M(e),i=new P,a=new Set,{key:o,const:s}=t,c=`readonly_held_selector`;e.logger.info(`🔨`,c,o,`is being created`);let{get:l,find:u,json:d,relations:f}=Yt(r,c,o,a),p=n=>{let r=n.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[e,{source:t}]of r)t!==o&&n.selectorGraph.delete(e,o);return n.selectorAtoms.delete(o),t.get({get:l,find:u,json:d,relations:f},s),K(n,m,s),e.logger.info(`✨`,c,o,`=`,s),a.clear(),s},m={...t,type:c,subject:i,getFrom:p,install:e=>Xt(e,t,n)};n&&(m.family=n),r.readonlySelectors.set(o,m);let h={key:o,type:c};return n&&(h.family=n),h}function Zt(e,t,n){let r=M(e),i=new P,a=new Set,o=t.key,s=`readonly_pure_selector`;e.logger.info(`🔨`,s,o,`is being created`);let{get:c,find:l,json:u,relations:d}=Yt(r,s,o,a),f=()=>{let n=M(e),r=n.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[e,{source:t}]of r)t!==o&&n.selectorGraph.delete(e,o);n.selectorAtoms.delete(o);let i=t.get({get:c,find:l,json:u,relations:d});return e.logger.info(`✨`,s,o,`=`,i),a.clear(),i},p={...t,type:s,subject:i,getFrom:f,install:e=>Zt(e,t,n)};n&&(p.family=n),r.readonlySelectors.set(o,p);let m={key:o,type:s};return n&&(m.family=n),m}function Qt(e,t,n){let r=M(e),i=new P,a=new Set,{key:o,const:s}=t,c=`writable_held_selector`;e.logger.info(`🔨`,c,o,`is being created`);let l=Yt(r,c,o,a),{find:u,get:d,json:f,relations:p}=l,m={find:u,get:d,json:f,relations:p},h=n=>{let r=n.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[e,{source:t}]of r)t!==o&&n.selectorGraph.delete(e,o);return n.selectorAtoms.delete(o),t.get(m,s),K(n,_,s),e.logger.info(`✨`,c,o,`=`,s),a.clear(),s},g=()=>{t.set(l,s)},_={...t,type:c,subject:i,getFrom:h,setSelf:g,install:e=>Qt(e,t,n)};n&&(_.family=n),r.writableSelectors.set(o,_);let v={key:o,type:c};return n&&(v.family=n),v}function $t(e,t,n){let r=M(e),i=new P,a=new Set,o=t.key,s=`writable_pure_selector`;e.logger.info(`🔨`,s,o,`is being created`);let c=Yt(r,s,o,a),{find:l,get:u,json:d,relations:f}=c,p={find:l,get:u,json:d,relations:f},m=n=>{let r=n.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[e,{source:t}]of r)t!==o&&n.selectorGraph.delete(e,o);n.selectorAtoms.delete(o);let i=t.get(p);return e.logger.info(`✨`,s,o,`=`,i),a.clear(),i},h=e=>{t.set(c,e)},g={...t,type:s,subject:i,getFrom:m,setSelf:h,install:e=>$t(e,t,n)};n&&(g.family=n),r.writableSelectors.set(o,g);let _={key:o,type:s};return n&&(_.family=n),_}function en(e,t){let n=`set`in t,r=`const`in t;if(r&&n){let n=Qt(e,t,void 0);return e.on.selectorCreation.next(n),n}if(r){let n=Xt(e,t,void 0);return e.on.selectorCreation.next(n),n}if(n){let n=$t(e,t,void 0);return e.on.selectorCreation.next(n),n}let i=Zt(e,t,void 0);return e.on.selectorCreation.next(i),i}function tn(e,t){let n=M(e),{key:r,type:i,family:a}=t;if(!a)e.logger.error(`❌`,i,r,`Standalone selectors cannot be disposed.`);else{n.molecules.get(a.subKey)&&n.moleculeData.delete(a.subKey,a.key);let i;switch(t.type){case`writable_held_selector`:n.writableSelectors.delete(r),i={key:a.key,type:`writable_held_selector_family`},V(e,i).subject.next({type:`state_disposal`,subType:`selector`,token:t,timestamp:Date.now()});break;case`writable_pure_selector`:n.writableSelectors.delete(r),i={key:a.key,type:`writable_pure_selector_family`},V(e,i).subject.next({type:`state_disposal`,subType:`selector`,token:t,timestamp:Date.now()});break;case`readonly_held_selector`:n.readonlySelectors.delete(r),i={key:a.key,type:`readonly_held_selector_family`},V(e,i).subject.next({type:`state_disposal`,subType:`selector`,token:t,timestamp:Date.now()});break;case`readonly_pure_selector`:n.readonlySelectors.delete(r),i={key:a.key,type:`readonly_pure_selector_family`},V(e,i).subject.next({type:`state_disposal`,subType:`selector`,token:t,timestamp:Date.now()});break}n.valueMap.delete(r),n.selectorAtoms.delete(r),n.selectorGraph.delete(r),n.moleculeData.delete(a.key,a.subKey),e.logger.info(`🔥`,t.type,r,`deleted`),R(n)&&n.transactionMeta.phase===`building`?n.transactionMeta.update.subEvents.push({type:`state_disposal`,subType:`selector`,token:t,timestamp:Date.now()}):e.on.selectorDisposal.next(t)}}function nn(e,t){let n=M(e);return n.operation.open?n.operation.prev.get(t.key):n.valueMap.get(t.key)}function rn(e,t,n){return n.subject.subscribe(`${t.type}:${t.key}`,r=>{e.logger.info(`📢`,t.type,t.key,`root`,n.key,`went`,r.oldValue,`->`,r.newValue);let i=nn(e,t),a=H(e,t);e.logger.info(`✨`,t.type,t.key,`went`,i,`->`,a),t.subject.next({newValue:a,oldValue:i})})}function an(e,t,n,r){function i(n){e.operation.open&&a?.type===`atom`&&bn(a,`tracker:signal`)&&`*`+e.operation.token.key===t.key&&`inboundTracker`in r||r(n)}_t(e,t);let a=V(e,t);e.logger.info(`👀`,a.type,a.key,`Adding subscription "${n}"`);let o=a.type===`writable_pure_selector`||a.type===`readonly_pure_selector`,s=new Map,c=i;if(o){H(e,a);for(let[t,n]of qt(e,a.key))s.set(t,rn(e,a,n));c=function(t){let n=qt(e,a.key);for(let[e,t]of s)n.get(e)?n.delete(e):(t(),s.delete(e));for(let[t,r]of n)s.set(t,rn(e,a,r));i(t)}}let l=a.subject.subscribe(n,c);return()=>{e.logger.info(`🙈`,a.type,a.key,`Removing subscription "${n}"`),l();for(let e of s.values())e()}}function on(e,t,n,r){let i=V(e,t);e.logger.info(`👀`,`timeline`,t.key,`Adding subscription "${n}"`);let a=i.subject.subscribe(n,r);return()=>{e.logger.info(`🙈`,`timeline`,t.key,`Removing subscription "${n}" from timeline`),a()}}var sn=class{initializeSignalAtom(e,t){let n=`*${e.key}`;t.atoms.delete(n),t.valueMap.delete(n);let r=e.family?{key:`*${e.family.key}`,subKey:e.family.subKey}:void 0,i=yn(t,{key:n,default:null},r,[`tracker:signal`]);if(t.parent?.valueMap.has(n)){let e=t.parent.valueMap.get(n);t.valueMap.set(n,e)}return i}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(e,t,n){let r=e.key,i=`tracker-from-core:${n.config.name}:${R(n)?n.transactionMeta.update.token.key:`main`}:${r}`,a=e=>{Vt(Bt,n,t,e)};this.unsubscribeFromInnerValue=U(n,e).subscribe(i,a),this.unsubscribeFromState=an(n,e,i,function(e){e.newValue!==e.oldValue&&(this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=e.newValue.subscribe(i,a))}.bind(this))}supplySignalsToCore(e,t,n){let r=e.key,i=`tracker-to-core:${n.config.name}:${R(n)?n.transactionMeta.update.token.key:`main`}:${r}`;an(n,t,i,Object.assign(function({newValue:r,oldValue:a}){let o=n.timelineTopics.getRelatedKey(t.key);if(o&&n.timelines.get(o)?.timeTraveling){let t=on(n,{key:o,type:`timeline`},i,function(i){t(),G(n,e,e=>(i===`redo`&&r?e.do(r):i===`undo`&&a&&e.undo(a),e))});return}G(n,e,e=>(e.do(r),e))},{inboundTracker:!0}))}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(e,t){let n=M(t),r=this.initializeSignalAtom(e,n);this.mutableAtomToken=e,this.latestSignalToken=r,this.captureSignalsFromCore(e,r,n),this.supplySignalsToCore(e,r,n),n.trackers.set(e.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),n.trackers.delete(e.key)}}};function cn(e,t,n){e.logger.info(`🔨`,`atom`,t.key,`creating in store "${e.config.name}"`);let r=M(e),{key:i}=t,a=r.atoms.get(i),o=`mutable_atom`;if(a?.type===o&&e.config.isProduction===!0)return e.logger.error(`❌`,o,i,`Tried to create atom, but it already exists in the store.`),F(a);let s=new P,c={...t,type:o,install:e=>(e.logger.info(`🛠️`,`atom`,i,`installing in store "${e.config.name}"`),cn(e,t,n)),subject:s};n&&(c.family=n),r.atoms.set(c.key,c);let l=F(c);if(new sn(l,e),n||en(e,{key:`${i}:JSON`,get:({get:e})=>e(l).toJSON(),set:({set:e},n)=>{e(l,t.class.fromJSON(n))}}),t.effects){let n=0,r=[];for(let i of t.effects){let t=i({resetSelf:()=>{It(e,l)},setSelf:t=>{G(e,l,t)},onSet:t=>an(e,l,`effect[${n}]`,t),token:l,store:Te(e)});t&&r.push(t),++n}c.cleanup=()=>{for(let e of r)e()}}return e.on.atomCreation.next(l),l}var ln=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor(e,t){this.latestSignalAtoms=V(t,bt(t,{key:`*${e.key}`,default:null},[`mutable`,`updates`])),this.mutableAtoms=e,this.mutableAtoms.subject.subscribe(`store=${t.config.name}::tracker-atom-family`,e=>{let{type:n,token:r}=e;if(r.family){let e=A(r.family.subKey);switch(n){case`state_creation`:this.trackers.set(e,new sn(r,t));break;case`state_disposal`:{let t=this.trackers.get(e);t&&(t[Symbol.dispose](),this.trackers.delete(e))}}}})}};function un(e,t,n){let r={key:t.key,type:`mutable_atom_family`},i=e.families.get(t.key);i&&e.config.isProduction===!0&&e.logger.error(`❗`,`mutable_atom_family`,t.key,`Overwriting an existing ${q[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let a=new P,o=n=>{let r=j(n),i={key:t.key,subKey:r},a=`${t.key}(${r})`,o=M(e),s={key:a,class:t.class};return t.effects&&(s.effects=t.effects(n)),cn(o,s,i)},s={...r,create:o,class:t.class,subject:a,install:e=>un(e,t),internalRoles:n};return e.families.set(t.key,s),Ct(e,{key:`${t.key}:JSON`,get:e=>({get:t})=>t(r,e).toJSON(),set:e=>({set:n},i)=>{n(r,e,t.class.fromJSON(i))}},[`mutable`,`json`]),new ln(s,e),r}function dn(e,t){let n=M(t),r=`${e.key}:JSON`;return n.families.get(r)}var fn=(e,t)=>t.family?W(e,V(M(e),{key:`${t.family.key}:JSON`,type:`writable_pure_selector_family`}),A(t.family.subKey)):{type:`writable_pure_selector`,key:`${t.key}:JSON`};function pn(e){let t={type:`atom`,key:`*${e.key}`};return e.family&&(t.family={key:`*${e.family.key}`,subKey:e.family.subKey}),t}function mn(e){return typeof e==`object`&&!!e&&`do`in e&&`undo`in e&&`subscribe`in e&&`READONLY_VIEW`in e&&`toJSON`in e}function K(e,t,n){let{key:r,subject:i,type:a}=t,o=e.valueMap.get(r);if(o instanceof Oe&&!o.done){let t=o;return n instanceof Promise?(t.use(n),t):(e.valueMap.set(r,n),n)}if(n instanceof Promise){let o=new Oe(n);return e.valueMap.set(r,o),o.then(function(n){if(e.valueMap.get(r)===o){switch(Et(e,t),K(e,t,n),a){case`atom`:_n(e,t);break;case`readonly_pure_selector`:case`writable_pure_selector`:vn(e,r);break}Dt(e),i.next({newValue:n,oldValue:o})}}).catch(n=>{e.logger.error(`💥`,t.type,r,`rejected:`,n)}),o}return e.logger.info(`📝`,t.type,t.key,`writing to cache`,n),e.valueMap.set(r,n),n}function hn(e,t,n){e.logger.info(`📖`,t.type,t.key,`reading cached value`);let r=e.valueMap.get(t.key);if(n===`mut`&&t.type===`mutable_atom`&&R(e)){let n=t,{parent:i}=e;if(e.valueMap.hasOwn(n.key))return r;let a=i.valueMap.get(n.key);e.logger.info(`📃`,`atom`,n.key,`copying`);let o=a.toJSON(),s=n.class.fromJSON(o);e.valueMap.set(n.key,s),new sn(n,i),r=s}return r}function gn(e,t){let n=e.valueMap.get(t);if(n instanceof Oe){let r=e.readonlySelectors.get(t),i=e.writableSelectors.get(t),a=dt(e,r??i);n.use(a);return}e.operation.open&&e.operation.prev.set(t,n),e.valueMap.delete(t),e.logger.info(`🗑`,`state`,t,`evicted`)}function _n(e,t){let n=M(e),{key:r,type:i}=t,a=n.selectorAtoms.getRelatedKeys(r);if(n.logger.info(`🧹`,i,r,a?`evicting ${a.size} states downstream:`:`no downstream states`,a??`to evict`),a){n.operation.open&&n.logger.info(`🧹`,i,r,`[ ${[...n.operation.done].join(`, `)} ] already done`);for(let e of a)Ot(n,e)||(gn(n,e),kt(n,e))}}function vn(e,t){let n=M(e),r=n.selectorGraph.getRelationEntries({upstreamSelectorKey:t}).filter(([e,{source:n}])=>n===t);for(let[t]of r)Ot(n,t)||(gn(n,t),kt(n,t),vn(e,t))}function yn(e,t,n,r){let i=`atom`,{key:a}=t;e.logger.info(`🔨`,i,a,`is being created`);let o=M(e),s=o.atoms.get(a);if(s?.type===i&&e.config.isProduction===!0)return e.logger.error(`❌`,`atom`,a,`Tried to create atom, but it already exists in the store.`),F(s);let c=new P,l={...t,type:i,install:e=>(e.logger.info(`🛠️`,i,a,`installing in store "${e.config.name}"`),yn(e,t,n)),subject:c};n&&(l.family=n),r&&(l.internalRoles=r),o.atoms.set(a,l);let u=F(l);if(t.effects){let n=0,r=[];for(let i of t.effects){let t=i({resetSelf:()=>{It(e,u)},setSelf:t=>{G(e,u,t)},onSet:t=>an(e,u,`effect[${n}]`,t),token:u,store:Te(e)});t&&r.push(t),++n}l.cleanup=()=>{for(let e of r)e()}}return e.on.atomCreation.next(u),u}function bn(e,t){return`internalRoles`in e?e.internalRoles.includes(t):!1}function xn(e,t){let n=M(e),{key:r,family:i}=t,a=V(n,t);if(!i)e.logger.error(`❌`,`atom`,r,`Standalone atoms cannot be disposed.`);else{a.cleanup?.();let o=e.valueMap.get(a.key),s=V(e,ft(e,t)).subject,c={type:`state_disposal`,subType:`atom`,token:t,value:o,timestamp:Date.now()};s.next(c);let l=R(n);if(n.atoms.delete(r),n.valueMap.delete(r),n.selectorAtoms.delete(r),n.atomsThatAreDefault.delete(r),n.moleculeData.delete(i.key,i.subKey),e.timelineTopics.delete(r),t.type===`mutable_atom`&&(xn(e,pn(t)),e.trackers.delete(r)),e.logger.info(`🔥`,`atom`,r,`deleted`),l&&n.transactionMeta.phase===`building`){let e=n.transactionMeta.update.subEvents.at(-1),t=e?.type===`molecule_disposal`&&e.values.some(([e])=>e===a.family?.key),r=bn(a,`tracker:signal`);!t&&!r&&n.transactionMeta.update.subEvents.push(c)}else e.on.atomDisposal.next(t)}}function Sn(e){return yn(B.STORE,e,void 0)}function Cn(e){return bt(B.STORE,e)}function wn(...e){return U(B.STORE,...e)}var q={atom_family:`atom family`,atom:`atom`,continuity:`continuity`,key:`key`,mutable_atom_family:`atom family [m]`,mutable_atom:`atom [m]`,readonly_held_selector_family:`selector family [h]`,readonly_held_selector:`selector [h]`,readonly_pure_selector_family:`selector family`,readonly_pure_selector:`selector`,socket:`socket`,state:`state`,timeline:`timeline`,transaction:`transaction`,unknown:`unknown`,user:`👤`,writable_held_selector_family:`selector family [wh]`,writable_held_selector:`selector [wh]`,writable_pure_selector_family:`selector family [w]`,writable_pure_selector:`selector [w]`},Tn=(e,t)=>(n,r,i,a,...o)=>{console[e](`${t?`${t} `:``}${n} ${q[r]} \`${i}\` ${a}`,...o)},En={error:Tn(`error`),info:Tn(`info`),warn:Tn(`warn`)},Dn=class{logLevel;filter;logger;constructor(e,t,n=En){this.logLevel=e,this.filter=t,this.logger=n}error=(...e)=>{if(this.logLevel!==null){let t=this.filter?.(...e)??!0;t===!0?this.logger.error(...e):t&&this.logger.error(...t)}};info=(...e)=>{if(this.logLevel===`info`){let t=this.filter?.(...e)??!0;t===!0?this.logger.info(...e):t&&this.logger.info(...t)}};warn=(...e)=>{if(this.logLevel!==`error`&&this.logLevel!==null){let t=this.filter?.(...e)??!0;t===!0?this.logger.warn(...e):t&&this.logger.warn(...t)}}};function On(e,t){return[e,t].sort().join(``)}function kn(e){if(typeof e!=`string`)return null;let[t,n]=e.split(`==`);if(!n)return null;let r=t.slice(4),[i,a]=n.split(`++`);return r&&i&&a?[r,i,a]:null}function An(...e){It(B.STORE,...e)}function jn(e){return wt(B.STORE,e)}function J(...e){G(B.STORE,...e)}function Mn(e){return st(B.STORE,e)}function Nn(e,t=we()){return Fe(B.STORE,e,t)}var Y,X,Pn,Fn,In=0,Ln=[],Z=t,Rn=Z.__b,zn=Z.__r,Bn=Z.diffed,Vn=Z.__c,Hn=Z.unmount,Un=Z.__;function Wn(e,t){Z.__h&&Z.__h(X,e,In||t),In=0;var n=X.__H||={__:[],__h:[]};return e>=n.__.length&&n.__.push({}),n.__[e]}function Gn(e){return In=1,Kn(or,e)}function Kn(e,t,n){var r=Wn(Y++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):or(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=X,!X.__f)){var i=function(e,t,n){if(!r.__c.__H)return!0;var i=r.__c.__H.__.filter(function(e){return e.__c});if(i.every(function(e){return!e.__N}))return!a||a.call(this,e,t,n);var o=r.__c.props!==e;return i.some(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(o=!0)}}),a&&a.call(this,e,t,n)||o};X.__f=!0;var a=X.shouldComponentUpdate,o=X.componentWillUpdate;X.componentWillUpdate=function(e,t,n){if(this.__e){var r=a;a=void 0,i(e,t,n),a=r}o&&o.call(this,e,t,n)},X.shouldComponentUpdate=i}return r.__N||r.__}function qn(e,t){var n=Wn(Y++,3);!Z.__s&&ar(n.__H,t)&&(n.__=e,n.u=t,X.__H.__h.push(n))}function Jn(e,t){var n=Wn(Y++,4);!Z.__s&&ar(n.__H,t)&&(n.__=e,n.u=t,X.__h.push(n))}function Yn(e){return In=5,Xn(function(){return{current:e}},[])}function Xn(e,t){var n=Wn(Y++,7);return ar(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Zn(e,t){return In=8,Xn(function(){return e},t)}function Qn(e){var t=X.context[e.__c],n=Wn(Y++,9);return n.c=e,t?(n.__??(n.__=!0,t.sub(X)),t.props.value):e.__}function $n(){var e=Wn(Y++,11);if(!e.__){for(var t=X.__v;t!==null&&!t.__m&&t.__!==null;)t=t.__;var n=t.__m||=[0,0];e.__=`P`+n[0]+`-`+ n[1]++}return e.__}function er(){for(var e;e=Ln.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(rr),t.__h.some(ir),t.__h=[]}catch(n){t.__h=[],Z.__e(n,e.__v)}}}Z.__b=function(e){X=null,Rn&&Rn(e)},Z.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Un&&Un(e,t)},Z.__r=function(e){zn&&zn(e),Y=0;var t=(X=e.__c).__H;t&&(Pn===X?(t.__h=[],X.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.some(rr),t.__h.some(ir),t.__h=[],Y=0)),Pn=X},Z.diffed=function(e){Bn&&Bn(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Ln.push(t)!==1&&Fn===Z.requestAnimationFrame||((Fn=Z.requestAnimationFrame)||nr)(er)),t.__H.__.some(function(e){e.u&&(e.__H=e.u),e.u=void 0})),Pn=X=null},Z.__c=function(e,t){t.some(function(e){try{e.__h.some(rr),e.__h=e.__h.filter(function(e){return!e.__||ir(e)})}catch(n){t.some(function(e){e.__h&&=[]}),t=[],Z.__e(n,e.__v)}}),Vn&&Vn(e,t)},Z.unmount=function(e){Hn&&Hn(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(e){try{rr(e)}catch(e){t=e}}),n.__H=void 0,t&&Z.__e(t,n.__v))};var tr=typeof requestAnimationFrame==`function`;function nr(e){var t,n=function(){clearTimeout(r),tr&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);tr&&(t=requestAnimationFrame(n))}function rr(e){var t=X,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),X=t}function ir(e){var t=X;e.__c=e.__(),X=t}function ar(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function or(e,t){return typeof t==`function`?t(e):t}function sr(e,t){for(var n in t)e[n]=t[n];return e}function cr(e,t){for(var n in e)if(n!==`__source`&&!(n in t))return!0;for(var r in t)if(r!==`__source`&&e[r]!==t[r])return!0;return!1}function lr(e,t){var n=t(),r=Gn({t:{__:n,u:t}}),i=r[0].t,a=r[1];return Jn(function(){i.__=n,i.u=t,ur(i)&&a({t:i})},[e,n,t]),qn(function(){return ur(i)&&a({t:i}),e(function(){ur(i)&&a({t:i})})},[e]),n}function ur(e){try{return!((t=e.__)===(n=e.u())&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}var t,n}function dr(e,t){this.props=e,this.context=t}(dr.prototype=new x).isPureReactComponent=!0,dr.prototype.shouldComponentUpdate=function(e,t){return cr(this.props,e)||cr(this.state,t)};var fr=t.__b;t.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),fr&&fr(e)},typeof Symbol<`u`&&Symbol.for;var pr=t.__e;t.__e=function(e,t,n,r){if(e.then){for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return t.__e??(t.__e=n.__e,t.__k=n.__k),i.__c(e,t)}pr(e,t,n,r)};var mr=t.unmount;function hr(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(e){typeof e.__c==`function`&&e.__c()}),e.__c.__H=null),(e=sr({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(e){return hr(e,t,n)})),e}function gr(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return gr(e,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function _r(){this.__u=0,this.o=null,this.__b=null}function vr(e){var t=e.__&&e.__.__c;return t&&t.__a&&t.__a(e)}function yr(){this.i=null,this.l=null}t.unmount=function(e){var t=e.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),mr&&mr(e)},(_r.prototype=new x).__c=function(e,t){var n=t.__c,r=this;r.o??=[],r.o.push(n);var i=vr(r.__v),a=!1,o=function(){a||r.__z||(a=!0,n.__R=null,i?i(c):c())};n.__R=o;var s=n.__P;n.__P=null;var c=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=gr(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.__P=s,t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(o,o)},_r.prototype.componentWillUnmount=function(){this.o=[]},_r.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement(`div`),r=this.__v.__k[0].__c;this.__v.__k[0]=hr(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&v(b,null,e.fallback);return i&&(i.__u&=-33),[v(b,null,t.__a?null:e.children),i]};var br=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!==`t`||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};(yr.prototype=new x).__a=function(e){var t=this,n=vr(t.__v),r=t.l.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),br(t,e,r)):i()};n?n(a):a()}},yr.prototype.render=function(e){this.i=null,this.l=new Map;var t=te(e.children);e.revealOrder&&e.revealOrder[0]===`b`&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},yr.prototype.componentDidUpdate=yr.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){br(e,n,t)})};var xr=typeof Symbol<`u`&&Symbol.for&&Symbol.for(`react.element`)||60103,Sr=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Cr=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,wr=/[A-Z0-9]/g,Tr=typeof document<`u`,Er=function(e){return(typeof Symbol<`u`&&typeof Symbol()==`symbol`?/fil|che|rad/:/fil|che|ra/).test(e)};x.prototype.isReactComponent=!0,[`componentWillMount`,`componentWillReceiveProps`,`componentWillUpdate`].forEach(function(e){Object.defineProperty(x.prototype,e,{configurable:!0,get:function(){return this[`UNSAFE_`+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var Dr=t.event;t.event=function(e){return Dr&&(e=Dr(e)),e.persist=function(){},e.isPropagationStopped=function(){return this.cancelBubble},e.isDefaultPrevented=function(){return this.defaultPrevented},e.nativeEvent=e};var Or={configurable:!0,get:function(){return this.class}},kr=t.vnode;t.vnode=function(e){typeof e.type==`string`&&function(e){var t=e.props,n=e.type,r={},i=n.indexOf(`-`)==-1;for(var a in t){var o=t[a];if(!(a===`value`&&`defaultValue`in t&&o==null||Tr&&a===`children`&&n===`noscript`||a===`class`||a===`className`)){var s=a.toLowerCase();a===`defaultValue`&&`value`in t&&t.value==null?a=`value`:a===`download`&&!0===o?o=``:s===`translate`&&o===`no`?o=!1:s[0]===`o`&&s[1]===`n`?s===`ondoubleclick`?a=`ondblclick`:s!==`onchange`||n!==`input`&&n!==`textarea`||Er(t.type)?s===`onfocus`?a=`onfocusin`:s===`onblur`?a=`onfocusout`:Cr.test(a)&&(a=s):s=a=`oninput`:i&&Sr.test(a)?a=a.replace(wr,`-$&`).toLowerCase():o===null&&(o=void 0),s===`oninput`&&r[a=s]&&(a=`oninputCapture`),r[a]=o}}n==`select`&&(r.multiple&&Array.isArray(r.value)&&(r.value=te(t.children).forEach(function(e){e.props.selected=r.value.indexOf(e.props.value)!=-1})),r.defaultValue!=null&&(r.value=te(t.children).forEach(function(e){e.props.selected=r.multiple?r.defaultValue.indexOf(e.props.value)!=-1:r.defaultValue==e.props.value}))),t.class&&!t.className?(r.class=t.class,Object.defineProperty(r,`className`,Or)):t.className&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=xr,kr&&kr(e)};var Ar=t.__r;t.__r=function(e){Ar&&Ar(e),e.__c};var jr=t.diffed;t.diffed=function(e){jr&&jr(e);var t=e.props,n=e.__e;n!=null&&e.type===`textarea`&&`value`in t&&t.value!==n.value&&(n.value=t.value==null?``:t.value)};var Mr=0;Array.isArray;function Q(e,n,r,i,a,o){n||={};var s,c,l=n;if(`ref`in l)for(c in l={},n)c==`ref`?s=n[c]:l[c]=n[c];var u={type:e,props:l,key:r,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Mr,__i:-1,__u:0,__source:a,__self:o};if(typeof e==`function`&&(s=e.defaultProps))for(c in s)l[c]===void 0&&(l[c]=s[c]);return t.vnode&&t.vnode(u),u}var Nr=me(B.STORE);function Pr(...e){let t,n,r=Qn(Nr);if(e.length===3){let i=e[0],a=e[1];t=W(r,i,a),n=e[2]}else t=e[0],n=e[1];let i=n(null);return qn(()=>{G(r,t,i.current)},[t]),i}function Fr(e,...t){let n;if(t.length===2){let r=t[0],i=t[1];n=W(e,r,i)}else n=t[0];return n}function Ir(e,t){if(globalThis.env?.NODE_ENV===`development`){let n=Yn(!1);qn(()=>{let t=n.current;if(t===!1)t=e()??!0,n.current=t;else return()=>{N(t)&&t(),n.current=!1}},t)}else qn(e,t)}function Lr(...e){let t=Qn(Nr),n=Fr(t,...e),r=$n();if(n.type===`mutable_atom`||n.type===`readonly_held_selector`||n.type===`writable_held_selector`){let[,e]=Gn(0),i=Yn(U(t,n));return Ir(()=>an(t,n,`use-o:${r}`,({newValue:t})=>{i.current=t,e(e=>e+1)}),[n.key]),i.current}let i=Zn(e=>an(t,n,`use-o:${r}`,e),[n.key]),a=Zn(()=>U(t,n),[n.key]);return lr(i,a,a)}var Rr=Sn({key:`pathKeys`,default:[]}),zr=Cn({key:`subpathKeys`,default:[]}),Br=Cn({key:`node`,default:null}),Vr=Cn({key:`edge`,default:!0}),Hr=jn({key:`pathDraw`,get:e=>({get:t})=>t(zr,e).map((e,n)=>{let r=t(Br,e),i=t(Vr,e);return r===null?`Z`:n===0||i===!1?`M ${r.x} ${r.y}`:i===!0?`L ${r.x} ${r.y}`:`c`in i?`C ${i.c.x} ${i.c.y} ${i.s.x} ${i.s.y} ${r.x} ${r.y}`:`S ${i.s.x} ${i.s.y} ${r.x} ${r.y}`}).join(` `)});function Ur(e,t,n){return Math.max(t,Math.min(n,e))}function Wr({at:e,subpathKey:t,prevSubpathKey:n,node:r}){let i;switch(typeof r){case`undefined`:i=Lr(Br,n);break;default:i=r}return i===null?null:Q(b,{children:[Q(`line`,{class:`bezier`,x1:i.x,y1:i.y,x2:e.x,y2:e.y,stroke:`#777`,"stroke-width":1}),Q(`circle`,{class:`bezier`,fill:`#777`,stroke:`#aaa`,"stroke-width":1,cx:e.x,cy:e.y,r:2}),Q(`circle`,{class:`bezier-draggable`,fill:`transparent`,cx:e.x,cy:e.y,r:6,onPointerDown:e=>{e.currentTarget.setPointerCapture(e.pointerId),J(Xr,{key:t,by:r?`s`:`c`})}})]})}function Gr({subpathKey:e,nextSubpathKey:t}){let n=Lr(Br,e),r=Lr(Vr,e);return n===null?null:Q(b,{children:[typeof r==`boolean`?Q(`rect`,{class:`node`,x:n.x-3,y:n.y-3,width:6,height:6}):Q(b,{children:[Q(Wr,{at:r.s,node:n,subpathKey:e,prevSubpathKey:t}),r.c?Q(Wr,{at:r.c,subpathKey:e,prevSubpathKey:t}):null,Q(`circle`,{class:`node`,cx:n.x,cy:n.y,r:3})]}),Q(`circle`,{class:`node-draggable`,fill:`transparent`,cx:n.x,cy:n.y,r:10,onPointerDown:t=>{t.currentTarget.setPointerCapture(t.pointerId),J(Xr,{key:e})}})]})}function Kr({pathKey:e}){return Q(`path`,{d:`${Lr(Hr,e)} Z`,class:`path`,style:{pointerEvents:`none`}})}function qr({pathKey:e}){let t=Lr(zr,e);return Q(b,{children:[Q(Kr,{pathKey:e}),t.toReversed().map((e,t,n)=>Q(Gr,{subpathKey:e,nextSubpathKey:n[t+1]??n[0]},e))]})}function Jr(){return Q(b,{children:Lr(Rr).map(e=>Q(qr,{pathKey:e},e))})}var Yr=Sn({key:`svgRef`,default:null}),Xr=Sn({key:`currentlyDragging`,default:null});function Zr(e){e.preventDefault();let{key:t,by:n}=wn(Xr)??{},r=wn(Yr);if(!r||!t)return;let i=r.createSVGPoint();i.x=e.clientX,i.y=e.clientY;let a=r.getScreenCTM()?.inverse(),{x:o,y:s}=i.matrixTransform(a);switch(n){case void 0:J(Br,t,{x:Ur(o,-185,ti+185),y:Ur(s,-10,$+10)});break;case`s`:J(Vr,t,e=>({...e,s:{x:Ur(o,-185,ti+185),y:Ur(s,-10,$+10)}}));break;case`c`:J(Vr,t,e=>({...e,c:{x:Ur(o,-185,ti+185),y:Ur(s,-10,$+10)}}));break}}var Qr=[`m`,`M`,`l`,`L`,`c`,`C`,`v`,`V`,`z`,`Z`],$r=Sn({key:`preactLogo`,default:()=>fetch(`preact.svg`).then(e=>e.text())}),ei=Nn(Mn({key:`reset`,do:async()=>{let e=await wn($r);for(let e of wn(Rr))An(zr,e);An(Rr);let t=e.split(`
|
|
4
|
+
`):``}function Re(e,t,n,r=`any`){let i=t,a=j(n),o=[],s=M(e);if(Array.isArray(i))for(let t of i){let n=j(t);s.molecules.get(n)?e.moleculeGraph.set(n,a,{source:n}):o.push(n)}else{let t=j(i);s.molecules.get(t)?e.moleculeGraph.set(t,a,{source:t}):o.push(t)}let c=new P;o.length===0&&s.molecules.set(a,{key:n,stringKey:a,dependsOn:r,subject:c});let l={type:`molecule_creation`,key:n,provenance:i,timestamp:Date.now()};R(s)&&s.transactionMeta.phase===`building`?s.transactionMeta.update.subEvents.push(l):s.on.moleculeCreation.next(l);for(let t of o){let r=e.disposalTraces.buffer.find(e=>e?.key===t);e.logger.error(`❌`,`key`,n,`allocation failed:`,`Could not allocate to ${t} in store "${e.config.name}".`,r?`\n ${t} was most recently disposed\n${r.trace}`:`No previous disposal trace for ${t} was found.`)}return n}function ze(e,t){let n=j(t),r=e.molecules.get(n);if(!r){let r=e.disposalTraces.buffer.find(e=>e?.key===n);e.logger.error(`❌`,`key`,t,`deallocation failed:`,`Could not find allocation for ${n} in store "${e.config.name}".`,r?`\n This state was most recently deallocated\n${r.trace}`:`No previous disposal trace for ${n} was found.`);return}r.subject.next();let i=e.keyRefsInJoins.getRelatedKeys(n);if(i)for(let n of i){let r=e.joins.get(n);r&&r.relations.delete(t)}else{let n=kn(t);if(n){let[,t,r]=n,i=e.keyRefsInJoins.getRelatedKey(On(t,r));if(i){let n=e.joins.get(i);n&&n.relations.delete(t,r)}}}e.keyRefsInJoins.delete(n);let a=[],o=[],s=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:n});if(s)for(let[t,{source:r}]of s)r===n?ze(e,A(t)):a.push(r);let c=e.moleculeData.getRelatedKeys(r.stringKey);if(c)for(let n of c){let r=e.families.get(n),i=U(e,r,t);o.push([r.key,i]),Tt(e,r,t)}let l={type:`molecule_disposal`,key:r.key,values:o,provenance:a,timestamp:Date.now()};e.molecules.delete(n);let u=R(e)&&e.transactionMeta.phase===`building`;u&&e.transactionMeta.update.subEvents.push(l),e.moleculeGraph.delete(r.stringKey),e.keyRefsInJoins.delete(r.stringKey),e.moleculeData.delete(r.stringKey),u||e.on.moleculeDisposal.next(l),e.molecules.delete(r.stringKey);let d=Le(Error());e.disposalTraces.add({key:n,trace:d})}function Be(e,t,n,r){let i=j(n),a=M(e),o=a.molecules.get(i);if(!o){let t=e.disposalTraces.buffer.find(e=>e?.key===i);return e.logger.error(`❌`,`key`,i,`claim failed:`,`Could not allocate to ${i} in store "${e.config.name}".`,t?`\n ${i} was most recently disposed\n${t.trace}`:`No previous disposal trace for ${i} was found.`),n}let s=j(t),c=a.molecules.get(s);if(!c){let t=e.disposalTraces.buffer.find(e=>e?.key===s);return e.logger.error(`❌`,`key`,n,`claim failed:`,`Could not allocate to ${s} in store "${e.config.name}".`,t?`\n ${s} was most recently disposed\n${t.trace}`:`No previous disposal trace for ${s} was found.`),n}let l=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:o.stringKey}).filter(([,{source:e}])=>e!==i).map(([e])=>A(e));r&&a.moleculeGraph.delete(i),a.moleculeGraph.set({upstreamMoleculeKey:c.stringKey,downstreamMoleculeKey:o.stringKey},{source:c.stringKey});let u={type:`molecule_transfer`,key:o.key,exclusive:!!r,from:l,to:[c.key],timestamp:Date.now()};return R(a)&&a.transactionMeta.phase===`building`&&a.transactionMeta.update.subEvents.push(u),n}function Ve(e,t,n){switch(n){case`newValue`:Ue(e,t);break;case`oldValue`:Tt(e,t.token);break}}function He(e,t,n){switch(n){case`newValue`:Tt(e,t.token);break;case`oldValue`:Ue(e,t),t.subType===`atom`&&e.valueMap.set(t.token.key,t.value);break}}function Ue(e,t){let{token:n}=t;t.subType===`writable`&&t.value?G(e,n,t.value):U(e,n)}function We(e,t,n){switch(n){case`newValue`:Re(e,t.provenance,t.key);break;case`oldValue`:ze(e,t.key);break}}function Ge(e,t,n){switch(n){case`newValue`:ze(e,t.key);break;case`oldValue`:Re(e,t.provenance.map(A),t.key);for(let[n,r]of t.values){let i=e.families.get(n);if(i){U(e,i,t.key);let a=`${n}(${j(t.key)})`;e.valueMap.set(a,r)}}break}}function Ke(e,t,n){switch(n){case`newValue`:for(let n of t.to)Be(e,n,t.key,t.exclusive?`exclusive`:void 0);break;case`oldValue`:{let n=`exclusive`;for(let r of t.from)Be(e,r,t.key,n),n=void 0}break}}function qe(e,t,n){let r=n===`newValue`?t.subEvents:[...t.subEvents].reverse();for(let t of r)switch(t.type){case`atom_update`:Ie(e,t,n);break;case`state_creation`:Ve(e,t,n);break;case`state_disposal`:He(e,t,n);break;case`molecule_creation`:We(e,t,n);break;case`molecule_disposal`:Ge(e,t,n);break;case`molecule_transfer`:Ke(e,t,n);break;case`transaction_outcome`:qe(e,t,n);break}}function Je(e){return`epoch`in e.transactionMeta}function R(e){return`phase`in e.transactionMeta}function Ye(e,t){return e.transactionMeta.actionContinuities.getRelatedKey(t)}function Xe(e,t){return e.transactionMeta.epoch.get(t)}function Ze(e,t){let n=Ye(e,t);if(n!==void 0)return Xe(e,n)}function Qe(e,t,n){let r=Ye(e,t);r!==void 0&&e.transactionMeta.epoch.set(r,n)}function $e(e,t){let n=M(e),{parent:r}=n;n.transactionMeta.phase=`applying`,n.transactionMeta.update.output=t,r.child=null,r.on.transactionApplying.next(n.transactionMeta);let{subEvents:i}=n.transactionMeta.update;e.logger.info(`🛄`,`transaction`,n.transactionMeta.update.token.key,`applying ${i.length} subEvents:`,i),qe(r,n.transactionMeta.update,`newValue`),Je(r)?(Qe(r,n.transactionMeta.update.token.key,n.transactionMeta.update.epoch),V(e,{key:n.transactionMeta.update.token.key,type:`transaction`})?.subject.next(n.transactionMeta.update),e.logger.info(`🛬`,`transaction`,n.transactionMeta.update.token.key,`applied`)):R(r)&&r.transactionMeta.update.subEvents.push(n.transactionMeta.update),r.on.transactionApplying.next(null)}function et(e){return{store:e}}function z(e){return e[0].toUpperCase()+e.slice(1)}function tt(e,t){let n=e.joins.get(t.key);if(n===void 0){let r=B.STORE.joins.get(t.key);if(r===void 0)throw Error(`Join "${t.key}" not found in store "${e.config.name}"`);n=new at(Te(e),r.options),e.joins.set(t.key,n)}return n}function nt(e,t,n){let r=tt(e,t),i=M(e);if(R(i)){let{toolkit:e}=i.transactionMeta;r.transact(e,({relations:e})=>{n(e)})}else n(r.relations)}function rt(e,t,n){let r=tt(e,t),i;switch(t.cardinality){case`1:1`:{let a=`${t.a}KeyOf${z(t.b)}`,o=`${t.b}KeyOf${z(t.a)}`;i={get[a](){let t=r.states[a];return W(e,t,n)},get[o](){let t=r.states[o];return W(e,t,n)}};break}case`1:n`:{let a=`${t.a}KeyOf${z(t.b)}`,o=`${t.b}KeysOf${z(t.a)}`;i={get[a](){let t=r.states[a];return W(e,t,n)},get[o](){let t=r.states[o];return W(e,t,n)}};break}case`n:n`:{let a=`${t.a}KeysOf${z(t.b)}`,o=`${t.b}KeysOf${z(t.a)}`;i={get[a](){let t=r.states[a];return W(e,t,n)},get[o](){let t=r.states[o];return W(e,t,n)}}}}return i}function it(e,t,n){let r=tt(e,t);return n===`split`?[r.relatedKeysAtoms,r.relatedKeysAtoms]:r.relatedKeysAtoms}var at=class{toolkit;options;relations;states;relatedKeysAtoms;transact(e,t){let n=this.toolkit;this.toolkit=e,t(this),this.toolkit=n}store;[Symbol.dispose](){}constructor(e,t){this.store=e,this.options=t,this.store.miscResources.set(`join:${t.key}`,this),this.toolkit={get:((...t)=>U(e,...t)),set:((...t)=>{G(e,...t)}),find:((...t)=>W(e,...t)),json:t=>fn(e,t),relations:{edit:((...t)=>{nt(e,...t)}),find:((...t)=>rt(e,...t)),internal:((...t)=>it(e,...t))}};let n=t.between[0],r=t.between[1],i=un(e,{key:`${t.key}/relatedKeys`,class:Ce},[`join`,`relations`]);this.relatedKeysAtoms=i;let a=(t,n,r)=>{let{find:a,get:o,set:s}=t,c=a(i,n),l=o(c);for(let e of l)r.includes(e)||s(i,e,e=>(e.delete(n),e));s(c,t=>{t.clear();for(let c of r){let r=a(i,c),l=o(r),u=l.has(n);if(this.relations.cardinality===`1:n`){let t=[];for(let e of l){if(e===n)continue;let r;Vt(Bt,this.store,i,e,e=>(e.delete(c),r=e.size,e)),r===0&&t.push(e)}!u&&l.size>0&&s(r,e=>(e.clear(),e));for(let n of t)e.keyRefsInJoins.delete(On(c,n))}u||s(r,e=>(e.add(n),e)),t.add(c)}return t})},o=(e,t,n)=>{let{set:r}=e;r(i,t,e=>{for(let t of n)e.add(t);return e});for(let e of n)r(i,e,e=>(e.add(t),e));return!0},s=new L(t,{externalStore:{getRelatedKeys:e=>this.toolkit.get(i,e),addRelation:(e,n)=>{this.store.keyRefsInJoins.set(`"${e}"`,t.key),this.store.keyRefsInJoins.set(`"${n}"`,t.key),this.store.keyRefsInJoins.set(On(e,n),t.key),this.toolkit.set(i,e,e=>e.add(n)),this.toolkit.set(i,n,t=>t.add(e))},deleteRelation:(e,t)=>{this.toolkit.set(i,e,e=>(e.delete(t),e)),this.toolkit.set(i,t,t=>(t.delete(e),t));let n=On(e,t);this.store.keyRefsInJoins.delete(n)},replaceRelationsSafely:(e,t)=>{a(this.toolkit,e,t)},replaceRelationsUnsafely:(e,t)=>{o(this.toolkit,e,t)},has:(e,t)=>{let n=this.toolkit.get(i,e);return t?n.has(t):n.size>0}},isAType:t.isAType,isBType:t.isBType}),c=()=>yt(e,{key:`${t.key}/singleRelatedKey`,get:e=>({get:t})=>{let n=t(i,e);for(let e of n)return e;return null}},[`join`,`keys`]),l=()=>yt(e,{key:`${t.key}/multipleRelatedKeys`,get:t=>({get:n})=>n(dn(i,e),t)},[`join`,`keys`]);switch(t.cardinality){case`1:1`:{let e=c(),t=`${n}KeyOf${z(r)}`,i=`${r}KeyOf${z(n)}`;this.relations=s,this.states={[t]:e,[i]:e};break}case`1:n`:{let e=c(),t=l(),i=`${n}KeyOf${z(r)}`,a=`${r}KeysOf${z(n)}`,o={[i]:e,[a]:t};this.relations=s,this.states=o;break}case`n:n`:{let e=l(),t=`${n}KeysOf${z(r)}`,i=`${r}KeysOf${z(n)}`;this.relations=s,this.states={[t]:e,[i]:e}}}}};function ot(e,t,n,r){let i=M(e),a={parent:i,child:null,on:i.on,loggers:i.loggers,logger:i.logger,config:i.config,atoms:new I(i.atoms),atomsThatAreDefault:new Set(i.atomsThatAreDefault),families:new I(i.families),joins:new I(i.joins),operation:{open:!1},readonlySelectors:new I(i.readonlySelectors),timelines:new I(i.timelines),timelineTopics:i.timelineTopics.overlay(),trackers:new Map,transactions:new I(i.transactions),selectorAtoms:i.selectorAtoms.overlay(),selectorGraph:i.selectorGraph.overlay(),writableSelectors:new I(i.writableSelectors),valueMap:new I(i.valueMap),defaults:i.defaults,disposalTraces:e.disposalTraces.copy(),molecules:new I(i.molecules),moleculeGraph:i.moleculeGraph.overlay(),moleculeData:i.moleculeData.overlay(),keyRefsInJoins:i.keyRefsInJoins.overlay(),miscResources:new I(i.miscResources)},o=Ze(e,t.key),s={phase:`building`,update:{type:`transaction_outcome`,token:t,id:r,epoch:o===void 0?NaN:o+1,timestamp:Date.now(),subEvents:[],params:n,output:void 0},toolkit:{get:((...e)=>U(c,...e)),set:((...e)=>{G(c,...e)}),reset:((...e)=>{It(c,...e)}),run:(e,t=we())=>Fe(c,e,t),find:((...t)=>W(e,...t)),json:e=>fn(c,e),dispose:((...e)=>{Tt(c,...e)}),env:()=>et(c),relations:{edit:((...e)=>{nt(c,...e)}),find:((...e)=>rt(c,...e)),internal:((...e)=>it(c,...e))}}},c=Object.assign(a,{transactionMeta:s});return i.child=c,e.logger.info(`🛫`,`transaction`,t.key,`building with params:`,n),c}function st(e,t){let{key:n}=t,r=e.transactions.has(n),i={key:n,type:`transaction`,run:(r,a)=>{let o=ot(e,F(i),r,a);try{let{toolkit:e}=o.transactionMeta,n=t.do(e,...r);return $e(o,n),n}catch(t){throw Pe(o),e.logger.warn(`💥`,`transaction`,n,`caught:`,t),t}},install:e=>st(e,t),subject:new P};M(e).transactions.set(n,i);let a=F(i);return r||e.on.transactionCreation.next(a),a}var ct=class{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new L({between:[`selectorKey`,`atomKey`],cardinality:`n:n`});selectorGraph=new L({between:[`upstreamSelectorKey`,`downstreamSelectorKey`],cardinality:`n:n`},{makeContentKey:(...e)=>e.sort().join(`:`)});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new L({between:[`continuity`,`action`],cardinality:`1:n`})};timelines=new Map;timelineTopics=new L({between:[`timelineKey`,`topicKey`],cardinality:`1:n`});disposalTraces=new Ae(100);molecules=new Map;moleculeGraph=new L({between:[`upstreamMoleculeKey`,`downstreamMoleculeKey`],cardinality:`n:n`},{makeContentKey:(...e)=>e.sort().join(`:`)});moleculeData=new L({between:[`moleculeKey`,`stateFamilyKey`],cardinality:`n:n`},{makeContentKey:(...e)=>e.sort().join(`:`)});keyRefsInJoins=new L({between:[`moleculeKey`,`joinKey`],cardinality:`n:n`},{makeContentKey:(...e)=>e.sort().join(`:`)});miscResources=new Map;on={atomCreation:new P,atomDisposal:new P,selectorCreation:new P,selectorDisposal:new P,timelineCreation:new P,transactionCreation:new P,transactionApplying:new ke(null),operationClose:new P,moleculeCreation:new P,moleculeDisposal:new P};operation={open:!1};config={name:`IMPLICIT_STORE`,lifespan:`ephemeral`,isProduction:!0};loggers=[new Dn(`warn`,(e,t,n)=>!Ne(n))];logger={error:(...e)=>{for(let t of this.loggers)t.error(...e)},info:(...e)=>{for(let t of this.loggers)t.info(...e)},warn:(...e)=>{for(let t of this.loggers)t.warn(...e)}};constructor(e,t=null){if(this.config={...t?.config,...e},t!==null){this.operation={...t?.operation},Je(t)&&(this.transactionMeta={epoch:new Map(t?.transactionMeta.epoch),actionContinuities:new L(t?.transactionMeta.actionContinuities.toJSON())});for(let[,e]of t.families)e.internalRoles?.includes(`mutable`)||e.internalRoles?.includes(`join`)||e.install(this);let e=new Set;for(let[,n]of t.atoms)if(!e.has(n.key)&&(n.install(this),n.type===`mutable_atom`)){let r=fn(t,n),i=pn(n);e.add(r.key),e.add(i.key)}for(let[,e]of t.readonlySelectors)e.install(this);for(let[,n]of t.writableSelectors)e.has(n.key)||n.install(this);for(let[,e]of t.transactions)e.install(this);for(let[,e]of t.timelines)e.install(this)}}},B={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new ct({name:`IMPLICIT_STORE`,lifespan:`ephemeral`,isProduction:!0}),globalThis.ATOM_IO_IMPLICIT_STORE}},lt=class extends Error{constructor(e,t){super(`${q[e.type]} ${j(e.key)} not found in store "${t.config.name}".`)}};function V(e,t){let n,r=e;for(;r!==null;){switch(t.type){case`atom`:case`mutable_atom`:n=r.atoms.get(t.key);break;case`writable_pure_selector`:case`writable_held_selector`:n=r.writableSelectors.get(t.key);break;case`readonly_pure_selector`:case`readonly_held_selector`:n=r.readonlySelectors.get(t.key);break;case`atom_family`:case`mutable_atom_family`:case`writable_pure_selector_family`:case`readonly_pure_selector_family`:case`writable_held_selector_family`:case`readonly_held_selector_family`:n=r.families.get(t.key);break;case`timeline`:n=r.timelines.get(t.key);break;case`transaction`:n=r.transactions.get(t.key);break}if(n)return n;r=r.child}throw new lt(t,e)}function ut(e,t,n,r){let i=e.disposalTraces.buffer.find(e=>e?.key===j(r));switch(e.logger.error(`❌`,t.type,t.key,`gets a fallback value because key`,r,`is not allocated`,i?`This key was previously disposed:\n${i.trace}`:`(no previous disposal trace found)`),n.type){case`mutable_atom_family`:{if(e.defaults.has(n.key))return e.defaults.get(n.key);let t=new n.class;return e.defaults.set(n.key,t),t.READONLY_VIEW}case`atom_family`:{if(e.defaults.has(n.key))return e.defaults.get(n.key);let t=n.default,i=t(r);return e.defaults.set(n.key,i),i}case`readonly_pure_selector_family`:case`writable_pure_selector_family`:case`readonly_held_selector_family`:case`writable_held_selector_family`:{if(e.defaults.has(n.key))return e.defaults.get(n.key);let t=n.default(r);return e.defaults.set(n.key,t),t}}}function dt(e,t){let{type:n,key:r,catch:i}=t;switch(n){case`readonly_pure_selector`:case`writable_pure_selector`:{let a;e.logger.info(`🧮`,n,r,`computing value`);try{a=t.getFrom(e),a instanceof Promise&&(a=a.catch(t=>{if(e.logger.error(`💥`,n,r,`rejected:`,t),i){for(let e of i)if(t instanceof e)return t}throw t}))}catch(a){if(e.logger.error(`💥`,n,r,`rejected:`,a),i){for(let n of i)if(a instanceof n)return K(e,t,a)}throw a}return K(e,t,a)}case`atom`:{let a;if(N(t.default))try{a=t.default(),a instanceof Promise&&(a=a.catch(t=>{if(e.logger.error(`💥`,n,r,`rejected:`,t),i){for(let e of i)if(t instanceof e)return t}throw t}))}catch(o){if(e.logger.error(`💥`,n,r,`rejected:`,o),i){for(let n of i)if(o instanceof n)return a=K(e,t,o),e.logger.info(`✨`,t.type,r,`computed default`,a),a}throw o}else a=t.default,e.logger.info(`✨`,t.type,r,`using static default`,a);return K(e,t,a)}}}function H(e,t,n){if(e.valueMap.has(t.key))return hn(e,t,n);e.logger.info(`❔`,t.type,t.key,`value not found in cache`);let{key:r}=t;switch(t.type){case`readonly_held_selector`:case`writable_held_selector`:return e.logger.info(`🧮`,t.type,r,`computing value`),t.getFrom(e);case`writable_pure_selector`:case`readonly_pure_selector`:case`atom`:return dt(e,t);case`mutable_atom`:{let n=new t.class;return e.logger.info(`✨`,t.type,r,`created new instance`,n),K(e,t,n)}}}function ft(e,t){return V(e,{key:t.family.key,type:`${t.type}_family`})}var pt={atom_family:`atom`,molecule_family:`molecule`,mutable_atom_family:`mutable_atom`,readonly_held_selector_family:`readonly_held_selector`,readonly_pure_selector_family:`readonly_pure_selector`,writable_held_selector_family:`writable_held_selector`,writable_pure_selector_family:`writable_pure_selector`},mt=Symbol(`MUST_CREATE`),ht=Symbol(`DO_NOT_CREATE`);function gt(e,t,n,r){let i=j(r),a=t.molecules.get(i);if(!a&&t.config.lifespan===`immortal`){let{type:e,key:r}=n;return t.logger.warn(`💣`,`key`,i,`was used to mint a counterfeit token for`,e,`"${r}"`),{counterfeit:!0,key:`${r}(${i})`,type:pt[e],family:{key:r,subKey:i}}}let o;if(e===mt)t.logger.info(`👪`,n.type,n.key,`adds member`,typeof r==`string`?`\`${r}\``:r),o=n.create(r),a&&t.moleculeData.set(i,n.key);else{let{type:e,key:t}=n;return{key:`${t}(${i})`,type:pt[e],family:{key:t,subKey:i}}}return o}function _t(e,...t){let n,r,i,a,o;if(t.length===1){if(o=t[0],`family`in o){let t=ft(e,o);if(i=V(e,t),a=A(o.family.subKey),n=vt(e,t,a),`counterfeit`in o)return{token:o,family:i,subKey:a,isNew:!1};n?o=n:(r=gt(mt,e,t,a),o=r)}}else i=V(e,t[0]),a=t[1],n=vt(e,i,a),n?o=n:(r=gt(mt,e,i,a),o=r);let s=`counterfeit`in o;if(r&&s===!1&&i){let t;switch(o.type){case`readonly_pure_selector`:case`readonly_held_selector`:t=`readable`;break;case`atom`:case`mutable_atom`:case`writable_pure_selector`:case`writable_held_selector`:t=`writable`;break}let n={type:`state_creation`,subType:t,token:o,timestamp:Date.now()};i.subject.next(n);let r=M(e);if(o.family)if(Je(r))switch(o.type){case`atom`:case`mutable_atom`:e.on.atomCreation.next(o);break;case`writable_pure_selector`:case`readonly_pure_selector`:case`writable_held_selector`:case`readonly_held_selector`:e.on.selectorCreation.next(o);break}else R(r)&&r.on.transactionApplying.state===null&&r.transactionMeta.update.subEvents.push(n)}return{token:o,family:i,subKey:a,isNew:!!r}}function U(e,...t){let{token:n,family:r,subKey:i}=_t(e,...t);return`counterfeit`in n&&r&&i?ut(e,n,r,i):H(e,V(e,n))}function vt(e,t,n){let r=j(n),i=`${t.key}(${r})`,a=M(e),o;switch(t.type){case`atom_family`:case`mutable_atom_family`:o=a.atoms.get(i);break;case`writable_held_selector_family`:case`writable_pure_selector_family`:o=a.writableSelectors.get(i);break;case`readonly_held_selector_family`:case`readonly_pure_selector_family`:o=a.readonlySelectors.get(i);break}return o&&F(o)}function W(e,t,n){let r=V(e,t);return vt(e,t,n)||gt(ht,e,r,n)}function yt(e,t,n){let r=t.key,i=`readonly_pure_selector_family`,a={key:r,type:i},o=e.families.get(r);o&&e.config.isProduction===!0&&e.logger.error(`❗`,i,r,`Overwriting an existing ${q[o.type]} "${o.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let s=new P,c=n=>{let i=j(n),a={key:r,subKey:i},o=`${r}(${i})`,s=M(e),c={key:o,get:t.get(n)};return t.catch&&(c.catch=t.catch),Zt(s,c,a)},l={...a,create:c,internalRoles:n,subject:s,install:e=>yt(e,t),default:n=>t.get(n)({get:U.bind(null,e),find:W.bind(null,e),json:t=>fn(e,t),relations:{find:rt.bind(null,e),internal:it.bind(null,e)}})};return e.families.set(r,l),a}function bt(e,t,n){let r={key:t.key,type:`atom_family`},i=e.families.get(t.key);i&&e.config.isProduction===!0&&e.logger.error(`❗`,`atom_family`,t.key,`Overwriting an existing ${q[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let a=new P,o=n=>{let r=j(n),i={key:t.key,subKey:r},a=`${t.key}(${r})`,o=M(e),s=t.default,c={key:a,default:N(s)?()=>s(n):s};return t.effects&&(c.effects=t.effects(n)),t.catch&&(c.catch=t.catch),yn(o,c,i)},s={...r,create:o,default:t.default,subject:a,install:e=>bt(e,t),internalRoles:n};return e.families.set(t.key,s),N(t.default)===!1&&e.defaults.set(t.key,t.default),r}function xt(e,t,n){let r=t.key,i=`readonly_held_selector_family`,a={key:r,type:i},o=e.families.get(r);o&&e.config.isProduction===!0&&e.logger.error(`❗`,i,r,`Overwriting an existing ${q[o.type]} "${o.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let s=new P,c=n=>{let i=j(n),a={key:r,subKey:i},o=`${r}(${i})`;return Xt(M(e),{key:o,const:t.const(n),get:t.get(n)},a)},l={...a,create:c,internalRoles:n,subject:s,install:e=>xt(e,t),default:t.const};return e.families.set(r,l),a}function St(e,t,n){let r=t.key,i=`writable_held_selector_family`,a={key:r,type:i},o=e.families.get(r);o&&e.config.isProduction===!0&&e.logger.error(`❗`,i,r,`Overwriting an existing ${q[o.type]} "${o.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let s=new P,c=n=>{let i=j(n),a={key:r,subKey:i},o=`${r}(${i})`;return Qt(M(e),{key:o,const:t.const(n),get:t.get(n),set:t.set(n)},a)},l={...a,create:c,internalRoles:n,subject:s,install:e=>St(e,t),default:t.const};return e.families.set(r,l),a}function Ct(e,t,n){let r=t.key,i=`writable_pure_selector_family`,a={key:r,type:i},o=e.families.get(r);o&&e.config.isProduction===!0&&e.logger.error(`❗`,i,r,`Overwriting an existing ${q[o.type]} "${o.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let s=new P,c=n=>{let i=j(n),a={key:r,subKey:i},o=`${r}(${i})`,s=M(e),c={key:o,get:t.get(n),set:t.set(n)};return t.catch&&(c.catch=t.catch),$t(s,c,a)},l={...a,create:c,internalRoles:n,subject:s,install:e=>Ct(e,t),default:n=>t.get(n)({get:((...t)=>U(e,...t)),find:((...t)=>W(e,...t)),json:t=>fn(e,t),relations:{find:((...t)=>rt(e,...t)),internal:((...t)=>it(e,...t))}})};return e.families.set(r,l),a}function wt(e,t){let n=`set`in t,r=`const`in t;return r&&n?St(e,t,void 0):r?xt(e,t,void 0):n?Ct(e,t):yt(e,t)}function Tt(e,...t){let n;if(t.length===1)n=t[0];else{let r=t[0],i=t[1];n=W(e,r,i)}try{V(e,n)}catch{e.logger.error(`❌`,n.type,n.key,`could not be disposed because it was not found in the store "${e.config.name}".`);return}switch(n.type){case`atom`:case`mutable_atom`:xn(e,n);break;case`writable_pure_selector`:case`readonly_pure_selector`:case`writable_held_selector`:case`readonly_held_selector`:tn(e,n);break}}function Et(e,t){if(e.operation.open){let n=performance.now();return e.logger.info(`🚫`,t.type,t.key,`deferring setState at T-${n} until setState for "${e.operation.token.key}" is done`),n}return e.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:t,subEvents:[]},e.logger.info(`⭕`,t.type,t.key,`operation start in store "${e.config.name}"${R(e)?` ${e.transactionMeta.phase} "${e.transactionMeta.update.token.key}"`:``}`),e}function Dt(e){e.operation.open&&e.logger.info(`🔴`,e.operation.token.type,e.operation.token.key,`operation done in store "${e.config.name}"`),e.operation={open:!1},e.on.operationClose.next(e.operation)}function Ot(e,t){return e.operation.open?e.operation.done.has(t):(e.logger.error(`🐞`,`unknown`,t,`isDone called outside of an operation. This is probably a bug in AtomIO.`),!0)}function kt(e,t){if(!e.operation.open){e.logger.error(`🐞`,`unknown`,t,`markDone called outside of an operation. This is probably a bug in AtomIO.`);return}e.operation.done.add(t)}function At(e,t,n,r,i){let{oldValue:a,newValue:o}=n,s=`oldValue`in n,c=F(t);if(r&&i){t.subject.next({newValue:o});let n={checkpoint:!0,type:`state_creation`,subType:`writable`,token:c,timestamp:Date.now(),value:o};e.operation.subEvents.push(n),i.subject.next(n);let r=M(e);if(c.family)if(Je(r))switch(c.type){case`atom`:case`mutable_atom`:e.on.atomCreation.next(c);break;case`writable_pure_selector`:case`writable_held_selector`:e.on.selectorCreation.next(c);break}else R(r)&&r.on.transactionApplying.state===null&&r.transactionMeta.update.subEvents.push(n);return}let{key:l,subject:u,type:d}=t,f;if(f=s?{oldValue:mn(a)?a.READONLY_VIEW:a,newValue:mn(o)?o.READONLY_VIEW:o}:{newValue:mn(o)?o.READONLY_VIEW:o},Je(e)){switch(d){case`mutable_atom`:e.logger.info(`📢`,d,l,`is now (`,o,`) subscribers:`,u.subscribers.keys());break;case`atom`:case`writable_pure_selector`:case`writable_held_selector`:e.logger.info(`📢`,d,l,`went (`,a,`->`,o,`) subscribers:`,u.subscribers.keys())}u.next(f)}if(R(e)&&(d===`mutable_atom`||d===`atom`)){if(e.on.transactionApplying.state===null){if(mn(o))return;let{timestamp:t}=e.operation,n={type:`atom_update`,token:c,timestamp:t,update:f};e.transactionMeta.update.subEvents.push(n),e.logger.info(`📁`,`atom`,l,`stowed (`,a,`->`,o,`)`);return}if(bn(t,`tracker:signal`)){let t=l.slice(1),n=e.atoms.get(t);H(e,n,`mut`).do(f.newValue)===null&&_n(e,n)}}}var jt=Symbol(`UNSET`);function Mt(e,t,n){let r,i;if(N(n)){let a=H(e,t,`mut`);r=a,i=n(a)}else r=e.valueMap.has(t.key)?hn(e,t,`mut`):t.type===`atom`&&!N(t.default)?t.default:jt,i=n;return e.logger.info(`⭐`,`atom`,t.key,`setting value`,i),i=K(e,t,i),kt(e,t.key),_n(e,t),r===jt?{newValue:i}:{oldValue:r,newValue:i}}function Nt(e,t){switch(t.type){case`mutable_atom`:return Mt(e,t,new t.class);case`atom`:{let n;return n=N(t.default)?dt(e,t):t.default,Mt(e,t,n)}}}function Pt(e,t){let n;switch(t.type){case`atom`:case`mutable_atom`:n=Nt(e,t);break;case`writable_held_selector`:{let r=qt(e,t.key);for(let n of r.values())At(e,t,Nt(e,n),!1);let i=t.getFrom(e);n={oldValue:i,newValue:i}}break;case`writable_pure_selector`:{let r=dt(e,t),i=qt(e,t.key);for(let n of i.values())At(e,t,Nt(e,n),!1);n={oldValue:r,newValue:dt(e,t)}}break}return n}function G(e,...t){Vt(zt,e,...t)}var Ft=Symbol(`RESET`);function It(e,...t){G(e,...t,Ft)}function Lt(e,t,n){let r,i,a,{type:o,key:s}=t;switch(t.type){case`writable_pure_selector`:r=H(e,t,`mut`),i=De(n,r),i=K(e,t,i);break;case`writable_held_selector`:a=t.const,De(n,a),r=a,i=a}return e.logger.info(`⭐`,o,s,`setting to`,i),kt(e,s),t.setSelf(i),{oldValue:r,newValue:i}}function Rt(e,t,n){let r;switch(t.type){case`atom`:case`mutable_atom`:r=Mt(e,t,n);break;case`writable_pure_selector`:case`writable_held_selector`:r=Lt(e,t,n);break}return r}var zt=Symbol(`OWN_OP`),Bt=Symbol(`JOIN_OP`);function Vt(e,t,...n){let r,i,a,o,s,c;n.length===2?(a=n[0],c=n[1],`family`in a&&(o=ft(t,a),s=A(a.family.subKey),r=vt(t,o,s),a=r||(i=gt(mt,t,o,s)))):(o=V(t,n[0]),s=n[1],c=n[2],r=vt(t,o,s),a=r||(i=gt(mt,t,o,s)));let l=c===Ft?`reset`:`set`,u;if(e===zt){let n=Et(t,a);if(typeof n==`number`){let r=n,i=t.on.operationClose.subscribe(`waiting to ${l} "${a.key}" at T-${r}`,function(){i(),t.logger.info(`🟢`,a.type,a.key,`resuming deferred`,l,`from T-${r}`),Vt(e,t,a,c)});return}u=n}else u=t;if(`counterfeit`in a&&`family`in a){let e=a.family.subKey,n=t.disposalTraces.buffer.find(t=>t?.key===e);t.logger.error(`❌`,a.type,a.key,`could not be`,l,`because key`,e,`is not allocated.`,n?`this key was previously disposed:${n.trace}`:`(no previous disposal trace found)`);return}let d=V(u,a),f;f=c===Ft?Pt(u,d):Rt(u,d,c),At(u,d,f,!!i,o),e===zt&&Dt(u)}var Ht=(e,t)=>M(e).atoms.has(t),Ut=(e,t)=>M(e).writableSelectors.has(t),Wt=(e,t)=>M(e).readonlySelectors.has(t),Gt=(e,t)=>Ht(e,t)||Ut(e,t)||Wt(e,t);function Kt(e,t){return M(e).selectorGraph.getRelationEntries({downstreamSelectorKey:t}).filter(([e,{source:n}])=>n!==t).map(([e,{source:t}])=>t).filter(t=>Gt(e,t))}function qt(e,t,n=new Set){let r=Kt(e,t),i=new Map;for(;r.length>0;){let t=r.pop();if(!n.has(t))if(n.add(t),Ht(e,t)){let n=e.atoms.get(t);i.set(n.key,n)}else r.push(...Kt(e,t))}return i}function Jt(e,t,n,r,i){let a=M(e),{type:o,key:s}=r;if(o===`atom`||o===`mutable_atom`)a.selectorAtoms.set({selectorKey:n,atomKey:s}),e.logger.info(`🔍`,t,n,`discovers root atom "${s}"`);else{let r=qt(e,s,i);e.logger.info(`🔍`,t,n,`discovers root atoms: [ ${[...r.values()].map(e=>`"${e.key}"`).join(`, `)} ]`);for(let{key:e}of r.values())a.selectorAtoms=a.selectorAtoms.set({selectorKey:n,atomKey:e})}i.add(s)}function Yt(e,t,n,r){return{get:(...i)=>{let a=M(e),{token:o,family:s,subKey:c}=_t(e,...i),l;return l=`counterfeit`in o&&s&&c?ut(e,o,s,c):H(e,V(e,o)),e.logger.info(`🔌`,t,n,`registers dependency ( "${o.key}" =`,l,`)`),a.selectorGraph.set({upstreamSelectorKey:o.key,downstreamSelectorKey:n},{source:o.key}),Jt(e,t,n,o,r),l},set:((...t)=>{Vt(Bt,M(e),...t)}),find:((...t)=>W(e,...t)),json:t=>fn(e,t),relations:{edit:((...t)=>{nt(e,...t)}),find:((...t)=>rt(e,...t)),internal:((...t)=>it(e,...t))}}}function Xt(e,t,n){let r=M(e),i=new P,a=new Set,{key:o,const:s}=t,c=`readonly_held_selector`;e.logger.info(`🔨`,c,o,`is being created`);let{get:l,find:u,json:d,relations:f}=Yt(r,c,o,a),p=n=>{let r=n.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[e,{source:t}]of r)t!==o&&n.selectorGraph.delete(e,o);return n.selectorAtoms.delete(o),t.get({get:l,find:u,json:d,relations:f},s),K(n,m,s),e.logger.info(`✨`,c,o,`=`,s),a.clear(),s},m={...t,type:c,subject:i,getFrom:p,install:e=>Xt(e,t,n)};n&&(m.family=n),r.readonlySelectors.set(o,m);let h={key:o,type:c};return n&&(h.family=n),h}function Zt(e,t,n){let r=M(e),i=new P,a=new Set,o=t.key,s=`readonly_pure_selector`;e.logger.info(`🔨`,s,o,`is being created`);let{get:c,find:l,json:u,relations:d}=Yt(r,s,o,a),f=()=>{let n=M(e),r=n.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[e,{source:t}]of r)t!==o&&n.selectorGraph.delete(e,o);n.selectorAtoms.delete(o);let i=t.get({get:c,find:l,json:u,relations:d});return e.logger.info(`✨`,s,o,`=`,i),a.clear(),i},p={...t,type:s,subject:i,getFrom:f,install:e=>Zt(e,t,n)};n&&(p.family=n),r.readonlySelectors.set(o,p);let m={key:o,type:s};return n&&(m.family=n),m}function Qt(e,t,n){let r=M(e),i=new P,a=new Set,{key:o,const:s}=t,c=`writable_held_selector`;e.logger.info(`🔨`,c,o,`is being created`);let l=Yt(r,c,o,a),{find:u,get:d,json:f,relations:p}=l,m={find:u,get:d,json:f,relations:p},h=n=>{let r=n.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[e,{source:t}]of r)t!==o&&n.selectorGraph.delete(e,o);return n.selectorAtoms.delete(o),t.get(m,s),K(n,_,s),e.logger.info(`✨`,c,o,`=`,s),a.clear(),s},g=()=>{t.set(l,s)},_={...t,type:c,subject:i,getFrom:h,setSelf:g,install:e=>Qt(e,t,n)};n&&(_.family=n),r.writableSelectors.set(o,_);let v={key:o,type:c};return n&&(v.family=n),v}function $t(e,t,n){let r=M(e),i=new P,a=new Set,o=t.key,s=`writable_pure_selector`;e.logger.info(`🔨`,s,o,`is being created`);let c=Yt(r,s,o,a),{find:l,get:u,json:d,relations:f}=c,p={find:l,get:u,json:d,relations:f},m=n=>{let r=n.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[e,{source:t}]of r)t!==o&&n.selectorGraph.delete(e,o);n.selectorAtoms.delete(o);let i=t.get(p);return e.logger.info(`✨`,s,o,`=`,i),a.clear(),i},h=e=>{t.set(c,e)},g={...t,type:s,subject:i,getFrom:m,setSelf:h,install:e=>$t(e,t,n)};n&&(g.family=n),r.writableSelectors.set(o,g);let _={key:o,type:s};return n&&(_.family=n),_}function en(e,t){let n=`set`in t,r=`const`in t;if(r&&n){let n=Qt(e,t,void 0);return e.on.selectorCreation.next(n),n}if(r){let n=Xt(e,t,void 0);return e.on.selectorCreation.next(n),n}if(n){let n=$t(e,t,void 0);return e.on.selectorCreation.next(n),n}let i=Zt(e,t,void 0);return e.on.selectorCreation.next(i),i}function tn(e,t){let n=M(e),{key:r,type:i,family:a}=t;if(!a)e.logger.error(`❌`,i,r,`Standalone selectors cannot be disposed.`);else{n.molecules.get(a.subKey)&&n.moleculeData.delete(a.subKey,a.key);let i;switch(t.type){case`writable_held_selector`:n.writableSelectors.delete(r),i={key:a.key,type:`writable_held_selector_family`},V(e,i).subject.next({type:`state_disposal`,subType:`selector`,token:t,timestamp:Date.now()});break;case`writable_pure_selector`:n.writableSelectors.delete(r),i={key:a.key,type:`writable_pure_selector_family`},V(e,i).subject.next({type:`state_disposal`,subType:`selector`,token:t,timestamp:Date.now()});break;case`readonly_held_selector`:n.readonlySelectors.delete(r),i={key:a.key,type:`readonly_held_selector_family`},V(e,i).subject.next({type:`state_disposal`,subType:`selector`,token:t,timestamp:Date.now()});break;case`readonly_pure_selector`:n.readonlySelectors.delete(r),i={key:a.key,type:`readonly_pure_selector_family`},V(e,i).subject.next({type:`state_disposal`,subType:`selector`,token:t,timestamp:Date.now()});break}n.valueMap.delete(r),n.selectorAtoms.delete(r),n.selectorGraph.delete(r),n.moleculeData.delete(a.key,a.subKey),e.logger.info(`🔥`,t.type,r,`deleted`),R(n)&&n.transactionMeta.phase===`building`?n.transactionMeta.update.subEvents.push({type:`state_disposal`,subType:`selector`,token:t,timestamp:Date.now()}):e.on.selectorDisposal.next(t)}}function nn(e,t){let n=M(e);return n.operation.open?n.operation.prev.get(t.key):n.valueMap.get(t.key)}function rn(e,t,n){return n.subject.subscribe(`${t.type}:${t.key}`,r=>{e.logger.info(`📢`,t.type,t.key,`root`,n.key,`went`,r.oldValue,`->`,r.newValue);let i=nn(e,t),a=H(e,t);e.logger.info(`✨`,t.type,t.key,`went`,i,`->`,a),t.subject.next({newValue:a,oldValue:i})})}function an(e,t,n,r){function i(n){e.operation.open&&a?.type===`atom`&&bn(a,`tracker:signal`)&&`*`+e.operation.token.key===t.key&&`inboundTracker`in r||r(n)}_t(e,t);let a=V(e,t);e.logger.info(`👀`,a.type,a.key,`Adding subscription "${n}"`);let o=a.type===`writable_pure_selector`||a.type===`readonly_pure_selector`,s=new Map,c=i;if(o){H(e,a);for(let[t,n]of qt(e,a.key))s.set(t,rn(e,a,n));c=function(t){let n=qt(e,a.key);for(let[e,t]of s)n.get(e)?n.delete(e):(t(),s.delete(e));for(let[t,r]of n)s.set(t,rn(e,a,r));i(t)}}let l=a.subject.subscribe(n,c);return()=>{e.logger.info(`🙈`,a.type,a.key,`Removing subscription "${n}"`),l();for(let e of s.values())e()}}function on(e,t,n,r){let i=V(e,t);e.logger.info(`👀`,`timeline`,t.key,`Adding subscription "${n}"`);let a=i.subject.subscribe(n,r);return()=>{e.logger.info(`🙈`,`timeline`,t.key,`Removing subscription "${n}" from timeline`),a()}}var sn=class{initializeSignalAtom(e,t){let n=`*${e.key}`;t.atoms.delete(n),t.valueMap.delete(n);let r=e.family?{key:`*${e.family.key}`,subKey:e.family.subKey}:void 0,i=yn(t,{key:n,default:null},r,[`tracker:signal`]);if(t.parent?.valueMap.has(n)){let e=t.parent.valueMap.get(n);t.valueMap.set(n,e)}return i}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(e,t,n){let r=e.key,i=`tracker-from-core:${n.config.name}:${R(n)?n.transactionMeta.update.token.key:`main`}:${r}`,a=e=>{Vt(Bt,n,t,e)};this.unsubscribeFromInnerValue=U(n,e).subscribe(i,a),this.unsubscribeFromState=an(n,e,i,function(e){e.newValue!==e.oldValue&&(this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=e.newValue.subscribe(i,a))}.bind(this))}supplySignalsToCore(e,t,n){let r=e.key,i=`tracker-to-core:${n.config.name}:${R(n)?n.transactionMeta.update.token.key:`main`}:${r}`;an(n,t,i,Object.assign(function({newValue:r,oldValue:a}){let o=n.timelineTopics.getRelatedKey(t.key);if(o&&n.timelines.get(o)?.timeTraveling){let t=on(n,{key:o,type:`timeline`},i,function(i){t(),G(n,e,e=>(i===`redo`&&r?e.do(r):i===`undo`&&a&&e.undo(a),e))});return}G(n,e,e=>(e.do(r),e))},{inboundTracker:!0}))}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(e,t){let n=M(t),r=this.initializeSignalAtom(e,n);this.mutableAtomToken=e,this.latestSignalToken=r,this.captureSignalsFromCore(e,r,n),this.supplySignalsToCore(e,r,n),n.trackers.set(e.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),n.trackers.delete(e.key)}}};function cn(e,t,n){e.logger.info(`🔨`,`atom`,t.key,`creating in store "${e.config.name}"`);let r=M(e),{key:i}=t,a=r.atoms.get(i),o=`mutable_atom`;if(a?.type===o&&e.config.isProduction===!0)return e.logger.error(`❌`,o,i,`Tried to create atom, but it already exists in the store.`),F(a);let s=new P,c={...t,type:o,install:e=>(e.logger.info(`🛠️`,`atom`,i,`installing in store "${e.config.name}"`),cn(e,t,n)),subject:s};n&&(c.family=n),r.atoms.set(c.key,c);let l=F(c);if(new sn(l,e),n||en(e,{key:`${i}:JSON`,get:({get:e})=>e(l).toJSON(),set:({set:e},n)=>{e(l,t.class.fromJSON(n))}}),t.effects){let n=0,r=[];for(let i of t.effects){let t=i({resetSelf:()=>{It(e,l)},setSelf:t=>{G(e,l,t)},onSet:t=>an(e,l,`effect[${n}]`,t),token:l,store:Te(e)});t&&r.push(t),++n}c.cleanup=()=>{for(let e of r)e instanceof Promise?e.then(e=>e?.()):e()}}return e.on.atomCreation.next(l),l}var ln=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor(e,t){this.latestSignalAtoms=V(t,bt(t,{key:`*${e.key}`,default:null},[`mutable`,`updates`])),this.mutableAtoms=e,this.mutableAtoms.subject.subscribe(`store=${t.config.name}::tracker-atom-family`,e=>{let{type:n,token:r}=e;if(r.family){let e=A(r.family.subKey);switch(n){case`state_creation`:this.trackers.set(e,new sn(r,t));break;case`state_disposal`:{let t=this.trackers.get(e);t&&(t[Symbol.dispose](),this.trackers.delete(e))}}}})}};function un(e,t,n){let r={key:t.key,type:`mutable_atom_family`},i=e.families.get(t.key);i&&e.config.isProduction===!0&&e.logger.error(`❗`,`mutable_atom_family`,t.key,`Overwriting an existing ${q[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let a=new P,o=n=>{let r=j(n),i={key:t.key,subKey:r},a=`${t.key}(${r})`,o=M(e),s={key:a,class:t.class};return t.effects&&(s.effects=t.effects(n)),cn(o,s,i)},s={...r,create:o,class:t.class,subject:a,install:e=>un(e,t),internalRoles:n};return e.families.set(t.key,s),Ct(e,{key:`${t.key}:JSON`,get:e=>({get:t})=>t(r,e).toJSON(),set:e=>({set:n},i)=>{n(r,e,t.class.fromJSON(i))}},[`mutable`,`json`]),new ln(s,e),r}function dn(e,t){let n=M(t),r=`${e.key}:JSON`;return n.families.get(r)}var fn=(e,t)=>t.family?W(e,V(M(e),{key:`${t.family.key}:JSON`,type:`writable_pure_selector_family`}),A(t.family.subKey)):{type:`writable_pure_selector`,key:`${t.key}:JSON`};function pn(e){let t={type:`atom`,key:`*${e.key}`};return e.family&&(t.family={key:`*${e.family.key}`,subKey:e.family.subKey}),t}function mn(e){return typeof e==`object`&&!!e&&`do`in e&&`undo`in e&&`subscribe`in e&&`READONLY_VIEW`in e&&`toJSON`in e}function K(e,t,n){let{key:r,subject:i,type:a}=t,o=e.valueMap.get(r);if(o instanceof Oe&&!o.done){let t=o;return n instanceof Promise?(t.use(n),t):(e.valueMap.set(r,n),n)}if(n instanceof Promise){let o=new Oe(n);return e.valueMap.set(r,o),o.then(function(n){if(e.valueMap.get(r)===o){switch(Et(e,t),K(e,t,n),a){case`atom`:_n(e,t);break;case`readonly_pure_selector`:case`writable_pure_selector`:vn(e,r);break}Dt(e),i.next({newValue:n,oldValue:o})}}).catch(n=>{e.logger.error(`💥`,t.type,r,`rejected:`,n)}),o}return e.logger.info(`📝`,t.type,t.key,`writing to cache`,n),e.valueMap.set(r,n),n}function hn(e,t,n){e.logger.info(`📖`,t.type,t.key,`reading cached value`);let r=e.valueMap.get(t.key);if(n===`mut`&&t.type===`mutable_atom`&&R(e)){let n=t,{parent:i}=e;if(e.valueMap.hasOwn(n.key))return r;let a=i.valueMap.get(n.key);e.logger.info(`📃`,`atom`,n.key,`copying`);let o=a.toJSON(),s=n.class.fromJSON(o);e.valueMap.set(n.key,s),new sn(n,i),r=s}return r}function gn(e,t){let n=e.valueMap.get(t);if(n instanceof Oe){let r=e.readonlySelectors.get(t),i=e.writableSelectors.get(t),a=dt(e,r??i);n.use(a);return}e.operation.open&&e.operation.prev.set(t,n),e.valueMap.delete(t),e.logger.info(`🗑`,`state`,t,`evicted`)}function _n(e,t){let n=M(e),{key:r,type:i}=t,a=n.selectorAtoms.getRelatedKeys(r);if(n.logger.info(`🧹`,i,r,a?`evicting ${a.size} states downstream:`:`no downstream states`,a??`to evict`),a){n.operation.open&&n.logger.info(`🧹`,i,r,`[ ${[...n.operation.done].join(`, `)} ] already done`);for(let e of a)Ot(n,e)||(gn(n,e),kt(n,e))}}function vn(e,t){let n=M(e),r=n.selectorGraph.getRelationEntries({upstreamSelectorKey:t}).filter(([e,{source:n}])=>n===t);for(let[t]of r)Ot(n,t)||(gn(n,t),kt(n,t),vn(e,t))}function yn(e,t,n,r){let i=`atom`,{key:a}=t;e.logger.info(`🔨`,i,a,`is being created`);let o=M(e),s=o.atoms.get(a);if(s?.type===i&&e.config.isProduction===!0)return e.logger.error(`❌`,`atom`,a,`Tried to create atom, but it already exists in the store.`),F(s);let c=new P,l={...t,type:i,install:e=>(e.logger.info(`🛠️`,i,a,`installing in store "${e.config.name}"`),yn(e,t,n)),subject:c};n&&(l.family=n),r&&(l.internalRoles=r),o.atoms.set(a,l);let u=F(l);if(t.effects){let n=0,r=[];for(let i of t.effects){let t=i({resetSelf:()=>{It(e,u)},setSelf:t=>{G(e,u,t)},onSet:t=>an(e,u,`effect[${n}]`,t),token:u,store:Te(e)});t&&r.push(t),++n}l.cleanup=()=>{for(let e of r)e instanceof Promise?e.then(e=>e?.()):e()}}return e.on.atomCreation.next(u),u}function bn(e,t){return`internalRoles`in e?e.internalRoles.includes(t):!1}function xn(e,t){let n=M(e),{key:r,family:i}=t,a=V(n,t);if(!i)e.logger.error(`❌`,`atom`,r,`Standalone atoms cannot be disposed.`);else{a.cleanup?.();let o=e.valueMap.get(a.key),s=V(e,ft(e,t)).subject,c={type:`state_disposal`,subType:`atom`,token:t,value:o,timestamp:Date.now()};s.next(c);let l=R(n);if(n.atoms.delete(r),n.valueMap.delete(r),n.selectorAtoms.delete(r),n.atomsThatAreDefault.delete(r),n.moleculeData.delete(i.key,i.subKey),e.timelineTopics.delete(r),t.type===`mutable_atom`&&(xn(e,pn(t)),e.trackers.delete(r)),e.logger.info(`🔥`,`atom`,r,`deleted`),l&&n.transactionMeta.phase===`building`){let e=n.transactionMeta.update.subEvents.at(-1),t=e?.type===`molecule_disposal`&&e.values.some(([e])=>e===a.family?.key),r=bn(a,`tracker:signal`);!t&&!r&&n.transactionMeta.update.subEvents.push(c)}else e.on.atomDisposal.next(t)}}function Sn(e){return yn(B.STORE,e,void 0)}function Cn(e){return bt(B.STORE,e)}function wn(...e){return U(B.STORE,...e)}var q={atom_family:`atom family`,atom:`atom`,continuity:`continuity`,key:`key`,mutable_atom_family:`atom family [m]`,mutable_atom:`atom [m]`,readonly_held_selector_family:`selector family [h]`,readonly_held_selector:`selector [h]`,readonly_pure_selector_family:`selector family`,readonly_pure_selector:`selector`,socket:`socket`,state:`state`,timeline:`timeline`,transaction:`transaction`,unknown:`unknown`,user:`👤`,writable_held_selector_family:`selector family [wh]`,writable_held_selector:`selector [wh]`,writable_pure_selector_family:`selector family [w]`,writable_pure_selector:`selector [w]`},Tn=(e,t)=>(n,r,i,a,...o)=>{console[e](`${t?`${t} `:``}${n} ${q[r]} \`${i}\` ${a}`,...o)},En={error:Tn(`error`),info:Tn(`info`),warn:Tn(`warn`)},Dn=class{logLevel;filter;logger;constructor(e,t,n=En){this.logLevel=e,this.filter=t,this.logger=n}error=(...e)=>{if(this.logLevel!==null){let t=this.filter?.(...e)??!0;t===!0?this.logger.error(...e):t&&this.logger.error(...t)}};info=(...e)=>{if(this.logLevel===`info`){let t=this.filter?.(...e)??!0;t===!0?this.logger.info(...e):t&&this.logger.info(...t)}};warn=(...e)=>{if(this.logLevel!==`error`&&this.logLevel!==null){let t=this.filter?.(...e)??!0;t===!0?this.logger.warn(...e):t&&this.logger.warn(...t)}}};function On(e,t){return[e,t].sort().join(``)}function kn(e){if(typeof e!=`string`)return null;let[t,n]=e.split(`==`);if(!n)return null;let r=t.slice(4),[i,a]=n.split(`++`);return r&&i&&a?[r,i,a]:null}function An(...e){It(B.STORE,...e)}function jn(e){return wt(B.STORE,e)}function J(...e){G(B.STORE,...e)}function Mn(e){return st(B.STORE,e)}function Nn(e,t=we()){return Fe(B.STORE,e,t)}var Y,X,Pn,Fn,In=0,Ln=[],Z=t,Rn=Z.__b,zn=Z.__r,Bn=Z.diffed,Vn=Z.__c,Hn=Z.unmount,Un=Z.__;function Wn(e,t){Z.__h&&Z.__h(X,e,In||t),In=0;var n=X.__H||={__:[],__h:[]};return e>=n.__.length&&n.__.push({}),n.__[e]}function Gn(e){return In=1,Kn(or,e)}function Kn(e,t,n){var r=Wn(Y++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):or(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=X,!X.__f)){var i=function(e,t,n){if(!r.__c.__H)return!0;var i=r.__c.__H.__.filter(function(e){return e.__c});if(i.every(function(e){return!e.__N}))return!a||a.call(this,e,t,n);var o=r.__c.props!==e;return i.some(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(o=!0)}}),a&&a.call(this,e,t,n)||o};X.__f=!0;var a=X.shouldComponentUpdate,o=X.componentWillUpdate;X.componentWillUpdate=function(e,t,n){if(this.__e){var r=a;a=void 0,i(e,t,n),a=r}o&&o.call(this,e,t,n)},X.shouldComponentUpdate=i}return r.__N||r.__}function qn(e,t){var n=Wn(Y++,3);!Z.__s&&ar(n.__H,t)&&(n.__=e,n.u=t,X.__H.__h.push(n))}function Jn(e,t){var n=Wn(Y++,4);!Z.__s&&ar(n.__H,t)&&(n.__=e,n.u=t,X.__h.push(n))}function Yn(e){return In=5,Xn(function(){return{current:e}},[])}function Xn(e,t){var n=Wn(Y++,7);return ar(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Zn(e,t){return In=8,Xn(function(){return e},t)}function Qn(e){var t=X.context[e.__c],n=Wn(Y++,9);return n.c=e,t?(n.__??(n.__=!0,t.sub(X)),t.props.value):e.__}function $n(){var e=Wn(Y++,11);if(!e.__){for(var t=X.__v;t!==null&&!t.__m&&t.__!==null;)t=t.__;var n=t.__m||=[0,0];e.__=`P`+n[0]+`-`+ n[1]++}return e.__}function er(){for(var e;e=Ln.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(rr),t.__h.some(ir),t.__h=[]}catch(n){t.__h=[],Z.__e(n,e.__v)}}}Z.__b=function(e){X=null,Rn&&Rn(e)},Z.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Un&&Un(e,t)},Z.__r=function(e){zn&&zn(e),Y=0;var t=(X=e.__c).__H;t&&(Pn===X?(t.__h=[],X.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.some(rr),t.__h.some(ir),t.__h=[],Y=0)),Pn=X},Z.diffed=function(e){Bn&&Bn(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Ln.push(t)!==1&&Fn===Z.requestAnimationFrame||((Fn=Z.requestAnimationFrame)||nr)(er)),t.__H.__.some(function(e){e.u&&(e.__H=e.u),e.u=void 0})),Pn=X=null},Z.__c=function(e,t){t.some(function(e){try{e.__h.some(rr),e.__h=e.__h.filter(function(e){return!e.__||ir(e)})}catch(n){t.some(function(e){e.__h&&=[]}),t=[],Z.__e(n,e.__v)}}),Vn&&Vn(e,t)},Z.unmount=function(e){Hn&&Hn(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(e){try{rr(e)}catch(e){t=e}}),n.__H=void 0,t&&Z.__e(t,n.__v))};var tr=typeof requestAnimationFrame==`function`;function nr(e){var t,n=function(){clearTimeout(r),tr&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);tr&&(t=requestAnimationFrame(n))}function rr(e){var t=X,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),X=t}function ir(e){var t=X;e.__c=e.__(),X=t}function ar(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function or(e,t){return typeof t==`function`?t(e):t}function sr(e,t){for(var n in t)e[n]=t[n];return e}function cr(e,t){for(var n in e)if(n!==`__source`&&!(n in t))return!0;for(var r in t)if(r!==`__source`&&e[r]!==t[r])return!0;return!1}function lr(e,t){var n=t(),r=Gn({t:{__:n,u:t}}),i=r[0].t,a=r[1];return Jn(function(){i.__=n,i.u=t,ur(i)&&a({t:i})},[e,n,t]),qn(function(){return ur(i)&&a({t:i}),e(function(){ur(i)&&a({t:i})})},[e]),n}function ur(e){try{return!((t=e.__)===(n=e.u())&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}var t,n}function dr(e,t){this.props=e,this.context=t}(dr.prototype=new x).isPureReactComponent=!0,dr.prototype.shouldComponentUpdate=function(e,t){return cr(this.props,e)||cr(this.state,t)};var fr=t.__b;t.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),fr&&fr(e)},typeof Symbol<`u`&&Symbol.for;var pr=t.__e;t.__e=function(e,t,n,r){if(e.then){for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return t.__e??(t.__e=n.__e,t.__k=n.__k),i.__c(e,t)}pr(e,t,n,r)};var mr=t.unmount;function hr(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(e){typeof e.__c==`function`&&e.__c()}),e.__c.__H=null),(e=sr({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(e){return hr(e,t,n)})),e}function gr(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return gr(e,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function _r(){this.__u=0,this.o=null,this.__b=null}function vr(e){var t=e.__&&e.__.__c;return t&&t.__a&&t.__a(e)}function yr(){this.i=null,this.l=null}t.unmount=function(e){var t=e.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),mr&&mr(e)},(_r.prototype=new x).__c=function(e,t){var n=t.__c,r=this;r.o??=[],r.o.push(n);var i=vr(r.__v),a=!1,o=function(){a||r.__z||(a=!0,n.__R=null,i?i(c):c())};n.__R=o;var s=n.__P;n.__P=null;var c=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=gr(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.__P=s,t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(o,o)},_r.prototype.componentWillUnmount=function(){this.o=[]},_r.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement(`div`),r=this.__v.__k[0].__c;this.__v.__k[0]=hr(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&v(b,null,e.fallback);return i&&(i.__u&=-33),[v(b,null,t.__a?null:e.children),i]};var br=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!==`t`||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};(yr.prototype=new x).__a=function(e){var t=this,n=vr(t.__v),r=t.l.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),br(t,e,r)):i()};n?n(a):a()}},yr.prototype.render=function(e){this.i=null,this.l=new Map;var t=te(e.children);e.revealOrder&&e.revealOrder[0]===`b`&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},yr.prototype.componentDidUpdate=yr.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){br(e,n,t)})};var xr=typeof Symbol<`u`&&Symbol.for&&Symbol.for(`react.element`)||60103,Sr=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Cr=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,wr=/[A-Z0-9]/g,Tr=typeof document<`u`,Er=function(e){return(typeof Symbol<`u`&&typeof Symbol()==`symbol`?/fil|che|rad/:/fil|che|ra/).test(e)};x.prototype.isReactComponent=!0,[`componentWillMount`,`componentWillReceiveProps`,`componentWillUpdate`].forEach(function(e){Object.defineProperty(x.prototype,e,{configurable:!0,get:function(){return this[`UNSAFE_`+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var Dr=t.event;t.event=function(e){return Dr&&(e=Dr(e)),e.persist=function(){},e.isPropagationStopped=function(){return this.cancelBubble},e.isDefaultPrevented=function(){return this.defaultPrevented},e.nativeEvent=e};var Or={configurable:!0,get:function(){return this.class}},kr=t.vnode;t.vnode=function(e){typeof e.type==`string`&&function(e){var t=e.props,n=e.type,r={},i=n.indexOf(`-`)==-1;for(var a in t){var o=t[a];if(!(a===`value`&&`defaultValue`in t&&o==null||Tr&&a===`children`&&n===`noscript`||a===`class`||a===`className`)){var s=a.toLowerCase();a===`defaultValue`&&`value`in t&&t.value==null?a=`value`:a===`download`&&!0===o?o=``:s===`translate`&&o===`no`?o=!1:s[0]===`o`&&s[1]===`n`?s===`ondoubleclick`?a=`ondblclick`:s!==`onchange`||n!==`input`&&n!==`textarea`||Er(t.type)?s===`onfocus`?a=`onfocusin`:s===`onblur`?a=`onfocusout`:Cr.test(a)&&(a=s):s=a=`oninput`:i&&Sr.test(a)?a=a.replace(wr,`-$&`).toLowerCase():o===null&&(o=void 0),s===`oninput`&&r[a=s]&&(a=`oninputCapture`),r[a]=o}}n==`select`&&(r.multiple&&Array.isArray(r.value)&&(r.value=te(t.children).forEach(function(e){e.props.selected=r.value.indexOf(e.props.value)!=-1})),r.defaultValue!=null&&(r.value=te(t.children).forEach(function(e){e.props.selected=r.multiple?r.defaultValue.indexOf(e.props.value)!=-1:r.defaultValue==e.props.value}))),t.class&&!t.className?(r.class=t.class,Object.defineProperty(r,`className`,Or)):t.className&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=xr,kr&&kr(e)};var Ar=t.__r;t.__r=function(e){Ar&&Ar(e),e.__c};var jr=t.diffed;t.diffed=function(e){jr&&jr(e);var t=e.props,n=e.__e;n!=null&&e.type===`textarea`&&`value`in t&&t.value!==n.value&&(n.value=t.value==null?``:t.value)};var Mr=0;Array.isArray;function Q(e,n,r,i,a,o){n||={};var s,c,l=n;if(`ref`in l)for(c in l={},n)c==`ref`?s=n[c]:l[c]=n[c];var u={type:e,props:l,key:r,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Mr,__i:-1,__u:0,__source:a,__self:o};if(typeof e==`function`&&(s=e.defaultProps))for(c in s)l[c]===void 0&&(l[c]=s[c]);return t.vnode&&t.vnode(u),u}var Nr=me(B.STORE);function Pr(...e){let t,n,r=Qn(Nr);if(e.length===3){let i=e[0],a=e[1];t=W(r,i,a),n=e[2]}else t=e[0],n=e[1];let i=n(null);return qn(()=>{G(r,t,i.current)},[t]),i}function Fr(e,...t){let n;if(t.length===2){let r=t[0],i=t[1];n=W(e,r,i)}else n=t[0];return n}function Ir(e,t){if(globalThis.env?.NODE_ENV===`development`){let n=Yn(!1);qn(()=>{let t=n.current;if(t===!1)t=e()??!0,n.current=t;else return()=>{N(t)&&t(),n.current=!1}},t)}else qn(e,t)}function Lr(...e){let t=Qn(Nr),n=Fr(t,...e),r=$n();if(n.type===`mutable_atom`||n.type===`readonly_held_selector`||n.type===`writable_held_selector`){let[,e]=Gn(0),i=Yn(U(t,n));return Ir(()=>an(t,n,`use-o:${r}`,({newValue:t})=>{i.current=t,e(e=>e+1)}),[n.key]),i.current}let i=Zn(e=>an(t,n,`use-o:${r}`,e),[n.key]),a=Zn(()=>U(t,n),[n.key]);return lr(i,a,a)}var Rr=Sn({key:`pathKeys`,default:[]}),zr=Cn({key:`subpathKeys`,default:[]}),Br=Cn({key:`node`,default:null}),Vr=Cn({key:`edge`,default:!0}),Hr=jn({key:`pathDraw`,get:e=>({get:t})=>t(zr,e).map((e,n)=>{let r=t(Br,e),i=t(Vr,e);return r===null?`Z`:n===0||i===!1?`M ${r.x} ${r.y}`:i===!0?`L ${r.x} ${r.y}`:`c`in i?`C ${i.c.x} ${i.c.y} ${i.s.x} ${i.s.y} ${r.x} ${r.y}`:`S ${i.s.x} ${i.s.y} ${r.x} ${r.y}`}).join(` `)});function Ur(e,t,n){return Math.max(t,Math.min(n,e))}function Wr({at:e,subpathKey:t,prevSubpathKey:n,node:r}){let i;switch(typeof r){case`undefined`:i=Lr(Br,n);break;default:i=r}return i===null?null:Q(b,{children:[Q(`line`,{class:`bezier`,x1:i.x,y1:i.y,x2:e.x,y2:e.y,stroke:`#777`,"stroke-width":1}),Q(`circle`,{class:`bezier`,fill:`#777`,stroke:`#aaa`,"stroke-width":1,cx:e.x,cy:e.y,r:2}),Q(`circle`,{class:`bezier-draggable`,fill:`transparent`,cx:e.x,cy:e.y,r:6,onPointerDown:e=>{e.currentTarget.setPointerCapture(e.pointerId),J(Xr,{key:t,by:r?`s`:`c`})}})]})}function Gr({subpathKey:e,nextSubpathKey:t}){let n=Lr(Br,e),r=Lr(Vr,e);return n===null?null:Q(b,{children:[typeof r==`boolean`?Q(`rect`,{class:`node`,x:n.x-3,y:n.y-3,width:6,height:6}):Q(b,{children:[Q(Wr,{at:r.s,node:n,subpathKey:e,prevSubpathKey:t}),r.c?Q(Wr,{at:r.c,subpathKey:e,prevSubpathKey:t}):null,Q(`circle`,{class:`node`,cx:n.x,cy:n.y,r:3})]}),Q(`circle`,{class:`node-draggable`,fill:`transparent`,cx:n.x,cy:n.y,r:10,onPointerDown:t=>{t.currentTarget.setPointerCapture(t.pointerId),J(Xr,{key:e})}})]})}function Kr({pathKey:e}){return Q(`path`,{d:`${Lr(Hr,e)} Z`,class:`path`,style:{pointerEvents:`none`}})}function qr({pathKey:e}){let t=Lr(zr,e);return Q(b,{children:[Q(Kr,{pathKey:e}),t.toReversed().map((e,t,n)=>Q(Gr,{subpathKey:e,nextSubpathKey:n[t+1]??n[0]},e))]})}function Jr(){return Q(b,{children:Lr(Rr).map(e=>Q(qr,{pathKey:e},e))})}var Yr=Sn({key:`svgRef`,default:null}),Xr=Sn({key:`currentlyDragging`,default:null});function Zr(e){e.preventDefault();let{key:t,by:n}=wn(Xr)??{},r=wn(Yr);if(!r||!t)return;let i=r.createSVGPoint();i.x=e.clientX,i.y=e.clientY;let a=r.getScreenCTM()?.inverse(),{x:o,y:s}=i.matrixTransform(a);switch(n){case void 0:J(Br,t,{x:Ur(o,-185,ti+185),y:Ur(s,-10,$+10)});break;case`s`:J(Vr,t,e=>({...e,s:{x:Ur(o,-185,ti+185),y:Ur(s,-10,$+10)}}));break;case`c`:J(Vr,t,e=>({...e,c:{x:Ur(o,-185,ti+185),y:Ur(s,-10,$+10)}}));break}}var Qr=[`m`,`M`,`l`,`L`,`c`,`C`,`v`,`V`,`z`,`Z`],$r=Sn({key:`preactLogo`,default:()=>fetch(`preact.svg`).then(e=>e.text())}),ei=Nn(Mn({key:`reset`,do:async()=>{let e=await wn($r);for(let e of wn(Rr))An(zr,e);An(Rr);let t=e.split(`
|
|
5
5
|
`).filter(e=>e.startsWith(` <path`)).map(e=>{let t=e.split(`d="`)[1].slice(0,-9),n,r=``,i=[],a=[];for(let e of t){if(Qr.includes(e)){r&&=(i.push(Number.parseFloat(r)),``),n&&a.push({letter:n,numbers:i}),n=e,i=[];continue}if(e===` `){i.push(Number.parseFloat(r)),r=``;continue}if(e===`-`&&r){i.push(Number.parseFloat(r)),r=`-`;continue}r+=e}let o={x:0,y:0};return a.map(({letter:e,numbers:t})=>{let n,r;switch(e){case`m`:n={x:o.x+t[0],y:o.y+t[1]},r=!1;break;case`M`:n={x:t[0],y:t[1]},r=!1;break;case`l`:n={x:o.x+t[0],y:o.y+t[1]},r=!0;break;case`L`:n={x:t[0],y:t[1]},r=!0;break;case`c`:n={x:o.x+t[4],y:o.y+t[5]},r={c:{x:o.x+t[0],y:o.y+t[1]},s:{x:o.x+t[2],y:o.y+t[3]}};break;case`C`:n={x:t[4],y:t[5]},r={c:{x:t[0],y:t[1]},s:{x:t[2],y:t[3]}};break;case`v`:n={x:o.x,y:o.y+t[0]},r=!0;break;case`V`:n={x:o.x,y:t[0]},r=!0;break;case`z`:case`Z`:n=null,r=!0}return n&&(o=n),{node:n,edge:r}})}),n=0,r=0;for(let e of t){let t=r;for(let{node:t,edge:n}of e)J(Vr,`subpath${r}`,n),J(Br,`subpath${r}`,t),r++;let i=r-t;J(zr,`path${n}`,Array.from({length:i},(e,n)=>`subpath${t+n}`)),J(Rr,e=>[...e,`path${n}`]),n++}}})),ti=256,$=296;function ni(){let e=Pr(Yr,Yn),t=Zn(e=>{e.currentTarget.releasePointerCapture(e.pointerId),J(Xr,null)},[]);return qn(()=>void ei(),[]),Q(`div`,{style:{display:`flex`,flexFlow:`column`,position:`relative`,overflow:`hidden`,maxWidth:`1280px`,width:`100vw`,alignItems:`center`},children:[Q(`svg`,{ref:e,viewBox:`-185 -15 ${ti+370} ${$+30}`,width:1e3,height:500,onPointerMove:Zr,onPointerUp:t,onPointerCancel:t,children:[Q(`title`,{children:`Bezier Playground`}),Q(`defs`,{children:Q(`pattern`,{id:`grid`,width:`5`,height:`5`,patternUnits:`userSpaceOnUse`,children:Q(`rect`,{x:`0`,y:`0`,width:`.5`,height:`.5`,fill:`none`,stroke:`#aaa`})})}),Q(`rect`,{x:0,y:0,width:ti,height:$,fill:`#aaa3`}),Q(`rect`,{x:-185,y:-10,width:ti+370,height:$+20,fill:`url(#grid)`}),Q(Jr,{})]}),Q(`button`,{type:`button`,class:`flat`,onClick:ei,children:`Reset`})]})}function ri(){return Q(b,{children:[Q(`h1`,{children:`Atom.io in Preact on Vite`}),Q(`main`,{children:[Q(ni,{}),Q(`article`,{children:[Q(ii,{title:`Learn Atom.io`,description:`Atom.io is where data lives.`,href:`https://atom.io.fyi/docs/getting-started`}),Q(ii,{title:`Learn Preact`,description:`If you're new to Preact, try the interactive tutorial to learn important concepts`,href:`https://preactjs.com/tutorial`}),Q(ii,{title:`Learn Vite`,description:`To learn more about Vite and how you can customize it to fit your needs, take a look at their excellent documentation`,href:`https://vitejs.dev`})]})]})]})}function ii(e){return Q(`a`,{href:e.href,target:`_blank`,class:`resource`,rel:`noreferrer`,children:[Q(`h2`,{children:e.title}),Q(`p`,{children:e.description})]})}pe(Q(ri,{}),document.getElementById(`app`));
|
package/dist/index.html
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<meta name="color-scheme" content="light dark" />
|
|
8
8
|
<title>Vite + Preact + Atom.io</title>
|
|
9
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
+
<script type="module" crossorigin src="/assets/index-CI1UlrYK.js"></script>
|
|
10
10
|
<link rel="stylesheet" crossorigin href="/assets/index-iBTIqdJW.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atom.io/template-preact-svg-editor",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.50",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"preact": "10.29.0",
|
|
15
15
|
"react": "npm:@preact/compat@18.3.2",
|
|
16
16
|
"react-dom": "npm:@preact/compat@18.3.2",
|
|
17
|
-
"atom.io": "0.46.
|
|
17
|
+
"atom.io": "0.46.28"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@preact/preset-vite": "2.10.5",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"eslint-plugin-import-x": "4.16.2",
|
|
25
25
|
"eslint-plugin-simple-import-sort": "12.1.1",
|
|
26
26
|
"typescript": "6.0.2",
|
|
27
|
-
"vite": "8.0.
|
|
27
|
+
"vite": "8.0.3"
|
|
28
28
|
},
|
|
29
29
|
"scripts": {
|
|
30
30
|
"dev": "vite",
|