Socket
Socket
Sign inDemoInstall

effector

Package Overview
Dependencies
0
Maintainers
4
Versions
271
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 21.8.5 to 21.8.6

13

compat.d.ts

@@ -1344,2 +1344,13 @@ /**

type UnionToStoresUnion<T> = (T extends any
? () => T
: never) extends infer U
? U extends () => infer S
? UnionToStoresUnion<Exclude<T, S>> | Store<S>
: never
: never
type CombineState<State> = {
[K in keyof State]: State[K] | Store<State[K]> | UnionToStoresUnion<State[K]>
}
export function withRegion(unit: Unit<any> | Node, cb: () => void): void

@@ -1353,3 +1364,3 @@ export function combine<T extends Store<any>>(

export function combine<State>(
shape: State,
shape: CombineState<State>,
): Store<{[K in keyof State]: State[K] extends Store<infer U> ? U : State[K]}>

@@ -1356,0 +1367,0 @@ export function combine<A, R>(a: Store<A>, fn: (a: A) => R): Store<R>

2

compat.js

@@ -1,2 +0,2 @@

'use strict';function e(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function r(r,n){var it;if("undefined"==typeof Symbol||null==r[Symbol.iterator]){if(Array.isArray(r)||(it=function(r,n){if(r){if("string"==typeof r)return e(r,n);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?e(r,n):void 0}}(r))||n&&r&&"number"==typeof r.length){it&&(r=it);var t=0;return function(){return t>=r.length?{done:1}:{done:0,value:r[t++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(it=r[Symbol.iterator]()).next.bind(it)}function n(e,r,n,t){(E(e)||z(e))&&('family'in e||'graphite'in e)||M(r+": expect "+n+" to be a unit (store, event or effect)"+t)}function t(e,r,t){if(Array.isArray(e))for(var a=0;a<e.length;a++)n(e[a],r,a+" item of "+t,'');else n(e,r,t,' or array of units')}function a(e,r){var n=ue(e).meta;ye={parent:ye,value:e,template:n.template||be(),sidRoot:n.sidRoot||ye&&ye.sidRoot};try{return r()}finally{ye=ve(ye)}}function o(e){for(var r=void 0===e?{}:e,n=r.node,t=void 0===n?[]:n,a=r.parent,o=r.child,i=void 0===o?r.to||r.target:o,u=r.scope,f=void 0===u?{}:u,c=r.meta,s=void 0===c?{}:c,l=r.family,p=void 0===l?{type:'regular'}:l,d=r.regional,m=we(void 0===a?r.from||r.source:a),v=we(p.links),h=we(p.owners),g=[],y={},b=0;b<t.length;b++){var k=t[b];k&&(g.push(k),xe(k,y))}for(var w={id:B(),seq:g,next:we(i),meta:s,scope:f,family:{type:p.type||"crosslink",links:v,owners:h},reg:y},x=0;x<v.length;x++)fe(v[x]).push(w);for(var S=0;S<h.length;S++)ce(h[S]).push(w);for(var A=0;A<m.length;A++)m[A].next.push(w);return d&&ye&&ge(de(ye),[w]),w}function i(e,r,n){var t=Me,a=null,o=je;if(e.target&&(r=e.params,n=e.defer,t='page'in e?e.page:t,e.stack&&(a=e.stack),o=he(e)||o,e=e.target),o&&je&&o!==je&&(je=null),Array.isArray(e))for(var i=0;i<e.length;i++)Pe('pure',t,ue(e[i]),a,r[i],o);else Pe('pure',t,ue(e),a,r,o);if(!n||De){var u,f,c,s,l,p,d={isRoot:De,currentPage:Me,forkPage:je,isWatch:Ie};De=0;e:for(;s=Ce();){var m=s.idx,v=s.stack,h=s.type;c=v.node,Me=l=v.page,je=he(v),p=(l||c).reg;var g={fail:0,scope:c.scope};u=f=0;for(var y=m;y<c.seq.length&&!u;y++){var b=c.seq[y],k=b.data;switch(b.type){case"barrier":var w=k.barrierID;l&&(w=l.fullID+"_"+w);var x=k.priority;if(y!==m||h!==x){_e.has(w)||(_e.add(w),Fe(y,v,x,w));continue e}_e.delete(w);break;case'mov':var S=void 0;switch(k.from){case O:S=de(v);break;case"a":case'b':S=v[k.from];break;case"value":S=k.store;break;case N:p[k.store.id]||(v.page=l=Te(l,k.store.id),p=l?l.reg:c.reg),S=te(p[k.store.id])}switch(k.to){case O:v.value=S;break;case"a":case'b':v[k.to]=S;break;case N:We(l,c,k.target.id).current=S}break;case'check':switch(k.type){case'defined':f=void 0===de(v);break;case'changed':f=de(v)===te(We(l,c,k.store.id))}break;case"filter":f=!He(g,k,v);break;case'run':if(y!==m||"effect"!==h){Fe(y,v,"effect");continue e}case'compute':Ie='watch'===c.meta.op,v.value=He(g,k,v),Ie=d.isWatch}u=g.fail||f}if(!u)for(var A=0;A<c.next.length;A++)Pe('child',l,c.next[A],v,de(v),he(v))}De=d.isRoot,Me=d.currentPage,je=he(d)}}function u(e,r){void 0===r&&(r='combine');var n=r+'(',t='',a=0;for(var o in e){var i=e[o];if(null!=i&&(n+=t,n+=C(i)?i.compositeName.fullName:i.toString()),25===(a+=1))break;t=', '}return n+')'}function f(e,r){var n,t,a,o=e;return r?(a=r.compositeName,0===e.length?(n=a.path,t=a.fullName):(n=a.path.concat([e]),t=0===a.fullName.length?e:a.fullName+'/'+e)):(n=0===e.length?[]:[e],t=e),{shortName:o,fullName:t,path:n}}function c(e,r){for(var n in e)r(e[n],n)}function s(e,r){e.forEach(r)}function l(e,r,n,t){var a=Me,o=null;if(r)for(o=Me;o&&o.template!==r;)o=ve(o);ze(o);var i=e.create(n,t);return ze(a),i}function p(e,r){var n=function e(r){for(var n=arguments.length,a=new Array(n>1?n-1:0),o=1;o<n;o++)a[o-1]=arguments[o];return Me?l(e,t,r,a):e.create(r,a)};n.graphite=o({meta:ar("event",n,r,e),regional:1}),n.create=function(e){return i(je?je.find(n):n,e),e},n.watch=G(rr,n),n.map=function(e){var r,t;E(e)&&(r=e,t=e.name,e=e.fn);var a=p(Be(n,t),r);return ir(n,a,j,e),a},n.filter=function(e){return ur(n,"filter",e.fn?e:e.fn,[Y({fn:ie})])},n.filterMap=function(e){return ur(n,'filterMap',e,[X({fn:ie}),V.defined()])},n.prepend=function(e){var r=p('* → '+n.shortName,{parent:ve(n)}),t=be();return t&&ue(r).seq.push(t.upward),ir(r,n,'prepend',e),tr(n,r),r};var t=be();return n}function d(e,n){function a(e,r){p.off(e),me(p).set(e,Ye(fr(e,p,'on',1,r,v)))}var u=ne(e),f=ne(e),c=or('updates'),s=be();u.after=[{type:'copy',to:f}],s&&s.plain.push(u,f);var l=u.id,p={subscribers:new Map,updates:c,defaultState:e,stateRef:u,getState:function(){var e,r=u;if(Me){for(var n=Me;n&&!n.reg[l];)n=ve(n);n&&(e=n)}return!e&&je&&je.reg[l]&&(e=je),e&&(r=e.reg[l]),te(r)},setState:function(e){var r;je&&(r=je.nodeMap[ue(p).id]),r||(r=p),i({target:r,params:e,defer:1})},reset:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];for(var t=0,a=r;t<a.length;t++){var o=a[t];p.on(o,(function(){return p.defaultState}))}return p},on:function(e,n){if(t(e,'.on','first argument'),Array.isArray(e))for(var o,i=r(e);!(o=i()).done;)a(o.value,n);else a(e,n);return p},off:function(e){var r=me(p).get(e);return r&&(r(),me(p).delete(e)),p},map:function(e,r){var n,t,a;E(e)&&(n=e,t=e.name,r=e.firstState,e=e.fn);var o=p.getState(),i=be();i?a=null:void 0!==o&&(a=e(o,r));var f=d(a,{name:Be(p,t),config:n,strict:0}),c=fr(p,f,j,0,e);return se(f).before=[{type:j,fn:e,from:u}],i&&(Je(i.plain,u)||Je(c.seq,i.loader)||c.seq.unshift(i.loader)),f},watch:function(e,r){if(!r||!C(e)){var n=rr(p,e),t=be();return t?t.watch.push({of:u,fn:e}):e(p.getState()),n}return z(r)||M('second argument should be a function'),e.watch((function(e){return r(p.getState(),e)}))}},m=ar(N,p,n),v=p.defaultConfig.updateFilter;return p.graphite=o({scope:{state:u},node:[V.defined(),V.changed({store:f}),v&&Q({store:f,to:"a"}),v&&Y({fn:function(e,r,n){return v(e,n.a)}}),ee({store:u}),ee({store:f})],child:c,meta:m,regional:1}),Oe&&void 0===e&&M("current state can't be undefined, use null instead"),ge(p,[c]),p}function m(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var t,a,o;Ge(r[0],(function(e,n){o=e,r=n}));var i,u,f=r[r.length-1];if(z(f)?(a=r.slice(0,-1),t=f):a=r,1===a.length){var c=a[0];F(c)||(i=c,u=1)}return u||(i=a,t&&(t=cr(t))),E(i)||M('shape should be an object'),sr(Array.isArray(i),i,o,t)}function v(){var e={};return e.req=new Promise((function(r,n){e.rs=r,e.rj=n})),e.req.catch((function(){})),e}function h(e,r){var n=p(e,r),t=n.defaultConfig.handler||function(){return M("no handler used in "+n.getType())},a=ue(n);a.meta.onCopy=['runner'],a.meta.unit=n.kind="effect",n.use=function(e){return z(e)||M('.use argument should be a function'),t=e,n};var u=n.finally=or('finally'),f=n.done=u.filterMap({named:'done',fn:function(e){if('done'===e.status)return{params:e.params,result:e.result}}}),c=n.fail=u.filterMap({named:'fail',fn:function(e){if('fail'===e.status)return{params:e.params,error:e.error}}}),s=n.doneData=f.map({named:'doneData',fn:function(e){return e.result}}),l=n.failData=c.map({named:'failData',fn:function(e){return e.error}}),m=o({scope:{getHandler:n.use.getCurrent=function(){return t},finally:u},node:[Z({fn:function(e,r,n){var t,a=e.params,o=e.req,i=r.finally,u=r.getHandler,f=lr({params:a,req:o,ok:1,anyway:i,stack:n}),c=lr({params:a,req:o,ok:0,anyway:i,stack:n});try{t=u()(a)}catch(s){return void c(s)}E(t)&&z(t.then)?t.then(f,c):f(t)}})],meta:{op:'fx',fx:'runner',onCopy:['finally']}});a.scope.runner=m,a.seq.push(X({fn:function(e,r,n){return ve(n)?{params:e,req:{rs:function(){},rj:function(){}}}:e}}),Z({fn:function(e,r,n){return i({target:r.runner,params:e,defer:1,forkPage:he(n)}),e.params}})),n.create=function(e){var r=v(),t={params:e,req:r};if(je){if(!Ie){var a=je;r.req.finally((function(){Ee(a)})).catch((function(){}))}i(je.find(n),t)}else i(n,t);return r.req};var h=n.inFlight=d(0,{named:'inFlight'}).on(n,(function(e){return e+1})).on(u,(function(e){return e-1})),g=n.pending=h.map({fn:function(e){return e>0},named:'pending'});return ge(n,[u,f,c,s,l,g,h,m]),n}function g(e,r){var n=p(r||u(e,'merge'));return t(e,'merge','first argument'),er({from:e,to:n,meta:{op:'merge'}}),n}function y(e){var r=0;return s(mr,(function(n){n in e&&(null==e[n]&&M("sample: "+n+" should be defined"),r=1)})),r}function b(){for(var e,r,n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];var u,f,c=$e(a),s=c[0],l=s[0],v=s[1],h=s[2],b=c[1];void 0===v&&E(l)&&y(l)&&(v=l.clock,h=l.fn,f=l.greedy,e=l.target,r=l.name,u=l.sid,l=l.source);var k=1;void 0===l&&(t(v,'sample','clock'),Array.isArray(v)&&(v=g(v)),l=v,k=0),k&&!C(l)&&(l=m(l)),void 0===v&&(v=l),t(v,'sample','clock'),r=b||r||l.shortName;var w=be(),x=!!e;if(!e)if(F(l)&&F(v)){var S=h?h(te(se(l)),te(se(v))):te(se(l));e=d(S,{name:r,sid:u})}else e=p(r),w&&ue(e).seq.push(w.loader);var A=x&&C(e)&&ue(e).meta.nativeTemplate;if(F(l)){var q=se(l);ge(l,[Ze(v,e,{scope:{fn:h,targetTemplate:A},node:[w&&w.loader,!f&&L({priority:"sampler"}),Q({store:q,to:h?"a":O}),h&&X({fn:oe}),w&&x&&w.upward],meta:{op:"sample",sample:N}})]),w&&(Je(w.plain,q)||Je(w.closure,q)||w.closure.push(q))}else{var j=ne(0),P=ne(),R=ne();w&&w.plain.push(j,P,R),o({parent:l,node:[ee({store:P}),Q({from:"value",store:1,target:j})],family:{owners:[l,e,v],links:e},meta:{op:"sample",sample:'source'},regional:1}),ge(l,[Ze(v,e,{scope:{fn:h,targetTemplate:A},node:[w&&w.loader,ee({store:R}),Q({store:j}),Y({fn:function(e){return e}}),!f&&L({priority:"sampler"}),Q({store:P}),Q({store:R,to:"a"}),h&&X({fn:ae}),w&&x&&w.upward],meta:{op:"sample",sample:'clock'}})])}return e}function k(e){var r=Object.values(e),n={};return s(r,(function(e){n[e.id]=[]})),s(r,(function(e){var r=e.id,t=e.before,a=e.after;t&&s(t,(function(e){n[e.from.id].push(r)})),a&&s(a,(function(e){n[r].push(e.to.id)}))})),n}function w(e){if(e instanceof Map){for(var n,t={},a=r(e);!(n=a()).done;){var o=n.value,i=o[0],u=o[1];C(i)||M('Map key should be a unit'),t[i.sid]=u}return t}return e}function x(e,r){function n(e){u[e]=1;for(var r=t[e],a=0;a<r.length;a++){var f=r[a];u[f]||i[f]||n(f)}u[e]=0,i[e]=1,o.push(e)}var t={};for(var a in e)t[a]=[].concat(new Set(e[a]));var o=[],i={},u={};for(var f in t)i[f]||u[f]||n(f);return o.reverse(),r&&r.size>0&&function(){for(var e,n=[],a=[].concat(r);e=a.shift();)n.push(e),s(t[e],(function(e){Je(n,e)||Je(a,e)||a.push(e)}));s(n,(function(e){Ke(o,e)}))}(),o}function S(e){var r=[];return function e(n){Je(r,n)||(r.push(n),A(n,e))}(ue(e)),r}function A(e,r){var n=e.meta.unit;'fork'!==n&&"forkInFlightCounter"!==n&&(s(e.next,r),s(fe(e),r),s(ce(e),r))}Object.defineProperty(exports,'__esModule',{value:1});for(var q='undefined'!=typeof Symbol&&Symbol.observable||'@@observable',N='store',j='map',O='stack',C=function(e){return(z(e)||E(e))&&'kind'in e},P=function(e){return function(r){return C(r)&&r.kind===e}},F=P(N),R=P("event"),_=P("effect"),D=P("domain"),I={__proto__:null,unit:C,store:F,event:R,effect:_,domain:D},M=function(e){throw Error(e)},E=function(e){return'object'==typeof e&&null!==e},z=function(e){return'function'==typeof e},T=function(e){E(e)||z(e)||M('expect first argument be an object')},W=function(){var e=0;return function(){return(++e).toString(36)}},H=W(),U=W(),B=W(),G=function(e,r){return e.bind(null,r)},$=function(e,r,n){return e.bind(null,r,n)},J=function(e,r,n){return{id:U(),type:e,data:n,hasRef:r}},K=0,L=function(e){var r=e.priority;return J("barrier",0,{barrierID:++K,priority:void 0===r?"barrier":r})},Q=function(e){var r=e.from,n=void 0===r?N:r,t=e.target,a=e.to;return J('mov',n===N,{from:n,store:e.store,to:void 0===a?t?N:O:a,target:t})},V={defined:function(){return J('check',0,{type:'defined'})},changed:function(e){return J('check',1,{type:'changed',store:e.store})}},X=$(J,'compute',0),Y=$(J,"filter",0),Z=$(J,'run',0),ee=function(e){return Q({from:O,target:e.store})},re={__proto__:null,barrier:L,mov:Q,check:V,compute:X,filter:Y,run:Z,update:ee},ne=function(e){return{id:U(),current:e}},te=function(e){return e.current},ae=function(e,r,n){return(0,r.fn)(e,n.a)},oe=function(e,r,n){return(0,r.fn)(n.a,e)},ie=function(e,r){return(0,r.fn)(e)},ue=function(e){return e.graphite||e},fe=function(e){return e.family.owners},ce=function(e){return e.family.links},se=function(e){return e.stateRef},le=function(e){return e.config},pe=function(e){return e.ɔ},de=function(e){return e.value},me=function(e){return e.subscribers},ve=function(e){return e.parent},he=function(e){return e.forkPage},ge=function(e,r){for(var n=ue(e),t=0;t<r.length;t++){var a=ue(r[t]);"domain"!==n.family.type&&(a.family.type="crosslink"),fe(a).push(n),ce(n).push(a)}},ye=null,be=function(){return ye&&ye.template},ke=function(e){return e&&ye&&ye.sidRoot&&(e=ye.sidRoot+"ɔ"+e),e},we=function(e){void 0===e&&(e=[]);var r=[];if(Array.isArray(e))for(var n=0;n<e.length;n++)Array.isArray(e[n])?r.push.apply(r,e[n]):r.push(e[n]);else r.push(e);return r.map(ue)},xe=function(e,r){var n,t=e.type,a=e.data;e.hasRef&&(r[(n=a.store).id]=n),'mov'===t&&a.to===N&&(r[(n=a.target).id]=n)},Se=null,Ae=function e(r,n){if(!r)return n;if(!n)return r;var t,a=r.v.type===n.v.type;return(a&&r.v.id>n.v.id||!a&&"sampler"===r.v.type)&&(t=r,r=n,n=t),t=e(r.r,n),r.r=r.l,r.l=t,r},qe=[],Ne=0;Ne<5;)qe.push({first:null,last:null,size:0}),Ne+=1;var je,Oe,Ce=function(){for(var e=0;e<5;e++){var r=qe[e];if(r.size>0){if(2===e||3===e){r.size-=1;var n=Se.v;return Se=Ae(Se.l,Se.r),n}1===r.size&&(r.last=null);var t=r.first;return r.first=t.r,r.size-=1,t.v}}},Pe=function(e,r,n,t,a,o){return Fe(0,{a:null,b:null,node:n,parent:t,value:a,page:r,forkPage:o},e)},Fe=function(e,r,n,t){void 0===t&&(t=0);var a=Re(n),o=qe[a],i={v:{idx:e,stack:r,type:n,id:t},l:0,r:0};2===a||3===a?Se=Ae(Se,i):(0===o.size?o.first=i:o.last.r=i,o.last=i),o.size+=1},Re=function(e){switch(e){case'child':return 0;case'pure':return 1;case"barrier":return 2;case"sampler":return 3;case"effect":return 4;default:return-1}},_e=new Set,De=1,Ie=0,Me=null,Ee=function(e){je=e},ze=function(e){Me=e},Te=function(e,r){if(e){for(;e&&!e.reg[r];)e=ve(e);if(e)return e}return null},We=function(e,r,n){return(Te(e,n)||r).reg[n]},He=function(e,r,n){var t=r.fn;try{return t(de(n),e.scope,n)}catch(a){console.error(a),e.fail=1}},Ue=function(e,r){return''+e.shortName+r},Be=function(e,r){return null==r?Ue(e,' → *'):r},Ge=function(e,r){T(e),pe(e)&&r(le(e),pe(e))},$e=function(e){var r;return Ge(e[0],(function(n,t){r=n,e=t})),[e,r]},Je=function(e,r){return e.includes(r)},Ke=function(e,r){var n=e.indexOf(r);-1!==n&&e.splice(n,1)},Le=function(e,r){Ke(e.next,r),Ke(fe(e),r),Ke(ce(e),r)},Qe=function e(r,n,t){var a;r.next.length=0,r.seq.length=0,r.scope=null;for(var o=ce(r);a=o.pop();)Le(a,r),(n||t&&!r.meta.sample||"crosslink"===a.family.type)&&e(a,n,'on'!==a.meta.op&&t);for(o=fe(r);a=o.pop();)Le(a,r),t&&"crosslink"===a.family.type&&e(a,n,'on'!==a.meta.op&&t)},Ve=function(e){return e.clear()},Xe=function(e,r){var n=(void 0===r?{}:r).deep,t=0;if(e.ownerSet&&e.ownerSet.delete(e),F(e))Ve(me(e));else if(D(e)){t=1;var a=e.history;Ve(a.events),Ve(a.effects),Ve(a.stores),Ve(a.domains)}Qe(ue(e),!!n,t)},Ye=function(e){var r=$(Xe,e,void 0);return r.unsubscribe=r,r},Ze=function(e,r,n){return o({node:n.node,parent:e,child:r,scope:n.scope,meta:n.meta,family:{owners:[e,r],links:r},regional:1})},er=function(e){var r;Ge(e,(function(n,t){r=n,e=t}));var n=e.from,a=e.to,i=e.meta,u=void 0===i?{op:'forward'}:i;return t(n,'forward','"from"'),t(a,'forward','"to"'),r&&(u.config=r),Ye(o({parent:n,child:a,meta:u,family:{},regional:1}))},rr=function(e,r){if(z(r)||M('.watch argument should be a function'),je){var n=je.nodeMap[ue(e).id];n&&(e=n)}return Ye(o({scope:{fn:r},node:[Z({fn:ie})],parent:e,meta:{op:'watch'},family:{owners:e},regional:1}))},nr=function e(r,n){return E(r)&&(e(le(r),n),null!=r.name&&(E(r.name)?e(r.name,n):z(r.name)?n.handler=r.name:n.name=r.name),r.loc&&(n.loc=r.loc),(r.sid||null===r.sid)&&(n.sid=r.sid),r.handler&&(n.handler=r.handler),r.updateFilter&&(n.updateFilter=r.updateFilter),ve(r)&&(n.parent=ve(r)),'strict'in r&&(n.strict=r.strict),r.named&&(n.named=r.named),e(pe(r),n)),n},tr=function(e,r,n){void 0===n&&(n="event"),ve(e)&&ve(e).hooks[n](r)},ar=function(e,r,n,t){var a=nr({name:t,config:n},{}),o="domain"===e,i=H(),u=a.parent,c=void 0===u?null:u,s=a.sid,l=void 0===s?null:s,p=a.strict,d=void 0===p?1:p,m=a.named,v=void 0===m?null:m,h=v||a.name||(o?'':i),g=f(h,c),y={unit:r.kind=e,name:r.shortName=h,sid:r.sid=ke(l),named:v,unitId:r.id=i};if(r.parent=c,r.compositeName=g,r.defaultConfig=a,r.thru=function(e){return e(r)},r.getType=function(){return g.fullName},!o){r.subscribe=function(e){return T(e),r.watch(z(e)?e:function(r){e.next&&e.next(r)})},r[q]=function(){return r};var b=be();b&&(y.nativeTemplate=b)}return Oe=d,y},or=function(e){return p({named:e})},ir=function(e,r,n,t){return Ze(e,r,{scope:{fn:t},node:[X({fn:ie})],meta:{op:n}})},ur=function(e,r,n,t){var a;E(n)&&(a=n,n=n.fn);var o=p(Ue(e,' →? *'),a);return Ze(e,o,{scope:{fn:n},node:t,meta:{op:r}}),o},fr=function(e,r,n,t,a,o){var i=se(r),u=[Q({store:i,to:"a"}),X({fn:t?oe:ae}),V.defined(),V.changed({store:i}),o&&Y({fn:function(e,r,n){return o(e,n.a)}}),ee({store:i})],f=be();if(f&&(u.unshift(f.loader),u.push(f.upward),F(e))){var c=se(e);Je(f.plain,c)||(Je(f.closure,c)||f.closure.push(c),i.before||(i.before=[]),i.before.push({type:'closure',of:c}))}return Ze(e,r,{scope:{fn:a},node:u,meta:{op:n}})},cr=function(e){return function(r){return e.apply(void 0,r)}},sr=function(e,r,n,t){var a=e?function(e){return e.slice()}:function(e){return Object.assign({},e)},o=e?[]:{},i=be(),f=a(o),s=ne(f),l=ne(1);s.type=e?'list':'shape',i&&i.plain.push(s,l);var p=d(f,{name:n||u(r)});ue(p).meta.isCombine=1;var m=[V.defined(),Q({store:s,to:"a"}),Y({fn:function(e,r,n){return e!==n.a[r.key]}}),Q({store:l,to:'b'}),X({fn:function(e,r,n){var t=r.key;n.b&&(n.a=(0,r.clone)(n.a)),n.a[t]=e}}),Q({from:"a",target:s}),Q({from:"value",store:0,target:l}),L({priority:"barrier"}),Q({from:"value",store:1,target:l}),Q({store:s}),t&&X({fn:t}),V.changed({store:se(p)})],v=s.before=[];return c(r,(function(e,r){if(F(e)){o[r]=e.defaultState,f[r]=e.getState();var n=Ze(e,p,{scope:{key:r,clone:a},node:m,meta:{op:'combine'}}),t=se(e);v.push({type:'field',field:r,from:t}),i&&(Je(i.plain,t)||n.seq.unshift(i.loader))}else f[r]=o[r]=e})),p.defaultShape=r,s.after=[t?{type:j,to:se(p),fn:t}:{type:'copy',to:se(p)}],i||(p.defaultState=t?se(p).current=t(f):o),p},lr=function(e){var r=e.params,n=e.req,t=e.ok,a=e.anyway,o=e.stack;return function(e){return i({target:[a,pr],params:[t?{status:'done',params:r,result:e}:{status:'fail',params:r,error:e},{fn:t?n.rs:n.rj,value:e}],defer:1,page:o.page,forkPage:he(o)})}},pr=o({node:[Z({fn:function(e){(0,e.fn)(e.value)}})],meta:{op:'fx',fx:'sidechain'}}),dr=function(e,r,n){return e.create=function(r){return i(e,r),r},ue(e).seq.push(X({fn:function(e,r,n){return n.forkPage=null,e}})),e.watch((function(e){ge(n,[e]),r.add(e),e.ownerSet||(e.ownerSet=r),ve(e)||(e.parent=n)})),ge(n,[e]),function(n){return r.forEach(n),e.watch(n)}},mr=['source','clock','target'],vr=function(e,r,n,t){var a=e[r];a&&i({target:a,params:Array.isArray(a)?a.map((function(){return n})):n,defer:1,stack:t})};exports.allSettled=function(e,r){var n=r.scope,t=r.params;if(!C(e))return Promise.reject(Error('first argument should be unit'));var a=v();a.parentFork=je;var o=n.graphite.scope.forkInFlightCounter;o.scope.defers.push(a);var u=[n.find(e)],f=[];return _(e)?f.push({params:t,req:{rs:function(e){a.value={status:'done',value:e}},rj:function(e){a.value={status:'fail',value:e}}}}):f.push(t),u.push(o),f.push(null),i({target:u,params:f,forkPage:n}),a.req},exports.attach=function(e){var r,n;Ge(e,(function(r,t){n=r,e=t}));var t=e.source,a=e.effect,o=e.mapParams;o||(o=t?function(e,r){return r}:function(e){return e});var u,f=h(e,n),c=ue(f).scope.runner,s=function(e,r,n){var t,a=e.params,u=e.req,f=r.finally,c=r.effect,s=lr({params:a,req:u,ok:0,anyway:f,stack:n});try{t=o(a,n.a)}catch(l){return s(l)}i({target:c,params:{params:t,req:{rs:lr({params:a,req:u,ok:1,anyway:f,stack:n}),rj:s}},page:n.page,defer:1})};if(t){var l;F(t)?(l=t,ge(t,[f])):(l=m(t),ge(f,[l]));var p=Q({from:N,store:se(l),to:"a"});u=[Z({fn:function(e){return e}}),p,X({fn:s})],xe(p,c.reg)}else u=[Z({fn:s})];return ge(a,[f]),c.scope.effect=a,c.meta.onCopy.push("effect"),(r=c.seq).splice.apply(r,[0,1].concat(u)),tr(a,f,"effect"),f},exports.clearNode=Xe,exports.combine=m,exports.createApi=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var t=$e(r),a=t[0],o=a[0],i=a[1],u=t[1],f={};return c(i,(function(e,r){var n=f[r]=p(r,{parent:ve(o),config:u});o.on(n,e),tr(o,n)})),f},exports.createDomain=function e(r,n){var t=new Set,a=new Set,i=new Set,u=new Set,f=o({family:{type:"domain"},regional:1}),s={history:{domains:t,stores:a,effects:i,events:u},graphite:f};f.meta=ar("domain",s,n,r);var l=['onEvent','onEffect','onStore','onDomain'].map(or),m=l[0],v=l[1],g=l[2],y=l[3];s.hooks={event:m,effect:v,store:g,domain:y},s.onCreateEvent=dr(m,u,s),s.onCreateEffect=dr(v,i,s),s.onCreateStore=dr(g,a,s),s.onCreateDomain=dr(y,t,s),s.createEvent=s.event=function(e,r){return m(p(e,{parent:s,config:r}))},s.createEffect=s.effect=function(e,r){return v(h(e,{parent:s,config:r}))},s.createDomain=s.domain=function(r,n){return e({name:r,parent:s,config:n})},s.createStore=s.store=function(e,r){return g(d(e,{parent:s,config:r}))};var b=ve(s);return b&&(c(s.hooks,(function(e,r){er({from:e,to:b.hooks[r]})})),b.hooks.domain(s)),s},exports.createEffect=h,exports.createEvent=p,exports.createNode=o,exports.createStore=d,exports.createStoreObject=m,exports.fork=function(e,r){var n=void 0===r?{}:r,t=n.values,a=n.handlers;D(e)||M('first argument of fork should be domain');var i=!!t;t=w(t||{});var u,f,l,p,d,m,v=function(e){function r(e){var r=ue(e),t=n.indexOf(r);if(-1===t){var a='unit';e!==r&&e.id!==e.shortName&&(a=e.shortName),M(a+" not found in forked scope")}return p[t]}var n=S(e),t=new Map,a=new Set,i=X({fn:function(e,r,n){return(!n.node.meta.isCombine||ve(n)&&'combine'!==ve(n).node.meta.op)&&a.add(n.node.meta.forkOf.id),e}}),u=o({scope:{defers:[],inFlight:0,fxID:0},node:[X({fn:function(e,r,n){n.parent?'finally'===n.parent.node.meta.named?r.inFlight-=1:(r.inFlight+=1,r.fxID+=1):r.fxID+=1}}),L({priority:"sampler"}),Z({fn:function(e,r){var n=r.defers,t=r.fxID;r.inFlight>0||0===n.length||Promise.resolve().then((function(){r.fxID===t&&s(n.splice(0,n.length),(function(e){Ee(e.parentFork),e.rs(e.value)}))}))}})],meta:{unit:"forkInFlightCounter"}}),f={},l={},p=n.map((function(e){var r=e.next,n=e.meta,t=e.scope,a=o({node:e.seq.map((function(e){return{id:e.id,type:e.type,data:Object.assign({},e.data),hasRef:e.hasRef}})),child:[].concat(r),meta:Object.assign({forkOf:e},n),scope:Object.assign({},t)});return a.family={type:e.family.type,links:[].concat(ce(e)),owners:[].concat(fe(e))},f[e.id]=a,n.sid&&(l[n.sid]=a),a})),d={};return s(p,(function(e){var n=e.reg,a=e.scope,o=e.meta,f=o.onCopy,l=o.op,p=o.unit;switch(c(n,(function(e,r){var a=t.get(e);a||t.set(e,a={id:e.id,current:e.current}),d[r]=n[r]=a})),f&&s(f,(function(e){var n=a[e];a[e]=Array.isArray(n)?n.map(r):r(n)})),A(e,(function(e,n,t){t[n]=r(e)})),l||p){case N:e.meta.wrapped=function(e){return{kind:N,getState:function(){return e.reg[e.scope.state.id].current},updates:{watch:G(rr,e)},graphite:e,family:e.family}}(e),e.meta.sid&&e.seq.push(i);break;case"effect":e.next.push(u);break;case'fx':a.finally.next.push(u)}})),{cloneOf:e,changedStores:a,nodeMap:f,sidMap:l,clones:p,find:r,reg:d,getState:function(e){return r(e).meta.wrapped.getState()},graphite:o({family:{type:"domain",links:[u].concat(p)},meta:{unit:'fork'},scope:{forkInFlightCounter:u}})}}(e);if(i&&(u=S(e),f={},l={},p=new Set,d=new Set,m=Object.getOwnPropertyNames(t),s(u,(function(e){var r=e.meta.nativeTemplate;c(e.reg,(function(e,n){f[n]=e,r&&d.add(n)}))})),s(v.clones,(function(e){var r=e.reg,n=e.meta,a=n.sid;if(n.unit===N&&a&&Je(m,a)){var o=e.scope.state;r[o.id].current=t[a],p.add(o),v.changedStores.add(e.meta.forkOf.id)}c(r,(function(e,r){l[r]=e}))})),s(x(k(f),d),(function(e){(function(e,r){var n=0;if(r&&r.before&&!p.has(e)&&s(r.before,(function(r){switch(r.type){case j:e.current=r.fn(l[r.from.id].current);break;case'field':var t=l[r.from.id];n||(n=1,e.current=Array.isArray(e.current)?[].concat(e.current):Object.assign({},e.current)),e.current[r.field]=t.current}})),r&&r.after){var t=e.current;s(r.after,(function(e){var r=l[e.to.id];switch(e.type){case'copy':r.current=t;break;case j:r.current=e.fn(t)}}))}})(l[e],f[e])}))),a){a=w(a);var h=Object.keys(a);s(v.clones,(function(e){var r=e.scope,n=e.meta;n.sid&&Je(h,n.sid)&&(r.runner.scope.getHandler=function(){return a[n.sid]})}))}return v},exports.forward=er,exports.fromObservable=function(e){T(e);var r=q in e?e[q]():e;r.subscribe||M('expect observable to have .subscribe');var n=p(),t=$(Xe,n,void 0);return r.subscribe({next:n,error:t,complete:t}),n},exports.guard=function(){for(var e={op:'guard'},r='guard',n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];var u=$e(a),f=u[0],c=f[0],s=f[1],l=u[1];l&&(e.config=l,l.name&&(r=l.name)),s||(c=(s=c).source);var d=s,v=d.filter,h=d.greedy,y=d.clock,k=d.name,w=void 0===k?r:k,x=s.target||p(w,e.config),S=C(v),A=1;return void 0===c&&(t(y,'guard','clock'),Array.isArray(y)&&(y=g(y)),c=y,A=0),A&&!C(c)&&(c=m(c)),y&&(t(y,'guard','clock'),c=b({source:c,clock:y,greedy:h,fn:S?null:function(e,r){return{source:e,clock:r}}})),t(x,'guard','target'),S?b({source:v,clock:c,target:o({node:[Y({fn:function(e){return e.guard}}),X({fn:function(e){return e.data}})],child:x,meta:e,family:{owners:[c,v,x].concat([].concat(y||[])),links:x},regional:1}),fn:function(e,r){return{guard:e,data:r}},greedy:h,name:w}):(z(v)||M('`filter` should be function or unit'),Ze(c,x,{scope:{fn:v},node:y?[Y({fn:function(e,r){return(0,r.fn)(e.source,e.clock)}}),X({fn:function(e){return e.source}})]:[Y({fn:ie})],meta:e})),x},exports.hydrate=function(e,r){var n=r.values,t=E(e)&&e.cloneOf;D(e)||t||M('first argument of hydrate should be domain or scope'),E(n)||M('values property should be an object');var a,o,u=w(n);if(t)a=[],o=[],c(u,(function(r,n){var t=e.sidMap[n];t&&(a.push(t),o.push(r),e.changedStores.add(t.meta.forkOf.id))}));else{var f=function(e){var r=e.flatGraphUnits,n=e.values,t=e.collectWatches,a=[],o=[],i={},u=new Set,f=Object.getOwnPropertyNames(n);return s(r,(function(e){var r=e.reg,s=e.meta,l=s.op,p=s.sid;if(s.unit===N&&p&&Je(f,p)){var d=e.scope.state;d.current=n[p],u.add(d)}if(t&&'watch'===l){var m=e.family.owners[0];m.meta.unit===N&&(a.push(e),o.push(m.scope.state))}c(r,(function(e,r){i[r]=e}))})),s(x(k(i)),(function(e){(function(e){var r=0;if(e.before&&!u.has(e)&&s(e.before,(function(n){switch(n.type){case j:e.current=n.fn(n.from.current);break;case'field':var t=n.from;r||(r=1,e.current=Array.isArray(e.current)?[].concat(e.current):Object.assign({},e.current)),e.current[n.field]=t.current}})),e.after){var n=e.current;s(e.after,(function(e){var r=e.to;switch(e.type){case'copy':r.current=n;break;case j:r.current=e.fn(n)}}))}})(i[e])})),{storeWatches:a,storeWatchesRefs:o}}({flatGraphUnits:S(e),values:u,collectWatches:1});a=f.storeWatches,o=f.storeWatchesRefs.map((function(e){return e.current}))}i({target:a,params:o,forkPage:t?e:0})},exports.is=I,exports.launch=i,exports.merge=g,exports.restore=function(e,r,n){if(F(e))return e;if(C(e)){var t,a=ve(e);return R(e)&&(t=d(r,{parent:a,name:e.shortName,"ɔ":n}).on(e,(function(e,r){return r}))),_(e)&&(t=d(r,{parent:a,name:e.shortName,"ɔ":n}).on(e.done,(function(e,r){return r.result}))),a&&a.hooks.store(t),t}var o=Array.isArray(e)?[]:{};return c(e,(function(e,r){o[r]=F(e)?e:d(e,{name:r})})),o},exports.sample=b,exports.scopeBind=function(e){je||M('scopeBind cannot be called outside of forked .watch');var r=je,n=je.find(e);return _(e)?function(e){var t=v();i({target:n,params:{params:e,req:t},forkPage:r})}:function(e){return i({target:n,params:e,forkPage:r}),e}},exports.serialize=function(e,r){var n=e.changedStores,t=void 0===r?{}:r,a=t.ignore,o=void 0===a?[]:a,i=t.onlyChanges,u={};return s(e.clones,(function(e){var r=e.meta,t=e.scope,a=e.reg;if(r.unit===N){var o=r.sid;o&&(!i&&!r.isCombine||n.has(r.forkOf.id))&&(u[o]=a[t.state.id].current)}})),s(o,(function(e){var r=e.sid;r&&delete u[r]})),u},exports.setStoreName=function(e,r){var n=f(r,ve(e));if(e.shortName=r,e.compositeName){var t=e.compositeName;t.path=n.path,t.shortName=n.shortName,t.fullName=n.fullName}else e.compositeName=n},exports.split=function(){for(var e,r=arguments.length,n=new Array(r),t=0;t<r;t++)n[t]=arguments[t];var a=$e(n),i=a[0],u=i[0],f=i[1],s=a[1],l=!f;l&&(e=u.cases,f=u.match,u=u.source);var d=F(f),m=!C(f)&&z(f),v=!d&&!m&&E(f);e||(e={}),l||(v||M('match should be an object'),c(f,(function(r,n){e[n]=p(s)})),e.__=p(s));var h,g=be(),y=new Set([].concat(u,Object.values(e))),b=Object.keys(d||m?e:f);if(d||m)d&&y.add(f),h=[d&&L({priority:'sampler'}),d&&Q({store:se(f),to:'a'}),Y({fn:function(e,r,n){var t=String(d?n.a:f(e));vr(r,Je(b,t)?t:'__',e,n)}})];else if(v){var k=ne({});k.type='shape';var w,x=k.before=[],S=[Q({store:k,to:"a"}),X({fn:function(e,r,n){n.a[r.key]=e}})],A=[];c(f,(function(e,r){if(C(e)){w=1,A.push(r),y.add(e);var n=Ze(e,[],{node:S,scope:{key:r}});if(F(e)){k.current[r]=e.getState();var t=se(e);x.push({type:'field',field:r,from:t}),g&&(Je(g.plain,t)||n.seq.unshift(g.loader))}}})),w&&g&&g.plain.push(k),h=[w&&L({priority:'sampler'}),w&&Q({store:k,to:'a'}),Y({fn:function(e,r,n){for(var t=0;t<b.length;t++){var a=b[t];if(Je(A,a)?n.a[a]:f[a](e))return void vr(r,a,e,n)}vr(r,'__',e,n)}})]}else M('expect match to be unit, function or object');if(o({meta:{onCopy:Object.keys(e),op:'split'},parent:u,scope:e,node:h,family:{type:'crosslink',owners:Array.from(y)},regional:1}),!l)return e},exports.step=re,exports.version="21.8.5",exports.withFactory=function(e){var r=e.name,n=e.loc,t=e.method,i=e.fn;return a(o({meta:{sidRoot:ke(e.sid),name:r,loc:n,method:t}}),i)},exports.withRegion=a;
'use strict';function e(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function r(r,n){var it;if("undefined"==typeof Symbol||null==r[Symbol.iterator]){if(Array.isArray(r)||(it=function(r,n){if(r){if("string"==typeof r)return e(r,n);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?e(r,n):void 0}}(r))||n&&r&&"number"==typeof r.length){it&&(r=it);var t=0;return function(){return t>=r.length?{done:1}:{done:0,value:r[t++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(it=r[Symbol.iterator]()).next.bind(it)}function n(e,r,n,t){(E(e)||z(e))&&('family'in e||'graphite'in e)||M(r+": expect "+n+" to be a unit (store, event or effect)"+t)}function t(e,r,t){if(Array.isArray(e))for(var a=0;a<e.length;a++)n(e[a],r,a+" item of "+t,'');else n(e,r,t,' or array of units')}function a(e,r){var n=ue(e).meta;ye={parent:ye,value:e,template:n.template||be(),sidRoot:n.sidRoot||ye&&ye.sidRoot};try{return r()}finally{ye=ve(ye)}}function o(e){for(var r=void 0===e?{}:e,n=r.node,t=void 0===n?[]:n,a=r.parent,o=r.child,i=void 0===o?r.to||r.target:o,u=r.scope,f=void 0===u?{}:u,c=r.meta,s=void 0===c?{}:c,l=r.family,p=void 0===l?{type:'regular'}:l,d=r.regional,m=we(void 0===a?r.from||r.source:a),v=we(p.links),h=we(p.owners),g=[],y={},b=0;b<t.length;b++){var k=t[b];k&&(g.push(k),xe(k,y))}for(var w={id:B(),seq:g,next:we(i),meta:s,scope:f,family:{type:p.type||"crosslink",links:v,owners:h},reg:y},x=0;x<v.length;x++)fe(v[x]).push(w);for(var S=0;S<h.length;S++)ce(h[S]).push(w);for(var A=0;A<m.length;A++)m[A].next.push(w);return d&&ye&&ge(de(ye),[w]),w}function i(e,r,n){var t=Me,a=null,o=je;if(e.target&&(r=e.params,n=e.defer,t='page'in e?e.page:t,e.stack&&(a=e.stack),o=he(e)||o,e=e.target),o&&je&&o!==je&&(je=null),Array.isArray(e))for(var i=0;i<e.length;i++)Pe('pure',t,ue(e[i]),a,r[i],o);else Pe('pure',t,ue(e),a,r,o);if(!n||De){var u,f,c,s,l,p,d={isRoot:De,currentPage:Me,forkPage:je,isWatch:Ie};De=0;e:for(;s=Ce();){var m=s.idx,v=s.stack,h=s.type;c=v.node,Me=l=v.page,je=he(v),p=(l||c).reg;var g={fail:0,scope:c.scope};u=f=0;for(var y=m;y<c.seq.length&&!u;y++){var b=c.seq[y],k=b.data;switch(b.type){case"barrier":var w=k.barrierID;l&&(w=l.fullID+"_"+w);var x=k.priority;if(y!==m||h!==x){_e.has(w)||(_e.add(w),Fe(y,v,x,w));continue e}_e.delete(w);break;case'mov':var S=void 0;switch(k.from){case O:S=de(v);break;case"a":case'b':S=v[k.from];break;case"value":S=k.store;break;case N:p[k.store.id]||(v.page=l=Te(l,k.store.id),p=l?l.reg:c.reg),S=te(p[k.store.id])}switch(k.to){case O:v.value=S;break;case"a":case'b':v[k.to]=S;break;case N:We(l,c,k.target.id).current=S}break;case'check':switch(k.type){case'defined':f=void 0===de(v);break;case'changed':f=de(v)===te(We(l,c,k.store.id))}break;case"filter":f=!He(g,k,v);break;case'run':if(y!==m||"effect"!==h){Fe(y,v,"effect");continue e}case'compute':Ie='watch'===c.meta.op,v.value=He(g,k,v),Ie=d.isWatch}u=g.fail||f}if(!u)for(var A=0;A<c.next.length;A++)Pe('child',l,c.next[A],v,de(v),he(v))}De=d.isRoot,Me=d.currentPage,je=he(d)}}function u(e,r){void 0===r&&(r='combine');var n=r+'(',t='',a=0;for(var o in e){var i=e[o];if(null!=i&&(n+=t,n+=C(i)?i.compositeName.fullName:i.toString()),25===(a+=1))break;t=', '}return n+')'}function f(e,r){var n,t,a,o=e;return r?(a=r.compositeName,0===e.length?(n=a.path,t=a.fullName):(n=a.path.concat([e]),t=0===a.fullName.length?e:a.fullName+'/'+e)):(n=0===e.length?[]:[e],t=e),{shortName:o,fullName:t,path:n}}function c(e,r){for(var n in e)r(e[n],n)}function s(e,r){e.forEach(r)}function l(e,r,n,t){var a=Me,o=null;if(r)for(o=Me;o&&o.template!==r;)o=ve(o);ze(o);var i=e.create(n,t);return ze(a),i}function p(e,r){var n=function e(r){for(var n=arguments.length,a=new Array(n>1?n-1:0),o=1;o<n;o++)a[o-1]=arguments[o];return Me?l(e,t,r,a):e.create(r,a)};n.graphite=o({meta:ar("event",n,r,e),regional:1}),n.create=function(e){return i(je?je.find(n):n,e),e},n.watch=G(rr,n),n.map=function(e){var r,t;E(e)&&(r=e,t=e.name,e=e.fn);var a=p(Be(n,t),r);return ir(n,a,j,e),a},n.filter=function(e){return ur(n,"filter",e.fn?e:e.fn,[Y({fn:ie})])},n.filterMap=function(e){return ur(n,'filterMap',e,[X({fn:ie}),V.defined()])},n.prepend=function(e){var r=p('* → '+n.shortName,{parent:ve(n)}),t=be();return t&&ue(r).seq.push(t.upward),ir(r,n,'prepend',e),tr(n,r),r};var t=be();return n}function d(e,n){function a(e,r){p.off(e),me(p).set(e,Ye(fr(e,p,'on',1,r,v)))}var u=ne(e),f=ne(e),c=or('updates'),s=be();u.after=[{type:'copy',to:f}],s&&s.plain.push(u,f);var l=u.id,p={subscribers:new Map,updates:c,defaultState:e,stateRef:u,getState:function(){var e,r=u;if(Me){for(var n=Me;n&&!n.reg[l];)n=ve(n);n&&(e=n)}return!e&&je&&je.reg[l]&&(e=je),e&&(r=e.reg[l]),te(r)},setState:function(e){var r;je&&(r=je.nodeMap[ue(p).id]),r||(r=p),i({target:r,params:e,defer:1})},reset:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];for(var t=0,a=r;t<a.length;t++){var o=a[t];p.on(o,(function(){return p.defaultState}))}return p},on:function(e,n){if(t(e,'.on','first argument'),Array.isArray(e))for(var o,i=r(e);!(o=i()).done;)a(o.value,n);else a(e,n);return p},off:function(e){var r=me(p).get(e);return r&&(r(),me(p).delete(e)),p},map:function(e,r){var n,t,a;E(e)&&(n=e,t=e.name,r=e.firstState,e=e.fn);var o=p.getState(),i=be();i?a=null:void 0!==o&&(a=e(o,r));var f=d(a,{name:Be(p,t),config:n,strict:0}),c=fr(p,f,j,0,e);return se(f).before=[{type:j,fn:e,from:u}],i&&(Je(i.plain,u)||Je(c.seq,i.loader)||c.seq.unshift(i.loader)),f},watch:function(e,r){if(!r||!C(e)){var n=rr(p,e),t=be();return t?t.watch.push({of:u,fn:e}):e(p.getState()),n}return z(r)||M('second argument should be a function'),e.watch((function(e){return r(p.getState(),e)}))}},m=ar(N,p,n),v=p.defaultConfig.updateFilter;return p.graphite=o({scope:{state:u},node:[V.defined(),V.changed({store:f}),v&&Q({store:f,to:"a"}),v&&Y({fn:function(e,r,n){return v(e,n.a)}}),ee({store:u}),ee({store:f})],child:c,meta:m,regional:1}),Oe&&void 0===e&&M("current state can't be undefined, use null instead"),ge(p,[c]),p}function m(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var t,a,o;Ge(r[0],(function(e,n){o=e,r=n}));var i,u,f=r[r.length-1];if(z(f)?(a=r.slice(0,-1),t=f):a=r,1===a.length){var c=a[0];F(c)||(i=c,u=1)}return u||(i=a,t&&(t=cr(t))),E(i)||M('shape should be an object'),sr(Array.isArray(i),i,o,t)}function v(){var e={};return e.req=new Promise((function(r,n){e.rs=r,e.rj=n})),e.req.catch((function(){})),e}function h(e,r){var n=p(e,r),t=n.defaultConfig.handler||function(){return M("no handler used in "+n.getType())},a=ue(n);a.meta.onCopy=['runner'],a.meta.unit=n.kind="effect",n.use=function(e){return z(e)||M('.use argument should be a function'),t=e,n};var u=n.finally=or('finally'),f=n.done=u.filterMap({named:'done',fn:function(e){if('done'===e.status)return{params:e.params,result:e.result}}}),c=n.fail=u.filterMap({named:'fail',fn:function(e){if('fail'===e.status)return{params:e.params,error:e.error}}}),s=n.doneData=f.map({named:'doneData',fn:function(e){return e.result}}),l=n.failData=c.map({named:'failData',fn:function(e){return e.error}}),m=o({scope:{getHandler:n.use.getCurrent=function(){return t},finally:u},node:[Z({fn:function(e,r,n){var t,a=e.params,o=e.req,i=r.finally,u=r.getHandler,f=lr({params:a,req:o,ok:1,anyway:i,stack:n}),c=lr({params:a,req:o,ok:0,anyway:i,stack:n});try{t=u()(a)}catch(s){return void c(s)}E(t)&&z(t.then)?t.then(f,c):f(t)}})],meta:{op:'fx',fx:'runner',onCopy:['finally']}});a.scope.runner=m,a.seq.push(X({fn:function(e,r,n){return ve(n)?{params:e,req:{rs:function(){},rj:function(){}}}:e}}),Z({fn:function(e,r,n){return i({target:r.runner,params:e,defer:1,forkPage:he(n)}),e.params}})),n.create=function(e){var r=v(),t={params:e,req:r};if(je){if(!Ie){var a=je;r.req.finally((function(){Ee(a)})).catch((function(){}))}i(je.find(n),t)}else i(n,t);return r.req};var h=n.inFlight=d(0,{named:'inFlight'}).on(n,(function(e){return e+1})).on(u,(function(e){return e-1})),g=n.pending=h.map({fn:function(e){return e>0},named:'pending'});return ge(n,[u,f,c,s,l,g,h,m]),n}function g(e,r){var n=p(r||u(e,'merge'));return t(e,'merge','first argument'),er({from:e,to:n,meta:{op:'merge'}}),n}function y(e){var r=0;return s(mr,(function(n){n in e&&(null==e[n]&&M("sample: "+n+" should be defined"),r=1)})),r}function b(){for(var e,r,n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];var u,f,c=$e(a),s=c[0],l=s[0],v=s[1],h=s[2],b=c[1];void 0===v&&E(l)&&y(l)&&(v=l.clock,h=l.fn,f=l.greedy,e=l.target,r=l.name,u=l.sid,l=l.source);var k=1;void 0===l&&(t(v,'sample','clock'),Array.isArray(v)&&(v=g(v)),l=v,k=0),k&&!C(l)&&(l=m(l)),void 0===v&&(v=l),t(v,'sample','clock'),r=b||r||l.shortName;var w=be(),x=!!e;if(!e)if(F(l)&&F(v)){var S=h?h(te(se(l)),te(se(v))):te(se(l));e=d(S,{name:r,sid:u})}else e=p(r),w&&ue(e).seq.push(w.loader);var A=x&&C(e)&&ue(e).meta.nativeTemplate;if(F(l)){var q=se(l);ge(l,[Ze(v,e,{scope:{fn:h,targetTemplate:A},node:[w&&w.loader,!f&&L({priority:"sampler"}),Q({store:q,to:h?"a":O}),h&&X({fn:oe}),w&&x&&w.upward],meta:{op:"sample",sample:N}})]),w&&(Je(w.plain,q)||Je(w.closure,q)||w.closure.push(q))}else{var j=ne(0),P=ne(),R=ne();w&&w.plain.push(j,P,R),o({parent:l,node:[ee({store:P}),Q({from:"value",store:1,target:j})],family:{owners:[l,e,v],links:e},meta:{op:"sample",sample:'source'},regional:1}),ge(l,[Ze(v,e,{scope:{fn:h,targetTemplate:A},node:[w&&w.loader,ee({store:R}),Q({store:j}),Y({fn:function(e){return e}}),!f&&L({priority:"sampler"}),Q({store:P}),Q({store:R,to:"a"}),h&&X({fn:ae}),w&&x&&w.upward],meta:{op:"sample",sample:'clock'}})])}return e}function k(e){var r=Object.values(e),n={};return s(r,(function(e){n[e.id]=[]})),s(r,(function(e){var r=e.id,t=e.before,a=e.after;t&&s(t,(function(e){n[e.from.id].push(r)})),a&&s(a,(function(e){n[r].push(e.to.id)}))})),n}function w(e){if(e instanceof Map){for(var n,t={},a=r(e);!(n=a()).done;){var o=n.value,i=o[0],u=o[1];C(i)||M('Map key should be a unit'),t[i.sid]=u}return t}return e}function x(e,r){function n(e){u[e]=1;for(var r=t[e],a=0;a<r.length;a++){var f=r[a];u[f]||i[f]||n(f)}u[e]=0,i[e]=1,o.push(e)}var t={};for(var a in e)t[a]=[].concat(new Set(e[a]));var o=[],i={},u={};for(var f in t)i[f]||u[f]||n(f);return o.reverse(),r&&r.size>0&&function(){for(var e,n=[],a=[].concat(r);e=a.shift();)n.push(e),s(t[e],(function(e){Je(n,e)||Je(a,e)||a.push(e)}));s(n,(function(e){Ke(o,e)}))}(),o}function S(e){var r=[];return function e(n){Je(r,n)||(r.push(n),A(n,e))}(ue(e)),r}function A(e,r){var n=e.meta.unit;'fork'!==n&&"forkInFlightCounter"!==n&&(s(e.next,r),s(fe(e),r),s(ce(e),r))}Object.defineProperty(exports,'__esModule',{value:1});for(var q='undefined'!=typeof Symbol&&Symbol.observable||'@@observable',N='store',j='map',O='stack',C=function(e){return(z(e)||E(e))&&'kind'in e},P=function(e){return function(r){return C(r)&&r.kind===e}},F=P(N),R=P("event"),_=P("effect"),D=P("domain"),I={__proto__:null,unit:C,store:F,event:R,effect:_,domain:D},M=function(e){throw Error(e)},E=function(e){return'object'==typeof e&&null!==e},z=function(e){return'function'==typeof e},T=function(e){E(e)||z(e)||M('expect first argument be an object')},W=function(){var e=0;return function(){return(++e).toString(36)}},H=W(),U=W(),B=W(),G=function(e,r){return e.bind(null,r)},$=function(e,r,n){return e.bind(null,r,n)},J=function(e,r,n){return{id:U(),type:e,data:n,hasRef:r}},K=0,L=function(e){var r=e.priority;return J("barrier",0,{barrierID:++K,priority:void 0===r?"barrier":r})},Q=function(e){var r=e.from,n=void 0===r?N:r,t=e.target,a=e.to;return J('mov',n===N,{from:n,store:e.store,to:void 0===a?t?N:O:a,target:t})},V={defined:function(){return J('check',0,{type:'defined'})},changed:function(e){return J('check',1,{type:'changed',store:e.store})}},X=$(J,'compute',0),Y=$(J,"filter",0),Z=$(J,'run',0),ee=function(e){return Q({from:O,target:e.store})},re={__proto__:null,barrier:L,mov:Q,check:V,compute:X,filter:Y,run:Z,update:ee},ne=function(e){return{id:U(),current:e}},te=function(e){return e.current},ae=function(e,r,n){return(0,r.fn)(e,n.a)},oe=function(e,r,n){return(0,r.fn)(n.a,e)},ie=function(e,r){return(0,r.fn)(e)},ue=function(e){return e.graphite||e},fe=function(e){return e.family.owners},ce=function(e){return e.family.links},se=function(e){return e.stateRef},le=function(e){return e.config},pe=function(e){return e.ɔ},de=function(e){return e.value},me=function(e){return e.subscribers},ve=function(e){return e.parent},he=function(e){return e.forkPage},ge=function(e,r){for(var n=ue(e),t=0;t<r.length;t++){var a=ue(r[t]);"domain"!==n.family.type&&(a.family.type="crosslink"),fe(a).push(n),ce(n).push(a)}},ye=null,be=function(){return ye&&ye.template},ke=function(e){return e&&ye&&ye.sidRoot&&(e=ye.sidRoot+"ɔ"+e),e},we=function(e){void 0===e&&(e=[]);var r=[];if(Array.isArray(e))for(var n=0;n<e.length;n++)Array.isArray(e[n])?r.push.apply(r,e[n]):r.push(e[n]);else r.push(e);return r.map(ue)},xe=function(e,r){var n,t=e.type,a=e.data;e.hasRef&&(r[(n=a.store).id]=n),'mov'===t&&a.to===N&&(r[(n=a.target).id]=n)},Se=null,Ae=function e(r,n){if(!r)return n;if(!n)return r;var t,a=r.v.type===n.v.type;return(a&&r.v.id>n.v.id||!a&&"sampler"===r.v.type)&&(t=r,r=n,n=t),t=e(r.r,n),r.r=r.l,r.l=t,r},qe=[],Ne=0;Ne<5;)qe.push({first:null,last:null,size:0}),Ne+=1;var je,Oe,Ce=function(){for(var e=0;e<5;e++){var r=qe[e];if(r.size>0){if(2===e||3===e){r.size-=1;var n=Se.v;return Se=Ae(Se.l,Se.r),n}1===r.size&&(r.last=null);var t=r.first;return r.first=t.r,r.size-=1,t.v}}},Pe=function(e,r,n,t,a,o){return Fe(0,{a:null,b:null,node:n,parent:t,value:a,page:r,forkPage:o},e)},Fe=function(e,r,n,t){void 0===t&&(t=0);var a=Re(n),o=qe[a],i={v:{idx:e,stack:r,type:n,id:t},l:0,r:0};2===a||3===a?Se=Ae(Se,i):(0===o.size?o.first=i:o.last.r=i,o.last=i),o.size+=1},Re=function(e){switch(e){case'child':return 0;case'pure':return 1;case"barrier":return 2;case"sampler":return 3;case"effect":return 4;default:return-1}},_e=new Set,De=1,Ie=0,Me=null,Ee=function(e){je=e},ze=function(e){Me=e},Te=function(e,r){if(e){for(;e&&!e.reg[r];)e=ve(e);if(e)return e}return null},We=function(e,r,n){return(Te(e,n)||r).reg[n]},He=function(e,r,n){var t=r.fn;try{return t(de(n),e.scope,n)}catch(a){console.error(a),e.fail=1}},Ue=function(e,r){return''+e.shortName+r},Be=function(e,r){return null==r?Ue(e,' → *'):r},Ge=function(e,r){T(e),pe(e)&&r(le(e),pe(e))},$e=function(e){var r;return Ge(e[0],(function(n,t){r=n,e=t})),[e,r]},Je=function(e,r){return e.includes(r)},Ke=function(e,r){var n=e.indexOf(r);-1!==n&&e.splice(n,1)},Le=function(e,r){Ke(e.next,r),Ke(fe(e),r),Ke(ce(e),r)},Qe=function e(r,n,t){var a;r.next.length=0,r.seq.length=0,r.scope=null;for(var o=ce(r);a=o.pop();)Le(a,r),(n||t&&!r.meta.sample||"crosslink"===a.family.type)&&e(a,n,'on'!==a.meta.op&&t);for(o=fe(r);a=o.pop();)Le(a,r),t&&"crosslink"===a.family.type&&e(a,n,'on'!==a.meta.op&&t)},Ve=function(e){return e.clear()},Xe=function(e,r){var n=(void 0===r?{}:r).deep,t=0;if(e.ownerSet&&e.ownerSet.delete(e),F(e))Ve(me(e));else if(D(e)){t=1;var a=e.history;Ve(a.events),Ve(a.effects),Ve(a.stores),Ve(a.domains)}Qe(ue(e),!!n,t)},Ye=function(e){var r=$(Xe,e,void 0);return r.unsubscribe=r,r},Ze=function(e,r,n){return o({node:n.node,parent:e,child:r,scope:n.scope,meta:n.meta,family:{owners:[e,r],links:r},regional:1})},er=function(e){var r;Ge(e,(function(n,t){r=n,e=t}));var n=e.from,a=e.to,i=e.meta,u=void 0===i?{op:'forward'}:i;return t(n,'forward','"from"'),t(a,'forward','"to"'),r&&(u.config=r),Ye(o({parent:n,child:a,meta:u,family:{},regional:1}))},rr=function(e,r){if(z(r)||M('.watch argument should be a function'),je){var n=je.nodeMap[ue(e).id];n&&(e=n)}return Ye(o({scope:{fn:r},node:[Z({fn:ie})],parent:e,meta:{op:'watch'},family:{owners:e},regional:1}))},nr=function e(r,n){return E(r)&&(e(le(r),n),null!=r.name&&(E(r.name)?e(r.name,n):z(r.name)?n.handler=r.name:n.name=r.name),r.loc&&(n.loc=r.loc),(r.sid||null===r.sid)&&(n.sid=r.sid),r.handler&&(n.handler=r.handler),r.updateFilter&&(n.updateFilter=r.updateFilter),ve(r)&&(n.parent=ve(r)),'strict'in r&&(n.strict=r.strict),r.named&&(n.named=r.named),e(pe(r),n)),n},tr=function(e,r,n){void 0===n&&(n="event"),ve(e)&&ve(e).hooks[n](r)},ar=function(e,r,n,t){var a=nr({name:t,config:n},{}),o="domain"===e,i=H(),u=a.parent,c=void 0===u?null:u,s=a.sid,l=void 0===s?null:s,p=a.strict,d=void 0===p?1:p,m=a.named,v=void 0===m?null:m,h=v||a.name||(o?'':i),g=f(h,c),y={unit:r.kind=e,name:r.shortName=h,sid:r.sid=ke(l),named:v,unitId:r.id=i};if(r.parent=c,r.compositeName=g,r.defaultConfig=a,r.thru=function(e){return e(r)},r.getType=function(){return g.fullName},!o){r.subscribe=function(e){return T(e),r.watch(z(e)?e:function(r){e.next&&e.next(r)})},r[q]=function(){return r};var b=be();b&&(y.nativeTemplate=b)}return Oe=d,y},or=function(e){return p({named:e})},ir=function(e,r,n,t){return Ze(e,r,{scope:{fn:t},node:[X({fn:ie})],meta:{op:n}})},ur=function(e,r,n,t){var a;E(n)&&(a=n,n=n.fn);var o=p(Ue(e,' →? *'),a);return Ze(e,o,{scope:{fn:n},node:t,meta:{op:r}}),o},fr=function(e,r,n,t,a,o){var i=se(r),u=[Q({store:i,to:"a"}),X({fn:t?oe:ae}),V.defined(),V.changed({store:i}),o&&Y({fn:function(e,r,n){return o(e,n.a)}}),ee({store:i})],f=be();if(f&&(u.unshift(f.loader),u.push(f.upward),F(e))){var c=se(e);Je(f.plain,c)||(Je(f.closure,c)||f.closure.push(c),i.before||(i.before=[]),i.before.push({type:'closure',of:c}))}return Ze(e,r,{scope:{fn:a},node:u,meta:{op:n}})},cr=function(e){return function(r){return e.apply(void 0,r)}},sr=function(e,r,n,t){var a=e?function(e){return e.slice()}:function(e){return Object.assign({},e)},o=e?[]:{},i=be(),f=a(o),s=ne(f),l=ne(1);s.type=e?'list':'shape',i&&i.plain.push(s,l);var p=d(f,{name:n||u(r)});ue(p).meta.isCombine=1;var m=[V.defined(),Q({store:s,to:"a"}),Y({fn:function(e,r,n){return e!==n.a[r.key]}}),Q({store:l,to:'b'}),X({fn:function(e,r,n){var t=r.key;n.b&&(n.a=(0,r.clone)(n.a)),n.a[t]=e}}),Q({from:"a",target:s}),Q({from:"value",store:0,target:l}),L({priority:"barrier"}),Q({from:"value",store:1,target:l}),Q({store:s}),t&&X({fn:t}),V.changed({store:se(p)})],v=s.before=[];return c(r,(function(e,r){if(F(e)){o[r]=e.defaultState,f[r]=e.getState();var n=Ze(e,p,{scope:{key:r,clone:a},node:m,meta:{op:'combine'}}),t=se(e);v.push({type:'field',field:r,from:t}),i&&(Je(i.plain,t)||n.seq.unshift(i.loader))}else f[r]=o[r]=e})),p.defaultShape=r,s.after=[t?{type:j,to:se(p),fn:t}:{type:'copy',to:se(p)}],i||(p.defaultState=t?se(p).current=t(f):o),p},lr=function(e){var r=e.params,n=e.req,t=e.ok,a=e.anyway,o=e.stack;return function(e){return i({target:[a,pr],params:[t?{status:'done',params:r,result:e}:{status:'fail',params:r,error:e},{fn:t?n.rs:n.rj,value:e}],defer:1,page:o.page,forkPage:he(o)})}},pr=o({node:[Z({fn:function(e){(0,e.fn)(e.value)}})],meta:{op:'fx',fx:'sidechain'}}),dr=function(e,r,n){return e.create=function(r){return i(e,r),r},ue(e).seq.push(X({fn:function(e,r,n){return n.forkPage=null,e}})),e.watch((function(e){ge(n,[e]),r.add(e),e.ownerSet||(e.ownerSet=r),ve(e)||(e.parent=n)})),ge(n,[e]),function(n){return r.forEach(n),e.watch(n)}},mr=['source','clock','target'],vr=function(e,r,n,t){var a=e[r];a&&i({target:a,params:Array.isArray(a)?a.map((function(){return n})):n,defer:1,stack:t})};exports.allSettled=function(e,r){var n=r.scope,t=r.params;if(!C(e))return Promise.reject(Error('first argument should be unit'));var a=v();a.parentFork=je;var o=n.graphite.scope.forkInFlightCounter;o.scope.defers.push(a);var u=[n.find(e)],f=[];return _(e)?f.push({params:t,req:{rs:function(e){a.value={status:'done',value:e}},rj:function(e){a.value={status:'fail',value:e}}}}):f.push(t),u.push(o),f.push(null),i({target:u,params:f,forkPage:n}),a.req},exports.attach=function(e){var r,n;Ge(e,(function(r,t){n=r,e=t}));var t=e.source,a=e.effect,o=e.mapParams;o||(o=t?function(e,r){return r}:function(e){return e});var u,f=h(e,n),c=ue(f).scope.runner,s=function(e,r,n){var t,a=e.params,u=e.req,f=r.finally,c=r.effect,s=lr({params:a,req:u,ok:0,anyway:f,stack:n});try{t=o(a,n.a)}catch(l){return s(l)}i({target:c,params:{params:t,req:{rs:lr({params:a,req:u,ok:1,anyway:f,stack:n}),rj:s}},page:n.page,defer:1})};if(t){var l;F(t)?(l=t,ge(t,[f])):(l=m(t),ge(f,[l]));var p=Q({from:N,store:se(l),to:"a"});u=[Z({fn:function(e){return e}}),p,X({fn:s})],xe(p,c.reg)}else u=[Z({fn:s})];return ge(a,[f]),c.scope.effect=a,c.meta.onCopy.push("effect"),(r=c.seq).splice.apply(r,[0,1].concat(u)),tr(a,f,"effect"),f},exports.clearNode=Xe,exports.combine=m,exports.createApi=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var t=$e(r),a=t[0],o=a[0],i=a[1],u=t[1],f={};return c(i,(function(e,r){var n=f[r]=p(r,{parent:ve(o),config:u});o.on(n,e),tr(o,n)})),f},exports.createDomain=function e(r,n){var t=new Set,a=new Set,i=new Set,u=new Set,f=o({family:{type:"domain"},regional:1}),s={history:{domains:t,stores:a,effects:i,events:u},graphite:f};f.meta=ar("domain",s,n,r);var l=['onEvent','onEffect','onStore','onDomain'].map(or),m=l[0],v=l[1],g=l[2],y=l[3];s.hooks={event:m,effect:v,store:g,domain:y},s.onCreateEvent=dr(m,u,s),s.onCreateEffect=dr(v,i,s),s.onCreateStore=dr(g,a,s),s.onCreateDomain=dr(y,t,s),s.createEvent=s.event=function(e,r){return m(p(e,{parent:s,config:r}))},s.createEffect=s.effect=function(e,r){return v(h(e,{parent:s,config:r}))},s.createDomain=s.domain=function(r,n){return e({name:r,parent:s,config:n})},s.createStore=s.store=function(e,r){return g(d(e,{parent:s,config:r}))};var b=ve(s);return b&&(c(s.hooks,(function(e,r){er({from:e,to:b.hooks[r]})})),b.hooks.domain(s)),s},exports.createEffect=h,exports.createEvent=p,exports.createNode=o,exports.createStore=d,exports.createStoreObject=m,exports.fork=function(e,r){var n=void 0===r?{}:r,t=n.values,a=n.handlers;D(e)||M('first argument of fork should be domain');var i=!!t;t=w(t||{});var u,f,l,p,d,m,v=function(e){function r(e){var r=ue(e),t=n.indexOf(r);if(-1===t){var a='unit';e!==r&&e.id!==e.shortName&&(a=e.shortName),M(a+" not found in forked scope")}return p[t]}var n=S(e),t=new Map,a=new Set,i=X({fn:function(e,r,n){return(!n.node.meta.isCombine||ve(n)&&'combine'!==ve(n).node.meta.op)&&a.add(n.node.meta.forkOf.id),e}}),u=o({scope:{defers:[],inFlight:0,fxID:0},node:[X({fn:function(e,r,n){n.parent?'finally'===n.parent.node.meta.named?r.inFlight-=1:(r.inFlight+=1,r.fxID+=1):r.fxID+=1}}),L({priority:"sampler"}),Z({fn:function(e,r){var n=r.defers,t=r.fxID;r.inFlight>0||0===n.length||Promise.resolve().then((function(){r.fxID===t&&s(n.splice(0,n.length),(function(e){Ee(e.parentFork),e.rs(e.value)}))}))}})],meta:{unit:"forkInFlightCounter"}}),f={},l={},p=n.map((function(e){var r=e.next,n=e.meta,t=e.scope,a=o({node:e.seq.map((function(e){return{id:e.id,type:e.type,data:Object.assign({},e.data),hasRef:e.hasRef}})),child:[].concat(r),meta:Object.assign({forkOf:e},n),scope:Object.assign({},t)});return a.family={type:e.family.type,links:[].concat(ce(e)),owners:[].concat(fe(e))},f[e.id]=a,n.sid&&(l[n.sid]=a),a})),d={};return s(p,(function(e){var n=e.reg,a=e.scope,o=e.meta,f=o.onCopy,l=o.op,p=o.unit;switch(c(n,(function(e,r){var a=t.get(e);a||t.set(e,a={id:e.id,current:e.current}),d[r]=n[r]=a})),f&&s(f,(function(e){var n=a[e];a[e]=Array.isArray(n)?n.map(r):r(n)})),A(e,(function(e,n,t){t[n]=r(e)})),l||p){case N:e.meta.wrapped=function(e){return{kind:N,getState:function(){return e.reg[e.scope.state.id].current},updates:{watch:G(rr,e)},graphite:e,family:e.family}}(e),e.meta.sid&&e.seq.push(i);break;case"effect":e.next.push(u);break;case'fx':a.finally.next.push(u)}})),{cloneOf:e,changedStores:a,nodeMap:f,sidMap:l,clones:p,find:r,reg:d,getState:function(e){return r(e).meta.wrapped.getState()},graphite:o({family:{type:"domain",links:[u].concat(p)},meta:{unit:'fork'},scope:{forkInFlightCounter:u}})}}(e);if(i&&(u=S(e),f={},l={},p=new Set,d=new Set,m=Object.getOwnPropertyNames(t),s(u,(function(e){var r=e.meta.nativeTemplate;c(e.reg,(function(e,n){f[n]=e,r&&d.add(n)}))})),s(v.clones,(function(e){var r=e.reg,n=e.meta,a=n.sid;if(n.unit===N&&a&&Je(m,a)){var o=e.scope.state;r[o.id].current=t[a],p.add(o),v.changedStores.add(e.meta.forkOf.id)}c(r,(function(e,r){l[r]=e}))})),s(x(k(f),d),(function(e){(function(e,r){var n=0;if(r&&r.before&&!p.has(e)&&s(r.before,(function(r){switch(r.type){case j:e.current=r.fn(l[r.from.id].current);break;case'field':var t=l[r.from.id];n||(n=1,e.current=Array.isArray(e.current)?[].concat(e.current):Object.assign({},e.current)),e.current[r.field]=t.current}})),r&&r.after){var t=e.current;s(r.after,(function(e){var r=l[e.to.id];switch(e.type){case'copy':r.current=t;break;case j:r.current=e.fn(t)}}))}})(l[e],f[e])}))),a){a=w(a);var h=Object.keys(a);s(v.clones,(function(e){var r=e.scope,n=e.meta;n.sid&&Je(h,n.sid)&&(r.runner.scope.getHandler=function(){return a[n.sid]})}))}return v},exports.forward=er,exports.fromObservable=function(e){T(e);var r=q in e?e[q]():e;r.subscribe||M('expect observable to have .subscribe');var n=p(),t=$(Xe,n,void 0);return r.subscribe({next:n,error:t,complete:t}),n},exports.guard=function(){for(var e={op:'guard'},r='guard',n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];var u=$e(a),f=u[0],c=f[0],s=f[1],l=u[1];l&&(e.config=l,l.name&&(r=l.name)),s||(c=(s=c).source);var d=s,v=d.filter,h=d.greedy,y=d.clock,k=d.name,w=void 0===k?r:k,x=s.target||p(w,e.config),S=C(v),A=1;return void 0===c&&(t(y,'guard','clock'),Array.isArray(y)&&(y=g(y)),c=y,A=0),A&&!C(c)&&(c=m(c)),y&&(t(y,'guard','clock'),c=b({source:c,clock:y,greedy:h,fn:S?null:function(e,r){return{source:e,clock:r}}})),t(x,'guard','target'),S?b({source:v,clock:c,target:o({node:[Y({fn:function(e){return e.guard}}),X({fn:function(e){return e.data}})],child:x,meta:e,family:{owners:[c,v,x].concat([].concat(y||[])),links:x},regional:1}),fn:function(e,r){return{guard:e,data:r}},greedy:h,name:w}):(z(v)||M('`filter` should be function or unit'),Ze(c,x,{scope:{fn:v},node:y?[Y({fn:function(e,r){return(0,r.fn)(e.source,e.clock)}}),X({fn:function(e){return e.source}})]:[Y({fn:ie})],meta:e})),x},exports.hydrate=function(e,r){var n=r.values,t=E(e)&&e.cloneOf;D(e)||t||M('first argument of hydrate should be domain or scope'),E(n)||M('values property should be an object');var a,o,u=w(n);if(t)a=[],o=[],c(u,(function(r,n){var t=e.sidMap[n];t&&(a.push(t),o.push(r),e.changedStores.add(t.meta.forkOf.id))}));else{var f=function(e){var r=e.flatGraphUnits,n=e.values,t=e.collectWatches,a=[],o=[],i={},u=new Set,f=Object.getOwnPropertyNames(n);return s(r,(function(e){var r=e.reg,s=e.meta,l=s.op,p=s.sid;if(s.unit===N&&p&&Je(f,p)){var d=e.scope.state;d.current=n[p],u.add(d)}if(t&&'watch'===l){var m=e.family.owners[0];m.meta.unit===N&&(a.push(e),o.push(m.scope.state))}c(r,(function(e,r){i[r]=e}))})),s(x(k(i)),(function(e){(function(e){var r=0;if(e.before&&!u.has(e)&&s(e.before,(function(n){switch(n.type){case j:e.current=n.fn(n.from.current);break;case'field':var t=n.from;r||(r=1,e.current=Array.isArray(e.current)?[].concat(e.current):Object.assign({},e.current)),e.current[n.field]=t.current}})),e.after){var n=e.current;s(e.after,(function(e){var r=e.to;switch(e.type){case'copy':r.current=n;break;case j:r.current=e.fn(n)}}))}})(i[e])})),{storeWatches:a,storeWatchesRefs:o}}({flatGraphUnits:S(e),values:u,collectWatches:1});a=f.storeWatches,o=f.storeWatchesRefs.map((function(e){return e.current}))}i({target:a,params:o,forkPage:t?e:0})},exports.is=I,exports.launch=i,exports.merge=g,exports.restore=function(e,r,n){if(F(e))return e;if(C(e)){var t,a=ve(e);return R(e)&&(t=d(r,{parent:a,name:e.shortName,"ɔ":n}).on(e,(function(e,r){return r}))),_(e)&&(t=d(r,{parent:a,name:e.shortName,"ɔ":n}).on(e.done,(function(e,r){return r.result}))),a&&a.hooks.store(t),t}var o=Array.isArray(e)?[]:{};return c(e,(function(e,r){o[r]=F(e)?e:d(e,{name:r})})),o},exports.sample=b,exports.scopeBind=function(e){je||M('scopeBind cannot be called outside of forked .watch');var r=je,n=je.find(e);return _(e)?function(e){var t=v();i({target:n,params:{params:e,req:t},forkPage:r})}:function(e){return i({target:n,params:e,forkPage:r}),e}},exports.serialize=function(e,r){var n=e.changedStores,t=void 0===r?{}:r,a=t.ignore,o=void 0===a?[]:a,i=t.onlyChanges,u={};return s(e.clones,(function(e){var r=e.meta,t=e.scope,a=e.reg;if(r.unit===N){var o=r.sid;o&&(!i&&!r.isCombine||n.has(r.forkOf.id))&&(u[o]=a[t.state.id].current)}})),s(o,(function(e){var r=e.sid;r&&delete u[r]})),u},exports.setStoreName=function(e,r){var n=f(r,ve(e));if(e.shortName=r,e.compositeName){var t=e.compositeName;t.path=n.path,t.shortName=n.shortName,t.fullName=n.fullName}else e.compositeName=n},exports.split=function(){for(var e,r=arguments.length,n=new Array(r),t=0;t<r;t++)n[t]=arguments[t];var a=$e(n),i=a[0],u=i[0],f=i[1],s=a[1],l=!f;l&&(e=u.cases,f=u.match,u=u.source);var d=F(f),m=!C(f)&&z(f),v=!d&&!m&&E(f);e||(e={}),l||(v||M('match should be an object'),c(f,(function(r,n){e[n]=p(s)})),e.__=p(s));var h,g=be(),y=new Set([].concat(u,Object.values(e))),b=Object.keys(d||m?e:f);if(d||m)d&&y.add(f),h=[d&&L({priority:'sampler'}),d&&Q({store:se(f),to:'a'}),Y({fn:function(e,r,n){var t=String(d?n.a:f(e));vr(r,Je(b,t)?t:'__',e,n)}})];else if(v){var k=ne({});k.type='shape';var w,x=k.before=[],S=[Q({store:k,to:"a"}),X({fn:function(e,r,n){n.a[r.key]=e}})],A=[];c(f,(function(e,r){if(C(e)){w=1,A.push(r),y.add(e);var n=Ze(e,[],{node:S,scope:{key:r}});if(F(e)){k.current[r]=e.getState();var t=se(e);x.push({type:'field',field:r,from:t}),g&&(Je(g.plain,t)||n.seq.unshift(g.loader))}}})),w&&g&&g.plain.push(k),h=[w&&L({priority:'sampler'}),w&&Q({store:k,to:'a'}),Y({fn:function(e,r,n){for(var t=0;t<b.length;t++){var a=b[t];if(Je(A,a)?n.a[a]:f[a](e))return void vr(r,a,e,n)}vr(r,'__',e,n)}})]}else M('expect match to be unit, function or object');if(o({meta:{onCopy:Object.keys(e),op:'split'},parent:u,scope:e,node:h,family:{type:'crosslink',owners:Array.from(y)},regional:1}),!l)return e},exports.step=re,exports.version="21.8.6",exports.withFactory=function(e){var r=e.name,n=e.loc,t=e.method,i=e.fn;return a(o({meta:{sidRoot:ke(e.sid),name:r,loc:n,method:t}}),i)},exports.withRegion=a;
//# sourceMappingURL=compat.js.map

@@ -1344,2 +1344,13 @@ /**

type UnionToStoresUnion<T> = (T extends any
? () => T
: never) extends infer U
? U extends () => infer S
? UnionToStoresUnion<Exclude<T, S>> | Store<S>
: never
: never
type CombineState<State> = {
[K in keyof State]: State[K] | Store<State[K]> | UnionToStoresUnion<State[K]>
}
export function withRegion(unit: Unit<any> | Node, cb: () => void): void

@@ -1353,3 +1364,3 @@ export function combine<T extends Store<any>>(

export function combine<State>(
shape: State,
shape: CombineState<State>,
): Store<{[K in keyof State]: State[K] extends Store<infer U> ? U : State[K]}>

@@ -1356,0 +1367,0 @@ export function combine<A, R>(a: Store<A>, fn: (a: A) => R): Store<R>

@@ -1,2 +0,2 @@

function e(e,t,r,a){(R(e)||_(e))&&('family'in e||'graphite'in e)||F(`${t}: expect ${r} to be a unit (store, event or effect)${a}`)}function t(t,r,a){if(Array.isArray(t))for(let n=0;n<t.length;n++)e(t[n],r,`${n} item of ${a}`,'');else e(t,r,a,' or array of units')}function r(e,t){let r=re(e).meta;de={parent:de,value:e,template:r.template||me(),sidRoot:r.sidRoot||de&&de.sidRoot};try{return t()}finally{de=ce(de)}}function a({node:e=[],from:t,source:r,parent:a=t||r,to:n,target:o,child:s=n||o,scope:l={},meta:i={},family:f={type:'regular'},regional:c}={}){let u=ge(a),p=ge(f.links),d=ge(f.owners),m=[],h={};for(let t=0;t<e.length;t++){let r=e[t];r&&(m.push(r),ye(r,h))}let g={id:$(),seq:m,next:ge(s),meta:i,scope:l,family:{type:f.type||"crosslink",links:p,owners:d},reg:h};for(let e=0;e<p.length;e++)ae(p[e]).push(g);for(let e=0;e<d.length;e++)ne(d[e]).push(g);for(let e=0;e<u.length;e++)u[e].next.push(g);return c&&de&&pe(ie(de),[g]),g}function n(e,t,r){let a=Pe,n=null,o=je;if(e.target&&(t=e.params,r=e.defer,a='page'in e?e.page:a,e.stack&&(n=e.stack),o=ue(e)||o,e=e.target),o&&je&&o!==je&&(je=null),Array.isArray(e))for(let r=0;r<e.length;r++)Se('pure',a,re(e[r]),n,t[r],o);else Se('pure',a,re(e),n,t,o);if(r&&!Ce)return;let s,l,i,f,c,u,p={isRoot:Ce,currentPage:Pe,forkPage:je,isWatch:Oe};Ce=0;e:for(;f=xe();){let{idx:e,stack:t,type:r}=f;i=t.node,Pe=c=t.page,je=ue(t),u=(c||i).reg;let a={fail:0,scope:i.scope};s=l=0;for(let n=e;n<i.seq.length&&!s;n++){let o=i.seq[n],f=o.data;switch(o.type){case"barrier":{let a=f.barrierID;c&&(a=`${c.fullID}_${a}`);let o=f.priority;if(n!==e||r!==o){Ae.has(a)||(Ae.add(a),qe(n,t,o,a));continue e}Ae.delete(a);break}case'mov':{let e;switch(f.from){case"stack":e=ie(t);break;case"a":case'b':e=t[f.from];break;case"value":e=f.store;break;case x:u[f.store.id]||(t.page=c=_e(c,f.store.id),u=c?c.reg:i.reg),e=Y(u[f.store.id])}switch(f.to){case"stack":t.value=e;break;case"a":case'b':t[f.to]=e;break;case x:De(c,i,f.target.id).current=e}break}case'check':switch(f.type){case'defined':l=void 0===ie(t);break;case'changed':l=ie(t)===Y(De(c,i,f.store.id))}break;case"filter":l=!Me(a,f,t);break;case'run':if(n!==e||"effect"!==r){qe(n,t,"effect");continue e}case'compute':Oe='watch'===i.meta.op,t.value=Me(a,f,t),Oe=p.isWatch}s=a.fail||l}if(!s)for(let e=0;e<i.next.length;e++)Se('child',c,i.next[e],t,ie(t),ue(t))}Ce=p.isRoot,Pe=p.currentPage,je=ue(p)}function o(e,t="combine"){let r=t+'(',a='',n=0;for(let t in e){let o=e[t];if(null!=o&&(r+=a,r+=q(o)?o.compositeName.fullName:o.toString()),n+=1,25===n)break;a=', '}return r+=')',r}function s(e,t){let r,a,n,o=e;return t?(n=t.compositeName,0===e.length?(r=n.path,a=n.fullName):(r=n.path.concat([e]),a=0===n.fullName.length?e:n.fullName+'/'+e)):(r=0===e.length?[]:[e],a=e),{shortName:o,fullName:a,path:r}}function l(e,t){for(let r in e)t(e[r],r)}function i(e,t){e.forEach(t)}function f(e,t){let r=(e,...t)=>Pe?((e,t,r,a)=>{let n=Pe,o=null;if(t)for(o=Pe;o&&o.template!==t;)o=ce(o);Re(o);let s=e.create(r,a);return Re(n),s})(r,o,e,t):r.create(e,t);r.graphite=a({meta:Ze("event",r,t,e),regional:1}),r.create=e=>(n(je?je.find(r):r,e),e),r.watch=z(Qe,r),r.map=e=>{let t,a;R(e)&&(t=e,a=e.name,e=e.fn);let n=f(Ee(r,a),t);return tt(r,n,S,e),n},r.filter=e=>rt(r,"filter",e.fn?e:e.fn,[K({fn:te})]),r.filterMap=e=>rt(r,'filterMap',e,[J({fn:te}),U.defined()]),r.prepend=e=>{let t=f('* → '+r.shortName,{parent:ce(r)}),a=me();return a&&re(t).seq.push(a.upward),tt(t,r,'prepend',e),Ye(r,t),t};let o=me();return r}function c(e,r){function o(e,t){p.off(e),fe(p).set(e,Je(at(e,p,'on',1,t,m)))}let s=X(e),l=X(e),i=et('updates'),f=me();s.after=[{type:'copy',to:l}],f&&f.plain.push(s,l);let u=s.id,p={subscribers:new Map,updates:i,defaultState:e,stateRef:s,getState(){let e,t=s;if(Pe){let t=Pe;for(;t&&!t.reg[u];)t=ce(t);t&&(e=t)}return!e&&je&&je.reg[u]&&(e=je),e&&(t=e.reg[u]),Y(t)},setState(e){let t;je&&(t=je.nodeMap[re(p).id]),t||(t=p),n({target:t,params:e,defer:1})},reset(...e){for(let t of e)p.on(t,(()=>p.defaultState));return p},on(e,r){if(t(e,'.on','first argument'),Array.isArray(e))for(let t of e)o(t,r);else o(e,r);return p},off(e){let t=fe(p).get(e);return t&&(t(),fe(p).delete(e)),p},map(e,t){let r,a,n;R(e)&&(r=e,a=e.name,t=e.firstState,e=e.fn);let o=p.getState(),l=me();l?n=null:void 0!==o&&(n=e(o,t));let i=c(n,{name:Ee(p,a),config:r,strict:0}),f=at(p,i,S,0,e);return oe(i).before=[{type:S,fn:e,from:s}],l&&(We(l.plain,s)||We(f.seq,l.loader)||f.seq.unshift(l.loader)),i},watch(e,t){if(!t||!q(e)){let t=Qe(p,e),r=me();return r?r.watch.push({of:s,fn:e}):e(p.getState()),t}return _(t)||F('second argument should be a function'),e.watch((e=>t(p.getState(),e)))}},d=Ze(x,p,r),m=p.defaultConfig.updateFilter;return p.graphite=a({scope:{state:s},node:[U.defined(),U.changed({store:l}),m&&G({store:l,to:"a"}),m&&K({fn:(e,t,{a:r})=>m(e,r)}),Q({store:s}),Q({store:l})],child:i,meta:d,regional:1}),Xe&&void 0===e&&F("current state can't be undefined, use null instead"),pe(p,[i]),p}function u(...e){let t,r,a;$e(e[0],((t,r)=>{a=t,e=r}));let n,o,s=e[e.length-1];if(_(s)?(r=e.slice(0,-1),t=s):r=e,1===r.length){let e=r[0];A(e)||(n=e,o=1)}return o||(n=r,t&&(t=nt(t))),R(n)||F('shape should be an object'),ot(Array.isArray(n),n,a,t)}function p(){let e={};return e.req=new Promise(((t,r)=>{e.rs=t,e.rj=r})),e.req.catch((()=>{})),e}function d(e,t){let r=f(e,t),o=r.defaultConfig.handler||(()=>F("no handler used in "+r.getType())),s=re(r);s.meta.onCopy=['runner'],s.meta.unit=r.kind="effect",r.use=e=>(_(e)||F('.use argument should be a function'),o=e,r);let l=r.finally=et('finally'),i=r.done=l.filterMap({named:'done',fn({status:e,params:t,result:r}){if('done'===e)return{params:t,result:r}}}),u=r.fail=l.filterMap({named:'fail',fn({status:e,params:t,error:r}){if('fail'===e)return{params:t,error:r}}}),d=r.doneData=i.map({named:'doneData',fn:({result:e})=>e}),m=r.failData=u.map({named:'failData',fn:({error:e})=>e}),h=a({scope:{getHandler:r.use.getCurrent=()=>o,finally:l},node:[L({fn({params:e,req:t},{finally:r,getHandler:a},n){let o,s=st({params:e,req:t,ok:1,anyway:r,stack:n}),l=st({params:e,req:t,ok:0,anyway:r,stack:n});try{o=a()(e)}catch(e){return void l(e)}R(o)&&_(o.then)?o.then(s,l):s(o)}})],meta:{op:'fx',fx:'runner',onCopy:['finally']}});s.scope.runner=h,s.seq.push(J({fn:(e,t,r)=>ce(r)?{params:e,req:{rs(e){},rj(e){}}}:e}),L({fn:(e,{runner:t},r)=>(n({target:t,params:e,defer:1,forkPage:ue(r)}),e.params)})),r.create=e=>{let t=p(),a={params:e,req:t};if(je){if(!Oe){let e=je;t.req.finally((()=>{Fe(e)})).catch((()=>{}))}n(je.find(r),a)}else n(r,a);return t.req};let g=r.inFlight=c(0,{named:'inFlight'}).on(r,(e=>e+1)).on(l,(e=>e-1)),y=r.pending=g.map({fn:e=>e>0,named:'pending'});return pe(r,[l,i,u,d,m,y,g,h]),r}function m(e,r){let a=f(r||o(e,'merge'));return t(e,'merge','first argument'),Le({from:e,to:a,meta:{op:'merge'}}),a}function h(...e){let r,n,o,s,[[l,p,d],h]=ze(e);void 0===p&&R(l)&&(e=>{let t=0;return i(ct,(r=>{r in e&&(null==e[r]&&F(`sample: ${r} should be defined`),t=1)})),t})(l)&&(p=l.clock,d=l.fn,s=l.greedy,r=l.target,n=l.name,o=l.sid,l=l.source);let g=1;void 0===l&&(t(p,'sample','clock'),Array.isArray(p)&&(p=m(p)),l=p,g=0),g&&!q(l)&&(l=u(l)),void 0===p&&(p=l),t(p,'sample','clock'),n=h||n||l.shortName;let y=me(),k=!!r;r||(A(l)&&A(p)?r=c(d?d(Y(oe(l)),Y(oe(p))):Y(oe(l)),{name:n,sid:o}):(r=f(n),y&&re(r).seq.push(y.loader)));let b=k&&q(r)&&re(r).meta.nativeTemplate;if(A(l)){let e=oe(l);pe(l,[Ke(p,r,{scope:{fn:d,targetTemplate:b},node:[y&&y.loader,!s&&B({priority:"sampler"}),G({store:e,to:d?"a":"stack"}),d&&J({fn:ee}),y&&k&&y.upward],meta:{op:"sample",sample:x}})]),y&&(We(y.plain,e)||We(y.closure,e)||y.closure.push(e))}else{let e=X(0),t=X(),n=X();y&&y.plain.push(e,t,n),a({parent:l,node:[Q({store:t}),G({from:"value",store:1,target:e})],family:{owners:[l,r,p],links:r},meta:{op:"sample",sample:'source'},regional:1}),pe(l,[Ke(p,r,{scope:{fn:d,targetTemplate:b},node:[y&&y.loader,Q({store:n}),G({store:e}),K({fn:e=>e}),!s&&B({priority:"sampler"}),G({store:t}),G({store:n,to:"a"}),d&&J({fn:Z}),y&&k&&y.upward],meta:{op:"sample",sample:'clock'}})])}return r}function g(e){let t=Object.values(e),r={};return i(t,(({id:e})=>{r[e]=[]})),i(t,(({id:e,before:t,after:a})=>{t&&i(t,(t=>{r[t.from.id].push(e)})),a&&i(a,(t=>{r[e].push(t.to.id)}))})),r}function y(e){if(e instanceof Map){let t={};for(let[r,a]of e)q(r)||F('Map key should be a unit'),t[r.sid]=a;return t}return e}function k(e,t){function r(e){s[e]=1;let t=a[e];for(let e=0;e<t.length;e++){let a=t[e];s[a]||o[a]||r(a)}s[e]=0,o[e]=1,n.push(e)}let a={};for(let t in e)a[t]=[...new Set(e[t])];let n=[],o={},s={};for(let e in a)o[e]||s[e]||r(e);if(n.reverse(),t&&t.size>0){let e,r=[],o=[...t];for(;e=o.shift();)r.push(e),i(a[e],(e=>{We(r,e)||We(o,e)||o.push(e)}));i(r,(e=>{Te(n,e)}))}return n}function b(e){let t=[];return function e(r){We(t,r)||(t.push(r),v(r,e))}(re(e)),t}function v(e,t){let r=e.meta.unit;'fork'!==r&&"forkInFlightCounter"!==r&&(i(e.next,t),i(ae(e),t),i(ne(e),t))}Object.defineProperty(exports,'__esModule',{value:1});let w='undefined'!=typeof Symbol&&Symbol.observable||'@@observable',x='store',S='map',q=e=>(_(e)||R(e))&&'kind'in e;const N=e=>t=>q(t)&&t.kind===e;let A=N(x),j=N("event"),C=N("effect"),O=N("domain");var P={__proto__:null,unit:q,store:A,event:j,effect:C,domain:O};let F=e=>{throw Error(e)},R=e=>'object'==typeof e&&null!==e,_=e=>'function'==typeof e,D=e=>{R(e)||_(e)||F('expect first argument be an object')};const M=()=>{let e=0;return()=>(++e).toString(36)};let I=M(),E=M(),$=M(),z=(e,t)=>e.bind(null,t),W=(e,t,r)=>e.bind(null,t,r);const T=(e,t,r)=>({id:E(),type:e,data:r,hasRef:t});let H=0,B=({priority:e="barrier"})=>T("barrier",0,{barrierID:++H,priority:e}),G=({from:e=x,store:t,target:r,to:a=(r?x:"stack")})=>T('mov',e===x,{from:e,store:t,to:a,target:r}),U={defined:()=>T('check',0,{type:'defined'}),changed:({store:e})=>T('check',1,{type:'changed',store:e})},J=W(T,'compute',0),K=W(T,"filter",0),L=W(T,'run',0),Q=({store:e})=>G({from:"stack",target:e});var V={__proto__:null,barrier:B,mov:G,check:U,compute:J,filter:K,run:L,update:Q};let X=e=>({id:E(),current:e}),Y=({current:e})=>e,Z=(e,{fn:t},{a:r})=>t(e,r),ee=(e,{fn:t},{a:r})=>t(r,e),te=(e,{fn:t})=>t(e),re=e=>e.graphite||e,ae=e=>e.family.owners,ne=e=>e.family.links,oe=e=>e.stateRef,se=e=>e.config,le=e=>e.ɔ,ie=e=>e.value,fe=e=>e.subscribers,ce=e=>e.parent,ue=e=>e.forkPage,pe=(e,t)=>{let r=re(e);for(let e=0;e<t.length;e++){let a=re(t[e]);"domain"!==r.family.type&&(a.family.type="crosslink"),ae(a).push(r),ne(r).push(a)}},de=null,me=()=>de&&de.template,he=e=>(e&&de&&de.sidRoot&&(e=`${de.sidRoot}ɔ${e}`),e);const ge=(e=[])=>{let t=[];if(Array.isArray(e))for(let r=0;r<e.length;r++)Array.isArray(e[r])?t.push(...e[r]):t.push(e[r]);else t.push(e);return t.map(re)};let ye=({hasRef:e,type:t,data:r},a)=>{let n;e&&(n=r.store,a[n.id]=n),'mov'===t&&r.to===x&&(n=r.target,a[n.id]=n)},ke=null;const be=(e,t)=>{if(!e)return t;if(!t)return e;let r,a=e.v.type===t.v.type;return(a&&e.v.id>t.v.id||!a&&"sampler"===e.v.type)&&(r=e,e=t,t=r),r=be(e.r,t),e.r=e.l,e.l=r,e},ve=[];let we=0;for(;we<5;)ve.push({first:null,last:null,size:0}),we+=1;const xe=()=>{for(let e=0;e<5;e++){let t=ve[e];if(t.size>0){if(2===e||3===e){t.size-=1;let e=ke.v;return ke=be(ke.l,ke.r),e}1===t.size&&(t.last=null);let r=t.first;return t.first=r.r,t.size-=1,r.v}}},Se=(e,t,r,a,n,o)=>qe(0,{a:null,b:null,node:r,parent:a,value:n,page:t,forkPage:o},e),qe=(e,t,r,a=0)=>{let n=Ne(r),o=ve[n],s={v:{idx:e,stack:t,type:r,id:a},l:0,r:0};2===n||3===n?ke=be(ke,s):(0===o.size?o.first=s:o.last.r=s,o.last=s),o.size+=1},Ne=e=>{switch(e){case'child':return 0;case'pure':return 1;case"barrier":return 2;case"sampler":return 3;case"effect":return 4;default:return-1}},Ae=new Set;let je,Ce=1,Oe=0,Pe=null,Fe=e=>{je=e},Re=e=>{Pe=e};const _e=(e,t)=>{if(e){for(;e&&!e.reg[t];)e=ce(e);if(e)return e}return null},De=(e,t,r)=>(_e(e,r)||t).reg[r],Me=(e,{fn:t},r)=>{try{return t(ie(r),e.scope,r)}catch(t){console.error(t),e.fail=1}};let Ie=(e,t)=>''+e.shortName+t,Ee=(e,t)=>null==t?Ie(e,' → *'):t,$e=(e,t)=>{D(e),le(e)&&t(se(e),le(e))},ze=e=>{let t;return $e(e[0],((r,a)=>{t=r,e=a})),[e,t]},We=(e,t)=>e.includes(t),Te=(e,t)=>{let r=e.indexOf(t);-1!==r&&e.splice(r,1)};const He=(e,t)=>{Te(e.next,t),Te(ae(e),t),Te(ne(e),t)},Be=(e,t,r)=>{let a;e.next.length=0,e.seq.length=0,e.scope=null;let n=ne(e);for(;a=n.pop();)He(a,e),(t||r&&!e.meta.sample||"crosslink"===a.family.type)&&Be(a,t,'on'!==a.meta.op&&r);for(n=ae(e);a=n.pop();)He(a,e),r&&"crosslink"===a.family.type&&Be(a,t,'on'!==a.meta.op&&r)},Ge=e=>e.clear();let Ue=(e,{deep:t}={})=>{let r=0;if(e.ownerSet&&e.ownerSet.delete(e),A(e))Ge(fe(e));else if(O(e)){r=1;let t=e.history;Ge(t.events),Ge(t.effects),Ge(t.stores),Ge(t.domains)}Be(re(e),!!t,r)},Je=e=>{let t=W(Ue,e,void 0);return t.unsubscribe=t,t},Ke=(e,t,{node:r,scope:n,meta:o})=>a({node:r,parent:e,child:t,scope:n,meta:o,family:{owners:[e,t],links:t},regional:1}),Le=e=>{let r;$e(e,((t,a)=>{r=t,e=a}));let{from:n,to:o,meta:s={op:'forward'}}=e;return t(n,'forward','"from"'),t(o,'forward','"to"'),r&&(s.config=r),Je(a({parent:n,child:o,meta:s,family:{},regional:1}))},Qe=(e,t)=>{if(_(t)||F('.watch argument should be a function'),je){let t=je.nodeMap[re(e).id];t&&(e=t)}return Je(a({scope:{fn:t},node:[L({fn:te})],parent:e,meta:{op:'watch'},family:{owners:e},regional:1}))};const Ve=(e,t)=>(R(e)&&(Ve(se(e),t),null!=e.name&&(R(e.name)?Ve(e.name,t):_(e.name)?t.handler=e.name:t.name=e.name),e.loc&&(t.loc=e.loc),(e.sid||null===e.sid)&&(t.sid=e.sid),e.handler&&(t.handler=e.handler),e.updateFilter&&(t.updateFilter=e.updateFilter),ce(e)&&(t.parent=ce(e)),'strict'in e&&(t.strict=e.strict),e.named&&(t.named=e.named),Ve(le(e),t)),t);let Xe,Ye=(e,t,r="event")=>{ce(e)&&ce(e).hooks[r](t)},Ze=(e,t,r,a)=>{let n=Ve({name:a,config:r},{}),o="domain"===e,l=I(),{parent:i=null,sid:f=null,strict:c=1,named:u=null}=n,p=u||n.name||(o?'':l),d=s(p,i),m={unit:t.kind=e,name:t.shortName=p,sid:t.sid=he(f),named:u,unitId:t.id=l};if(t.parent=i,t.compositeName=d,t.defaultConfig=n,t.thru=e=>e(t),t.getType=()=>d.fullName,!o){t.subscribe=e=>(D(e),t.watch(_(e)?e:t=>{e.next&&e.next(t)})),t[w]=()=>t;let e=me();e&&(m.nativeTemplate=e)}return Xe=c,m},et=e=>f({named:e});const tt=(e,t,r,a)=>Ke(e,t,{scope:{fn:a},node:[J({fn:te})],meta:{op:r}}),rt=(e,t,r,a)=>{let n;R(r)&&(n=r,r=r.fn);let o=f(Ie(e,' →? *'),n);return Ke(e,o,{scope:{fn:r},node:a,meta:{op:t}}),o},at=(e,t,r,a,n,o)=>{let s=oe(t),l=[G({store:s,to:"a"}),J({fn:a?ee:Z}),U.defined(),U.changed({store:s}),o&&K({fn:(e,t,{a:r})=>o(e,r)}),Q({store:s})],i=me();if(i&&(l.unshift(i.loader),l.push(i.upward),A(e))){let t=oe(e);We(i.plain,t)||(We(i.closure,t)||i.closure.push(t),s.before||(s.before=[]),s.before.push({type:'closure',of:t}))}return Ke(e,t,{scope:{fn:n},node:l,meta:{op:r}})},nt=e=>t=>e(...t),ot=(e,t,r,a)=>{let n=e?e=>e.slice():e=>({...e}),s=e?[]:{},i=me(),f=n(s),u=X(f),p=X(1);u.type=e?'list':'shape',i&&i.plain.push(u,p);let d=c(f,{name:r||o(t)});re(d).meta.isCombine=1;let m=[U.defined(),G({store:u,to:"a"}),K({fn:(e,{key:t},{a:r})=>e!==r[t]}),G({store:p,to:'b'}),J({fn(e,{clone:t,key:r},a){a.b&&(a.a=t(a.a)),a.a[r]=e}}),G({from:"a",target:u}),G({from:"value",store:0,target:p}),B({priority:"barrier"}),G({from:"value",store:1,target:p}),G({store:u}),a&&J({fn:a}),U.changed({store:oe(d)})],h=u.before=[];return l(t,((e,t)=>{if(!A(e))return void(f[t]=s[t]=e);s[t]=e.defaultState,f[t]=e.getState();let r=Ke(e,d,{scope:{key:t,clone:n},node:m,meta:{op:'combine'}}),a=oe(e);h.push({type:'field',field:t,from:a}),i&&(We(i.plain,a)||r.seq.unshift(i.loader))})),d.defaultShape=t,u.after=[a?{type:S,to:oe(d),fn:a}:{type:'copy',to:oe(d)}],i||(d.defaultState=a?oe(d).current=a(f):s),d};let st=({params:e,req:t,ok:r,anyway:a,stack:o})=>s=>n({target:[a,lt],params:[r?{status:'done',params:e,result:s}:{status:'fail',params:e,error:s},{fn:r?t.rs:t.rj,value:s}],defer:1,page:o.page,forkPage:ue(o)}),lt=a({node:[L({fn({fn:e,value:t}){e(t)}})],meta:{op:'fx',fx:'sidechain'}});const ft=(e,t,r)=>(e.create=t=>(n(e,t),t),re(e).seq.push(J({fn:(e,t,r)=>(r.forkPage=null,e)})),e.watch((e=>{pe(r,[e]),t.add(e),e.ownerSet||(e.ownerSet=t),ce(e)||(e.parent=r)})),pe(r,[e]),r=>(t.forEach(r),e.watch(r))),ct=['source','clock','target'],ut=(e,t,r,a)=>{let o=e[t];o&&n({target:o,params:Array.isArray(o)?o.map((()=>r)):r,defer:1,stack:a})};exports.allSettled=(e,{scope:t,params:r})=>{if(!q(e))return Promise.reject(Error('first argument should be unit'));let a=p();a.parentFork=je;let{forkInFlightCounter:o}=t.graphite.scope;o.scope.defers.push(a);let s=[t.find(e)],l=[];return C(e)?l.push({params:r,req:{rs(e){a.value={status:'done',value:e}},rj(e){a.value={status:'fail',value:e}}}}):l.push(r),s.push(o),l.push(null),n({target:s,params:l,forkPage:t}),a.req},exports.attach=e=>{let t;$e(e,((r,a)=>{t=r,e=a}));let{source:r,effect:a,mapParams:o}=e;o||(o=r?(e,t)=>t:e=>e);let s,l=d(e,t),{runner:i}=re(l).scope,f=({params:e,req:t},{finally:r,effect:a},s)=>{let l,i=st({params:e,req:t,ok:0,anyway:r,stack:s});try{l=o(e,s.a)}catch(e){return i(e)}n({target:a,params:{params:l,req:{rs:st({params:e,req:t,ok:1,anyway:r,stack:s}),rj:i}},page:s.page,defer:1})};if(r){let e;A(r)?(e=r,pe(r,[l])):(e=u(r),pe(l,[e]));let t=G({from:x,store:oe(e),to:"a"});s=[L({fn:e=>e}),t,J({fn:f})],ye(t,i.reg)}else s=[L({fn:f})];return pe(a,[l]),i.scope.effect=a,i.meta.onCopy.push("effect"),i.seq.splice(0,1,...s),Ye(a,l,"effect"),l},exports.clearNode=Ue,exports.combine=u,exports.createApi=(...e)=>{let[[t,r],a]=ze(e),n={};return l(r,((e,r)=>{let o=n[r]=f(r,{parent:ce(t),config:a});t.on(o,e),Ye(t,o)})),n},exports.createDomain=function e(t,r){let n=new Set,o=new Set,s=new Set,i=new Set,u=a({family:{type:"domain"},regional:1}),p={history:{domains:n,stores:o,effects:s,events:i},graphite:u};u.meta=Ze("domain",p,r,t);let[m,h,g,y]=['onEvent','onEffect','onStore','onDomain'].map(et);p.hooks={event:m,effect:h,store:g,domain:y},p.onCreateEvent=ft(m,i,p),p.onCreateEffect=ft(h,s,p),p.onCreateStore=ft(g,o,p),p.onCreateDomain=ft(y,n,p),p.createEvent=p.event=(e,t)=>m(f(e,{parent:p,config:t})),p.createEffect=p.effect=(e,t)=>h(d(e,{parent:p,config:t})),p.createDomain=p.domain=(t,r)=>e({name:t,parent:p,config:r}),p.createStore=p.store=(e,t)=>g(c(e,{parent:p,config:t}));let k=ce(p);return k&&(l(p.hooks,((e,t)=>{Le({from:e,to:k.hooks[t]})})),k.hooks.domain(p)),p},exports.createEffect=d,exports.createEvent=f,exports.createNode=a,exports.createStore=c,exports.createStoreObject=u,exports.fork=(e,{values:t,handlers:r}={})=>{O(e)||F('first argument of fork should be domain');let n=!!t;t=y(t||{});let o=(e=>{function t(e){let t=re(e),a=r.indexOf(t);if(-1===a){let r='unit';e!==t&&e.id!==e.shortName&&(r=e.shortName),F(r+" not found in forked scope")}return p[a]}let r=b(e),n=new Map,o=new Set,s=J({fn:(e,t,r)=>((!r.node.meta.isCombine||ce(r)&&'combine'!==ce(r).node.meta.op)&&o.add(r.node.meta.forkOf.id),e)}),f=a({scope:{defers:[],inFlight:0,fxID:0},node:[J({fn(e,t,r){r.parent?'finally'===r.parent.node.meta.named?t.inFlight-=1:(t.inFlight+=1,t.fxID+=1):t.fxID+=1}}),B({priority:"sampler"}),L({fn(e,t){let{inFlight:r,defers:a,fxID:n}=t;r>0||0===a.length||Promise.resolve().then((()=>{t.fxID===n&&i(a.splice(0,a.length),(e=>{Fe(e.parentFork),e.rs(e.value)}))}))}})],meta:{unit:"forkInFlightCounter"}}),c={},u={},p=r.map((e=>{let{seq:t,next:r,meta:n,scope:o}=e,s=a({node:t.map((e=>({id:e.id,type:e.type,data:{...e.data},hasRef:e.hasRef}))),child:[...r],meta:{forkOf:e,...n},scope:{...o}});return s.family={type:e.family.type,links:[...ne(e)],owners:[...ae(e)]},c[e.id]=s,n.sid&&(u[n.sid]=s),s})),d={};return i(p,(e=>{let{reg:r,scope:a,meta:{onCopy:o,op:c,unit:u}}=e;switch(l(r,((e,t)=>{let a=n.get(e);a||(a={id:e.id,current:e.current},n.set(e,a)),d[t]=r[t]=a})),o&&i(o,(e=>{let r=a[e];a[e]=Array.isArray(r)?r.map(t):t(r)})),v(e,((e,r,a)=>{a[r]=t(e)})),c||u){case x:e.meta.wrapped=(e=>({kind:x,getState:()=>e.reg[e.scope.state.id].current,updates:{watch:z(Qe,e)},graphite:e,family:e.family}))(e),e.meta.sid&&e.seq.push(s);break;case"effect":e.next.push(f);break;case'fx':a.finally.next.push(f)}})),{cloneOf:e,changedStores:o,nodeMap:c,sidMap:u,clones:p,find:t,reg:d,getState:e=>t(e).meta.wrapped.getState(),graphite:a({family:{type:"domain",links:[f,...p]},meta:{unit:'fork'},scope:{forkInFlightCounter:f}})}})(e);if(n&&(()=>{let r=b(e),a={},n={},s=new Set,f=new Set,c=Object.getOwnPropertyNames(t);i(r,(({reg:e,meta:t})=>{let{nativeTemplate:r}=t;l(e,((e,t)=>{a[t]=e,r&&f.add(t)}))})),i(o.clones,(e=>{let{reg:r}=e,{unit:a,sid:i}=e.meta;if(a===x&&i&&We(c,i)){let{state:a}=e.scope;r[a.id].current=t[i],s.add(a),o.changedStores.add(e.meta.forkOf.id)}l(r,((e,t)=>{n[t]=e}))})),i(k(g(a),f),(e=>{((e,t)=>{let r=0;if(t&&t.before&&!s.has(e)&&i(t.before,(t=>{switch(t.type){case S:e.current=t.fn(n[t.from.id].current);break;case'field':{let a=n[t.from.id];r||(r=1,e.current=Array.isArray(e.current)?[...e.current]:{...e.current}),e.current[t.field]=a.current;break}}})),!t||!t.after)return;let a=e.current;i(t.after,(e=>{let t=n[e.to.id];switch(e.type){case'copy':t.current=a;break;case S:t.current=e.fn(a)}}))})(n[e],a[e])}))})(),r){r=y(r);let e=Object.keys(r);i(o.clones,(({scope:t,meta:a})=>{a.sid&&We(e,a.sid)&&(t.runner.scope.getHandler=()=>r[a.sid])}))}return o},exports.forward=Le,exports.fromObservable=e=>{D(e);let t=w in e?e[w]():e;t.subscribe||F('expect observable to have .subscribe');let r=f(),a=W(Ue,r,void 0);return t.subscribe({next:r,error:a,complete:a}),r},exports.guard=(...e)=>{let r={op:'guard'},n='guard',[[o,s],l]=ze(e);l&&(r.config=l,l.name&&(n=l.name)),s||(s=o,o=s.source);let{filter:i,greedy:c,clock:p,name:d=n}=s,g=s.target||f(d,r.config),y=q(i),k=1;return void 0===o&&(t(p,'guard','clock'),Array.isArray(p)&&(p=m(p)),o=p,k=0),k&&!q(o)&&(o=u(o)),p&&(t(p,'guard','clock'),o=h({source:o,clock:p,greedy:c,fn:y?null:(e,t)=>({source:e,clock:t})})),t(g,'guard','target'),y?h({source:i,clock:o,target:a({node:[K({fn:({guard:e})=>e}),J({fn:({data:e})=>e})],child:g,meta:r,family:{owners:[o,i,g,...[].concat(p||[])],links:g},regional:1}),fn:(e,t)=>({guard:e,data:t}),greedy:c,name:d}):(_(i)||F('`filter` should be function or unit'),Ke(o,g,{scope:{fn:i},node:p?[K({fn:({source:e,clock:t},{fn:r})=>r(e,t)}),J({fn:({source:e})=>e})]:[K({fn:te})],meta:r})),g},exports.hydrate=(e,{values:t})=>{let r=R(e)&&e.cloneOf;O(e)||r||F('first argument of hydrate should be domain or scope'),R(t)||F('values property should be an object');let a,o,s=y(t);if(r)a=[],o=[],l(s,((t,r)=>{let n=e.sidMap[r];n&&(a.push(n),o.push(t),e.changedStores.add(n.meta.forkOf.id))}));else{let t=(({flatGraphUnits:e,values:t,collectWatches:r})=>{let a=[],n=[],o={},s=new Set,f=Object.getOwnPropertyNames(t);return i(e,(e=>{let{reg:i}=e,{op:c,unit:u,sid:p}=e.meta;if(u===x&&p&&We(f,p)){let{state:r}=e.scope;r.current=t[p],s.add(r)}if(r&&'watch'===c){let t=e.family.owners[0];t.meta.unit===x&&(a.push(e),n.push(t.scope.state))}l(i,((e,t)=>{o[t]=e}))})),i(k(g(o)),(e=>{(e=>{let t=0;if(e.before&&!s.has(e)&&i(e.before,(r=>{switch(r.type){case S:e.current=r.fn(r.from.current);break;case'field':{let a=r.from;t||(t=1,e.current=Array.isArray(e.current)?[...e.current]:{...e.current}),e.current[r.field]=a.current;break}}})),!e.after)return;let r=e.current;i(e.after,(e=>{let t=e.to;switch(e.type){case'copy':t.current=r;break;case S:t.current=e.fn(r)}}))})(o[e])})),{storeWatches:a,storeWatchesRefs:n}})({flatGraphUnits:b(e),values:s,collectWatches:1});a=t.storeWatches,o=t.storeWatchesRefs.map((({current:e})=>e))}n({target:a,params:o,forkPage:r?e:0})},exports.is=P,exports.launch=n,exports.merge=m,exports.restore=(e,t,r)=>{if(A(e))return e;if(q(e)){let a,n=ce(e);return j(e)&&(a=c(t,{parent:n,name:e.shortName,ɔ:r}).on(e,((e,t)=>t))),C(e)&&(a=c(t,{parent:n,name:e.shortName,ɔ:r}).on(e.done,((e,{result:t})=>t))),n&&n.hooks.store(a),a}let a=Array.isArray(e)?[]:{};return l(e,((e,t)=>{a[t]=A(e)?e:c(e,{name:t})})),a},exports.sample=h,exports.scopeBind=e=>{je||F('scopeBind cannot be called outside of forked .watch');let t=je,r=je.find(e);return C(e)?e=>{let a=p();n({target:r,params:{params:e,req:a},forkPage:t})}:e=>(n({target:r,params:e,forkPage:t}),e)},exports.serialize=({clones:e,changedStores:t},{ignore:r=[],onlyChanges:a}={})=>{let n={};return i(e,(({meta:e,scope:r,reg:o})=>{if(e.unit!==x)return;let{sid:s}=e;s&&(!a&&!e.isCombine||t.has(e.forkOf.id))&&(n[s]=o[r.state.id].current)})),i(r,(({sid:e})=>{e&&delete n[e]})),n},exports.setStoreName=(e,t)=>{let r=s(t,ce(e));if(e.shortName=t,!e.compositeName)return void(e.compositeName=r);let a=e.compositeName;a.path=r.path,a.shortName=r.shortName,a.fullName=r.fullName},exports.split=(...e)=>{let t,[[r,n],o]=ze(e),s=!n;s&&(t=r.cases,n=r.match,r=r.source);let i=A(n),c=!q(n)&&_(n),u=!i&&!c&&R(n);t||(t={}),s||(u||F('match should be an object'),l(n,((e,r)=>{t[r]=f(o)})),t.__=f(o));let p,d=me(),m=new Set([].concat(r,Object.values(t))),h=Object.keys(i||c?t:n);if(i||c)i&&m.add(n),p=[i&&B({priority:'sampler'}),i&&G({store:oe(n),to:'a'}),K({fn(e,t,r){let a=String(i?r.a:n(e));ut(t,We(h,a)?a:'__',e,r)}})];else if(u){let e=X({});e.type='shape';let t,r=e.before=[],a=[G({store:e,to:"a"}),J({fn(e,{key:t},{a:r}){r[t]=e}})],o=[];l(n,((n,s)=>{if(q(n)){t=1,o.push(s),m.add(n);let l=Ke(n,[],{node:a,scope:{key:s}});if(A(n)){e.current[s]=n.getState();let t=oe(n);r.push({type:'field',field:s,from:t}),d&&(We(d.plain,t)||l.seq.unshift(d.loader))}}})),t&&d&&d.plain.push(e),p=[t&&B({priority:'sampler'}),t&&G({store:e,to:'a'}),K({fn(e,t,r){for(let a=0;a<h.length;a++){let s=h[a];if(We(o,s)?r.a[s]:n[s](e))return void ut(t,s,e,r)}ut(t,'__',e,r)}})]}else F('expect match to be unit, function or object');if(a({meta:{onCopy:Object.keys(t),op:'split'},parent:r,scope:t,node:p,family:{type:'crosslink',owners:Array.from(m)},regional:1}),!s)return t},exports.step=V,exports.version="21.8.5",exports.withFactory=({sid:e,name:t,loc:n,method:o,fn:s})=>r(a({meta:{sidRoot:he(e),name:t,loc:n,method:o}}),s),exports.withRegion=r;
function e(e,t,r,a){(R(e)||_(e))&&('family'in e||'graphite'in e)||F(`${t}: expect ${r} to be a unit (store, event or effect)${a}`)}function t(t,r,a){if(Array.isArray(t))for(let n=0;n<t.length;n++)e(t[n],r,`${n} item of ${a}`,'');else e(t,r,a,' or array of units')}function r(e,t){let r=re(e).meta;de={parent:de,value:e,template:r.template||me(),sidRoot:r.sidRoot||de&&de.sidRoot};try{return t()}finally{de=ce(de)}}function a({node:e=[],from:t,source:r,parent:a=t||r,to:n,target:o,child:s=n||o,scope:l={},meta:i={},family:f={type:'regular'},regional:c}={}){let u=ge(a),p=ge(f.links),d=ge(f.owners),m=[],h={};for(let t=0;t<e.length;t++){let r=e[t];r&&(m.push(r),ye(r,h))}let g={id:$(),seq:m,next:ge(s),meta:i,scope:l,family:{type:f.type||"crosslink",links:p,owners:d},reg:h};for(let e=0;e<p.length;e++)ae(p[e]).push(g);for(let e=0;e<d.length;e++)ne(d[e]).push(g);for(let e=0;e<u.length;e++)u[e].next.push(g);return c&&de&&pe(ie(de),[g]),g}function n(e,t,r){let a=Pe,n=null,o=je;if(e.target&&(t=e.params,r=e.defer,a='page'in e?e.page:a,e.stack&&(n=e.stack),o=ue(e)||o,e=e.target),o&&je&&o!==je&&(je=null),Array.isArray(e))for(let r=0;r<e.length;r++)Se('pure',a,re(e[r]),n,t[r],o);else Se('pure',a,re(e),n,t,o);if(r&&!Ce)return;let s,l,i,f,c,u,p={isRoot:Ce,currentPage:Pe,forkPage:je,isWatch:Oe};Ce=0;e:for(;f=xe();){let{idx:e,stack:t,type:r}=f;i=t.node,Pe=c=t.page,je=ue(t),u=(c||i).reg;let a={fail:0,scope:i.scope};s=l=0;for(let n=e;n<i.seq.length&&!s;n++){let o=i.seq[n],f=o.data;switch(o.type){case"barrier":{let a=f.barrierID;c&&(a=`${c.fullID}_${a}`);let o=f.priority;if(n!==e||r!==o){Ae.has(a)||(Ae.add(a),qe(n,t,o,a));continue e}Ae.delete(a);break}case'mov':{let e;switch(f.from){case"stack":e=ie(t);break;case"a":case'b':e=t[f.from];break;case"value":e=f.store;break;case x:u[f.store.id]||(t.page=c=_e(c,f.store.id),u=c?c.reg:i.reg),e=Y(u[f.store.id])}switch(f.to){case"stack":t.value=e;break;case"a":case'b':t[f.to]=e;break;case x:De(c,i,f.target.id).current=e}break}case'check':switch(f.type){case'defined':l=void 0===ie(t);break;case'changed':l=ie(t)===Y(De(c,i,f.store.id))}break;case"filter":l=!Me(a,f,t);break;case'run':if(n!==e||"effect"!==r){qe(n,t,"effect");continue e}case'compute':Oe='watch'===i.meta.op,t.value=Me(a,f,t),Oe=p.isWatch}s=a.fail||l}if(!s)for(let e=0;e<i.next.length;e++)Se('child',c,i.next[e],t,ie(t),ue(t))}Ce=p.isRoot,Pe=p.currentPage,je=ue(p)}function o(e,t="combine"){let r=t+'(',a='',n=0;for(let t in e){let o=e[t];if(null!=o&&(r+=a,r+=q(o)?o.compositeName.fullName:o.toString()),n+=1,25===n)break;a=', '}return r+=')',r}function s(e,t){let r,a,n,o=e;return t?(n=t.compositeName,0===e.length?(r=n.path,a=n.fullName):(r=n.path.concat([e]),a=0===n.fullName.length?e:n.fullName+'/'+e)):(r=0===e.length?[]:[e],a=e),{shortName:o,fullName:a,path:r}}function l(e,t){for(let r in e)t(e[r],r)}function i(e,t){e.forEach(t)}function f(e,t){let r=(e,...t)=>Pe?((e,t,r,a)=>{let n=Pe,o=null;if(t)for(o=Pe;o&&o.template!==t;)o=ce(o);Re(o);let s=e.create(r,a);return Re(n),s})(r,o,e,t):r.create(e,t);r.graphite=a({meta:Ze("event",r,t,e),regional:1}),r.create=e=>(n(je?je.find(r):r,e),e),r.watch=z(Qe,r),r.map=e=>{let t,a;R(e)&&(t=e,a=e.name,e=e.fn);let n=f(Ee(r,a),t);return tt(r,n,S,e),n},r.filter=e=>rt(r,"filter",e.fn?e:e.fn,[K({fn:te})]),r.filterMap=e=>rt(r,'filterMap',e,[J({fn:te}),U.defined()]),r.prepend=e=>{let t=f('* → '+r.shortName,{parent:ce(r)}),a=me();return a&&re(t).seq.push(a.upward),tt(t,r,'prepend',e),Ye(r,t),t};let o=me();return r}function c(e,r){function o(e,t){p.off(e),fe(p).set(e,Je(at(e,p,'on',1,t,m)))}let s=X(e),l=X(e),i=et('updates'),f=me();s.after=[{type:'copy',to:l}],f&&f.plain.push(s,l);let u=s.id,p={subscribers:new Map,updates:i,defaultState:e,stateRef:s,getState(){let e,t=s;if(Pe){let t=Pe;for(;t&&!t.reg[u];)t=ce(t);t&&(e=t)}return!e&&je&&je.reg[u]&&(e=je),e&&(t=e.reg[u]),Y(t)},setState(e){let t;je&&(t=je.nodeMap[re(p).id]),t||(t=p),n({target:t,params:e,defer:1})},reset(...e){for(let t of e)p.on(t,(()=>p.defaultState));return p},on(e,r){if(t(e,'.on','first argument'),Array.isArray(e))for(let t of e)o(t,r);else o(e,r);return p},off(e){let t=fe(p).get(e);return t&&(t(),fe(p).delete(e)),p},map(e,t){let r,a,n;R(e)&&(r=e,a=e.name,t=e.firstState,e=e.fn);let o=p.getState(),l=me();l?n=null:void 0!==o&&(n=e(o,t));let i=c(n,{name:Ee(p,a),config:r,strict:0}),f=at(p,i,S,0,e);return oe(i).before=[{type:S,fn:e,from:s}],l&&(We(l.plain,s)||We(f.seq,l.loader)||f.seq.unshift(l.loader)),i},watch(e,t){if(!t||!q(e)){let t=Qe(p,e),r=me();return r?r.watch.push({of:s,fn:e}):e(p.getState()),t}return _(t)||F('second argument should be a function'),e.watch((e=>t(p.getState(),e)))}},d=Ze(x,p,r),m=p.defaultConfig.updateFilter;return p.graphite=a({scope:{state:s},node:[U.defined(),U.changed({store:l}),m&&G({store:l,to:"a"}),m&&K({fn:(e,t,{a:r})=>m(e,r)}),Q({store:s}),Q({store:l})],child:i,meta:d,regional:1}),Xe&&void 0===e&&F("current state can't be undefined, use null instead"),pe(p,[i]),p}function u(...e){let t,r,a;$e(e[0],((t,r)=>{a=t,e=r}));let n,o,s=e[e.length-1];if(_(s)?(r=e.slice(0,-1),t=s):r=e,1===r.length){let e=r[0];A(e)||(n=e,o=1)}return o||(n=r,t&&(t=nt(t))),R(n)||F('shape should be an object'),ot(Array.isArray(n),n,a,t)}function p(){let e={};return e.req=new Promise(((t,r)=>{e.rs=t,e.rj=r})),e.req.catch((()=>{})),e}function d(e,t){let r=f(e,t),o=r.defaultConfig.handler||(()=>F("no handler used in "+r.getType())),s=re(r);s.meta.onCopy=['runner'],s.meta.unit=r.kind="effect",r.use=e=>(_(e)||F('.use argument should be a function'),o=e,r);let l=r.finally=et('finally'),i=r.done=l.filterMap({named:'done',fn({status:e,params:t,result:r}){if('done'===e)return{params:t,result:r}}}),u=r.fail=l.filterMap({named:'fail',fn({status:e,params:t,error:r}){if('fail'===e)return{params:t,error:r}}}),d=r.doneData=i.map({named:'doneData',fn:({result:e})=>e}),m=r.failData=u.map({named:'failData',fn:({error:e})=>e}),h=a({scope:{getHandler:r.use.getCurrent=()=>o,finally:l},node:[L({fn({params:e,req:t},{finally:r,getHandler:a},n){let o,s=st({params:e,req:t,ok:1,anyway:r,stack:n}),l=st({params:e,req:t,ok:0,anyway:r,stack:n});try{o=a()(e)}catch(e){return void l(e)}R(o)&&_(o.then)?o.then(s,l):s(o)}})],meta:{op:'fx',fx:'runner',onCopy:['finally']}});s.scope.runner=h,s.seq.push(J({fn:(e,t,r)=>ce(r)?{params:e,req:{rs(e){},rj(e){}}}:e}),L({fn:(e,{runner:t},r)=>(n({target:t,params:e,defer:1,forkPage:ue(r)}),e.params)})),r.create=e=>{let t=p(),a={params:e,req:t};if(je){if(!Oe){let e=je;t.req.finally((()=>{Fe(e)})).catch((()=>{}))}n(je.find(r),a)}else n(r,a);return t.req};let g=r.inFlight=c(0,{named:'inFlight'}).on(r,(e=>e+1)).on(l,(e=>e-1)),y=r.pending=g.map({fn:e=>e>0,named:'pending'});return pe(r,[l,i,u,d,m,y,g,h]),r}function m(e,r){let a=f(r||o(e,'merge'));return t(e,'merge','first argument'),Le({from:e,to:a,meta:{op:'merge'}}),a}function h(...e){let r,n,o,s,[[l,p,d],h]=ze(e);void 0===p&&R(l)&&(e=>{let t=0;return i(ct,(r=>{r in e&&(null==e[r]&&F(`sample: ${r} should be defined`),t=1)})),t})(l)&&(p=l.clock,d=l.fn,s=l.greedy,r=l.target,n=l.name,o=l.sid,l=l.source);let g=1;void 0===l&&(t(p,'sample','clock'),Array.isArray(p)&&(p=m(p)),l=p,g=0),g&&!q(l)&&(l=u(l)),void 0===p&&(p=l),t(p,'sample','clock'),n=h||n||l.shortName;let y=me(),k=!!r;r||(A(l)&&A(p)?r=c(d?d(Y(oe(l)),Y(oe(p))):Y(oe(l)),{name:n,sid:o}):(r=f(n),y&&re(r).seq.push(y.loader)));let b=k&&q(r)&&re(r).meta.nativeTemplate;if(A(l)){let e=oe(l);pe(l,[Ke(p,r,{scope:{fn:d,targetTemplate:b},node:[y&&y.loader,!s&&B({priority:"sampler"}),G({store:e,to:d?"a":"stack"}),d&&J({fn:ee}),y&&k&&y.upward],meta:{op:"sample",sample:x}})]),y&&(We(y.plain,e)||We(y.closure,e)||y.closure.push(e))}else{let e=X(0),t=X(),n=X();y&&y.plain.push(e,t,n),a({parent:l,node:[Q({store:t}),G({from:"value",store:1,target:e})],family:{owners:[l,r,p],links:r},meta:{op:"sample",sample:'source'},regional:1}),pe(l,[Ke(p,r,{scope:{fn:d,targetTemplate:b},node:[y&&y.loader,Q({store:n}),G({store:e}),K({fn:e=>e}),!s&&B({priority:"sampler"}),G({store:t}),G({store:n,to:"a"}),d&&J({fn:Z}),y&&k&&y.upward],meta:{op:"sample",sample:'clock'}})])}return r}function g(e){let t=Object.values(e),r={};return i(t,(({id:e})=>{r[e]=[]})),i(t,(({id:e,before:t,after:a})=>{t&&i(t,(t=>{r[t.from.id].push(e)})),a&&i(a,(t=>{r[e].push(t.to.id)}))})),r}function y(e){if(e instanceof Map){let t={};for(let[r,a]of e)q(r)||F('Map key should be a unit'),t[r.sid]=a;return t}return e}function k(e,t){function r(e){s[e]=1;let t=a[e];for(let e=0;e<t.length;e++){let a=t[e];s[a]||o[a]||r(a)}s[e]=0,o[e]=1,n.push(e)}let a={};for(let t in e)a[t]=[...new Set(e[t])];let n=[],o={},s={};for(let e in a)o[e]||s[e]||r(e);if(n.reverse(),t&&t.size>0){let e,r=[],o=[...t];for(;e=o.shift();)r.push(e),i(a[e],(e=>{We(r,e)||We(o,e)||o.push(e)}));i(r,(e=>{Te(n,e)}))}return n}function b(e){let t=[];return function e(r){We(t,r)||(t.push(r),v(r,e))}(re(e)),t}function v(e,t){let r=e.meta.unit;'fork'!==r&&"forkInFlightCounter"!==r&&(i(e.next,t),i(ae(e),t),i(ne(e),t))}Object.defineProperty(exports,'__esModule',{value:1});let w='undefined'!=typeof Symbol&&Symbol.observable||'@@observable',x='store',S='map',q=e=>(_(e)||R(e))&&'kind'in e;const N=e=>t=>q(t)&&t.kind===e;let A=N(x),j=N("event"),C=N("effect"),O=N("domain");var P={__proto__:null,unit:q,store:A,event:j,effect:C,domain:O};let F=e=>{throw Error(e)},R=e=>'object'==typeof e&&null!==e,_=e=>'function'==typeof e,D=e=>{R(e)||_(e)||F('expect first argument be an object')};const M=()=>{let e=0;return()=>(++e).toString(36)};let I=M(),E=M(),$=M(),z=(e,t)=>e.bind(null,t),W=(e,t,r)=>e.bind(null,t,r);const T=(e,t,r)=>({id:E(),type:e,data:r,hasRef:t});let H=0,B=({priority:e="barrier"})=>T("barrier",0,{barrierID:++H,priority:e}),G=({from:e=x,store:t,target:r,to:a=(r?x:"stack")})=>T('mov',e===x,{from:e,store:t,to:a,target:r}),U={defined:()=>T('check',0,{type:'defined'}),changed:({store:e})=>T('check',1,{type:'changed',store:e})},J=W(T,'compute',0),K=W(T,"filter",0),L=W(T,'run',0),Q=({store:e})=>G({from:"stack",target:e});var V={__proto__:null,barrier:B,mov:G,check:U,compute:J,filter:K,run:L,update:Q};let X=e=>({id:E(),current:e}),Y=({current:e})=>e,Z=(e,{fn:t},{a:r})=>t(e,r),ee=(e,{fn:t},{a:r})=>t(r,e),te=(e,{fn:t})=>t(e),re=e=>e.graphite||e,ae=e=>e.family.owners,ne=e=>e.family.links,oe=e=>e.stateRef,se=e=>e.config,le=e=>e.ɔ,ie=e=>e.value,fe=e=>e.subscribers,ce=e=>e.parent,ue=e=>e.forkPage,pe=(e,t)=>{let r=re(e);for(let e=0;e<t.length;e++){let a=re(t[e]);"domain"!==r.family.type&&(a.family.type="crosslink"),ae(a).push(r),ne(r).push(a)}},de=null,me=()=>de&&de.template,he=e=>(e&&de&&de.sidRoot&&(e=`${de.sidRoot}ɔ${e}`),e);const ge=(e=[])=>{let t=[];if(Array.isArray(e))for(let r=0;r<e.length;r++)Array.isArray(e[r])?t.push(...e[r]):t.push(e[r]);else t.push(e);return t.map(re)};let ye=({hasRef:e,type:t,data:r},a)=>{let n;e&&(n=r.store,a[n.id]=n),'mov'===t&&r.to===x&&(n=r.target,a[n.id]=n)},ke=null;const be=(e,t)=>{if(!e)return t;if(!t)return e;let r,a=e.v.type===t.v.type;return(a&&e.v.id>t.v.id||!a&&"sampler"===e.v.type)&&(r=e,e=t,t=r),r=be(e.r,t),e.r=e.l,e.l=r,e},ve=[];let we=0;for(;we<5;)ve.push({first:null,last:null,size:0}),we+=1;const xe=()=>{for(let e=0;e<5;e++){let t=ve[e];if(t.size>0){if(2===e||3===e){t.size-=1;let e=ke.v;return ke=be(ke.l,ke.r),e}1===t.size&&(t.last=null);let r=t.first;return t.first=r.r,t.size-=1,r.v}}},Se=(e,t,r,a,n,o)=>qe(0,{a:null,b:null,node:r,parent:a,value:n,page:t,forkPage:o},e),qe=(e,t,r,a=0)=>{let n=Ne(r),o=ve[n],s={v:{idx:e,stack:t,type:r,id:a},l:0,r:0};2===n||3===n?ke=be(ke,s):(0===o.size?o.first=s:o.last.r=s,o.last=s),o.size+=1},Ne=e=>{switch(e){case'child':return 0;case'pure':return 1;case"barrier":return 2;case"sampler":return 3;case"effect":return 4;default:return-1}},Ae=new Set;let je,Ce=1,Oe=0,Pe=null,Fe=e=>{je=e},Re=e=>{Pe=e};const _e=(e,t)=>{if(e){for(;e&&!e.reg[t];)e=ce(e);if(e)return e}return null},De=(e,t,r)=>(_e(e,r)||t).reg[r],Me=(e,{fn:t},r)=>{try{return t(ie(r),e.scope,r)}catch(t){console.error(t),e.fail=1}};let Ie=(e,t)=>''+e.shortName+t,Ee=(e,t)=>null==t?Ie(e,' → *'):t,$e=(e,t)=>{D(e),le(e)&&t(se(e),le(e))},ze=e=>{let t;return $e(e[0],((r,a)=>{t=r,e=a})),[e,t]},We=(e,t)=>e.includes(t),Te=(e,t)=>{let r=e.indexOf(t);-1!==r&&e.splice(r,1)};const He=(e,t)=>{Te(e.next,t),Te(ae(e),t),Te(ne(e),t)},Be=(e,t,r)=>{let a;e.next.length=0,e.seq.length=0,e.scope=null;let n=ne(e);for(;a=n.pop();)He(a,e),(t||r&&!e.meta.sample||"crosslink"===a.family.type)&&Be(a,t,'on'!==a.meta.op&&r);for(n=ae(e);a=n.pop();)He(a,e),r&&"crosslink"===a.family.type&&Be(a,t,'on'!==a.meta.op&&r)},Ge=e=>e.clear();let Ue=(e,{deep:t}={})=>{let r=0;if(e.ownerSet&&e.ownerSet.delete(e),A(e))Ge(fe(e));else if(O(e)){r=1;let t=e.history;Ge(t.events),Ge(t.effects),Ge(t.stores),Ge(t.domains)}Be(re(e),!!t,r)},Je=e=>{let t=W(Ue,e,void 0);return t.unsubscribe=t,t},Ke=(e,t,{node:r,scope:n,meta:o})=>a({node:r,parent:e,child:t,scope:n,meta:o,family:{owners:[e,t],links:t},regional:1}),Le=e=>{let r;$e(e,((t,a)=>{r=t,e=a}));let{from:n,to:o,meta:s={op:'forward'}}=e;return t(n,'forward','"from"'),t(o,'forward','"to"'),r&&(s.config=r),Je(a({parent:n,child:o,meta:s,family:{},regional:1}))},Qe=(e,t)=>{if(_(t)||F('.watch argument should be a function'),je){let t=je.nodeMap[re(e).id];t&&(e=t)}return Je(a({scope:{fn:t},node:[L({fn:te})],parent:e,meta:{op:'watch'},family:{owners:e},regional:1}))};const Ve=(e,t)=>(R(e)&&(Ve(se(e),t),null!=e.name&&(R(e.name)?Ve(e.name,t):_(e.name)?t.handler=e.name:t.name=e.name),e.loc&&(t.loc=e.loc),(e.sid||null===e.sid)&&(t.sid=e.sid),e.handler&&(t.handler=e.handler),e.updateFilter&&(t.updateFilter=e.updateFilter),ce(e)&&(t.parent=ce(e)),'strict'in e&&(t.strict=e.strict),e.named&&(t.named=e.named),Ve(le(e),t)),t);let Xe,Ye=(e,t,r="event")=>{ce(e)&&ce(e).hooks[r](t)},Ze=(e,t,r,a)=>{let n=Ve({name:a,config:r},{}),o="domain"===e,l=I(),{parent:i=null,sid:f=null,strict:c=1,named:u=null}=n,p=u||n.name||(o?'':l),d=s(p,i),m={unit:t.kind=e,name:t.shortName=p,sid:t.sid=he(f),named:u,unitId:t.id=l};if(t.parent=i,t.compositeName=d,t.defaultConfig=n,t.thru=e=>e(t),t.getType=()=>d.fullName,!o){t.subscribe=e=>(D(e),t.watch(_(e)?e:t=>{e.next&&e.next(t)})),t[w]=()=>t;let e=me();e&&(m.nativeTemplate=e)}return Xe=c,m},et=e=>f({named:e});const tt=(e,t,r,a)=>Ke(e,t,{scope:{fn:a},node:[J({fn:te})],meta:{op:r}}),rt=(e,t,r,a)=>{let n;R(r)&&(n=r,r=r.fn);let o=f(Ie(e,' →? *'),n);return Ke(e,o,{scope:{fn:r},node:a,meta:{op:t}}),o},at=(e,t,r,a,n,o)=>{let s=oe(t),l=[G({store:s,to:"a"}),J({fn:a?ee:Z}),U.defined(),U.changed({store:s}),o&&K({fn:(e,t,{a:r})=>o(e,r)}),Q({store:s})],i=me();if(i&&(l.unshift(i.loader),l.push(i.upward),A(e))){let t=oe(e);We(i.plain,t)||(We(i.closure,t)||i.closure.push(t),s.before||(s.before=[]),s.before.push({type:'closure',of:t}))}return Ke(e,t,{scope:{fn:n},node:l,meta:{op:r}})},nt=e=>t=>e(...t),ot=(e,t,r,a)=>{let n=e?e=>e.slice():e=>({...e}),s=e?[]:{},i=me(),f=n(s),u=X(f),p=X(1);u.type=e?'list':'shape',i&&i.plain.push(u,p);let d=c(f,{name:r||o(t)});re(d).meta.isCombine=1;let m=[U.defined(),G({store:u,to:"a"}),K({fn:(e,{key:t},{a:r})=>e!==r[t]}),G({store:p,to:'b'}),J({fn(e,{clone:t,key:r},a){a.b&&(a.a=t(a.a)),a.a[r]=e}}),G({from:"a",target:u}),G({from:"value",store:0,target:p}),B({priority:"barrier"}),G({from:"value",store:1,target:p}),G({store:u}),a&&J({fn:a}),U.changed({store:oe(d)})],h=u.before=[];return l(t,((e,t)=>{if(!A(e))return void(f[t]=s[t]=e);s[t]=e.defaultState,f[t]=e.getState();let r=Ke(e,d,{scope:{key:t,clone:n},node:m,meta:{op:'combine'}}),a=oe(e);h.push({type:'field',field:t,from:a}),i&&(We(i.plain,a)||r.seq.unshift(i.loader))})),d.defaultShape=t,u.after=[a?{type:S,to:oe(d),fn:a}:{type:'copy',to:oe(d)}],i||(d.defaultState=a?oe(d).current=a(f):s),d};let st=({params:e,req:t,ok:r,anyway:a,stack:o})=>s=>n({target:[a,lt],params:[r?{status:'done',params:e,result:s}:{status:'fail',params:e,error:s},{fn:r?t.rs:t.rj,value:s}],defer:1,page:o.page,forkPage:ue(o)}),lt=a({node:[L({fn({fn:e,value:t}){e(t)}})],meta:{op:'fx',fx:'sidechain'}});const ft=(e,t,r)=>(e.create=t=>(n(e,t),t),re(e).seq.push(J({fn:(e,t,r)=>(r.forkPage=null,e)})),e.watch((e=>{pe(r,[e]),t.add(e),e.ownerSet||(e.ownerSet=t),ce(e)||(e.parent=r)})),pe(r,[e]),r=>(t.forEach(r),e.watch(r))),ct=['source','clock','target'],ut=(e,t,r,a)=>{let o=e[t];o&&n({target:o,params:Array.isArray(o)?o.map((()=>r)):r,defer:1,stack:a})};exports.allSettled=(e,{scope:t,params:r})=>{if(!q(e))return Promise.reject(Error('first argument should be unit'));let a=p();a.parentFork=je;let{forkInFlightCounter:o}=t.graphite.scope;o.scope.defers.push(a);let s=[t.find(e)],l=[];return C(e)?l.push({params:r,req:{rs(e){a.value={status:'done',value:e}},rj(e){a.value={status:'fail',value:e}}}}):l.push(r),s.push(o),l.push(null),n({target:s,params:l,forkPage:t}),a.req},exports.attach=e=>{let t;$e(e,((r,a)=>{t=r,e=a}));let{source:r,effect:a,mapParams:o}=e;o||(o=r?(e,t)=>t:e=>e);let s,l=d(e,t),{runner:i}=re(l).scope,f=({params:e,req:t},{finally:r,effect:a},s)=>{let l,i=st({params:e,req:t,ok:0,anyway:r,stack:s});try{l=o(e,s.a)}catch(e){return i(e)}n({target:a,params:{params:l,req:{rs:st({params:e,req:t,ok:1,anyway:r,stack:s}),rj:i}},page:s.page,defer:1})};if(r){let e;A(r)?(e=r,pe(r,[l])):(e=u(r),pe(l,[e]));let t=G({from:x,store:oe(e),to:"a"});s=[L({fn:e=>e}),t,J({fn:f})],ye(t,i.reg)}else s=[L({fn:f})];return pe(a,[l]),i.scope.effect=a,i.meta.onCopy.push("effect"),i.seq.splice(0,1,...s),Ye(a,l,"effect"),l},exports.clearNode=Ue,exports.combine=u,exports.createApi=(...e)=>{let[[t,r],a]=ze(e),n={};return l(r,((e,r)=>{let o=n[r]=f(r,{parent:ce(t),config:a});t.on(o,e),Ye(t,o)})),n},exports.createDomain=function e(t,r){let n=new Set,o=new Set,s=new Set,i=new Set,u=a({family:{type:"domain"},regional:1}),p={history:{domains:n,stores:o,effects:s,events:i},graphite:u};u.meta=Ze("domain",p,r,t);let[m,h,g,y]=['onEvent','onEffect','onStore','onDomain'].map(et);p.hooks={event:m,effect:h,store:g,domain:y},p.onCreateEvent=ft(m,i,p),p.onCreateEffect=ft(h,s,p),p.onCreateStore=ft(g,o,p),p.onCreateDomain=ft(y,n,p),p.createEvent=p.event=(e,t)=>m(f(e,{parent:p,config:t})),p.createEffect=p.effect=(e,t)=>h(d(e,{parent:p,config:t})),p.createDomain=p.domain=(t,r)=>e({name:t,parent:p,config:r}),p.createStore=p.store=(e,t)=>g(c(e,{parent:p,config:t}));let k=ce(p);return k&&(l(p.hooks,((e,t)=>{Le({from:e,to:k.hooks[t]})})),k.hooks.domain(p)),p},exports.createEffect=d,exports.createEvent=f,exports.createNode=a,exports.createStore=c,exports.createStoreObject=u,exports.fork=(e,{values:t,handlers:r}={})=>{O(e)||F('first argument of fork should be domain');let n=!!t;t=y(t||{});let o=(e=>{function t(e){let t=re(e),a=r.indexOf(t);if(-1===a){let r='unit';e!==t&&e.id!==e.shortName&&(r=e.shortName),F(r+" not found in forked scope")}return p[a]}let r=b(e),n=new Map,o=new Set,s=J({fn:(e,t,r)=>((!r.node.meta.isCombine||ce(r)&&'combine'!==ce(r).node.meta.op)&&o.add(r.node.meta.forkOf.id),e)}),f=a({scope:{defers:[],inFlight:0,fxID:0},node:[J({fn(e,t,r){r.parent?'finally'===r.parent.node.meta.named?t.inFlight-=1:(t.inFlight+=1,t.fxID+=1):t.fxID+=1}}),B({priority:"sampler"}),L({fn(e,t){let{inFlight:r,defers:a,fxID:n}=t;r>0||0===a.length||Promise.resolve().then((()=>{t.fxID===n&&i(a.splice(0,a.length),(e=>{Fe(e.parentFork),e.rs(e.value)}))}))}})],meta:{unit:"forkInFlightCounter"}}),c={},u={},p=r.map((e=>{let{seq:t,next:r,meta:n,scope:o}=e,s=a({node:t.map((e=>({id:e.id,type:e.type,data:{...e.data},hasRef:e.hasRef}))),child:[...r],meta:{forkOf:e,...n},scope:{...o}});return s.family={type:e.family.type,links:[...ne(e)],owners:[...ae(e)]},c[e.id]=s,n.sid&&(u[n.sid]=s),s})),d={};return i(p,(e=>{let{reg:r,scope:a,meta:{onCopy:o,op:c,unit:u}}=e;switch(l(r,((e,t)=>{let a=n.get(e);a||(a={id:e.id,current:e.current},n.set(e,a)),d[t]=r[t]=a})),o&&i(o,(e=>{let r=a[e];a[e]=Array.isArray(r)?r.map(t):t(r)})),v(e,((e,r,a)=>{a[r]=t(e)})),c||u){case x:e.meta.wrapped=(e=>({kind:x,getState:()=>e.reg[e.scope.state.id].current,updates:{watch:z(Qe,e)},graphite:e,family:e.family}))(e),e.meta.sid&&e.seq.push(s);break;case"effect":e.next.push(f);break;case'fx':a.finally.next.push(f)}})),{cloneOf:e,changedStores:o,nodeMap:c,sidMap:u,clones:p,find:t,reg:d,getState:e=>t(e).meta.wrapped.getState(),graphite:a({family:{type:"domain",links:[f,...p]},meta:{unit:'fork'},scope:{forkInFlightCounter:f}})}})(e);if(n&&(()=>{let r=b(e),a={},n={},s=new Set,f=new Set,c=Object.getOwnPropertyNames(t);i(r,(({reg:e,meta:t})=>{let{nativeTemplate:r}=t;l(e,((e,t)=>{a[t]=e,r&&f.add(t)}))})),i(o.clones,(e=>{let{reg:r}=e,{unit:a,sid:i}=e.meta;if(a===x&&i&&We(c,i)){let{state:a}=e.scope;r[a.id].current=t[i],s.add(a),o.changedStores.add(e.meta.forkOf.id)}l(r,((e,t)=>{n[t]=e}))})),i(k(g(a),f),(e=>{((e,t)=>{let r=0;if(t&&t.before&&!s.has(e)&&i(t.before,(t=>{switch(t.type){case S:e.current=t.fn(n[t.from.id].current);break;case'field':{let a=n[t.from.id];r||(r=1,e.current=Array.isArray(e.current)?[...e.current]:{...e.current}),e.current[t.field]=a.current;break}}})),!t||!t.after)return;let a=e.current;i(t.after,(e=>{let t=n[e.to.id];switch(e.type){case'copy':t.current=a;break;case S:t.current=e.fn(a)}}))})(n[e],a[e])}))})(),r){r=y(r);let e=Object.keys(r);i(o.clones,(({scope:t,meta:a})=>{a.sid&&We(e,a.sid)&&(t.runner.scope.getHandler=()=>r[a.sid])}))}return o},exports.forward=Le,exports.fromObservable=e=>{D(e);let t=w in e?e[w]():e;t.subscribe||F('expect observable to have .subscribe');let r=f(),a=W(Ue,r,void 0);return t.subscribe({next:r,error:a,complete:a}),r},exports.guard=(...e)=>{let r={op:'guard'},n='guard',[[o,s],l]=ze(e);l&&(r.config=l,l.name&&(n=l.name)),s||(s=o,o=s.source);let{filter:i,greedy:c,clock:p,name:d=n}=s,g=s.target||f(d,r.config),y=q(i),k=1;return void 0===o&&(t(p,'guard','clock'),Array.isArray(p)&&(p=m(p)),o=p,k=0),k&&!q(o)&&(o=u(o)),p&&(t(p,'guard','clock'),o=h({source:o,clock:p,greedy:c,fn:y?null:(e,t)=>({source:e,clock:t})})),t(g,'guard','target'),y?h({source:i,clock:o,target:a({node:[K({fn:({guard:e})=>e}),J({fn:({data:e})=>e})],child:g,meta:r,family:{owners:[o,i,g,...[].concat(p||[])],links:g},regional:1}),fn:(e,t)=>({guard:e,data:t}),greedy:c,name:d}):(_(i)||F('`filter` should be function or unit'),Ke(o,g,{scope:{fn:i},node:p?[K({fn:({source:e,clock:t},{fn:r})=>r(e,t)}),J({fn:({source:e})=>e})]:[K({fn:te})],meta:r})),g},exports.hydrate=(e,{values:t})=>{let r=R(e)&&e.cloneOf;O(e)||r||F('first argument of hydrate should be domain or scope'),R(t)||F('values property should be an object');let a,o,s=y(t);if(r)a=[],o=[],l(s,((t,r)=>{let n=e.sidMap[r];n&&(a.push(n),o.push(t),e.changedStores.add(n.meta.forkOf.id))}));else{let t=(({flatGraphUnits:e,values:t,collectWatches:r})=>{let a=[],n=[],o={},s=new Set,f=Object.getOwnPropertyNames(t);return i(e,(e=>{let{reg:i}=e,{op:c,unit:u,sid:p}=e.meta;if(u===x&&p&&We(f,p)){let{state:r}=e.scope;r.current=t[p],s.add(r)}if(r&&'watch'===c){let t=e.family.owners[0];t.meta.unit===x&&(a.push(e),n.push(t.scope.state))}l(i,((e,t)=>{o[t]=e}))})),i(k(g(o)),(e=>{(e=>{let t=0;if(e.before&&!s.has(e)&&i(e.before,(r=>{switch(r.type){case S:e.current=r.fn(r.from.current);break;case'field':{let a=r.from;t||(t=1,e.current=Array.isArray(e.current)?[...e.current]:{...e.current}),e.current[r.field]=a.current;break}}})),!e.after)return;let r=e.current;i(e.after,(e=>{let t=e.to;switch(e.type){case'copy':t.current=r;break;case S:t.current=e.fn(r)}}))})(o[e])})),{storeWatches:a,storeWatchesRefs:n}})({flatGraphUnits:b(e),values:s,collectWatches:1});a=t.storeWatches,o=t.storeWatchesRefs.map((({current:e})=>e))}n({target:a,params:o,forkPage:r?e:0})},exports.is=P,exports.launch=n,exports.merge=m,exports.restore=(e,t,r)=>{if(A(e))return e;if(q(e)){let a,n=ce(e);return j(e)&&(a=c(t,{parent:n,name:e.shortName,ɔ:r}).on(e,((e,t)=>t))),C(e)&&(a=c(t,{parent:n,name:e.shortName,ɔ:r}).on(e.done,((e,{result:t})=>t))),n&&n.hooks.store(a),a}let a=Array.isArray(e)?[]:{};return l(e,((e,t)=>{a[t]=A(e)?e:c(e,{name:t})})),a},exports.sample=h,exports.scopeBind=e=>{je||F('scopeBind cannot be called outside of forked .watch');let t=je,r=je.find(e);return C(e)?e=>{let a=p();n({target:r,params:{params:e,req:a},forkPage:t})}:e=>(n({target:r,params:e,forkPage:t}),e)},exports.serialize=({clones:e,changedStores:t},{ignore:r=[],onlyChanges:a}={})=>{let n={};return i(e,(({meta:e,scope:r,reg:o})=>{if(e.unit!==x)return;let{sid:s}=e;s&&(!a&&!e.isCombine||t.has(e.forkOf.id))&&(n[s]=o[r.state.id].current)})),i(r,(({sid:e})=>{e&&delete n[e]})),n},exports.setStoreName=(e,t)=>{let r=s(t,ce(e));if(e.shortName=t,!e.compositeName)return void(e.compositeName=r);let a=e.compositeName;a.path=r.path,a.shortName=r.shortName,a.fullName=r.fullName},exports.split=(...e)=>{let t,[[r,n],o]=ze(e),s=!n;s&&(t=r.cases,n=r.match,r=r.source);let i=A(n),c=!q(n)&&_(n),u=!i&&!c&&R(n);t||(t={}),s||(u||F('match should be an object'),l(n,((e,r)=>{t[r]=f(o)})),t.__=f(o));let p,d=me(),m=new Set([].concat(r,Object.values(t))),h=Object.keys(i||c?t:n);if(i||c)i&&m.add(n),p=[i&&B({priority:'sampler'}),i&&G({store:oe(n),to:'a'}),K({fn(e,t,r){let a=String(i?r.a:n(e));ut(t,We(h,a)?a:'__',e,r)}})];else if(u){let e=X({});e.type='shape';let t,r=e.before=[],a=[G({store:e,to:"a"}),J({fn(e,{key:t},{a:r}){r[t]=e}})],o=[];l(n,((n,s)=>{if(q(n)){t=1,o.push(s),m.add(n);let l=Ke(n,[],{node:a,scope:{key:s}});if(A(n)){e.current[s]=n.getState();let t=oe(n);r.push({type:'field',field:s,from:t}),d&&(We(d.plain,t)||l.seq.unshift(d.loader))}}})),t&&d&&d.plain.push(e),p=[t&&B({priority:'sampler'}),t&&G({store:e,to:'a'}),K({fn(e,t,r){for(let a=0;a<h.length;a++){let s=h[a];if(We(o,s)?r.a[s]:n[s](e))return void ut(t,s,e,r)}ut(t,'__',e,r)}})]}else F('expect match to be unit, function or object');if(a({meta:{onCopy:Object.keys(t),op:'split'},parent:r,scope:t,node:p,family:{type:'crosslink',owners:Array.from(m)},regional:1}),!s)return t},exports.step=V,exports.version="21.8.6",exports.withFactory=({sid:e,name:t,loc:n,method:o,fn:s})=>r(a({meta:{sidRoot:he(e),name:t,loc:n,method:o}}),s),exports.withRegion=r;
//# sourceMappingURL=effector.cjs.js.map

@@ -1344,2 +1344,13 @@ /**

type UnionToStoresUnion<T> = (T extends any
? () => T
: never) extends infer U
? U extends () => infer S
? UnionToStoresUnion<Exclude<T, S>> | Store<S>
: never
: never
type CombineState<State> = {
[K in keyof State]: State[K] | Store<State[K]> | UnionToStoresUnion<State[K]>
}
export function withRegion(unit: Unit<any> | Node, cb: () => void): void

@@ -1353,3 +1364,3 @@ export function combine<T extends Store<any>>(

export function combine<State>(
shape: State,
shape: CombineState<State>,
): Store<{[K in keyof State]: State[K] extends Store<infer U> ? U : State[K]}>

@@ -1356,0 +1367,0 @@ export function combine<A, R>(a: Store<A>, fn: (a: A) => R): Store<R>

@@ -1344,2 +1344,13 @@ /**

type UnionToStoresUnion<T> = (T extends any
? () => T
: never) extends infer U
? U extends () => infer S
? UnionToStoresUnion<Exclude<T, S>> | Store<S>
: never
: never
type CombineState<State> = {
[K in keyof State]: State[K] | Store<State[K]> | UnionToStoresUnion<State[K]>
}
export function withRegion(unit: Unit<any> | Node, cb: () => void): void

@@ -1353,3 +1364,3 @@ export function combine<T extends Store<any>>(

export function combine<State>(
shape: State,
shape: CombineState<State>,
): Store<{[K in keyof State]: State[K] extends Store<infer U> ? U : State[K]}>

@@ -1356,0 +1367,0 @@ export function combine<A, R>(a: Store<A>, fn: (a: A) => R): Store<R>

@@ -1,2 +0,2 @@

((e,t)=>{'object'==typeof exports&&'undefined'!=typeof module?t(exports):'function'==typeof define&&define.amd?define(['exports'],t):t((e='undefined'!=typeof globalThis?globalThis:e||self).effector={})})(this,(e=>{function t(e,t,r,a){(U(e)||J(e))&&('family'in e||'graphite'in e)||G(`${t}: expect ${r} to be a unit (store, event or effect)${a}`)}function r(e,r,a){if(Array.isArray(e))for(let n=0;n<e.length;n++)t(e[n],r,`${n} item of ${a}`,'');else t(e,r,a,' or array of units')}function a(e,t){let r=he(e).meta;Ae={parent:Ae,value:e,template:r.template||je(),sidRoot:r.sidRoot||Ae&&Ae.sidRoot};try{return t()}finally{Ae=xe(Ae)}}function n({node:e=[],from:t,source:r,parent:a=t||r,to:n,target:o,child:l=n||o,scope:s={},meta:i={},family:f={type:'regular'},regional:c}={}){let u=Ce(a),p=Ce(f.links),d=Ce(f.owners),m=[],h={};for(let t=0;t<e.length;t++){let r=e[t];r&&(m.push(r),Pe(r,h))}let g={id:X(),seq:m,next:Ce(l),meta:i,scope:s,family:{type:f.type||O,links:p,owners:d},reg:h};for(let e=0;e<p.length;e++)ge(p[e]).push(g);for(let e=0;e<d.length;e++)ye(d[e]).push(g);for(let e=0;e<u.length;e++)u[e].next.push(g);return c&&Ae&&Ne(ve(Ae),[g]),g}function o(e,t,r){let a=Be,n=null,o=Te;if(e.target&&(t=e.params,r=e.defer,a='page'in e?e.page:a,e.stack&&(n=e.stack),o=qe(e)||o,e=e.target),o&&Te&&o!==Te&&(Te=null),Array.isArray(e))for(let r=0;r<e.length;r++)Ee('pure',a,he(e[r]),n,t[r],o);else Ee('pure',a,he(e),n,t,o);if(r&&!We)return;let l,s,i,f,c,u,p={isRoot:We,currentPage:Be,forkPage:Te,isWatch:He};We=0;e:for(;f=Me();){let{idx:e,stack:t,type:r}=f;i=t.node,Be=c=t.page,Te=qe(t),u=(c||i).reg;let a={fail:0,scope:i.scope};l=s=0;for(let n=e;n<i.seq.length&&!l;n++){let o=i.seq[n],f=o.data;switch(o.type){case R:{let a=f.barrierID;c&&(a=`${c.fullID}_${a}`);let o=f.priority;if(n!==e||r!==o){ze.has(a)||(ze.add(a),Ie(n,t,o,a));continue e}ze.delete(a);break}case'mov':{let e;switch(f.from){case P:e=ve(t);break;case E:case'b':e=t[f.from];break;case _:e=f.store;break;case x:u[f.store.id]||(t.page=c=Je(c,f.store.id),u=c?c.reg:i.reg),e=ue(u[f.store.id])}switch(f.to){case P:t.value=e;break;case E:case'b':t[f.to]=e;break;case x:Ke(c,i,f.target.id).current=e}break}case'check':switch(f.type){case'defined':s=void 0===ve(t);break;case'changed':s=ve(t)===ue(Ke(c,i,f.store.id))}break;case M:s=!Le(a,f,t);break;case'run':if(n!==e||r!==N){Ie(n,t,N);continue e}case'compute':He='watch'===i.meta.op,t.value=Le(a,f,t),He=p.isWatch}l=a.fail||s}if(!l)for(let e=0;e<i.next.length;e++)Ee('child',c,i.next[e],t,ve(t),qe(t))}We=p.isRoot,Be=p.currentPage,Te=qe(p)}function l(e,t="combine"){let r=t+'(',a='',n=0;for(let t in e){let o=e[t];if(null!=o&&(r+=a,r+=I(o)?o.compositeName.fullName:o.toString()),n+=1,25===n)break;a=', '}return r+=')',r}function s(e,t){let r,a,n,o=e;return t?(n=t.compositeName,0===e.length?(r=n.path,a=n.fullName):(r=n.path.concat([e]),a=0===n.fullName.length?e:n.fullName+'/'+e)):(r=0===e.length?[]:[e],a=e),{shortName:o,fullName:a,path:r}}function i(e,t){for(let r in e)t(e[r],r)}function f(e,t){e.forEach(t)}function c(e,t){let r=(e,...t)=>Be?((e,t,r,a)=>{let n=Be,o=null;if(t)for(o=Be;o&&o.template!==t;)o=xe(o);Ue(o);let l=e.create(r,a);return Ue(n),l})(r,a,e,t):r.create(e,t);r.graphite=n({meta:dt(q,r,t,e),regional:1}),r.create=e=>(o(Te?Te.find(r):r,e),e),r.watch=Y(ft,r),r.map=e=>{let t,a;U(e)&&(t=e,a=e.name,e=e.fn);let n=c(Ve(r,a),t);return ht(r,n,C,e),n},r.filter=e=>gt(r,M,e.fn?e:e.fn,[le({fn:me})]),r.filterMap=e=>gt(r,'filterMap',e,[oe({fn:me}),ne.defined()]),r.prepend=e=>{let t=c('* → '+r.shortName,{parent:xe(r)}),a=je();return a&&he(t).seq.push(a.upward),ht(t,r,'prepend',e),pt(r,t),t};let a=je();return r}function u(e,t){function a(e,t){p.off(e),Se(p).set(e,ot(yt(e,p,'on',1,t,m)))}let l=ce(e),s=ce(e),i=mt('updates'),f=je();l.after=[{type:'copy',to:s}],f&&f.plain.push(l,s);let c=l.id,p={subscribers:new Map,updates:i,defaultState:e,stateRef:l,getState(){let e,t=l;if(Be){let t=Be;for(;t&&!t.reg[c];)t=xe(t);t&&(e=t)}return!e&&Te&&Te.reg[c]&&(e=Te),e&&(t=e.reg[c]),ue(t)},setState(e){let t;Te&&(t=Te.nodeMap[he(p).id]),t||(t=p),o({target:t,params:e,defer:1})},reset(...e){for(let t of e)p.on(t,(()=>p.defaultState));return p},on(e,t){if(r(e,'.on','first argument'),Array.isArray(e))for(let r of e)a(r,t);else a(e,t);return p},off(e){let t=Se(p).get(e);return t&&(t(),Se(p).delete(e)),p},map(e,t){let r,a,n;U(e)&&(r=e,a=e.name,t=e.firstState,e=e.fn);let o=p.getState(),s=je();s?n=null:void 0!==o&&(n=e(o,t));let i=u(n,{name:Ve(p,a),config:r,strict:0}),f=yt(p,i,C,0,e);return be(i).before=[{type:C,fn:e,from:l}],s&&(Ze(s.plain,l)||Ze(f.seq,s.loader)||f.seq.unshift(s.loader)),i},watch(e,t){if(!t||!I(e)){let t=ft(p,e),r=je();return r?r.watch.push({of:l,fn:e}):e(p.getState()),t}return J(t)||G('second argument should be a function'),e.watch((e=>t(p.getState(),e)))}},d=dt(x,p,t),m=p.defaultConfig.updateFilter;return p.graphite=n({scope:{state:l},node:[ne.defined(),ne.changed({store:s}),m&&ae({store:s,to:E}),m&&le({fn:(e,t,{a:r})=>m(e,r)}),ie({store:l}),ie({store:s})],child:i,meta:d,regional:1}),ut&&void 0===e&&G("current state can't be undefined, use null instead"),Ne(p,[i]),p}function p(...e){let t,r,a;Xe(e[0],((t,r)=>{a=t,e=r}));let n,o,l=e[e.length-1];if(J(l)?(r=e.slice(0,-1),t=l):r=e,1===r.length){let e=r[0];z(e)||(n=e,o=1)}return o||(n=r,t&&(t=bt(t))),U(n)||G('shape should be an object'),kt(Array.isArray(n),n,a,t)}function d(){let e={};return e.req=new Promise(((t,r)=>{e.rs=t,e.rj=r})),e.req.catch((()=>{})),e}function m(e,t){let r=c(e,t),a=r.defaultConfig.handler||(()=>G("no handler used in "+r.getType())),l=he(r);l.meta.onCopy=['runner'],l.meta.unit=r.kind=N,r.use=e=>(J(e)||G('.use argument should be a function'),a=e,r);let s=r.finally=mt('finally'),i=r.done=s.filterMap({named:'done',fn({status:e,params:t,result:r}){if('done'===e)return{params:t,result:r}}}),f=r.fail=s.filterMap({named:'fail',fn({status:e,params:t,error:r}){if('fail'===e)return{params:t,error:r}}}),p=r.doneData=i.map({named:'doneData',fn:({result:e})=>e}),m=r.failData=f.map({named:'failData',fn:({error:e})=>e}),h=n({scope:{getHandler:r.use.getCurrent=()=>a,finally:s},node:[se({fn({params:e,req:t},{finally:r,getHandler:a},n){let o,l=wt({params:e,req:t,ok:1,anyway:r,stack:n}),s=wt({params:e,req:t,ok:0,anyway:r,stack:n});try{o=a()(e)}catch(e){return void s(e)}U(o)&&J(o.then)?o.then(l,s):l(o)}})],meta:{op:'fx',fx:'runner',onCopy:['finally']}});l.scope.runner=h,l.seq.push(oe({fn:(e,t,r)=>xe(r)?{params:e,req:{rs(e){},rj(e){}}}:e}),se({fn:(e,{runner:t},r)=>(o({target:t,params:e,defer:1,forkPage:qe(r)}),e.params)})),r.create=e=>{let t=d(),a={params:e,req:t};if(Te){if(!He){let e=Te;t.req.finally((()=>{Ge(e)})).catch((()=>{}))}o(Te.find(r),a)}else o(r,a);return t.req};let g=r.inFlight=u(0,{named:'inFlight'}).on(r,(e=>e+1)).on(s,(e=>e-1)),y=r.pending=g.map({fn:e=>e>0,named:'pending'});return Ne(r,[s,i,f,p,m,y,g,h]),r}function h(e,t){let a=c(t||l(e,'merge'));return r(e,'merge','first argument'),st({from:e,to:a,meta:{op:'merge'}}),a}function g(...e){let t,a,o,l,[[s,i,d],m]=Ye(e);void 0===i&&U(s)&&(e=>{let t=0;return f(xt,(r=>{r in e&&(null==e[r]&&G(`sample: ${r} should be defined`),t=1)})),t})(s)&&(i=s.clock,d=s.fn,l=s.greedy,t=s.target,a=s.name,o=s.sid,s=s.source);let g=1;void 0===s&&(r(i,'sample','clock'),Array.isArray(i)&&(i=h(i)),s=i,g=0),g&&!I(s)&&(s=p(s)),void 0===i&&(i=s),r(i,'sample','clock'),a=m||a||s.shortName;let y=je(),b=!!t;t||(z(s)&&z(i)?t=u(d?d(ue(be(s)),ue(be(i))):ue(be(s)),{name:a,sid:o}):(t=c(a),y&&he(t).seq.push(y.loader)));let k=b&&I(t)&&he(t).meta.nativeTemplate;if(z(s)){let e=be(s);Ne(s,[lt(i,t,{scope:{fn:d,targetTemplate:k},node:[y&&y.loader,!l&&re({priority:j}),ae({store:e,to:d?E:P}),d&&oe({fn:de}),y&&b&&y.upward],meta:{op:F,sample:x}})]),y&&(Ze(y.plain,e)||Ze(y.closure,e)||y.closure.push(e))}else{let e=ce(0),r=ce(),a=ce();y&&y.plain.push(e,r,a),n({parent:s,node:[ie({store:r}),ae({from:_,store:1,target:e})],family:{owners:[s,t,i],links:t},meta:{op:F,sample:'source'},regional:1}),Ne(s,[lt(i,t,{scope:{fn:d,targetTemplate:k},node:[y&&y.loader,ie({store:a}),ae({store:e}),le({fn:e=>e}),!l&&re({priority:j}),ae({store:r}),ae({store:a,to:E}),d&&oe({fn:pe}),y&&b&&y.upward],meta:{op:F,sample:'clock'}})])}return t}function y(e){let t=Object.values(e),r={};return f(t,(({id:e})=>{r[e]=[]})),f(t,(({id:e,before:t,after:a})=>{t&&f(t,(t=>{r[t.from.id].push(e)})),a&&f(a,(t=>{r[e].push(t.to.id)}))})),r}function b(e){if(e instanceof Map){let t={};for(let[r,a]of e)I(r)||G('Map key should be a unit'),t[r.sid]=a;return t}return e}function k(e,t){function r(e){l[e]=1;let t=a[e];for(let e=0;e<t.length;e++){let a=t[e];l[a]||o[a]||r(a)}l[e]=0,o[e]=1,n.push(e)}let a={};for(let t in e)a[t]=[...new Set(e[t])];let n=[],o={},l={};for(let e in a)o[e]||l[e]||r(e);if(n.reverse(),t&&t.size>0){let e,r=[],o=[...t];for(;e=o.shift();)r.push(e),f(a[e],(e=>{Ze(r,e)||Ze(o,e)||o.push(e)}));f(r,(e=>{et(n,e)}))}return n}function w(e){let t=[];return function e(r){Ze(t,r)||(t.push(r),v(r,e))}(he(e)),t}function v(e,t){let r=e.meta.unit;'fork'!==r&&r!==D&&(f(e.next,t),f(ge(e),t),f(ye(e),t))}let S='undefined'!=typeof Symbol&&Symbol.observable||'@@observable',x='store',q='event',N='effect',A='domain',j='sampler',O='crosslink',C='map',P='stack',R='barrier',_='value',D='forkInFlightCounter',F='sample',M='filter',E='a',I=e=>(J(e)||U(e))&&'kind'in e;const $=e=>t=>I(t)&&t.kind===e;let z=$(x),T=$(q),W=$(N),H=$(A);var B={__proto__:null,unit:I,store:z,event:T,effect:W,domain:H};let G=e=>{throw Error(e)},U=e=>'object'==typeof e&&null!==e,J=e=>'function'==typeof e,K=e=>{U(e)||J(e)||G('expect first argument be an object')};const L=()=>{let e=0;return()=>(++e).toString(36)};let Q=L(),V=L(),X=L(),Y=(e,t)=>e.bind(null,t),Z=(e,t,r)=>e.bind(null,t,r);const ee=(e,t,r)=>({id:V(),type:e,data:r,hasRef:t});let te=0,re=({priority:e=R})=>ee(R,0,{barrierID:++te,priority:e}),ae=({from:e=x,store:t,target:r,to:a=(r?x:P)})=>ee('mov',e===x,{from:e,store:t,to:a,target:r}),ne={defined:()=>ee('check',0,{type:'defined'}),changed:({store:e})=>ee('check',1,{type:'changed',store:e})},oe=Z(ee,'compute',0),le=Z(ee,M,0),se=Z(ee,'run',0),ie=({store:e})=>ae({from:P,target:e});var fe={__proto__:null,barrier:re,mov:ae,check:ne,compute:oe,filter:le,run:se,update:ie};let ce=e=>({id:V(),current:e}),ue=({current:e})=>e,pe=(e,{fn:t},{a:r})=>t(e,r),de=(e,{fn:t},{a:r})=>t(r,e),me=(e,{fn:t})=>t(e),he=e=>e.graphite||e,ge=e=>e.family.owners,ye=e=>e.family.links,be=e=>e.stateRef,ke=e=>e.config,we=e=>e.ɔ,ve=e=>e.value,Se=e=>e.subscribers,xe=e=>e.parent,qe=e=>e.forkPage,Ne=(e,t)=>{let r=he(e);for(let e=0;e<t.length;e++){let a=he(t[e]);r.family.type!==A&&(a.family.type=O),ge(a).push(r),ye(r).push(a)}},Ae=null,je=()=>Ae&&Ae.template,Oe=e=>(e&&Ae&&Ae.sidRoot&&(e=`${Ae.sidRoot}ɔ${e}`),e);const Ce=(e=[])=>{let t=[];if(Array.isArray(e))for(let r=0;r<e.length;r++)Array.isArray(e[r])?t.push(...e[r]):t.push(e[r]);else t.push(e);return t.map(he)};let Pe=({hasRef:e,type:t,data:r},a)=>{let n;e&&(n=r.store,a[n.id]=n),'mov'===t&&r.to===x&&(n=r.target,a[n.id]=n)},Re=null;const _e=(e,t)=>{if(!e)return t;if(!t)return e;let r,a=e.v.type===t.v.type;return(a&&e.v.id>t.v.id||!a&&e.v.type===j)&&(r=e,e=t,t=r),r=_e(e.r,t),e.r=e.l,e.l=r,e},De=[];let Fe=0;for(;Fe<5;)De.push({first:null,last:null,size:0}),Fe+=1;const Me=()=>{for(let e=0;e<5;e++){let t=De[e];if(t.size>0){if(2===e||3===e){t.size-=1;let e=Re.v;return Re=_e(Re.l,Re.r),e}1===t.size&&(t.last=null);let r=t.first;return t.first=r.r,t.size-=1,r.v}}},Ee=(e,t,r,a,n,o)=>Ie(0,{a:null,b:null,node:r,parent:a,value:n,page:t,forkPage:o},e),Ie=(e,t,r,a=0)=>{let n=$e(r),o=De[n],l={v:{idx:e,stack:t,type:r,id:a},l:0,r:0};2===n||3===n?Re=_e(Re,l):(0===o.size?o.first=l:o.last.r=l,o.last=l),o.size+=1},$e=e=>{switch(e){case'child':return 0;case'pure':return 1;case R:return 2;case j:return 3;case N:return 4;default:return-1}},ze=new Set;let Te,We=1,He=0,Be=null,Ge=e=>{Te=e},Ue=e=>{Be=e};const Je=(e,t)=>{if(e){for(;e&&!e.reg[t];)e=xe(e);if(e)return e}return null},Ke=(e,t,r)=>(Je(e,r)||t).reg[r],Le=(e,{fn:t},r)=>{try{return t(ve(r),e.scope,r)}catch(t){console.error(t),e.fail=1}};let Qe=(e,t)=>''+e.shortName+t,Ve=(e,t)=>null==t?Qe(e,' → *'):t,Xe=(e,t)=>{K(e),we(e)&&t(ke(e),we(e))},Ye=e=>{let t;return Xe(e[0],((r,a)=>{t=r,e=a})),[e,t]},Ze=(e,t)=>e.includes(t),et=(e,t)=>{let r=e.indexOf(t);-1!==r&&e.splice(r,1)};const tt=(e,t)=>{et(e.next,t),et(ge(e),t),et(ye(e),t)},rt=(e,t,r)=>{let a;e.next.length=0,e.seq.length=0,e.scope=null;let n=ye(e);for(;a=n.pop();)tt(a,e),(t||r&&!e.meta.sample||a.family.type===O)&&rt(a,t,'on'!==a.meta.op&&r);for(n=ge(e);a=n.pop();)tt(a,e),r&&a.family.type===O&&rt(a,t,'on'!==a.meta.op&&r)},at=e=>e.clear();let nt=(e,{deep:t}={})=>{let r=0;if(e.ownerSet&&e.ownerSet.delete(e),z(e))at(Se(e));else if(H(e)){r=1;let t=e.history;at(t.events),at(t.effects),at(t.stores),at(t.domains)}rt(he(e),!!t,r)},ot=e=>{let t=Z(nt,e,void 0);return t.unsubscribe=t,t},lt=(e,t,{node:r,scope:a,meta:o})=>n({node:r,parent:e,child:t,scope:a,meta:o,family:{owners:[e,t],links:t},regional:1}),st=e=>{let t;Xe(e,((r,a)=>{t=r,e=a}));let{from:a,to:o,meta:l={op:'forward'}}=e;return r(a,'forward','"from"'),r(o,'forward','"to"'),t&&(l.config=t),ot(n({parent:a,child:o,meta:l,family:{},regional:1}))},ft=(e,t)=>{if(J(t)||G('.watch argument should be a function'),Te){let t=Te.nodeMap[he(e).id];t&&(e=t)}return ot(n({scope:{fn:t},node:[se({fn:me})],parent:e,meta:{op:'watch'},family:{owners:e},regional:1}))};const ct=(e,t)=>(U(e)&&(ct(ke(e),t),null!=e.name&&(U(e.name)?ct(e.name,t):J(e.name)?t.handler=e.name:t.name=e.name),e.loc&&(t.loc=e.loc),(e.sid||null===e.sid)&&(t.sid=e.sid),e.handler&&(t.handler=e.handler),e.updateFilter&&(t.updateFilter=e.updateFilter),xe(e)&&(t.parent=xe(e)),'strict'in e&&(t.strict=e.strict),e.named&&(t.named=e.named),ct(we(e),t)),t);let ut,pt=(e,t,r=q)=>{xe(e)&&xe(e).hooks[r](t)},dt=(e,t,r,a)=>{let n=ct({name:a,config:r},{}),o=e===A,l=Q(),{parent:i=null,sid:f=null,strict:c=1,named:u=null}=n,p=u||n.name||(o?'':l),d=s(p,i),m={unit:t.kind=e,name:t.shortName=p,sid:t.sid=Oe(f),named:u,unitId:t.id=l};if(t.parent=i,t.compositeName=d,t.defaultConfig=n,t.thru=e=>e(t),t.getType=()=>d.fullName,!o){t.subscribe=e=>(K(e),t.watch(J(e)?e:t=>{e.next&&e.next(t)})),t[S]=()=>t;let e=je();e&&(m.nativeTemplate=e)}return ut=c,m},mt=e=>c({named:e});const ht=(e,t,r,a)=>lt(e,t,{scope:{fn:a},node:[oe({fn:me})],meta:{op:r}}),gt=(e,t,r,a)=>{let n;U(r)&&(n=r,r=r.fn);let o=c(Qe(e,' →? *'),n);return lt(e,o,{scope:{fn:r},node:a,meta:{op:t}}),o},yt=(e,t,r,a,n,o)=>{let l=be(t),s=[ae({store:l,to:E}),oe({fn:a?de:pe}),ne.defined(),ne.changed({store:l}),o&&le({fn:(e,t,{a:r})=>o(e,r)}),ie({store:l})],i=je();if(i&&(s.unshift(i.loader),s.push(i.upward),z(e))){let t=be(e);Ze(i.plain,t)||(Ze(i.closure,t)||i.closure.push(t),l.before||(l.before=[]),l.before.push({type:'closure',of:t}))}return lt(e,t,{scope:{fn:n},node:s,meta:{op:r}})},bt=e=>t=>e(...t),kt=(e,t,r,a)=>{let n=e?e=>e.slice():e=>({...e}),o=e?[]:{},s=je(),f=n(o),c=ce(f),p=ce(1);c.type=e?'list':'shape',s&&s.plain.push(c,p);let d=u(f,{name:r||l(t)});he(d).meta.isCombine=1;let m=[ne.defined(),ae({store:c,to:E}),le({fn:(e,{key:t},{a:r})=>e!==r[t]}),ae({store:p,to:'b'}),oe({fn(e,{clone:t,key:r},a){a.b&&(a.a=t(a.a)),a.a[r]=e}}),ae({from:E,target:c}),ae({from:_,store:0,target:p}),re({priority:R}),ae({from:_,store:1,target:p}),ae({store:c}),a&&oe({fn:a}),ne.changed({store:be(d)})],h=c.before=[];return i(t,((e,t)=>{if(!z(e))return void(f[t]=o[t]=e);o[t]=e.defaultState,f[t]=e.getState();let r=lt(e,d,{scope:{key:t,clone:n},node:m,meta:{op:'combine'}}),a=be(e);h.push({type:'field',field:t,from:a}),s&&(Ze(s.plain,a)||r.seq.unshift(s.loader))})),d.defaultShape=t,c.after=[a?{type:C,to:be(d),fn:a}:{type:'copy',to:be(d)}],s||(d.defaultState=a?be(d).current=a(f):o),d};let wt=({params:e,req:t,ok:r,anyway:a,stack:n})=>l=>o({target:[a,vt],params:[r?{status:'done',params:e,result:l}:{status:'fail',params:e,error:l},{fn:r?t.rs:t.rj,value:l}],defer:1,page:n.page,forkPage:qe(n)}),vt=n({node:[se({fn({fn:e,value:t}){e(t)}})],meta:{op:'fx',fx:'sidechain'}});const St=(e,t,r)=>(e.create=t=>(o(e,t),t),he(e).seq.push(oe({fn:(e,t,r)=>(r.forkPage=null,e)})),e.watch((e=>{Ne(r,[e]),t.add(e),e.ownerSet||(e.ownerSet=t),xe(e)||(e.parent=r)})),Ne(r,[e]),r=>(t.forEach(r),e.watch(r))),xt=['source','clock','target'],qt=(e,t,r,a)=>{let n=e[t];n&&o({target:n,params:Array.isArray(n)?n.map((()=>r)):r,defer:1,stack:a})};e.allSettled=(e,{scope:t,params:r})=>{if(!I(e))return Promise.reject(Error('first argument should be unit'));let a=d();a.parentFork=Te;let{forkInFlightCounter:n}=t.graphite.scope;n.scope.defers.push(a);let l=[t.find(e)],s=[];return W(e)?s.push({params:r,req:{rs(e){a.value={status:'done',value:e}},rj(e){a.value={status:'fail',value:e}}}}):s.push(r),l.push(n),s.push(null),o({target:l,params:s,forkPage:t}),a.req},e.attach=e=>{let t;Xe(e,((r,a)=>{t=r,e=a}));let{source:r,effect:a,mapParams:n}=e;n||(n=r?(e,t)=>t:e=>e);let l,s=m(e,t),{runner:i}=he(s).scope,f=({params:e,req:t},{finally:r,effect:a},l)=>{let s,i=wt({params:e,req:t,ok:0,anyway:r,stack:l});try{s=n(e,l.a)}catch(e){return i(e)}o({target:a,params:{params:s,req:{rs:wt({params:e,req:t,ok:1,anyway:r,stack:l}),rj:i}},page:l.page,defer:1})};if(r){let e;z(r)?(e=r,Ne(r,[s])):(e=p(r),Ne(s,[e]));let t=ae({from:x,store:be(e),to:E});l=[se({fn:e=>e}),t,oe({fn:f})],Pe(t,i.reg)}else l=[se({fn:f})];return Ne(a,[s]),i.scope.effect=a,i.meta.onCopy.push(N),i.seq.splice(0,1,...l),pt(a,s,N),s},e.clearNode=nt,e.combine=p,e.createApi=(...e)=>{let[[t,r],a]=Ye(e),n={};return i(r,((e,r)=>{let o=n[r]=c(r,{parent:xe(t),config:a});t.on(o,e),pt(t,o)})),n},e.createDomain=function e(t,r){let a=new Set,o=new Set,l=new Set,s=new Set,f=n({family:{type:A},regional:1}),p={history:{domains:a,stores:o,effects:l,events:s},graphite:f};f.meta=dt(A,p,r,t);let[d,h,g,y]=['onEvent','onEffect','onStore','onDomain'].map(mt);p.hooks={event:d,effect:h,store:g,domain:y},p.onCreateEvent=St(d,s,p),p.onCreateEffect=St(h,l,p),p.onCreateStore=St(g,o,p),p.onCreateDomain=St(y,a,p),p.createEvent=p.event=(e,t)=>d(c(e,{parent:p,config:t})),p.createEffect=p.effect=(e,t)=>h(m(e,{parent:p,config:t})),p.createDomain=p.domain=(t,r)=>e({name:t,parent:p,config:r}),p.createStore=p.store=(e,t)=>g(u(e,{parent:p,config:t}));let b=xe(p);return b&&(i(p.hooks,((e,t)=>{st({from:e,to:b.hooks[t]})})),b.hooks.domain(p)),p},e.createEffect=m,e.createEvent=c,e.createNode=n,e.createStore=u,e.createStoreObject=p,e.fork=(e,{values:t,handlers:r}={})=>{H(e)||G('first argument of fork should be domain');let a=!!t;t=b(t||{});let o=(e=>{function t(e){let t=he(e),a=r.indexOf(t);if(-1===a){let r='unit';e!==t&&e.id!==e.shortName&&(r=e.shortName),G(r+" not found in forked scope")}return p[a]}let r=w(e),a=new Map,o=new Set,l=oe({fn:(e,t,r)=>((!r.node.meta.isCombine||xe(r)&&'combine'!==xe(r).node.meta.op)&&o.add(r.node.meta.forkOf.id),e)}),s=n({scope:{defers:[],inFlight:0,fxID:0},node:[oe({fn(e,t,r){r.parent?'finally'===r.parent.node.meta.named?t.inFlight-=1:(t.inFlight+=1,t.fxID+=1):t.fxID+=1}}),re({priority:j}),se({fn(e,t){let{inFlight:r,defers:a,fxID:n}=t;r>0||0===a.length||Promise.resolve().then((()=>{t.fxID===n&&f(a.splice(0,a.length),(e=>{Ge(e.parentFork),e.rs(e.value)}))}))}})],meta:{unit:D}}),c={},u={},p=r.map((e=>{let{seq:t,next:r,meta:a,scope:o}=e,l=n({node:t.map((e=>({id:e.id,type:e.type,data:{...e.data},hasRef:e.hasRef}))),child:[...r],meta:{forkOf:e,...a},scope:{...o}});return l.family={type:e.family.type,links:[...ye(e)],owners:[...ge(e)]},c[e.id]=l,a.sid&&(u[a.sid]=l),l})),d={};return f(p,(e=>{let{reg:r,scope:n,meta:{onCopy:o,op:c,unit:u}}=e;switch(i(r,((e,t)=>{let n=a.get(e);n||(n={id:e.id,current:e.current},a.set(e,n)),d[t]=r[t]=n})),o&&f(o,(e=>{let r=n[e];n[e]=Array.isArray(r)?r.map(t):t(r)})),v(e,((e,r,a)=>{a[r]=t(e)})),c||u){case x:e.meta.wrapped=(e=>({kind:x,getState:()=>e.reg[e.scope.state.id].current,updates:{watch:Y(ft,e)},graphite:e,family:e.family}))(e),e.meta.sid&&e.seq.push(l);break;case N:e.next.push(s);break;case'fx':n.finally.next.push(s)}})),{cloneOf:e,changedStores:o,nodeMap:c,sidMap:u,clones:p,find:t,reg:d,getState:e=>t(e).meta.wrapped.getState(),graphite:n({family:{type:A,links:[s,...p]},meta:{unit:'fork'},scope:{forkInFlightCounter:s}})}})(e);if(a&&(()=>{let r=w(e),a={},n={},l=new Set,s=new Set,c=Object.getOwnPropertyNames(t);f(r,(({reg:e,meta:t})=>{let{nativeTemplate:r}=t;i(e,((e,t)=>{a[t]=e,r&&s.add(t)}))})),f(o.clones,(e=>{let{reg:r}=e,{unit:a,sid:s}=e.meta;if(a===x&&s&&Ze(c,s)){let{state:a}=e.scope;r[a.id].current=t[s],l.add(a),o.changedStores.add(e.meta.forkOf.id)}i(r,((e,t)=>{n[t]=e}))})),f(k(y(a),s),(e=>{((e,t)=>{let r=0;if(t&&t.before&&!l.has(e)&&f(t.before,(t=>{switch(t.type){case C:e.current=t.fn(n[t.from.id].current);break;case'field':{let a=n[t.from.id];r||(r=1,e.current=Array.isArray(e.current)?[...e.current]:{...e.current}),e.current[t.field]=a.current;break}}})),!t||!t.after)return;let a=e.current;f(t.after,(e=>{let t=n[e.to.id];switch(e.type){case'copy':t.current=a;break;case C:t.current=e.fn(a)}}))})(n[e],a[e])}))})(),r){r=b(r);let e=Object.keys(r);f(o.clones,(({scope:t,meta:a})=>{a.sid&&Ze(e,a.sid)&&(t.runner.scope.getHandler=()=>r[a.sid])}))}return o},e.forward=st,e.fromObservable=e=>{K(e);let t=S in e?e[S]():e;t.subscribe||G('expect observable to have .subscribe');let r=c(),a=Z(nt,r,void 0);return t.subscribe({next:r,error:a,complete:a}),r},e.guard=(...e)=>{let t={op:'guard'},a='guard',[[o,l],s]=Ye(e);s&&(t.config=s,s.name&&(a=s.name)),l||(l=o,o=l.source);let{filter:i,greedy:f,clock:u,name:d=a}=l,m=l.target||c(d,t.config),y=I(i),b=1;return void 0===o&&(r(u,'guard','clock'),Array.isArray(u)&&(u=h(u)),o=u,b=0),b&&!I(o)&&(o=p(o)),u&&(r(u,'guard','clock'),o=g({source:o,clock:u,greedy:f,fn:y?null:(e,t)=>({source:e,clock:t})})),r(m,'guard','target'),y?g({source:i,clock:o,target:n({node:[le({fn:({guard:e})=>e}),oe({fn:({data:e})=>e})],child:m,meta:t,family:{owners:[o,i,m,...[].concat(u||[])],links:m},regional:1}),fn:(e,t)=>({guard:e,data:t}),greedy:f,name:d}):(J(i)||G('`filter` should be function or unit'),lt(o,m,{scope:{fn:i},node:u?[le({fn:({source:e,clock:t},{fn:r})=>r(e,t)}),oe({fn:({source:e})=>e})]:[le({fn:me})],meta:t})),m},e.hydrate=(e,{values:t})=>{let r=U(e)&&e.cloneOf;H(e)||r||G('first argument of hydrate should be domain or scope'),U(t)||G('values property should be an object');let a,n,l=b(t);if(r)a=[],n=[],i(l,((t,r)=>{let o=e.sidMap[r];o&&(a.push(o),n.push(t),e.changedStores.add(o.meta.forkOf.id))}));else{let t=(({flatGraphUnits:e,values:t,collectWatches:r})=>{let a=[],n=[],o={},l=new Set,s=Object.getOwnPropertyNames(t);return f(e,(e=>{let{reg:f}=e,{op:c,unit:u,sid:p}=e.meta;if(u===x&&p&&Ze(s,p)){let{state:r}=e.scope;r.current=t[p],l.add(r)}if(r&&'watch'===c){let t=e.family.owners[0];t.meta.unit===x&&(a.push(e),n.push(t.scope.state))}i(f,((e,t)=>{o[t]=e}))})),f(k(y(o)),(e=>{(e=>{let t=0;if(e.before&&!l.has(e)&&f(e.before,(r=>{switch(r.type){case C:e.current=r.fn(r.from.current);break;case'field':{let a=r.from;t||(t=1,e.current=Array.isArray(e.current)?[...e.current]:{...e.current}),e.current[r.field]=a.current;break}}})),!e.after)return;let r=e.current;f(e.after,(e=>{let t=e.to;switch(e.type){case'copy':t.current=r;break;case C:t.current=e.fn(r)}}))})(o[e])})),{storeWatches:a,storeWatchesRefs:n}})({flatGraphUnits:w(e),values:l,collectWatches:1});a=t.storeWatches,n=t.storeWatchesRefs.map((({current:e})=>e))}o({target:a,params:n,forkPage:r?e:0})},e.is=B,e.launch=o,e.merge=h,e.restore=(e,t,r)=>{if(z(e))return e;if(I(e)){let a,n=xe(e);return T(e)&&(a=u(t,{parent:n,name:e.shortName,ɔ:r}).on(e,((e,t)=>t))),W(e)&&(a=u(t,{parent:n,name:e.shortName,ɔ:r}).on(e.done,((e,{result:t})=>t))),n&&n.hooks.store(a),a}let a=Array.isArray(e)?[]:{};return i(e,((e,t)=>{a[t]=z(e)?e:u(e,{name:t})})),a},e.sample=g,e.scopeBind=e=>{Te||G('scopeBind cannot be called outside of forked .watch');let t=Te,r=Te.find(e);return W(e)?e=>{let a=d();o({target:r,params:{params:e,req:a},forkPage:t})}:e=>(o({target:r,params:e,forkPage:t}),e)},e.serialize=({clones:e,changedStores:t},{ignore:r=[],onlyChanges:a}={})=>{let n={};return f(e,(({meta:e,scope:r,reg:o})=>{if(e.unit!==x)return;let{sid:l}=e;l&&(!a&&!e.isCombine||t.has(e.forkOf.id))&&(n[l]=o[r.state.id].current)})),f(r,(({sid:e})=>{e&&delete n[e]})),n},e.setStoreName=(e,t)=>{let r=s(t,xe(e));if(e.shortName=t,!e.compositeName)return void(e.compositeName=r);let a=e.compositeName;a.path=r.path,a.shortName=r.shortName,a.fullName=r.fullName},e.split=(...e)=>{let t,[[r,a],o]=Ye(e),l=!a;l&&(t=r.cases,a=r.match,r=r.source);let s=z(a),f=!I(a)&&J(a),u=!s&&!f&&U(a);t||(t={}),l||(u||G('match should be an object'),i(a,((e,r)=>{t[r]=c(o)})),t.__=c(o));let p,d=je(),m=new Set([].concat(r,Object.values(t))),h=Object.keys(s||f?t:a);if(s||f)s&&m.add(a),p=[s&&re({priority:'sampler'}),s&&ae({store:be(a),to:'a'}),le({fn(e,t,r){let n=String(s?r.a:a(e));qt(t,Ze(h,n)?n:'__',e,r)}})];else if(u){let e=ce({});e.type='shape';let t,r=e.before=[],n=[ae({store:e,to:E}),oe({fn(e,{key:t},{a:r}){r[t]=e}})],o=[];i(a,((a,l)=>{if(I(a)){t=1,o.push(l),m.add(a);let s=lt(a,[],{node:n,scope:{key:l}});if(z(a)){e.current[l]=a.getState();let t=be(a);r.push({type:'field',field:l,from:t}),d&&(Ze(d.plain,t)||s.seq.unshift(d.loader))}}})),t&&d&&d.plain.push(e),p=[t&&re({priority:'sampler'}),t&&ae({store:e,to:'a'}),le({fn(e,t,r){for(let n=0;n<h.length;n++){let l=h[n];if(Ze(o,l)?r.a[l]:a[l](e))return void qt(t,l,e,r)}qt(t,'__',e,r)}})]}else G('expect match to be unit, function or object');if(n({meta:{onCopy:Object.keys(t),op:'split'},parent:r,scope:t,node:p,family:{type:'crosslink',owners:Array.from(m)},regional:1}),!l)return t},e.step=fe,e.version="21.8.5",e.withFactory=({sid:e,name:t,loc:r,method:o,fn:l})=>a(n({meta:{sidRoot:Oe(e),name:t,loc:r,method:o}}),l),e.withRegion=a,Object.defineProperty(e,'__esModule',{value:1})}));
((e,t)=>{'object'==typeof exports&&'undefined'!=typeof module?t(exports):'function'==typeof define&&define.amd?define(['exports'],t):t((e='undefined'!=typeof globalThis?globalThis:e||self).effector={})})(this,(e=>{function t(e,t,r,a){(U(e)||J(e))&&('family'in e||'graphite'in e)||G(`${t}: expect ${r} to be a unit (store, event or effect)${a}`)}function r(e,r,a){if(Array.isArray(e))for(let n=0;n<e.length;n++)t(e[n],r,`${n} item of ${a}`,'');else t(e,r,a,' or array of units')}function a(e,t){let r=he(e).meta;Ae={parent:Ae,value:e,template:r.template||je(),sidRoot:r.sidRoot||Ae&&Ae.sidRoot};try{return t()}finally{Ae=xe(Ae)}}function n({node:e=[],from:t,source:r,parent:a=t||r,to:n,target:o,child:l=n||o,scope:s={},meta:i={},family:f={type:'regular'},regional:c}={}){let u=Ce(a),p=Ce(f.links),d=Ce(f.owners),m=[],h={};for(let t=0;t<e.length;t++){let r=e[t];r&&(m.push(r),Pe(r,h))}let g={id:X(),seq:m,next:Ce(l),meta:i,scope:s,family:{type:f.type||O,links:p,owners:d},reg:h};for(let e=0;e<p.length;e++)ge(p[e]).push(g);for(let e=0;e<d.length;e++)ye(d[e]).push(g);for(let e=0;e<u.length;e++)u[e].next.push(g);return c&&Ae&&Ne(ve(Ae),[g]),g}function o(e,t,r){let a=Be,n=null,o=Te;if(e.target&&(t=e.params,r=e.defer,a='page'in e?e.page:a,e.stack&&(n=e.stack),o=qe(e)||o,e=e.target),o&&Te&&o!==Te&&(Te=null),Array.isArray(e))for(let r=0;r<e.length;r++)Ee('pure',a,he(e[r]),n,t[r],o);else Ee('pure',a,he(e),n,t,o);if(r&&!We)return;let l,s,i,f,c,u,p={isRoot:We,currentPage:Be,forkPage:Te,isWatch:He};We=0;e:for(;f=Me();){let{idx:e,stack:t,type:r}=f;i=t.node,Be=c=t.page,Te=qe(t),u=(c||i).reg;let a={fail:0,scope:i.scope};l=s=0;for(let n=e;n<i.seq.length&&!l;n++){let o=i.seq[n],f=o.data;switch(o.type){case R:{let a=f.barrierID;c&&(a=`${c.fullID}_${a}`);let o=f.priority;if(n!==e||r!==o){ze.has(a)||(ze.add(a),Ie(n,t,o,a));continue e}ze.delete(a);break}case'mov':{let e;switch(f.from){case P:e=ve(t);break;case E:case'b':e=t[f.from];break;case _:e=f.store;break;case x:u[f.store.id]||(t.page=c=Je(c,f.store.id),u=c?c.reg:i.reg),e=ue(u[f.store.id])}switch(f.to){case P:t.value=e;break;case E:case'b':t[f.to]=e;break;case x:Ke(c,i,f.target.id).current=e}break}case'check':switch(f.type){case'defined':s=void 0===ve(t);break;case'changed':s=ve(t)===ue(Ke(c,i,f.store.id))}break;case M:s=!Le(a,f,t);break;case'run':if(n!==e||r!==N){Ie(n,t,N);continue e}case'compute':He='watch'===i.meta.op,t.value=Le(a,f,t),He=p.isWatch}l=a.fail||s}if(!l)for(let e=0;e<i.next.length;e++)Ee('child',c,i.next[e],t,ve(t),qe(t))}We=p.isRoot,Be=p.currentPage,Te=qe(p)}function l(e,t="combine"){let r=t+'(',a='',n=0;for(let t in e){let o=e[t];if(null!=o&&(r+=a,r+=I(o)?o.compositeName.fullName:o.toString()),n+=1,25===n)break;a=', '}return r+=')',r}function s(e,t){let r,a,n,o=e;return t?(n=t.compositeName,0===e.length?(r=n.path,a=n.fullName):(r=n.path.concat([e]),a=0===n.fullName.length?e:n.fullName+'/'+e)):(r=0===e.length?[]:[e],a=e),{shortName:o,fullName:a,path:r}}function i(e,t){for(let r in e)t(e[r],r)}function f(e,t){e.forEach(t)}function c(e,t){let r=(e,...t)=>Be?((e,t,r,a)=>{let n=Be,o=null;if(t)for(o=Be;o&&o.template!==t;)o=xe(o);Ue(o);let l=e.create(r,a);return Ue(n),l})(r,a,e,t):r.create(e,t);r.graphite=n({meta:dt(q,r,t,e),regional:1}),r.create=e=>(o(Te?Te.find(r):r,e),e),r.watch=Y(ft,r),r.map=e=>{let t,a;U(e)&&(t=e,a=e.name,e=e.fn);let n=c(Ve(r,a),t);return ht(r,n,C,e),n},r.filter=e=>gt(r,M,e.fn?e:e.fn,[le({fn:me})]),r.filterMap=e=>gt(r,'filterMap',e,[oe({fn:me}),ne.defined()]),r.prepend=e=>{let t=c('* → '+r.shortName,{parent:xe(r)}),a=je();return a&&he(t).seq.push(a.upward),ht(t,r,'prepend',e),pt(r,t),t};let a=je();return r}function u(e,t){function a(e,t){p.off(e),Se(p).set(e,ot(yt(e,p,'on',1,t,m)))}let l=ce(e),s=ce(e),i=mt('updates'),f=je();l.after=[{type:'copy',to:s}],f&&f.plain.push(l,s);let c=l.id,p={subscribers:new Map,updates:i,defaultState:e,stateRef:l,getState(){let e,t=l;if(Be){let t=Be;for(;t&&!t.reg[c];)t=xe(t);t&&(e=t)}return!e&&Te&&Te.reg[c]&&(e=Te),e&&(t=e.reg[c]),ue(t)},setState(e){let t;Te&&(t=Te.nodeMap[he(p).id]),t||(t=p),o({target:t,params:e,defer:1})},reset(...e){for(let t of e)p.on(t,(()=>p.defaultState));return p},on(e,t){if(r(e,'.on','first argument'),Array.isArray(e))for(let r of e)a(r,t);else a(e,t);return p},off(e){let t=Se(p).get(e);return t&&(t(),Se(p).delete(e)),p},map(e,t){let r,a,n;U(e)&&(r=e,a=e.name,t=e.firstState,e=e.fn);let o=p.getState(),s=je();s?n=null:void 0!==o&&(n=e(o,t));let i=u(n,{name:Ve(p,a),config:r,strict:0}),f=yt(p,i,C,0,e);return be(i).before=[{type:C,fn:e,from:l}],s&&(Ze(s.plain,l)||Ze(f.seq,s.loader)||f.seq.unshift(s.loader)),i},watch(e,t){if(!t||!I(e)){let t=ft(p,e),r=je();return r?r.watch.push({of:l,fn:e}):e(p.getState()),t}return J(t)||G('second argument should be a function'),e.watch((e=>t(p.getState(),e)))}},d=dt(x,p,t),m=p.defaultConfig.updateFilter;return p.graphite=n({scope:{state:l},node:[ne.defined(),ne.changed({store:s}),m&&ae({store:s,to:E}),m&&le({fn:(e,t,{a:r})=>m(e,r)}),ie({store:l}),ie({store:s})],child:i,meta:d,regional:1}),ut&&void 0===e&&G("current state can't be undefined, use null instead"),Ne(p,[i]),p}function p(...e){let t,r,a;Xe(e[0],((t,r)=>{a=t,e=r}));let n,o,l=e[e.length-1];if(J(l)?(r=e.slice(0,-1),t=l):r=e,1===r.length){let e=r[0];z(e)||(n=e,o=1)}return o||(n=r,t&&(t=bt(t))),U(n)||G('shape should be an object'),kt(Array.isArray(n),n,a,t)}function d(){let e={};return e.req=new Promise(((t,r)=>{e.rs=t,e.rj=r})),e.req.catch((()=>{})),e}function m(e,t){let r=c(e,t),a=r.defaultConfig.handler||(()=>G("no handler used in "+r.getType())),l=he(r);l.meta.onCopy=['runner'],l.meta.unit=r.kind=N,r.use=e=>(J(e)||G('.use argument should be a function'),a=e,r);let s=r.finally=mt('finally'),i=r.done=s.filterMap({named:'done',fn({status:e,params:t,result:r}){if('done'===e)return{params:t,result:r}}}),f=r.fail=s.filterMap({named:'fail',fn({status:e,params:t,error:r}){if('fail'===e)return{params:t,error:r}}}),p=r.doneData=i.map({named:'doneData',fn:({result:e})=>e}),m=r.failData=f.map({named:'failData',fn:({error:e})=>e}),h=n({scope:{getHandler:r.use.getCurrent=()=>a,finally:s},node:[se({fn({params:e,req:t},{finally:r,getHandler:a},n){let o,l=wt({params:e,req:t,ok:1,anyway:r,stack:n}),s=wt({params:e,req:t,ok:0,anyway:r,stack:n});try{o=a()(e)}catch(e){return void s(e)}U(o)&&J(o.then)?o.then(l,s):l(o)}})],meta:{op:'fx',fx:'runner',onCopy:['finally']}});l.scope.runner=h,l.seq.push(oe({fn:(e,t,r)=>xe(r)?{params:e,req:{rs(e){},rj(e){}}}:e}),se({fn:(e,{runner:t},r)=>(o({target:t,params:e,defer:1,forkPage:qe(r)}),e.params)})),r.create=e=>{let t=d(),a={params:e,req:t};if(Te){if(!He){let e=Te;t.req.finally((()=>{Ge(e)})).catch((()=>{}))}o(Te.find(r),a)}else o(r,a);return t.req};let g=r.inFlight=u(0,{named:'inFlight'}).on(r,(e=>e+1)).on(s,(e=>e-1)),y=r.pending=g.map({fn:e=>e>0,named:'pending'});return Ne(r,[s,i,f,p,m,y,g,h]),r}function h(e,t){let a=c(t||l(e,'merge'));return r(e,'merge','first argument'),st({from:e,to:a,meta:{op:'merge'}}),a}function g(...e){let t,a,o,l,[[s,i,d],m]=Ye(e);void 0===i&&U(s)&&(e=>{let t=0;return f(xt,(r=>{r in e&&(null==e[r]&&G(`sample: ${r} should be defined`),t=1)})),t})(s)&&(i=s.clock,d=s.fn,l=s.greedy,t=s.target,a=s.name,o=s.sid,s=s.source);let g=1;void 0===s&&(r(i,'sample','clock'),Array.isArray(i)&&(i=h(i)),s=i,g=0),g&&!I(s)&&(s=p(s)),void 0===i&&(i=s),r(i,'sample','clock'),a=m||a||s.shortName;let y=je(),b=!!t;t||(z(s)&&z(i)?t=u(d?d(ue(be(s)),ue(be(i))):ue(be(s)),{name:a,sid:o}):(t=c(a),y&&he(t).seq.push(y.loader)));let k=b&&I(t)&&he(t).meta.nativeTemplate;if(z(s)){let e=be(s);Ne(s,[lt(i,t,{scope:{fn:d,targetTemplate:k},node:[y&&y.loader,!l&&re({priority:j}),ae({store:e,to:d?E:P}),d&&oe({fn:de}),y&&b&&y.upward],meta:{op:F,sample:x}})]),y&&(Ze(y.plain,e)||Ze(y.closure,e)||y.closure.push(e))}else{let e=ce(0),r=ce(),a=ce();y&&y.plain.push(e,r,a),n({parent:s,node:[ie({store:r}),ae({from:_,store:1,target:e})],family:{owners:[s,t,i],links:t},meta:{op:F,sample:'source'},regional:1}),Ne(s,[lt(i,t,{scope:{fn:d,targetTemplate:k},node:[y&&y.loader,ie({store:a}),ae({store:e}),le({fn:e=>e}),!l&&re({priority:j}),ae({store:r}),ae({store:a,to:E}),d&&oe({fn:pe}),y&&b&&y.upward],meta:{op:F,sample:'clock'}})])}return t}function y(e){let t=Object.values(e),r={};return f(t,(({id:e})=>{r[e]=[]})),f(t,(({id:e,before:t,after:a})=>{t&&f(t,(t=>{r[t.from.id].push(e)})),a&&f(a,(t=>{r[e].push(t.to.id)}))})),r}function b(e){if(e instanceof Map){let t={};for(let[r,a]of e)I(r)||G('Map key should be a unit'),t[r.sid]=a;return t}return e}function k(e,t){function r(e){l[e]=1;let t=a[e];for(let e=0;e<t.length;e++){let a=t[e];l[a]||o[a]||r(a)}l[e]=0,o[e]=1,n.push(e)}let a={};for(let t in e)a[t]=[...new Set(e[t])];let n=[],o={},l={};for(let e in a)o[e]||l[e]||r(e);if(n.reverse(),t&&t.size>0){let e,r=[],o=[...t];for(;e=o.shift();)r.push(e),f(a[e],(e=>{Ze(r,e)||Ze(o,e)||o.push(e)}));f(r,(e=>{et(n,e)}))}return n}function w(e){let t=[];return function e(r){Ze(t,r)||(t.push(r),v(r,e))}(he(e)),t}function v(e,t){let r=e.meta.unit;'fork'!==r&&r!==D&&(f(e.next,t),f(ge(e),t),f(ye(e),t))}let S='undefined'!=typeof Symbol&&Symbol.observable||'@@observable',x='store',q='event',N='effect',A='domain',j='sampler',O='crosslink',C='map',P='stack',R='barrier',_='value',D='forkInFlightCounter',F='sample',M='filter',E='a',I=e=>(J(e)||U(e))&&'kind'in e;const $=e=>t=>I(t)&&t.kind===e;let z=$(x),T=$(q),W=$(N),H=$(A);var B={__proto__:null,unit:I,store:z,event:T,effect:W,domain:H};let G=e=>{throw Error(e)},U=e=>'object'==typeof e&&null!==e,J=e=>'function'==typeof e,K=e=>{U(e)||J(e)||G('expect first argument be an object')};const L=()=>{let e=0;return()=>(++e).toString(36)};let Q=L(),V=L(),X=L(),Y=(e,t)=>e.bind(null,t),Z=(e,t,r)=>e.bind(null,t,r);const ee=(e,t,r)=>({id:V(),type:e,data:r,hasRef:t});let te=0,re=({priority:e=R})=>ee(R,0,{barrierID:++te,priority:e}),ae=({from:e=x,store:t,target:r,to:a=(r?x:P)})=>ee('mov',e===x,{from:e,store:t,to:a,target:r}),ne={defined:()=>ee('check',0,{type:'defined'}),changed:({store:e})=>ee('check',1,{type:'changed',store:e})},oe=Z(ee,'compute',0),le=Z(ee,M,0),se=Z(ee,'run',0),ie=({store:e})=>ae({from:P,target:e});var fe={__proto__:null,barrier:re,mov:ae,check:ne,compute:oe,filter:le,run:se,update:ie};let ce=e=>({id:V(),current:e}),ue=({current:e})=>e,pe=(e,{fn:t},{a:r})=>t(e,r),de=(e,{fn:t},{a:r})=>t(r,e),me=(e,{fn:t})=>t(e),he=e=>e.graphite||e,ge=e=>e.family.owners,ye=e=>e.family.links,be=e=>e.stateRef,ke=e=>e.config,we=e=>e.ɔ,ve=e=>e.value,Se=e=>e.subscribers,xe=e=>e.parent,qe=e=>e.forkPage,Ne=(e,t)=>{let r=he(e);for(let e=0;e<t.length;e++){let a=he(t[e]);r.family.type!==A&&(a.family.type=O),ge(a).push(r),ye(r).push(a)}},Ae=null,je=()=>Ae&&Ae.template,Oe=e=>(e&&Ae&&Ae.sidRoot&&(e=`${Ae.sidRoot}ɔ${e}`),e);const Ce=(e=[])=>{let t=[];if(Array.isArray(e))for(let r=0;r<e.length;r++)Array.isArray(e[r])?t.push(...e[r]):t.push(e[r]);else t.push(e);return t.map(he)};let Pe=({hasRef:e,type:t,data:r},a)=>{let n;e&&(n=r.store,a[n.id]=n),'mov'===t&&r.to===x&&(n=r.target,a[n.id]=n)},Re=null;const _e=(e,t)=>{if(!e)return t;if(!t)return e;let r,a=e.v.type===t.v.type;return(a&&e.v.id>t.v.id||!a&&e.v.type===j)&&(r=e,e=t,t=r),r=_e(e.r,t),e.r=e.l,e.l=r,e},De=[];let Fe=0;for(;Fe<5;)De.push({first:null,last:null,size:0}),Fe+=1;const Me=()=>{for(let e=0;e<5;e++){let t=De[e];if(t.size>0){if(2===e||3===e){t.size-=1;let e=Re.v;return Re=_e(Re.l,Re.r),e}1===t.size&&(t.last=null);let r=t.first;return t.first=r.r,t.size-=1,r.v}}},Ee=(e,t,r,a,n,o)=>Ie(0,{a:null,b:null,node:r,parent:a,value:n,page:t,forkPage:o},e),Ie=(e,t,r,a=0)=>{let n=$e(r),o=De[n],l={v:{idx:e,stack:t,type:r,id:a},l:0,r:0};2===n||3===n?Re=_e(Re,l):(0===o.size?o.first=l:o.last.r=l,o.last=l),o.size+=1},$e=e=>{switch(e){case'child':return 0;case'pure':return 1;case R:return 2;case j:return 3;case N:return 4;default:return-1}},ze=new Set;let Te,We=1,He=0,Be=null,Ge=e=>{Te=e},Ue=e=>{Be=e};const Je=(e,t)=>{if(e){for(;e&&!e.reg[t];)e=xe(e);if(e)return e}return null},Ke=(e,t,r)=>(Je(e,r)||t).reg[r],Le=(e,{fn:t},r)=>{try{return t(ve(r),e.scope,r)}catch(t){console.error(t),e.fail=1}};let Qe=(e,t)=>''+e.shortName+t,Ve=(e,t)=>null==t?Qe(e,' → *'):t,Xe=(e,t)=>{K(e),we(e)&&t(ke(e),we(e))},Ye=e=>{let t;return Xe(e[0],((r,a)=>{t=r,e=a})),[e,t]},Ze=(e,t)=>e.includes(t),et=(e,t)=>{let r=e.indexOf(t);-1!==r&&e.splice(r,1)};const tt=(e,t)=>{et(e.next,t),et(ge(e),t),et(ye(e),t)},rt=(e,t,r)=>{let a;e.next.length=0,e.seq.length=0,e.scope=null;let n=ye(e);for(;a=n.pop();)tt(a,e),(t||r&&!e.meta.sample||a.family.type===O)&&rt(a,t,'on'!==a.meta.op&&r);for(n=ge(e);a=n.pop();)tt(a,e),r&&a.family.type===O&&rt(a,t,'on'!==a.meta.op&&r)},at=e=>e.clear();let nt=(e,{deep:t}={})=>{let r=0;if(e.ownerSet&&e.ownerSet.delete(e),z(e))at(Se(e));else if(H(e)){r=1;let t=e.history;at(t.events),at(t.effects),at(t.stores),at(t.domains)}rt(he(e),!!t,r)},ot=e=>{let t=Z(nt,e,void 0);return t.unsubscribe=t,t},lt=(e,t,{node:r,scope:a,meta:o})=>n({node:r,parent:e,child:t,scope:a,meta:o,family:{owners:[e,t],links:t},regional:1}),st=e=>{let t;Xe(e,((r,a)=>{t=r,e=a}));let{from:a,to:o,meta:l={op:'forward'}}=e;return r(a,'forward','"from"'),r(o,'forward','"to"'),t&&(l.config=t),ot(n({parent:a,child:o,meta:l,family:{},regional:1}))},ft=(e,t)=>{if(J(t)||G('.watch argument should be a function'),Te){let t=Te.nodeMap[he(e).id];t&&(e=t)}return ot(n({scope:{fn:t},node:[se({fn:me})],parent:e,meta:{op:'watch'},family:{owners:e},regional:1}))};const ct=(e,t)=>(U(e)&&(ct(ke(e),t),null!=e.name&&(U(e.name)?ct(e.name,t):J(e.name)?t.handler=e.name:t.name=e.name),e.loc&&(t.loc=e.loc),(e.sid||null===e.sid)&&(t.sid=e.sid),e.handler&&(t.handler=e.handler),e.updateFilter&&(t.updateFilter=e.updateFilter),xe(e)&&(t.parent=xe(e)),'strict'in e&&(t.strict=e.strict),e.named&&(t.named=e.named),ct(we(e),t)),t);let ut,pt=(e,t,r=q)=>{xe(e)&&xe(e).hooks[r](t)},dt=(e,t,r,a)=>{let n=ct({name:a,config:r},{}),o=e===A,l=Q(),{parent:i=null,sid:f=null,strict:c=1,named:u=null}=n,p=u||n.name||(o?'':l),d=s(p,i),m={unit:t.kind=e,name:t.shortName=p,sid:t.sid=Oe(f),named:u,unitId:t.id=l};if(t.parent=i,t.compositeName=d,t.defaultConfig=n,t.thru=e=>e(t),t.getType=()=>d.fullName,!o){t.subscribe=e=>(K(e),t.watch(J(e)?e:t=>{e.next&&e.next(t)})),t[S]=()=>t;let e=je();e&&(m.nativeTemplate=e)}return ut=c,m},mt=e=>c({named:e});const ht=(e,t,r,a)=>lt(e,t,{scope:{fn:a},node:[oe({fn:me})],meta:{op:r}}),gt=(e,t,r,a)=>{let n;U(r)&&(n=r,r=r.fn);let o=c(Qe(e,' →? *'),n);return lt(e,o,{scope:{fn:r},node:a,meta:{op:t}}),o},yt=(e,t,r,a,n,o)=>{let l=be(t),s=[ae({store:l,to:E}),oe({fn:a?de:pe}),ne.defined(),ne.changed({store:l}),o&&le({fn:(e,t,{a:r})=>o(e,r)}),ie({store:l})],i=je();if(i&&(s.unshift(i.loader),s.push(i.upward),z(e))){let t=be(e);Ze(i.plain,t)||(Ze(i.closure,t)||i.closure.push(t),l.before||(l.before=[]),l.before.push({type:'closure',of:t}))}return lt(e,t,{scope:{fn:n},node:s,meta:{op:r}})},bt=e=>t=>e(...t),kt=(e,t,r,a)=>{let n=e?e=>e.slice():e=>({...e}),o=e?[]:{},s=je(),f=n(o),c=ce(f),p=ce(1);c.type=e?'list':'shape',s&&s.plain.push(c,p);let d=u(f,{name:r||l(t)});he(d).meta.isCombine=1;let m=[ne.defined(),ae({store:c,to:E}),le({fn:(e,{key:t},{a:r})=>e!==r[t]}),ae({store:p,to:'b'}),oe({fn(e,{clone:t,key:r},a){a.b&&(a.a=t(a.a)),a.a[r]=e}}),ae({from:E,target:c}),ae({from:_,store:0,target:p}),re({priority:R}),ae({from:_,store:1,target:p}),ae({store:c}),a&&oe({fn:a}),ne.changed({store:be(d)})],h=c.before=[];return i(t,((e,t)=>{if(!z(e))return void(f[t]=o[t]=e);o[t]=e.defaultState,f[t]=e.getState();let r=lt(e,d,{scope:{key:t,clone:n},node:m,meta:{op:'combine'}}),a=be(e);h.push({type:'field',field:t,from:a}),s&&(Ze(s.plain,a)||r.seq.unshift(s.loader))})),d.defaultShape=t,c.after=[a?{type:C,to:be(d),fn:a}:{type:'copy',to:be(d)}],s||(d.defaultState=a?be(d).current=a(f):o),d};let wt=({params:e,req:t,ok:r,anyway:a,stack:n})=>l=>o({target:[a,vt],params:[r?{status:'done',params:e,result:l}:{status:'fail',params:e,error:l},{fn:r?t.rs:t.rj,value:l}],defer:1,page:n.page,forkPage:qe(n)}),vt=n({node:[se({fn({fn:e,value:t}){e(t)}})],meta:{op:'fx',fx:'sidechain'}});const St=(e,t,r)=>(e.create=t=>(o(e,t),t),he(e).seq.push(oe({fn:(e,t,r)=>(r.forkPage=null,e)})),e.watch((e=>{Ne(r,[e]),t.add(e),e.ownerSet||(e.ownerSet=t),xe(e)||(e.parent=r)})),Ne(r,[e]),r=>(t.forEach(r),e.watch(r))),xt=['source','clock','target'],qt=(e,t,r,a)=>{let n=e[t];n&&o({target:n,params:Array.isArray(n)?n.map((()=>r)):r,defer:1,stack:a})};e.allSettled=(e,{scope:t,params:r})=>{if(!I(e))return Promise.reject(Error('first argument should be unit'));let a=d();a.parentFork=Te;let{forkInFlightCounter:n}=t.graphite.scope;n.scope.defers.push(a);let l=[t.find(e)],s=[];return W(e)?s.push({params:r,req:{rs(e){a.value={status:'done',value:e}},rj(e){a.value={status:'fail',value:e}}}}):s.push(r),l.push(n),s.push(null),o({target:l,params:s,forkPage:t}),a.req},e.attach=e=>{let t;Xe(e,((r,a)=>{t=r,e=a}));let{source:r,effect:a,mapParams:n}=e;n||(n=r?(e,t)=>t:e=>e);let l,s=m(e,t),{runner:i}=he(s).scope,f=({params:e,req:t},{finally:r,effect:a},l)=>{let s,i=wt({params:e,req:t,ok:0,anyway:r,stack:l});try{s=n(e,l.a)}catch(e){return i(e)}o({target:a,params:{params:s,req:{rs:wt({params:e,req:t,ok:1,anyway:r,stack:l}),rj:i}},page:l.page,defer:1})};if(r){let e;z(r)?(e=r,Ne(r,[s])):(e=p(r),Ne(s,[e]));let t=ae({from:x,store:be(e),to:E});l=[se({fn:e=>e}),t,oe({fn:f})],Pe(t,i.reg)}else l=[se({fn:f})];return Ne(a,[s]),i.scope.effect=a,i.meta.onCopy.push(N),i.seq.splice(0,1,...l),pt(a,s,N),s},e.clearNode=nt,e.combine=p,e.createApi=(...e)=>{let[[t,r],a]=Ye(e),n={};return i(r,((e,r)=>{let o=n[r]=c(r,{parent:xe(t),config:a});t.on(o,e),pt(t,o)})),n},e.createDomain=function e(t,r){let a=new Set,o=new Set,l=new Set,s=new Set,f=n({family:{type:A},regional:1}),p={history:{domains:a,stores:o,effects:l,events:s},graphite:f};f.meta=dt(A,p,r,t);let[d,h,g,y]=['onEvent','onEffect','onStore','onDomain'].map(mt);p.hooks={event:d,effect:h,store:g,domain:y},p.onCreateEvent=St(d,s,p),p.onCreateEffect=St(h,l,p),p.onCreateStore=St(g,o,p),p.onCreateDomain=St(y,a,p),p.createEvent=p.event=(e,t)=>d(c(e,{parent:p,config:t})),p.createEffect=p.effect=(e,t)=>h(m(e,{parent:p,config:t})),p.createDomain=p.domain=(t,r)=>e({name:t,parent:p,config:r}),p.createStore=p.store=(e,t)=>g(u(e,{parent:p,config:t}));let b=xe(p);return b&&(i(p.hooks,((e,t)=>{st({from:e,to:b.hooks[t]})})),b.hooks.domain(p)),p},e.createEffect=m,e.createEvent=c,e.createNode=n,e.createStore=u,e.createStoreObject=p,e.fork=(e,{values:t,handlers:r}={})=>{H(e)||G('first argument of fork should be domain');let a=!!t;t=b(t||{});let o=(e=>{function t(e){let t=he(e),a=r.indexOf(t);if(-1===a){let r='unit';e!==t&&e.id!==e.shortName&&(r=e.shortName),G(r+" not found in forked scope")}return p[a]}let r=w(e),a=new Map,o=new Set,l=oe({fn:(e,t,r)=>((!r.node.meta.isCombine||xe(r)&&'combine'!==xe(r).node.meta.op)&&o.add(r.node.meta.forkOf.id),e)}),s=n({scope:{defers:[],inFlight:0,fxID:0},node:[oe({fn(e,t,r){r.parent?'finally'===r.parent.node.meta.named?t.inFlight-=1:(t.inFlight+=1,t.fxID+=1):t.fxID+=1}}),re({priority:j}),se({fn(e,t){let{inFlight:r,defers:a,fxID:n}=t;r>0||0===a.length||Promise.resolve().then((()=>{t.fxID===n&&f(a.splice(0,a.length),(e=>{Ge(e.parentFork),e.rs(e.value)}))}))}})],meta:{unit:D}}),c={},u={},p=r.map((e=>{let{seq:t,next:r,meta:a,scope:o}=e,l=n({node:t.map((e=>({id:e.id,type:e.type,data:{...e.data},hasRef:e.hasRef}))),child:[...r],meta:{forkOf:e,...a},scope:{...o}});return l.family={type:e.family.type,links:[...ye(e)],owners:[...ge(e)]},c[e.id]=l,a.sid&&(u[a.sid]=l),l})),d={};return f(p,(e=>{let{reg:r,scope:n,meta:{onCopy:o,op:c,unit:u}}=e;switch(i(r,((e,t)=>{let n=a.get(e);n||(n={id:e.id,current:e.current},a.set(e,n)),d[t]=r[t]=n})),o&&f(o,(e=>{let r=n[e];n[e]=Array.isArray(r)?r.map(t):t(r)})),v(e,((e,r,a)=>{a[r]=t(e)})),c||u){case x:e.meta.wrapped=(e=>({kind:x,getState:()=>e.reg[e.scope.state.id].current,updates:{watch:Y(ft,e)},graphite:e,family:e.family}))(e),e.meta.sid&&e.seq.push(l);break;case N:e.next.push(s);break;case'fx':n.finally.next.push(s)}})),{cloneOf:e,changedStores:o,nodeMap:c,sidMap:u,clones:p,find:t,reg:d,getState:e=>t(e).meta.wrapped.getState(),graphite:n({family:{type:A,links:[s,...p]},meta:{unit:'fork'},scope:{forkInFlightCounter:s}})}})(e);if(a&&(()=>{let r=w(e),a={},n={},l=new Set,s=new Set,c=Object.getOwnPropertyNames(t);f(r,(({reg:e,meta:t})=>{let{nativeTemplate:r}=t;i(e,((e,t)=>{a[t]=e,r&&s.add(t)}))})),f(o.clones,(e=>{let{reg:r}=e,{unit:a,sid:s}=e.meta;if(a===x&&s&&Ze(c,s)){let{state:a}=e.scope;r[a.id].current=t[s],l.add(a),o.changedStores.add(e.meta.forkOf.id)}i(r,((e,t)=>{n[t]=e}))})),f(k(y(a),s),(e=>{((e,t)=>{let r=0;if(t&&t.before&&!l.has(e)&&f(t.before,(t=>{switch(t.type){case C:e.current=t.fn(n[t.from.id].current);break;case'field':{let a=n[t.from.id];r||(r=1,e.current=Array.isArray(e.current)?[...e.current]:{...e.current}),e.current[t.field]=a.current;break}}})),!t||!t.after)return;let a=e.current;f(t.after,(e=>{let t=n[e.to.id];switch(e.type){case'copy':t.current=a;break;case C:t.current=e.fn(a)}}))})(n[e],a[e])}))})(),r){r=b(r);let e=Object.keys(r);f(o.clones,(({scope:t,meta:a})=>{a.sid&&Ze(e,a.sid)&&(t.runner.scope.getHandler=()=>r[a.sid])}))}return o},e.forward=st,e.fromObservable=e=>{K(e);let t=S in e?e[S]():e;t.subscribe||G('expect observable to have .subscribe');let r=c(),a=Z(nt,r,void 0);return t.subscribe({next:r,error:a,complete:a}),r},e.guard=(...e)=>{let t={op:'guard'},a='guard',[[o,l],s]=Ye(e);s&&(t.config=s,s.name&&(a=s.name)),l||(l=o,o=l.source);let{filter:i,greedy:f,clock:u,name:d=a}=l,m=l.target||c(d,t.config),y=I(i),b=1;return void 0===o&&(r(u,'guard','clock'),Array.isArray(u)&&(u=h(u)),o=u,b=0),b&&!I(o)&&(o=p(o)),u&&(r(u,'guard','clock'),o=g({source:o,clock:u,greedy:f,fn:y?null:(e,t)=>({source:e,clock:t})})),r(m,'guard','target'),y?g({source:i,clock:o,target:n({node:[le({fn:({guard:e})=>e}),oe({fn:({data:e})=>e})],child:m,meta:t,family:{owners:[o,i,m,...[].concat(u||[])],links:m},regional:1}),fn:(e,t)=>({guard:e,data:t}),greedy:f,name:d}):(J(i)||G('`filter` should be function or unit'),lt(o,m,{scope:{fn:i},node:u?[le({fn:({source:e,clock:t},{fn:r})=>r(e,t)}),oe({fn:({source:e})=>e})]:[le({fn:me})],meta:t})),m},e.hydrate=(e,{values:t})=>{let r=U(e)&&e.cloneOf;H(e)||r||G('first argument of hydrate should be domain or scope'),U(t)||G('values property should be an object');let a,n,l=b(t);if(r)a=[],n=[],i(l,((t,r)=>{let o=e.sidMap[r];o&&(a.push(o),n.push(t),e.changedStores.add(o.meta.forkOf.id))}));else{let t=(({flatGraphUnits:e,values:t,collectWatches:r})=>{let a=[],n=[],o={},l=new Set,s=Object.getOwnPropertyNames(t);return f(e,(e=>{let{reg:f}=e,{op:c,unit:u,sid:p}=e.meta;if(u===x&&p&&Ze(s,p)){let{state:r}=e.scope;r.current=t[p],l.add(r)}if(r&&'watch'===c){let t=e.family.owners[0];t.meta.unit===x&&(a.push(e),n.push(t.scope.state))}i(f,((e,t)=>{o[t]=e}))})),f(k(y(o)),(e=>{(e=>{let t=0;if(e.before&&!l.has(e)&&f(e.before,(r=>{switch(r.type){case C:e.current=r.fn(r.from.current);break;case'field':{let a=r.from;t||(t=1,e.current=Array.isArray(e.current)?[...e.current]:{...e.current}),e.current[r.field]=a.current;break}}})),!e.after)return;let r=e.current;f(e.after,(e=>{let t=e.to;switch(e.type){case'copy':t.current=r;break;case C:t.current=e.fn(r)}}))})(o[e])})),{storeWatches:a,storeWatchesRefs:n}})({flatGraphUnits:w(e),values:l,collectWatches:1});a=t.storeWatches,n=t.storeWatchesRefs.map((({current:e})=>e))}o({target:a,params:n,forkPage:r?e:0})},e.is=B,e.launch=o,e.merge=h,e.restore=(e,t,r)=>{if(z(e))return e;if(I(e)){let a,n=xe(e);return T(e)&&(a=u(t,{parent:n,name:e.shortName,ɔ:r}).on(e,((e,t)=>t))),W(e)&&(a=u(t,{parent:n,name:e.shortName,ɔ:r}).on(e.done,((e,{result:t})=>t))),n&&n.hooks.store(a),a}let a=Array.isArray(e)?[]:{};return i(e,((e,t)=>{a[t]=z(e)?e:u(e,{name:t})})),a},e.sample=g,e.scopeBind=e=>{Te||G('scopeBind cannot be called outside of forked .watch');let t=Te,r=Te.find(e);return W(e)?e=>{let a=d();o({target:r,params:{params:e,req:a},forkPage:t})}:e=>(o({target:r,params:e,forkPage:t}),e)},e.serialize=({clones:e,changedStores:t},{ignore:r=[],onlyChanges:a}={})=>{let n={};return f(e,(({meta:e,scope:r,reg:o})=>{if(e.unit!==x)return;let{sid:l}=e;l&&(!a&&!e.isCombine||t.has(e.forkOf.id))&&(n[l]=o[r.state.id].current)})),f(r,(({sid:e})=>{e&&delete n[e]})),n},e.setStoreName=(e,t)=>{let r=s(t,xe(e));if(e.shortName=t,!e.compositeName)return void(e.compositeName=r);let a=e.compositeName;a.path=r.path,a.shortName=r.shortName,a.fullName=r.fullName},e.split=(...e)=>{let t,[[r,a],o]=Ye(e),l=!a;l&&(t=r.cases,a=r.match,r=r.source);let s=z(a),f=!I(a)&&J(a),u=!s&&!f&&U(a);t||(t={}),l||(u||G('match should be an object'),i(a,((e,r)=>{t[r]=c(o)})),t.__=c(o));let p,d=je(),m=new Set([].concat(r,Object.values(t))),h=Object.keys(s||f?t:a);if(s||f)s&&m.add(a),p=[s&&re({priority:'sampler'}),s&&ae({store:be(a),to:'a'}),le({fn(e,t,r){let n=String(s?r.a:a(e));qt(t,Ze(h,n)?n:'__',e,r)}})];else if(u){let e=ce({});e.type='shape';let t,r=e.before=[],n=[ae({store:e,to:E}),oe({fn(e,{key:t},{a:r}){r[t]=e}})],o=[];i(a,((a,l)=>{if(I(a)){t=1,o.push(l),m.add(a);let s=lt(a,[],{node:n,scope:{key:l}});if(z(a)){e.current[l]=a.getState();let t=be(a);r.push({type:'field',field:l,from:t}),d&&(Ze(d.plain,t)||s.seq.unshift(d.loader))}}})),t&&d&&d.plain.push(e),p=[t&&re({priority:'sampler'}),t&&ae({store:e,to:'a'}),le({fn(e,t,r){for(let n=0;n<h.length;n++){let l=h[n];if(Ze(o,l)?r.a[l]:a[l](e))return void qt(t,l,e,r)}qt(t,'__',e,r)}})]}else G('expect match to be unit, function or object');if(n({meta:{onCopy:Object.keys(t),op:'split'},parent:r,scope:t,node:p,family:{type:'crosslink',owners:Array.from(m)},regional:1}),!l)return t},e.step=fe,e.version="21.8.6",e.withFactory=({sid:e,name:t,loc:r,method:o,fn:l})=>a(n({meta:{sidRoot:Oe(e),name:t,loc:r,method:o}}),l),e.withRegion=a,Object.defineProperty(e,'__esModule',{value:1})}));
//# sourceMappingURL=effector.umd.js.map

@@ -1344,2 +1344,13 @@ /**

type UnionToStoresUnion<T> = (T extends any
? () => T
: never) extends infer U
? U extends () => infer S
? UnionToStoresUnion<Exclude<T, S>> | Store<S>
: never
: never
type CombineState<State> = {
[K in keyof State]: State[K] | Store<State[K]> | UnionToStoresUnion<State[K]>
}
export function withRegion(unit: Unit<any> | Node, cb: () => void): void

@@ -1353,3 +1364,3 @@ export function combine<T extends Store<any>>(

export function combine<State>(
shape: State,
shape: CombineState<State>,
): Store<{[K in keyof State]: State[K] extends Store<infer U> ? U : State[K]}>

@@ -1356,0 +1367,0 @@ export function combine<A, R>(a: Store<A>, fn: (a: A) => R): Store<R>

{
"name": "effector",
"version": "21.8.5",
"version": "21.8.6",
"description": "The state manager",

@@ -5,0 +5,0 @@ "main": "effector.cjs.js",

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc