sygnal 2.6.9 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -3210,6 +3210,7 @@ class Component {
3210
3210
  // DOMSourceName
3211
3211
  // stateSourceName
3212
3212
  // requestSourceName
3213
+ // debug
3213
3214
 
3214
3215
  // [ PRIVATE / CALCULATED VALUES ]
3215
3216
  // sourceNames
@@ -3223,6 +3224,7 @@ class Component {
3223
3224
  // subComponentSink$
3224
3225
  // unmountRequest$
3225
3226
  // unmount()
3227
+ // stateCache
3226
3228
 
3227
3229
  // [ INSTANTIATED STREAM OPERATOR ]
3228
3230
  // log
@@ -3230,7 +3232,7 @@ class Component {
3230
3232
  // [ OUTPUT ]
3231
3233
  // sinks
3232
3234
 
3233
- constructor({ name='NO NAME', sources, intent, request, model, response, view, children={}, components={}, initialState, calculated, storeCalculatedInState=true, DOMSourceName='DOM', stateSourceName='STATE', requestSourceName='HTTP' }) {
3235
+ constructor({ name='NO NAME', sources, intent, request, model, response, view, children={}, components={}, initialState, calculated, storeCalculatedInState=true, DOMSourceName='DOM', stateSourceName='STATE', requestSourceName='HTTP', debug=false }) {
3234
3236
  if (!sources || typeof sources != 'object') throw new Error('Missing or invalid sources')
3235
3237
 
3236
3238
  this.name = name;
@@ -3249,6 +3251,7 @@ class Component {
3249
3251
  this.stateSourceName = stateSourceName;
3250
3252
  this.requestSourceName = requestSourceName;
3251
3253
  this.sourceNames = Object.keys(sources);
3254
+ this._debug = debug;
3252
3255
 
3253
3256
  this.isSubComponent = this.sourceNames.includes('props$');
3254
3257
 
@@ -3272,6 +3275,7 @@ class Component {
3272
3275
  };
3273
3276
  }
3274
3277
 
3278
+ this.addCalculated = this.createMemoizedAddCalculated();
3275
3279
  this.log = makeLog(name);
3276
3280
 
3277
3281
  this.initIntent$();
@@ -3288,11 +3292,15 @@ class Component {
3288
3292
 
3289
3293
  this.sinks.__index = COMPONENT_COUNT++;
3290
3294
 
3291
- if (ENVIRONMENT.DEBUG === true) {
3295
+ if (debug) {
3292
3296
  console.log(`[${ this.name }] Instantiated (#${ this.sinks.__index })`);
3293
3297
  }
3294
3298
  }
3295
3299
 
3300
+ get debug() {
3301
+ return this._debug || (ENVIRONMENT.DEBUG === 'true' || ENVIRONMENT.DEBUG === true)
3302
+ }
3303
+
3296
3304
  initIntent$() {
3297
3305
  if (!this.intent) {
3298
3306
  return
@@ -3390,7 +3398,7 @@ class Component {
3390
3398
 
3391
3399
  console.log(`${ timestamp } ${ ip } ${ req.method } ${ req.url }`);
3392
3400
 
3393
- if (ENVIRONMENT.DEBUG) {
3401
+ if (this.debug) {
3394
3402
  this.action$.setDebugListener({next: ({ type }) => console.log(`[${ this.name }] Action from ${ this.requestSourceName } request: <${ type }>`)});
3395
3403
  }
3396
3404
 
@@ -3696,20 +3704,39 @@ class Component {
3696
3704
  }
3697
3705
  }
3698
3706
 
3699
- addCalculated(state) {
3700
- if (!this.calculated || typeof state !== 'object' || state instanceof Array) return state
3701
- if (typeof this.calculated !== 'object') throw new Error(`'calculated' parameter must be an object mapping calculated state field named to functions`)
3702
- const entries = Object.entries(this.calculated);
3703
- const calculated = entries.reduce((acc, [field, fn]) => {
3704
- if (typeof fn !== 'function') throw new Error(`Missing or invalid calculator function for calculated field '${ field }`)
3705
- try {
3706
- acc[field] = fn(state);
3707
- } catch(e) {
3708
- console.warn(`Calculated field '${ field }' threw an error during calculation: ${ e.message }`);
3707
+ createMemoizedAddCalculated() {
3708
+ let lastState;
3709
+ let lastResult;
3710
+
3711
+ return function(state) {
3712
+ if (!this.calculated || typeof state !== 'object' || state instanceof Array) return state
3713
+ if (state === lastState) {
3714
+ return lastResult
3709
3715
  }
3710
- return acc
3711
- }, {});
3712
- return { ...state, ...calculated }
3716
+ if (typeof this.calculated !== 'object') throw new Error(`'calculated' parameter must be an object mapping calculated state field named to functions`)
3717
+ const entries = Object.entries(this.calculated);
3718
+ if (entries.length === 0) {
3719
+ lastState = state;
3720
+ lastResult = state;
3721
+ return state
3722
+ }
3723
+ const calculated = entries.reduce((acc, [field, fn]) => {
3724
+ if (typeof fn !== 'function') throw new Error(`Missing or invalid calculator function for calculated field '${ field }`)
3725
+ try {
3726
+ acc[field] = fn(state);
3727
+ } catch(e) {
3728
+ console.warn(`Calculated field '${ field }' threw an error during calculation: ${ e.message }`);
3729
+ }
3730
+ return acc
3731
+ }, {});
3732
+
3733
+ const newState = { ...state, ...calculated };
3734
+
3735
+ lastState = state;
3736
+ lastResult = newState;
3737
+
3738
+ return newState
3739
+ }
3713
3740
  }
3714
3741
 
3715
3742
  cleanupCalculated(incomingState) {
@@ -3736,15 +3763,33 @@ class Component {
3736
3763
  const enhancedState = state && state.isolateSource(state, { get: state => this.addCalculated(state) });
3737
3764
  const stateStream = (enhancedState && enhancedState.stream) || xs$1.never();
3738
3765
 
3739
- renderParams.state = stateStream;
3740
- renderParams[this.stateSourceName] = stateStream;
3766
+ const objRepeatChecker = (a, b) => {
3767
+ const { state, sygnalFactory, __props, __children, ...sanitized } = a;
3768
+ const keys = Object.keys(sanitized);
3769
+ if (keys.length === 0) {
3770
+ const { state, sygnalFactory, __props, __children, ...sanitizedB } = b;
3771
+ return Object.keys(sanitizedB).length === 0
3772
+ }
3773
+ return keys.every(key => a[key] === b[key])
3774
+ };
3775
+
3776
+ const arrRepeatChecker = (a, b) => {
3777
+ if (a === b) return true
3778
+ if (a.length !== b.length) return false
3779
+ for (let i=0; i < a.length; i++) {
3780
+ if (a[i] !== b[i]) return false
3781
+ }
3782
+ return true
3783
+ };
3784
+
3785
+ renderParams.state = stateStream.compose(_default$5(objRepeatChecker));
3741
3786
 
3742
3787
  if (this.sources.props$) {
3743
- renderParams.__props = this.sources.props$;
3788
+ renderParams.__props = this.sources.props$.compose(_default$5(objRepeatChecker));
3744
3789
  }
3745
3790
 
3746
3791
  if (this.sources.children$) {
3747
- renderParams.__children = this.sources.children$;
3792
+ renderParams.__children = this.sources.children$.compose(_default$5(arrRepeatChecker));
3748
3793
  }
3749
3794
 
3750
3795
  const names = [];
@@ -3760,6 +3805,7 @@ class Component {
3760
3805
  .map(arr => {
3761
3806
  return names.reduce((acc, name, index) => {
3762
3807
  acc[name] = arr[index];
3808
+ if (name === 'state') acc[this.stateSourceName] = arr[index];
3763
3809
  return acc
3764
3810
  }, {})
3765
3811
  });
@@ -3768,6 +3814,7 @@ class Component {
3768
3814
  }
3769
3815
 
3770
3816
  instantiateSubComponents(vDom$) {
3817
+ let count = 0;
3771
3818
  return vDom$.fold((previousComponents, vDom) => {
3772
3819
  const componentNames = Object.keys(this.components);
3773
3820
  const foundComponents = getComponents(vDom, componentNames);
@@ -3798,6 +3845,7 @@ class Component {
3798
3845
 
3799
3846
 
3800
3847
  if (previousComponents[id]) {
3848
+ if (this.debug) console.log(this.name, 'sameful', count++);
3801
3849
  const entry = previousComponents[id];
3802
3850
  acc[id] = entry;
3803
3851
  entry.props$.shamefullySendNext(props);
@@ -3806,6 +3854,8 @@ class Component {
3806
3854
  return acc
3807
3855
  }
3808
3856
 
3857
+ if (this.debug) console.log(this.name, 'non-shameful', count++);
3858
+
3809
3859
  const props$ = xs$1.create().startWith(props);
3810
3860
  const children$ = xs$1.create().startWith(children);
3811
3861
 
@@ -3869,6 +3919,7 @@ class Component {
3869
3919
 
3870
3920
  const stateSource = new state.StateSource(combined$);
3871
3921
  const stateField = props.from;
3922
+ props.filter;
3872
3923
  let lense;
3873
3924
 
3874
3925
  const factory = typeof props.of === 'function' ? props.of : this.components[props.of];
@@ -4162,7 +4213,7 @@ class Component {
4162
4213
  const fixedMsg = (typeof msg === 'function') ? msg : _ => msg;
4163
4214
  return stream => {
4164
4215
  return stream.debug(msg => {
4165
- if (ENVIRONMENT.DEBUG == 'true' || ENVIRONMENT.DEBUG === true) {
4216
+ if (this.debug) {
4166
4217
  console.log(`[${context}] ${fixedMsg(msg)}`);
4167
4218
  }
4168
4219
  })
package/dist/index.esm.js CHANGED
@@ -3210,6 +3210,7 @@ class Component {
3210
3210
  // DOMSourceName
3211
3211
  // stateSourceName
3212
3212
  // requestSourceName
3213
+ // debug
3213
3214
 
3214
3215
  // [ PRIVATE / CALCULATED VALUES ]
3215
3216
  // sourceNames
@@ -3223,6 +3224,7 @@ class Component {
3223
3224
  // subComponentSink$
3224
3225
  // unmountRequest$
3225
3226
  // unmount()
3227
+ // stateCache
3226
3228
 
3227
3229
  // [ INSTANTIATED STREAM OPERATOR ]
3228
3230
  // log
@@ -3230,7 +3232,7 @@ class Component {
3230
3232
  // [ OUTPUT ]
3231
3233
  // sinks
3232
3234
 
3233
- constructor({ name='NO NAME', sources, intent, request, model, response, view, children={}, components={}, initialState, calculated, storeCalculatedInState=true, DOMSourceName='DOM', stateSourceName='STATE', requestSourceName='HTTP' }) {
3235
+ constructor({ name='NO NAME', sources, intent, request, model, response, view, children={}, components={}, initialState, calculated, storeCalculatedInState=true, DOMSourceName='DOM', stateSourceName='STATE', requestSourceName='HTTP', debug=false }) {
3234
3236
  if (!sources || typeof sources != 'object') throw new Error('Missing or invalid sources')
3235
3237
 
3236
3238
  this.name = name;
@@ -3249,6 +3251,7 @@ class Component {
3249
3251
  this.stateSourceName = stateSourceName;
3250
3252
  this.requestSourceName = requestSourceName;
3251
3253
  this.sourceNames = Object.keys(sources);
3254
+ this._debug = debug;
3252
3255
 
3253
3256
  this.isSubComponent = this.sourceNames.includes('props$');
3254
3257
 
@@ -3272,6 +3275,7 @@ class Component {
3272
3275
  };
3273
3276
  }
3274
3277
 
3278
+ this.addCalculated = this.createMemoizedAddCalculated();
3275
3279
  this.log = makeLog(name);
3276
3280
 
3277
3281
  this.initIntent$();
@@ -3288,11 +3292,15 @@ class Component {
3288
3292
 
3289
3293
  this.sinks.__index = COMPONENT_COUNT++;
3290
3294
 
3291
- if (ENVIRONMENT.DEBUG === true) {
3295
+ if (debug) {
3292
3296
  console.log(`[${ this.name }] Instantiated (#${ this.sinks.__index })`);
3293
3297
  }
3294
3298
  }
3295
3299
 
3300
+ get debug() {
3301
+ return this._debug || (ENVIRONMENT.DEBUG === 'true' || ENVIRONMENT.DEBUG === true)
3302
+ }
3303
+
3296
3304
  initIntent$() {
3297
3305
  if (!this.intent) {
3298
3306
  return
@@ -3390,7 +3398,7 @@ class Component {
3390
3398
 
3391
3399
  console.log(`${ timestamp } ${ ip } ${ req.method } ${ req.url }`);
3392
3400
 
3393
- if (ENVIRONMENT.DEBUG) {
3401
+ if (this.debug) {
3394
3402
  this.action$.setDebugListener({next: ({ type }) => console.log(`[${ this.name }] Action from ${ this.requestSourceName } request: <${ type }>`)});
3395
3403
  }
3396
3404
 
@@ -3696,20 +3704,39 @@ class Component {
3696
3704
  }
3697
3705
  }
3698
3706
 
3699
- addCalculated(state) {
3700
- if (!this.calculated || typeof state !== 'object' || state instanceof Array) return state
3701
- if (typeof this.calculated !== 'object') throw new Error(`'calculated' parameter must be an object mapping calculated state field named to functions`)
3702
- const entries = Object.entries(this.calculated);
3703
- const calculated = entries.reduce((acc, [field, fn]) => {
3704
- if (typeof fn !== 'function') throw new Error(`Missing or invalid calculator function for calculated field '${ field }`)
3705
- try {
3706
- acc[field] = fn(state);
3707
- } catch(e) {
3708
- console.warn(`Calculated field '${ field }' threw an error during calculation: ${ e.message }`);
3707
+ createMemoizedAddCalculated() {
3708
+ let lastState;
3709
+ let lastResult;
3710
+
3711
+ return function(state) {
3712
+ if (!this.calculated || typeof state !== 'object' || state instanceof Array) return state
3713
+ if (state === lastState) {
3714
+ return lastResult
3709
3715
  }
3710
- return acc
3711
- }, {});
3712
- return { ...state, ...calculated }
3716
+ if (typeof this.calculated !== 'object') throw new Error(`'calculated' parameter must be an object mapping calculated state field named to functions`)
3717
+ const entries = Object.entries(this.calculated);
3718
+ if (entries.length === 0) {
3719
+ lastState = state;
3720
+ lastResult = state;
3721
+ return state
3722
+ }
3723
+ const calculated = entries.reduce((acc, [field, fn]) => {
3724
+ if (typeof fn !== 'function') throw new Error(`Missing or invalid calculator function for calculated field '${ field }`)
3725
+ try {
3726
+ acc[field] = fn(state);
3727
+ } catch(e) {
3728
+ console.warn(`Calculated field '${ field }' threw an error during calculation: ${ e.message }`);
3729
+ }
3730
+ return acc
3731
+ }, {});
3732
+
3733
+ const newState = { ...state, ...calculated };
3734
+
3735
+ lastState = state;
3736
+ lastResult = newState;
3737
+
3738
+ return newState
3739
+ }
3713
3740
  }
3714
3741
 
3715
3742
  cleanupCalculated(incomingState) {
@@ -3736,15 +3763,33 @@ class Component {
3736
3763
  const enhancedState = state && state.isolateSource(state, { get: state => this.addCalculated(state) });
3737
3764
  const stateStream = (enhancedState && enhancedState.stream) || xs$1.never();
3738
3765
 
3739
- renderParams.state = stateStream;
3740
- renderParams[this.stateSourceName] = stateStream;
3766
+ const objRepeatChecker = (a, b) => {
3767
+ const { state, sygnalFactory, __props, __children, ...sanitized } = a;
3768
+ const keys = Object.keys(sanitized);
3769
+ if (keys.length === 0) {
3770
+ const { state, sygnalFactory, __props, __children, ...sanitizedB } = b;
3771
+ return Object.keys(sanitizedB).length === 0
3772
+ }
3773
+ return keys.every(key => a[key] === b[key])
3774
+ };
3775
+
3776
+ const arrRepeatChecker = (a, b) => {
3777
+ if (a === b) return true
3778
+ if (a.length !== b.length) return false
3779
+ for (let i=0; i < a.length; i++) {
3780
+ if (a[i] !== b[i]) return false
3781
+ }
3782
+ return true
3783
+ };
3784
+
3785
+ renderParams.state = stateStream.compose(_default$5(objRepeatChecker));
3741
3786
 
3742
3787
  if (this.sources.props$) {
3743
- renderParams.__props = this.sources.props$;
3788
+ renderParams.__props = this.sources.props$.compose(_default$5(objRepeatChecker));
3744
3789
  }
3745
3790
 
3746
3791
  if (this.sources.children$) {
3747
- renderParams.__children = this.sources.children$;
3792
+ renderParams.__children = this.sources.children$.compose(_default$5(arrRepeatChecker));
3748
3793
  }
3749
3794
 
3750
3795
  const names = [];
@@ -3760,6 +3805,7 @@ class Component {
3760
3805
  .map(arr => {
3761
3806
  return names.reduce((acc, name, index) => {
3762
3807
  acc[name] = arr[index];
3808
+ if (name === 'state') acc[this.stateSourceName] = arr[index];
3763
3809
  return acc
3764
3810
  }, {})
3765
3811
  });
@@ -3768,6 +3814,7 @@ class Component {
3768
3814
  }
3769
3815
 
3770
3816
  instantiateSubComponents(vDom$) {
3817
+ let count = 0;
3771
3818
  return vDom$.fold((previousComponents, vDom) => {
3772
3819
  const componentNames = Object.keys(this.components);
3773
3820
  const foundComponents = getComponents(vDom, componentNames);
@@ -3798,6 +3845,7 @@ class Component {
3798
3845
 
3799
3846
 
3800
3847
  if (previousComponents[id]) {
3848
+ if (this.debug) console.log(this.name, 'sameful', count++);
3801
3849
  const entry = previousComponents[id];
3802
3850
  acc[id] = entry;
3803
3851
  entry.props$.shamefullySendNext(props);
@@ -3806,6 +3854,8 @@ class Component {
3806
3854
  return acc
3807
3855
  }
3808
3856
 
3857
+ if (this.debug) console.log(this.name, 'non-shameful', count++);
3858
+
3809
3859
  const props$ = xs$1.create().startWith(props);
3810
3860
  const children$ = xs$1.create().startWith(children);
3811
3861
 
@@ -3869,6 +3919,7 @@ class Component {
3869
3919
 
3870
3920
  const stateSource = new StateSource(combined$);
3871
3921
  const stateField = props.from;
3922
+ props.filter;
3872
3923
  let lense;
3873
3924
 
3874
3925
  const factory = typeof props.of === 'function' ? props.of : this.components[props.of];
@@ -4162,7 +4213,7 @@ class Component {
4162
4213
  const fixedMsg = (typeof msg === 'function') ? msg : _ => msg;
4163
4214
  return stream => {
4164
4215
  return stream.debug(msg => {
4165
- if (ENVIRONMENT.DEBUG == 'true' || ENVIRONMENT.DEBUG === true) {
4216
+ if (this.debug) {
4166
4217
  console.log(`[${context}] ${fixedMsg(msg)}`);
4167
4218
  }
4168
4219
  })
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Sygnal={})}(this,(function(t){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n={},r={};!function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(t){var e,n=t.Symbol;if("function"==typeof n)if(n.observable)e=n.observable;else{e=n.for("https://github.com/benlesh/symbol-observable");try{n.observable=e}catch(t){}}else e="@@observable";return e}}(r);var o,i,s=r,a=Object.prototype.toString,c=function(t){var e=a.call(t),n="[object Arguments]"===e;return n||(n="[object Array]"!==e&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Function]"===a.call(t.callee)),n};var u=Array.prototype.slice,l=c,p=Object.keys,f=p?function(t){return p(t)}:function(){if(i)return o;var t;if(i=1,!Object.keys){var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=c,s=Object.prototype.propertyIsEnumerable,a=!s.call({toString:null},"toString"),u=s.call((function(){}),"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],p=function(t){var e=t.constructor;return e&&e.prototype===t},f={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},h=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!f["$"+t]&&e.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{p(window[t])}catch(t){return!0}}catch(t){return!0}return!1}();t=function(t){var o=null!==t&&"object"==typeof t,i="[object Function]"===n.call(t),s=r(t),c=o&&"[object String]"===n.call(t),f=[];if(!o&&!i&&!s)throw new TypeError("Object.keys called on a non-object");var d=u&&i;if(c&&t.length>0&&!e.call(t,0))for(var y=0;y<t.length;++y)f.push(String(y));if(s&&t.length>0)for(var m=0;m<t.length;++m)f.push(String(m));else for(var v in t)d&&"prototype"===v||!e.call(t,v)||f.push(String(v));if(a)for(var _=function(t){if("undefined"==typeof window||!h)return p(t);try{return p(t)}catch(t){return!1}}(t),g=0;g<l.length;++g)_&&"constructor"===l[g]||!e.call(t,l[g])||f.push(l[g]);return f}}return o=t}(),h=Object.keys;f.shim=function(){if(Object.keys){var t=function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2);t||(Object.keys=function(t){return l(t)?h(u.call(t)):h(t)})}else Object.keys=f;return Object.keys||f};var d,y=f,m="undefined"!=typeof Symbol&&Symbol,v=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),n=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var r=Object.getOwnPropertySymbols(t);if(1!==r.length||r[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(t,e);if(42!==o.value||!0!==o.enumerable)return!1}return!0},_={foo:{}},g=Object,b=Array.prototype.slice,w=Object.prototype.toString,S=function(t){var e=this;if("function"!=typeof e||"[object Function]"!==w.call(e))throw new TypeError("Function.prototype.bind called on incompatible "+e);for(var n,r=b.call(arguments,1),o=Math.max(0,e.length-r.length),i=[],s=0;s<o;s++)i.push("$"+s);if(n=Function("binder","return function ("+i.join(",")+"){ return binder.apply(this,arguments); }")((function(){if(this instanceof n){var o=e.apply(this,r.concat(b.call(arguments)));return Object(o)===o?o:this}return e.apply(t,r.concat(b.call(arguments)))})),e.prototype){var a=function(){};a.prototype=e.prototype,n.prototype=new a,a.prototype=null}return n},A=Function.prototype.bind||S,O=A.call(Function.call,Object.prototype.hasOwnProperty),E=SyntaxError,$=Function,j=TypeError,N=function(t){try{return $('"use strict"; return ('+t+").constructor;")()}catch(t){}},C=Object.getOwnPropertyDescriptor;if(C)try{C({},"")}catch(t){C=null}var k=function(){throw new j},x=C?function(){try{return k}catch(t){try{return C(arguments,"callee").get}catch(t){return k}}}():k,I="function"==typeof m&&"function"==typeof Symbol&&"symbol"==typeof m("foo")&&"symbol"==typeof Symbol("bar")&&v(),P={__proto__:_}.foo===_.foo&&!({__proto__:null}instanceof g),T=Object.getPrototypeOf||(P?function(t){return t.__proto__}:null),M={},D="undefined"!=typeof Uint8Array&&T?T(Uint8Array):d,L={"%AggregateError%":"undefined"==typeof AggregateError?d:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?d:ArrayBuffer,"%ArrayIteratorPrototype%":I&&T?T([][Symbol.iterator]()):d,"%AsyncFromSyncIteratorPrototype%":d,"%AsyncFunction%":M,"%AsyncGenerator%":M,"%AsyncGeneratorFunction%":M,"%AsyncIteratorPrototype%":M,"%Atomics%":"undefined"==typeof Atomics?d:Atomics,"%BigInt%":"undefined"==typeof BigInt?d:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?d:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?d:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?d:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?d:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?d:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?d:FinalizationRegistry,"%Function%":$,"%GeneratorFunction%":M,"%Int8Array%":"undefined"==typeof Int8Array?d:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?d:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?d:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":I&&T?T(T([][Symbol.iterator]())):d,"%JSON%":"object"==typeof JSON?JSON:d,"%Map%":"undefined"==typeof Map?d:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&I&&T?T((new Map)[Symbol.iterator]()):d,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?d:Promise,"%Proxy%":"undefined"==typeof Proxy?d:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?d:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?d:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&I&&T?T((new Set)[Symbol.iterator]()):d,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?d:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":I&&T?T(""[Symbol.iterator]()):d,"%Symbol%":I?Symbol:d,"%SyntaxError%":E,"%ThrowTypeError%":x,"%TypedArray%":D,"%TypeError%":j,"%Uint8Array%":"undefined"==typeof Uint8Array?d:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?d:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?d:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?d:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?d:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?d:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?d:WeakSet};if(T)try{null.error}catch(t){var F=T(T(t));L["%Error.prototype%"]=F}var B=function t(e){var n;if("%AsyncFunction%"===e)n=N("async function () {}");else if("%GeneratorFunction%"===e)n=N("function* () {}");else if("%AsyncGeneratorFunction%"===e)n=N("async function* () {}");else if("%AsyncGenerator%"===e){var r=t("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if("%AsyncIteratorPrototype%"===e){var o=t("%AsyncGenerator%");o&&T&&(n=T(o.prototype))}return L[e]=n,n},R={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},q=A,U=O,W=q.call(Function.call,Array.prototype.concat),G=q.call(Function.apply,Array.prototype.splice),V=q.call(Function.call,String.prototype.replace),H=q.call(Function.call,String.prototype.slice),J=q.call(Function.call,RegExp.prototype.exec),z=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,X=/\\(\\)?/g,Y=function(t,e){var n,r=t;if(U(R,r)&&(r="%"+(n=R[r])[0]+"%"),U(L,r)){var o=L[r];if(o===M&&(o=B(r)),void 0===o&&!e)throw new j("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:n,name:r,value:o}}throw new E("intrinsic "+t+" does not exist!")},Z=function(t,e){if("string"!=typeof t||0===t.length)throw new j("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new j('"allowMissing" argument must be a boolean');if(null===J(/^%?[^%]*%?$/,t))throw new E("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=function(t){var e=H(t,0,1),n=H(t,-1);if("%"===e&&"%"!==n)throw new E("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==e)throw new E("invalid intrinsic syntax, expected opening `%`");var r=[];return V(t,z,(function(t,e,n,o){r[r.length]=n?V(o,X,"$1"):e||t})),r}(t),r=n.length>0?n[0]:"",o=Y("%"+r+"%",e),i=o.name,s=o.value,a=!1,c=o.alias;c&&(r=c[0],G(n,W([0,1],c)));for(var u=1,l=!0;u<n.length;u+=1){var p=n[u],f=H(p,0,1),h=H(p,-1);if(('"'===f||"'"===f||"`"===f||'"'===h||"'"===h||"`"===h)&&f!==h)throw new E("property names with quotes must have matching quotes");if("constructor"!==p&&l||(a=!0),U(L,i="%"+(r+="."+p)+"%"))s=L[i];else if(null!=s){if(!(p in s)){if(!e)throw new j("base intrinsic for "+t+" exists, but the property is not available.");return}if(C&&u+1>=n.length){var d=C(s,p);s=(l=!!d)&&"get"in d&&!("originalValue"in d.get)?d.get:s[p]}else l=U(s,p),s=s[p];l&&!a&&(L[i]=s)}}return s},K=Z("%Object.defineProperty%",!0),Q=function(){if(K)try{return K({},"a",{value:1}),!0}catch(t){return!1}return!1};Q.hasArrayLengthDefineBug=function(){if(!Q())return null;try{return 1!==K([],"length",{value:1}).length}catch(t){return!0}};var tt=Q,et=y,nt="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),rt=Object.prototype.toString,ot=Array.prototype.concat,it=Object.defineProperty,st=tt(),at=it&&st,ct=function(t,e,n,r){if(e in t)if(!0===r){if(t[e]===n)return}else if("function"!=typeof(o=r)||"[object Function]"!==rt.call(o)||!r())return;var o;at?it(t,e,{configurable:!0,enumerable:!1,value:n,writable:!0}):t[e]=n},ut=function(t,e){var n=arguments.length>2?arguments[2]:{},r=et(e);nt&&(r=ot.call(r,Object.getOwnPropertySymbols(e)));for(var o=0;o<r.length;o+=1)ct(t,r[o],e[r[o]],n[r[o]])};ut.supportsDescriptors=!!at;var lt=e,pt=function(){return"object"==typeof e&&e&&e.Math===Math&&e.Array===Array?e:lt},ft=ut,ht=pt,dt=ut,yt=e,mt=pt,vt=function(){var t=ht();if(ft.supportsDescriptors){var e=Object.getOwnPropertyDescriptor(t,"globalThis");e&&(!e.configurable||!e.enumerable&&e.writable&&globalThis===t)||Object.defineProperty(t,"globalThis",{configurable:!0,enumerable:!1,value:t,writable:!0})}else"object"==typeof globalThis&&globalThis===t||(t.globalThis=t);return t},_t=mt(),gt=function(){return _t};dt(gt,{getPolyfill:mt,implementation:yt,shim:vt});var bt,wt=gt,St=e&&e.__extends||(bt=function(t,e){return bt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},bt(t,e)},function(t,e){function n(){this.constructor=t}bt(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(n,"__esModule",{value:!0}),n.NO_IL=n.NO=n.MemoryStream=ee=n.Stream=void 0;var At=s.default(wt.getPolyfill()),Ot={},Et=n.NO=Ot;function $t(){}function jt(t){for(var e=t.length,n=Array(e),r=0;r<e;++r)n[r]=t[r];return n}function Nt(t,e,n){try{return t.f(e)}catch(t){return n._e(t),Ot}}var Ct={_n:$t,_e:$t,_c:$t};function kt(t){t._start=function(t){t.next=t._n,t.error=t._e,t.complete=t._c,this.start(t)},t._stop=t.stop}n.NO_IL=Ct;var xt=function(){function t(t,e){this._stream=t,this._listener=e}return t.prototype.unsubscribe=function(){this._stream._remove(this._listener)},t}(),It=function(){function t(t){this._listener=t}return t.prototype.next=function(t){this._listener._n(t)},t.prototype.error=function(t){this._listener._e(t)},t.prototype.complete=function(){this._listener._c()},t}(),Pt=function(){function t(t){this.type="fromObservable",this.ins=t,this.active=!1}return t.prototype._start=function(t){this.out=t,this.active=!0,this._sub=this.ins.subscribe(new It(t)),this.active||this._sub.unsubscribe()},t.prototype._stop=function(){this._sub&&this._sub.unsubscribe(),this.active=!1},t}(),Tt=function(){function t(t){this.type="merge",this.insArr=t,this.out=Ot,this.ac=0}return t.prototype._start=function(t){this.out=t;var e=this.insArr,n=e.length;this.ac=n;for(var r=0;r<n;r++)e[r]._add(this)},t.prototype._stop=function(){for(var t=this.insArr,e=t.length,n=0;n<e;n++)t[n]._remove(this);this.out=Ot},t.prototype._n=function(t){var e=this.out;e!==Ot&&e._n(t)},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){if(--this.ac<=0){var t=this.out;if(t===Ot)return;t._c()}},t}(),Mt=function(){function t(t,e,n){this.i=t,this.out=e,this.p=n,n.ils.push(this)}return t.prototype._n=function(t){var e=this.p,n=this.out;if(n!==Ot&&e.up(t,this.i)){var r=jt(e.vals);n._n(r)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.p;t.out!==Ot&&0==--t.Nc&&t.out._c()},t}(),Dt=function(){function t(t){this.type="combine",this.insArr=t,this.out=Ot,this.ils=[],this.Nc=this.Nn=0,this.vals=[]}return t.prototype.up=function(t,e){var n=this.vals[e],r=this.Nn?n===Ot?--this.Nn:this.Nn:0;return this.vals[e]=t,0===r},t.prototype._start=function(t){this.out=t;var e=this.insArr,n=this.Nc=this.Nn=e.length,r=this.vals=new Array(n);if(0===n)t._n([]),t._c();else for(var o=0;o<n;o++)r[o]=Ot,e[o]._add(new Mt(o,t,this))},t.prototype._stop=function(){for(var t=this.insArr,e=t.length,n=this.ils,r=0;r<e;r++)t[r]._remove(n[r]);this.out=Ot,this.ils=[],this.vals=[]},t}(),Lt=function(){function t(t){this.type="fromArray",this.a=t}return t.prototype._start=function(t){for(var e=this.a,n=0,r=e.length;n<r;n++)t._n(e[n]);t._c()},t.prototype._stop=function(){},t}(),Ft=function(){function t(t){this.type="fromPromise",this.on=!1,this.p=t}return t.prototype._start=function(t){var e=this;this.on=!0,this.p.then((function(n){e.on&&(t._n(n),t._c())}),(function(e){t._e(e)})).then($t,(function(t){setTimeout((function(){throw t}))}))},t.prototype._stop=function(){this.on=!1},t}(),Bt=function(){function t(t){this.type="periodic",this.period=t,this.intervalID=-1,this.i=0}return t.prototype._start=function(t){var e=this;this.intervalID=setInterval((function(){t._n(e.i++)}),this.period)},t.prototype._stop=function(){-1!==this.intervalID&&clearInterval(this.intervalID),this.intervalID=-1,this.i=0},t}(),Rt=function(){function t(t,e){this.type="debug",this.ins=t,this.out=Ot,this.s=$t,this.l="","string"==typeof e?this.l=e:"function"==typeof e&&(this.s=e)}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=this.s,r=this.l;if(n!==$t)try{n(t)}catch(t){e._e(t)}else r?console.log(r+":",t):console.log(t);e._n(t)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),qt=function(){function t(t,e){this.type="drop",this.ins=e,this.out=Ot,this.max=t,this.dropped=0}return t.prototype._start=function(t){this.out=t,this.dropped=0,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;e!==Ot&&this.dropped++>=this.max&&e._n(t)},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Ut=function(){function t(t,e){this.out=t,this.op=e}return t.prototype._n=function(){this.op.end()},t.prototype._e=function(t){this.out._e(t)},t.prototype._c=function(){this.op.end()},t}(),Wt=function(){function t(t,e){this.type="endWhen",this.ins=e,this.out=Ot,this.o=t,this.oil=Ct}return t.prototype._start=function(t){this.out=t,this.o._add(this.oil=new Ut(t,this)),this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.o._remove(this.oil),this.out=Ot,this.oil=Ct},t.prototype.end=function(){var t=this.out;t!==Ot&&t._c()},t.prototype._n=function(t){var e=this.out;e!==Ot&&e._n(t)},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){this.end()},t}(),Gt=function(){function t(t,e){this.type="filter",this.ins=e,this.out=Ot,this.f=t}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=Nt(this,t,e);n!==Ot&&n&&e._n(t)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Vt=function(){function t(t,e){this.out=t,this.op=e}return t.prototype._n=function(t){this.out._n(t)},t.prototype._e=function(t){this.out._e(t)},t.prototype._c=function(){this.op.inner=Ot,this.op.less()},t}(),Ht=function(){function t(t){this.type="flatten",this.ins=t,this.out=Ot,this.open=!0,this.inner=Ot,this.il=Ct}return t.prototype._start=function(t){this.out=t,this.open=!0,this.inner=Ot,this.il=Ct,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.inner!==Ot&&this.inner._remove(this.il),this.out=Ot,this.open=!0,this.inner=Ot,this.il=Ct},t.prototype.less=function(){var t=this.out;t!==Ot&&(this.open||this.inner!==Ot||t._c())},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=this.inner,r=this.il;n!==Ot&&r!==Ct&&n._remove(r),(this.inner=t)._add(this.il=new Vt(e,this))}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){this.open=!1,this.less()},t}(),Jt=function(){function t(t,e,n){var r=this;this.type="fold",this.ins=n,this.out=Ot,this.f=function(e){return t(r.acc,e)},this.acc=this.seed=e}return t.prototype._start=function(t){this.out=t,this.acc=this.seed,t._n(this.acc),this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot,this.acc=this.seed},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=Nt(this,t,e);n!==Ot&&e._n(this.acc=n)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),zt=function(){function t(t){this.type="last",this.ins=t,this.out=Ot,this.has=!1,this.val=Ot}return t.prototype._start=function(t){this.out=t,this.has=!1,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot,this.val=Ot},t.prototype._n=function(t){this.has=!0,this.val=t},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&(this.has?(t._n(this.val),t._c()):t._e(new Error("last() failed because input stream completed")))},t}(),Xt=function(){function t(t,e){this.type="map",this.ins=e,this.out=Ot,this.f=t}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=Nt(this,t,e);n!==Ot&&e._n(n)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Yt=function(){function t(t){this.type="remember",this.ins=t,this.out=Ot}return t.prototype._start=function(t){this.out=t,this.ins._add(t)},t.prototype._stop=function(){this.ins._remove(this.out),this.out=Ot},t}(),Zt=function(){function t(t,e){this.type="replaceError",this.ins=e,this.out=Ot,this.f=t}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;e!==Ot&&e._n(t)},t.prototype._e=function(t){var e=this.out;if(e!==Ot)try{this.ins._remove(this),(this.ins=this.f(t))._add(this)}catch(t){e._e(t)}},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Kt=function(){function t(t,e){this.type="startWith",this.ins=t,this.out=Ot,this.val=e}return t.prototype._start=function(t){this.out=t,this.out._n(this.val),this.ins._add(t)},t.prototype._stop=function(){this.ins._remove(this.out),this.out=Ot},t}(),Qt=function(){function t(t,e){this.type="take",this.ins=e,this.out=Ot,this.max=t,this.taken=0}return t.prototype._start=function(t){this.out=t,this.taken=0,this.max<=0?t._c():this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=++this.taken;n<this.max?e._n(t):n===this.max&&(e._n(t),e._c())}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),te=function(){function t(t){this._prod=t||Ot,this._ils=[],this._stopID=Ot,this._dl=Ot,this._d=!1,this._target=null,this._err=Ot}return t.prototype._n=function(t){var e=this._ils,n=e.length;if(this._d&&this._dl._n(t),1==n)e[0]._n(t);else{if(0==n)return;for(var r=jt(e),o=0;o<n;o++)r[o]._n(t)}},t.prototype._e=function(t){if(this._err===Ot){this._err=t;var e=this._ils,n=e.length;if(this._x(),this._d&&this._dl._e(t),1==n)e[0]._e(t);else{if(0==n)return;for(var r=jt(e),o=0;o<n;o++)r[o]._e(t)}if(!this._d&&0==n)throw this._err}},t.prototype._c=function(){var t=this._ils,e=t.length;if(this._x(),this._d&&this._dl._c(),1==e)t[0]._c();else{if(0==e)return;for(var n=jt(t),r=0;r<e;r++)n[r]._c()}},t.prototype._x=function(){0!==this._ils.length&&(this._prod!==Ot&&this._prod._stop(),this._err=Ot,this._ils=[])},t.prototype._stopNow=function(){this._prod._stop(),this._err=Ot,this._stopID=Ot},t.prototype._add=function(t){var e=this._target;if(e)return e._add(t);var n=this._ils;if(n.push(t),!(n.length>1))if(this._stopID!==Ot)clearTimeout(this._stopID),this._stopID=Ot;else{var r=this._prod;r!==Ot&&r._start(this)}},t.prototype._remove=function(t){var e=this,n=this._target;if(n)return n._remove(t);var r=this._ils,o=r.indexOf(t);o>-1&&(r.splice(o,1),this._prod!==Ot&&r.length<=0?(this._err=Ot,this._stopID=setTimeout((function(){return e._stopNow()}))):1===r.length&&this._pruneCycles())},t.prototype._pruneCycles=function(){this._hasNoSinks(this,[])&&this._remove(this._ils[0])},t.prototype._hasNoSinks=function(t,e){if(-1!==e.indexOf(t))return!0;if(t.out===this)return!0;if(t.out&&t.out!==Ot)return this._hasNoSinks(t.out,e.concat(t));if(t._ils){for(var n=0,r=t._ils.length;n<r;n++)if(!this._hasNoSinks(t._ils[n],e.concat(t)))return!1;return!0}return!1},t.prototype.ctor=function(){return this instanceof ne?ne:t},t.prototype.addListener=function(t){t._n=t.next||$t,t._e=t.error||$t,t._c=t.complete||$t,this._add(t)},t.prototype.removeListener=function(t){this._remove(t)},t.prototype.subscribe=function(t){return this.addListener(t),new xt(this,t)},t.prototype[At]=function(){return this},t.create=function(e){if(e){if("function"!=typeof e.start||"function"!=typeof e.stop)throw new Error("producer requires both start and stop functions");kt(e)}return new t(e)},t.createWithMemory=function(t){return t&&kt(t),new ne(t)},t.never=function(){return new t({_start:$t,_stop:$t})},t.empty=function(){return new t({_start:function(t){t._c()},_stop:$t})},t.throw=function(e){return new t({_start:function(t){t._e(e)},_stop:$t})},t.from=function(e){if("function"==typeof e[At])return t.fromObservable(e);if("function"==typeof e.then)return t.fromPromise(e);if(Array.isArray(e))return t.fromArray(e);throw new TypeError("Type of input to from() must be an Array, Promise, or Observable")},t.of=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t.fromArray(e)},t.fromArray=function(e){return new t(new Lt(e))},t.fromPromise=function(e){return new t(new Ft(e))},t.fromObservable=function(e){if(void 0!==e.endWhen)return e;var n="function"==typeof e[At]?e[At]():e;return new t(new Pt(n))},t.periodic=function(e){return new t(new Bt(e))},t.prototype._map=function(t){return new(this.ctor())(new Xt(t,this))},t.prototype.map=function(t){return this._map(t)},t.prototype.mapTo=function(t){var e=this.map((function(){return t}));return e._prod.type="mapTo",e},t.prototype.filter=function(e){var n,r,o=this._prod;return new t(o instanceof Gt?new Gt((n=o.f,r=e,function(t){return n(t)&&r(t)}),o.ins):new Gt(e,this))},t.prototype.take=function(t){return new(this.ctor())(new Qt(t,this))},t.prototype.drop=function(e){return new t(new qt(e,this))},t.prototype.last=function(){return new t(new zt(this))},t.prototype.startWith=function(t){return new ne(new Kt(this,t))},t.prototype.endWhen=function(t){return new(this.ctor())(new Wt(t,this))},t.prototype.fold=function(t,e){return new ne(new Jt(t,e,this))},t.prototype.replaceError=function(t){return new(this.ctor())(new Zt(t,this))},t.prototype.flatten=function(){return new t(new Ht(this))},t.prototype.compose=function(t){return t(this)},t.prototype.remember=function(){return new ne(new Yt(this))},t.prototype.debug=function(t){return new(this.ctor())(new Rt(this,t))},t.prototype.imitate=function(t){if(t instanceof ne)throw new Error("A MemoryStream was given to imitate(), but it only supports a Stream. Read more about this restriction here: https://github.com/staltz/xstream#faq");this._target=t;for(var e=this._ils,n=e.length,r=0;r<n;r++)t._add(e[r]);this._ils=[]},t.prototype.shamefullySendNext=function(t){this._n(t)},t.prototype.shamefullySendError=function(t){this._e(t)},t.prototype.shamefullySendComplete=function(){this._c()},t.prototype.setDebugListener=function(t){t?(this._d=!0,t._n=t.next||$t,t._e=t.error||$t,t._c=t.complete||$t,this._dl=t):(this._d=!1,this._dl=Ot)},t.merge=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new t(new Tt(e))},t.combine=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new t(new Dt(e))},t}(),ee=n.Stream=te,ne=function(t){function e(e){var n=t.call(this,e)||this;return n._has=!1,n}return St(e,t),e.prototype._n=function(e){this._v=e,this._has=!0,t.prototype._n.call(this,e)},e.prototype._add=function(t){var e=this._target;if(e)return e._add(t);var n=this._ils;if(n.push(t),n.length>1)this._has&&t._n(this._v);else if(this._stopID!==Ot)this._has&&t._n(this._v),clearTimeout(this._stopID),this._stopID=Ot;else if(this._has)t._n(this._v);else{var r=this._prod;r!==Ot&&r._start(this)}},e.prototype._stopNow=function(){this._has=!1,t.prototype._stopNow.call(this)},e.prototype._x=function(){this._has=!1,t.prototype._x.call(this)},e.prototype.map=function(t){return this._map(t)},e.prototype.mapTo=function(e){return t.prototype.mapTo.call(this,e)},e.prototype.take=function(e){return t.prototype.take.call(this,e)},e.prototype.endWhen=function(e){return t.prototype.endWhen.call(this,e)},e.prototype.replaceError=function(e){return t.prototype.replaceError.call(this,e)},e.prototype.remember=function(){return this},e.prototype.debug=function(e){return t.prototype.debug.call(this,e)},e}(te);n.MemoryStream=ne;var re=te,oe=n.default=re,ie={};function se(){var t;return(t="undefined"!=typeof window?window:void 0!==e?e:this).Cyclejs=t.Cyclejs||{},(t=t.Cyclejs).adaptStream=t.adaptStream||function(t){return t},t}Object.defineProperty(ie,"__esModule",{value:!0}),ie.setAdapt=function(t){se().adaptStream=t};var ae=ie.adapt=function(t){return se().adaptStream(t)};var ce=0;function ue(){return"cycle"+ ++ce}function le(t,e){void 0===e&&(e=ue()),function(t,e){if("function"!=typeof t)throw new Error("First argument given to isolate() must be a 'dataflowComponent' function");if(null===e)throw new Error("Second argument given to isolate() must not be null")}(t,e);var n="object"==typeof e?ue():"",r="string"==typeof e||"object"==typeof e?e:e.toString();return function(e){for(var o=[],i=1;i<arguments.length;i++)o[i-1]=arguments[i];var s=function(t,e,n){var r={};return Object.keys(t).forEach((function(t){if("string"!=typeof e){var o=e[t];if(void 0===o){var i=e["*"];r[t]=void 0===i?n:i}else r[t]=o}else r[t]=e})),r}(e,r,n),a=function(t,e){var n={};for(var r in t){var o=t[r];t.hasOwnProperty(r)&&o&&null!==e[r]&&"function"==typeof o.isolateSource?n[r]=o.isolateSource(o,e[r]):t.hasOwnProperty(r)&&(n[r]=t[r])}return n}(e,s),c=function(t,e,n){var r={};for(var o in e){var i=t[o],s=e[o];e.hasOwnProperty(o)&&i&&null!==n[o]&&"function"==typeof i.isolateSink?r[o]=ae(i.isolateSink(oe.fromObservable(s),n[o])):e.hasOwnProperty(o)&&(r[o]=e[o])}return r}(e,t.apply(void 0,[a].concat(o)),s);return c}}le.reset=function(){return ce=0};var pe={};Object.defineProperty(pe,"__esModule",{value:!0}),pe.DropRepeatsOperator=void 0;var fe=n,he={},de=function(){function t(t,e){this.ins=t,this.type="dropRepeats",this.out=null,this.v=he,this.isEq=e||function(t,e){return t===e}}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null,this.v=he},t.prototype._n=function(t){var e=this.out;if(e){var n=this.v;n!==he&&this.isEq(t,n)||(this.v=t,e._n(t))}},t.prototype._e=function(t){var e=this.out;e&&e._e(t)},t.prototype._c=function(){var t=this.out;t&&t._c()},t}();pe.DropRepeatsOperator=de;var ye=pe.default=function(t){return void 0===t&&(t=void 0),function(e){return new fe.Stream(new de(e,t))}},me=function(){return me=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},me.apply(this,arguments)};function ve(t){return"string"==typeof t||"number"==typeof t?function(e){return void 0===e?void 0:e[t]}:t.get}function _e(t){return"string"==typeof t||"number"==typeof t?function(e,n){var r,o;return Array.isArray(e)?function(t,e,n){if(n===t[e])return t;var r=parseInt(e);return void 0===n?t.filter((function(t,e){return e!==r})):t.map((function(t,e){return e===r?n:t}))}(e,t,n):void 0===e?((r={})[t]=n,r):me({},e,((o={})[t]=n,o))}:t.set}function ge(t,e){return t.select(e)}function be(t,e){var n=ve(e),r=_e(e);return t.map((function(t){return function(e){var o=n(e),i=t(o);return o===i?e:r(e,i)}}))}var we=function(){function t(t,e){this.isolateSource=ge,this.isolateSink=be,this._stream=t.filter((function(t){return void 0!==t})).compose(ye()).remember(),this._name=e,this.stream=ae(this._stream),this._stream._isCycleSource=e}return t.prototype.select=function(e){var n=ve(e);return new t(this._stream.map(n),this._name)},t}(),Se=function(){function t(t,e,n){this.ins=n,this.out=t,this.p=e}return t.prototype._n=function(t){this.p;var e=this.out;null!==e&&e._n(t)},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){},t}(),Ae=function(){function t(t,e){this.type="pickMerge",this.ins=e,this.out=null,this.sel=t,this.ils=new Map,this.inst=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this);var t=this.ils;t.forEach((function(e,n){e.ins._remove(e),e.ins=null,e.out=null,t.delete(n)})),t.clear(),this.out=null,this.ils=new Map,this.inst=null},t.prototype._n=function(t){this.inst=t;for(var e=t.arr,n=this.ils,r=this.out,o=this.sel,i=e.length,s=0;s<i;++s){var a=e[s],c=a._key,u=oe.fromObservable(a[o]||oe.never());n.has(c)||(n.set(c,new Se(r,this,u)),u._add(n.get(c)))}n.forEach((function(e,r){t.dict.has(r)&&t.dict.get(r)||(e.ins._remove(e),e.ins=null,e.out=null,n.delete(r))}))},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){var t=this.out;null!==t&&t._c()},t}();var Oe=function(){function t(t,e,n,r){this.key=t,this.out=e,this.p=n,this.val=Et,this.ins=r}return t.prototype._n=function(t){this.p;var e=this.out;this.val=t,null!==e&&this.p.up()},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){},t}(),Ee=function(){function t(t,e){this.type="combine",this.ins=e,this.sel=t,this.out=null,this.ils=new Map,this.inst=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this);var t=this.ils;t.forEach((function(t){t.ins._remove(t),t.ins=null,t.out=null,t.val=null})),t.clear(),this.out=null,this.ils=new Map,this.inst=null},t.prototype.up=function(){for(var t=this.inst.arr,e=t.length,n=this.ils,r=Array(e),o=0;o<e;++o){var i=t[o]._key;if(!n.has(i))return;var s=n.get(i).val;if(s===Et)return;r[o]=s}this.out._n(r)},t.prototype._n=function(t){this.inst=t;var e=t.arr,n=this.ils,r=this.out,o=this.sel,i=t.dict,s=e.length,a=!1;if(n.forEach((function(t,e){i.has(e)||(t.ins._remove(t),t.ins=null,t.out=null,t.val=null,n.delete(e),a=!0)})),0!==s){for(var c=0;c<s;++c){var u=e[c],l=u._key;if(!u[o])throw new Error("pickCombine found an undefined child sink stream");var p=oe.fromObservable(u[o]);n.has(l)||(n.set(l,new Oe(l,r,this,p)),p._add(n.get(l)))}a&&this.up()}else r._n([])},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){var t=this.out;null!==t&&t._c()},t}();var $e=function(){return $e=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},$e.apply(this,arguments)},je=function(){function t(t){this._instances$=t}return t.prototype.pickMerge=function(t){return ae(this._instances$.compose(function(t){return function(e){return new ee(new Ae(t,e))}}(t)))},t.prototype.pickCombine=function(t){return ae(this._instances$.compose(function(t){return function(e){return new ee(new Ee(t,e))}}(t)))},t}();function Ne(t){return{"*":null}}function Ce(t,e){return{get:function(n){if(void 0!==n)for(var r=0,o=n.length;r<o;++r)if(""+t(n[r],r)===e)return n[r]},set:function(n,r){return void 0===n?[r]:void 0===r?n.filter((function(n,r){return""+t(n,r)!==e})):n.map((function(n,o){return""+t(n,o)===e?r:n}))}}}var ke={get:function(t){return t},set:function(t,e){return e}};var xe={};Object.defineProperty(xe,"__esModule",{value:!0});var Ie=n,Pe=function(){function t(t){this.streams=t,this.type="concat",this.out=null,this.i=0}return t.prototype._start=function(t){this.out=t,this.streams[this.i]._add(this)},t.prototype._stop=function(){var t=this.streams;this.i<t.length&&t[this.i]._remove(this),this.i=0,this.out=null},t.prototype._n=function(t){var e=this.out;e&&e._n(t)},t.prototype._e=function(t){var e=this.out;e&&e._e(t)},t.prototype._c=function(){var t=this.out;if(t){var e=this.streams;e[this.i]._remove(this),++this.i<e.length?e[this.i]._add(this):t._c()}},t}();var Te=xe.default=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return new Ie.Stream(new Pe(t))},Me={};Object.defineProperty(Me,"__esModule",{value:!0});var De=Me.default=function(){return"undefined"!=typeof queueMicrotask?queueMicrotask:"undefined"!=typeof setImmediate?setImmediate:"undefined"!=typeof process?process.nextTick:setTimeout},Le=De();function Fe(t,e,n={}){const{combineList:r=["DOM"],globalList:o=["EVENTS"],stateSourceName:i="STATE",domSourceName:s="DOM",container:a="div",containerClass:c}=n;return n=>{const u=Date.now(),l={item:t,itemKey:(t,e)=>void 0!==t.id?t.id:e,itemScope:t=>t,channel:i,collectSinks:t=>Object.entries(n).reduce(((e,[n,o])=>{if(r.includes(n)){const r=t.pickCombine(n);n===s&&a?e[s]=r.map((t=>({sel:a,data:c?{props:{className:c}}:{},children:t,key:u,text:void 0,elm:void 0}))):e[n]=r}else e[n]=t.pickMerge(n);return e}),{})},p={[i]:e};return o.forEach((t=>p[t]=null)),r.forEach((t=>p[t]=null)),function(t,e,n){return le(function(t){return function(e){var n=t.channel||"state",r=t.itemKey,o=t.itemScope||Ne,i=oe.fromObservable(e[n].stream).fold((function(i,s){var a,c,u,l,p,f=i.dict;if(Array.isArray(s)){for(var h=Array(s.length),d=new Set,y=0,m=s.length;y<m;++y){var v=""+(r?r(s[y],y):y);if(d.add(v),f.has(v))h[y]=f.get(v);else{var _=r?Ce(r,v):""+y,g="string"==typeof(p=o(v))?((a={"*":p})[n]=_,a):$e({},p,((c={})[n]=_,c)),b=le(t.itemFactory?t.itemFactory(s[y],y):t.item,g)(e);f.set(v,b),h[y]=b}h[y]._key=v}return f.forEach((function(t,e){d.has(e)||f.delete(e)})),d.clear(),{dict:f,arr:h}}return f.clear(),v=""+(r?r(s,0):"this"),_=ke,g="string"==typeof(p=o(v))?((u={"*":p})[n]=_,u):$e({},p,((l={})[n]=_,l)),b=le(t.itemFactory?t.itemFactory(s,0):t.item,g)(e),f.set(v,b),{dict:f,arr:[b]}}),{dict:new Map,arr:[]});return t.collectSinks(new je(i))}}(t),e)(n)}(l,p,n)}}function Be(t,e,n,r={}){const{switched:o=["DOM"],stateSourceName:i="STATE"}=r,s=typeof e;if(!e)throw new Error("Missing 'name$' parameter for switchable()");if(!("string"===s||"function"===s||e instanceof ee))throw new Error("Invalid 'name$' parameter for switchable(): expects Stream, String, or Function");if(e instanceof ee){const r=e.compose(ye()).startWith(n).remember();return e=>Re(t,e,r,o)}{const r="function"===s&&e||(t=>t[e]);return e=>{const s=e&&("string"==typeof i&&e[i]||e.STATE||e.state).stream;if(!s instanceof ee)throw new Error(`Could not find the state source: ${i}`);const a=s.map(r).filter((t=>"string"==typeof t)).compose(ye()).startWith(n).remember();return Re(t,e,a,o,i)}}}function Re(t,e,n,r=["DOM"],o="STATE"){"string"==typeof r&&(r=[r]);const i=Object.entries(t).map((([t,r])=>{if(e[o]){const i=e[o].stream,s=oe.combine(n,i).filter((([e,n])=>e==t)).map((([t,e])=>e)).remember(),a=new e[o].constructor(s,e[o]._name);return[t,r({...e,state:a})]}return[t,r(e)]}));return Object.keys(e).reduce(((t,e)=>{if(r.includes(e))t[e]=n.map((t=>{const n=i.find((([e,n])=>e===t));return n&&n[1][e]||oe.never()})).flatten().remember().startWith(void 0);else{const n=i.filter((([t,n])=>void 0!==n[e])).map((([t,n])=>n[e]));t[e]=oe.merge(...n)}return t}),{})}var qe={};Object.defineProperty(qe,"__esModule",{value:!0});var Ue=n,We=function(){function t(t,e){this.dt=t,this.ins=e,this.type="delay",this.out=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null},t.prototype._n=function(t){var e=this.out;if(e)var n=setInterval((function(){e._n(t),clearInterval(n)}),this.dt)},t.prototype._e=function(t){var e=this.out;if(e)var n=setInterval((function(){e._e(t),clearInterval(n)}),this.dt)},t.prototype._c=function(){var t=this.out;if(t)var e=setInterval((function(){t._c(),clearInterval(e)}),this.dt)},t}();var Ge=qe.default=function(t){return function(e){return new Ue.Stream(new We(t,e))}},Ve={};Object.defineProperty(Ve,"__esModule",{value:!0});var He=n,Je=function(){function t(t,e){this.dt=t,this.ins=e,this.type="debounce",this.out=null,this.id=null,this.t=He.NO}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null,this.clearInterval()},t.prototype.clearInterval=function(){var t=this.id;null!==t&&clearInterval(t),this.id=null},t.prototype._n=function(t){var e=this,n=this.out;n&&(this.clearInterval(),this.t=t,this.id=setInterval((function(){e.clearInterval(),n._n(t),e.t=He.NO}),this.dt))},t.prototype._e=function(t){var e=this.out;e&&(this.clearInterval(),e._e(t))},t.prototype._c=function(){var t=this.out;t&&(this.clearInterval(),this.t!=He.NO&&t._n(this.t),this.t=He.NO,t._c())},t}();var ze=Ve.default=function(t){return function(e){return new He.Stream(new Je(t,e))}};const Xe="undefined"!=typeof window&&window||process&&process.env||{},Ye="request",Ze="INITIALIZE";let Ke=0;const Qe="~#~#~ABORT~#~#~";class tn{constructor({name:t="NO NAME",sources:e,intent:n,request:r,model:o,response:i,view:s,children:a={},components:c={},initialState:u,calculated:l,storeCalculatedInState:p=!0,DOMSourceName:f="DOM",stateSourceName:h="STATE",requestSourceName:d="HTTP"}){if(!e||"object"!=typeof e)throw new Error("Missing or invalid sources");this.name=t,this.sources=e,this.intent=n,this.request=r,this.model=o,this.response=i,this.view=s,this.children=a,this.components=c,this.initialState=u,this.calculated=l,this.storeCalculatedInState=p,this.DOMSourceName=f,this.stateSourceName=h,this.requestSourceName=d,this.sourceNames=Object.keys(e),this.isSubComponent=this.sourceNames.includes("props$");const y=e[h]&&e[h].stream;var m;y&&(this.currentState=u||{},this.sources[this.stateSourceName]=new we(y.map((t=>(this.currentState=t,t))))),this.isSubComponent||void 0!==this.intent||void 0!==this.model||(this.initialState=u||!0,this.intent=t=>({__NOOP_ACTION__:oe.never()}),this.model={__NOOP_ACTION__:t=>t}),this.log=(m=t,function(t){const e="function"==typeof t?t:e=>t;return t=>t.debug((t=>{"true"!=Xe.DEBUG&&!0!==Xe.DEBUG||console.log(`[${m}] ${e(t)}`)}))}),this.initIntent$(),this.initAction$(),this.initResponse$(),this.initState(),this.initModel$(),this.initSendResponse$(),this.initChildren$(),this.initSubComponentSink$(),this.initSubComponentsRendered$(),this.initVdom$(),this.initSinks(),this.sinks.__index=Ke++,!0===Xe.DEBUG&&console.log(`[${this.name}] Instantiated (#${this.sinks.__index})`)}initIntent$(){if(this.intent){if("function"!=typeof this.intent)throw new Error("Intent must be a function");if(this.intent$=this.intent(this.sources),!(this.intent$ instanceof ee)&&"object"!=typeof this.intent$)throw new Error("Intent must return either an action$ stream or map of event streams")}}initAction$(){const t=this.sources&&this.sources[this.requestSourceName]||null;if(!this.intent$)return void(this.action$=oe.never());let e;if(this.intent$ instanceof ee)e=this.intent$;else{const t=Object.entries(this.intent$).map((([t,e])=>e.map((e=>({type:t,data:e})))));e=oe.merge(oe.never(),...t)}const n=e instanceof ee?e:e.apply&&e(this.sources)||oe.never(),r=oe.of({type:"BOOTSTRAP"}).compose(Ge(10)),o=Te(r,n);let i;i=t&&"function"==typeof t.select?t.select("initial").flatten():oe.never();const s=i.map((t=>({type:"HYDRATE",data:t})));this.action$=oe.merge(o,s).compose(this.log((({type:t})=>`Action triggered: <${t}>`)))}initResponse$(){if(void 0===this.request)return;if("object"!=typeof this.request)throw new Error("The request parameter must be an object");const t=this.sources[this.requestSourceName],e=Object.entries(this.request).reduce(((e,[n,r])=>{const o=n.toLowerCase();if("function"!=typeof t[o])throw new Error("Invalid method in request object:",n);const i=Object.entries(r).reduce(((e,[n,r])=>{const i=`[${o.toUpperCase()}]:${n||"none"}`,s=typeof r;if("undefined"===s)throw new Error(`Action for '${n}' route in request object not specified`);if("string"!==s&&"function"!==s)throw new Error(`Invalid action for '${n}' route: expecting string or function`);const a="function"===s?"[ FUNCTION ]":`< ${r} >`;console.log(`[${this.name}] Adding ${this.requestSourceName} route:`,o.toUpperCase(),`'${n}' <${a}>`);const c=t[o](n).compose(ye(((t,e)=>t.id==e.id))).map((t=>{if(!t||!t.id)throw new Error(`No id found in request: ${i}`);try{const e=t.id,n=(t.params,t.body),o=(t.cookies,"function"===s?"FUNCTION":r),i={type:o,data:n,req:t,_reqId:e,_action:o},a=(new Date).toISOString(),c=t.get?t.get("host"):"0.0.0.0";if(console.log(`${a} ${c} ${t.method} ${t.url}`),Xe.DEBUG&&this.action$.setDebugListener({next:({type:t})=>console.log(`[${this.name}] Action from ${this.requestSourceName} request: <${t}>`)}),"function"===s){const e=this.addCalculated(this.currentState),n=r(e,t);return oe.of({...i,data:n})}{this.action$.shamefullySendNext(i);const t=Object.entries(this.sources).reduce(((t,[n,r])=>{if(!r||"function"!=typeof r[Ye])return t;const o=r[Ye](e);return[...t,o]}),[]);return oe.merge(...t)}}catch(t){console.error(t)}})).flatten();return[...e,c]}),[]);return[...e,oe.merge(...i)]}),[]);if(this.response$=oe.merge(...e).compose(this.log((t=>t._action?`[${this.requestSourceName}] response data received for Action: <${t._action}>`:`[${this.requestSourceName}] response data received from FUNCTION`))),void 0!==this.response&&void 0===this.response$)throw new Error("Cannot have a response parameter without a request parameter")}initState(){null!=this.model&&(void 0===this.model[Ze]?this.model[Ze]={[this.stateSourceName]:(t,e)=>({...this.addCalculated(e)})}:Object.keys(this.model[Ze]).forEach((t=>{t!==this.stateSourceName&&(console.warn(`${Ze} can only be used with the ${this.stateSourceName} source... disregarding ${t}`),delete this.model[Ze][t])})))}initModel$(){if(void 0===this.model)return void(this.model$=this.sourceNames.reduce(((t,e)=>(t[e]=oe.never(),t)),{}));const t={type:Ze,data:this.initialState};this.isSubComponent&&this.initialState&&console.warn(`[${this.name}] Initial state provided to sub-component. This will overwrite any state provided by the parent component.`);const e=this.initialState?Te(oe.of(t),this.action$).compose(Ge(0)):this.action$,n=()=>this.makeOnAction(e,!0,this.action$),r=()=>this.makeOnAction(this.action$,!1,this.action$),o=Object.entries(this.model),i={};o.forEach((t=>{let[e,o]=t;if("function"==typeof o&&(o={[this.stateSourceName]:o}),"object"!=typeof o)throw new Error(`Entry for each action must be an object: ${this.name} ${e}`);Object.entries(o).forEach((t=>{const[o,s]=t,a=o==this.stateSourceName,c=(a?n():r())(e,s).compose(this.log((t=>{if(a)return`State reducer added: <${e}>`;{const n=t&&(t.type||t.command||t.name||t.key||Array.isArray(t)&&"Array"||t);return`Data sent to [${o}]: <${e}> ${n}`}})));Array.isArray(i[o])?i[o].push(c):i[o]=[c]}))}));const s=Object.entries(i).reduce(((t,e)=>{const[n,r]=e;return t[n]=oe.merge(oe.never(),...r),t}),{});this.model$=s}initSendResponse$(){const t=typeof this.response;if("function"!=t&&"undefined"!=t)throw new Error("The response parameter must be a function");if("undefined"==t)return this.response$&&this.response$.subscribe({next:this.log((({_reqId:t,_action:e})=>`Unhandled response for request: ${e} ${t}`))}),void(this.sendResponse$=oe.never());const e={select:t=>void 0===t?this.response$:(Array.isArray(t)||(t=[t]),this.response$.filter((({_action:e})=>!(t.length>0)||("FUNCTION"===e||t.includes(e)))))},n=this.response(e);if("object"!=typeof n)throw new Error("The response function must return an object");const r=Object.entries(n).reduce(((t,[e,n])=>[...t,n.map((({_reqId:t,_action:n,data:r})=>{if(!t)throw new Error(`No request id found for response for: ${e}`);return{_reqId:t,_action:n,command:e,data:r}}))]),[]);this.sendResponse$=oe.merge(...r).compose(this.log((({_reqId:t,_action:e})=>`[${this.requestSourceName}] response sent for: <${e}>`)))}initChildren$(){const t=this.sourceNames.reduce(((t,e)=>(e==this.DOMSourceName?t[e]={}:t[e]=[],t)),{});this.children$=Object.entries(this.children).reduce(((t,[e,n])=>{const r=n(this.sources);return this.sourceNames.forEach((n=>{n==this.DOMSourceName?t[n][e]=r[n]:t[n].push(r[n])})),t}),t)}initSubComponentSink$(){const t=oe.create({start:t=>{this.newSubComponentSinks=t.next.bind(t)},stop:t=>{}});t.subscribe({next:t=>t}),this.subComponentSink$=t.filter((t=>Object.keys(t).length>0))}initSubComponentsRendered$(){const t=oe.create({start:t=>{this.triggerSubComponentsRendered=t.next.bind(t)},stop:t=>{}});this.subComponentsRendered$=t.startWith(null)}initVdom$(){if("function"!=typeof this.view)return void(this.vdom$=oe.of(null));const t=this.collectRenderParameters();this.vdom$=t.map(this.view).map((t=>t||{sel:"div",data:{},children:[]})).compose(this.instantiateSubComponents.bind(this)).filter((t=>void 0!==t)).compose(this.renderVdom.bind(this))}initSinks(){this.sinks=this.sourceNames.reduce(((t,e)=>{if(e==this.DOMSourceName)return t;const n=this.subComponentSink$?this.subComponentSink$.map((t=>t[e])).filter((t=>!!t)).flatten():oe.never();return e===this.stateSourceName?t[e]=oe.merge(this.model$[e]||oe.never(),n,this.sources[this.stateSourceName].stream.filter((t=>!1)),...this.children$[e]):t[e]=oe.merge(this.model$[e]||oe.never(),n,...this.children$[e]),t}),{}),this.sinks[this.DOMSourceName]=this.vdom$,this.sinks[this.requestSourceName]=oe.merge(this.sendResponse$,this.sinks[this.requestSourceName])}makeOnAction(t,e=!0,n){return n=n||t,(r,o)=>{const i=t.filter((({type:t})=>t==r));let s;if("function"==typeof o)s=i.map((t=>{const i=(e,o,i=10)=>{if("number"!=typeof i)throw new Error(`[${this.name} ] Invalid delay value provided to next() function in model action '${r}'. Must be a number in ms.`);const s=t._reqId||t.req&&t.req.id,a=s?"object"==typeof o?{...o,_reqId:s,_action:r}:{data:o,_reqId:s,_action:r}:o;setTimeout((()=>{n.shamefullySendNext({type:e,data:a})}),i)};let s=t.data;if(s&&s.data&&s._reqId&&(s=s.data),e)return e=>{const n=this.isSubComponent?this.currentState:e,r=this.addCalculated(n),a=o(r,s,i,t.req);return a==Qe?n:this.cleanupCalculated(a)};{const e=this.addCalculated(this.currentState),n=o(e,s,i,t.req),a=typeof n,c=t._reqId||t.req&&t.req.id;if(["string","number","boolean","function"].includes(a))return n;if("object"==a)return{...n,_reqId:c,_action:r};if("undefined"==a)return console.warn(`'undefined' value sent to ${r}`),n;throw new Error(`Invalid reducer type for ${r} ${a}`)}})).filter((t=>t!=Qe));else if(void 0===o||!0===o)s=i.map((({data:t})=>t));else{const t=o;s=i.mapTo(t)}return s}}addCalculated(t){if(!this.calculated||"object"!=typeof t||t instanceof Array)return t;if("object"!=typeof this.calculated)throw new Error("'calculated' parameter must be an object mapping calculated state field named to functions");const e=Object.entries(this.calculated).reduce(((e,[n,r])=>{if("function"!=typeof r)throw new Error(`Missing or invalid calculator function for calculated field '${n}`);try{e[n]=r(t)}catch(t){console.warn(`Calculated field '${n}' threw an error during calculation: ${t.message}`)}return e}),{});return{...t,...e}}cleanupCalculated(t){if(!t||"object"!=typeof t||t instanceof Array)return t;const e=this.storeCalculatedInState?this.addCalculated(t):t,{__props:n,__children:r,...o}=e,i={...o};if(!this.calculated)return i;return Object.keys(this.calculated).forEach((t=>{this.initialState&&void 0!==this.initialState[t]?i[t]=this.initialState[t]:delete i[t]})),i}collectRenderParameters(){const t=this.sources[this.stateSourceName],e={...this.children$[this.DOMSourceName]},n=t&&t.isolateSource(t,{get:t=>this.addCalculated(t)}),r=n&&n.stream||oe.never();e.state=r,e[this.stateSourceName]=r,this.sources.props$&&(e.__props=this.sources.props$),this.sources.children$&&(e.__children=this.sources.children$);const o=[],i=[];Object.entries(e).forEach((([t,e])=>{o.push(t),i.push(e)}));return oe.combine(...i).map((t=>o.reduce(((e,n,r)=>(e[n]=t[r],e)),{})))}instantiateSubComponents(t){return t.fold(((t,e)=>{const n=en(e,Object.keys(this.components)),r=Object.entries(n),o={"::ROOT::":e};if(0===r.length)return o;const i={},s=r.reduce(((e,[n,r])=>{const o=r.data,s=o.props||{},a=r.children||[],c=o.isCollection||!1,u=o.isSwitchable||!1,l=t=>{Object.entries(t).map((([t,e])=>{i[t]||=[],t!==this.DOMSourceName&&i[t].push(e)}))};if(t[n]){const r=t[n];return e[n]=r,r.props$.shamefullySendNext(s),r.children$.shamefullySendNext(a),l(r.sink$),e}const p=oe.create().startWith(s),f=oe.create().startWith(a);let h;h=c?this.instantiateCollection.bind(this):u?this.instantiateSwitchable.bind(this):this.instantiateCustomComponent.bind(this);const d=h(r,p,f);return d[this.DOMSourceName]=d[this.DOMSourceName]?this.makeCoordinatedSubComponentDomSink(d[this.DOMSourceName]):oe.never(),e[n]={sink$:d,props$:p,children$:f},l(d),e}),o),a=Object.entries(i).reduce(((t,[e,n])=>(0===n.length||(t[e]=1===n.length?n[0]:oe.merge(...n)),t)),{});return this.newSubComponentSinks(a),s}),{})}makeCoordinatedSubComponentDomSink(t){const e=t.remember(),n=this.sources[this.stateSourceName].stream.compose(ye(((t,e)=>JSON.stringify(t)===JSON.stringify(e)))).map((t=>e)).compose(ze(10)).flatten().debug((t=>this.triggerSubComponentsRendered())).remember();return n}instantiateCollection(t,e,n){const r=t.data.props||{};t.children;const o=oe.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState),e,n).map((([t,e,n])=>"object"==typeof t?{...this.addCalculated(t),__props:e,__children:n}:{value:t,__props:e,__children:n})),i=new we(o),s=r.from;let a;const c="function"==typeof r.of?r.of:this.components[r.of],u=t=>{if("object"==typeof t){const{__props:e,__children:n,...r}=t;return r}return t},l={get:t=>{const{__props:e,__children:n}=t;return Array.isArray(t[s])?t[s].map((t=>"object"==typeof t?{...t,__props:e,__children:n}:{value:t,__props:e,__children:n})):[]},set:(t,e)=>this.calculated&&s in this.calculated?(console.warn(`Collection sub-component of ${this.name} attempted to update state on a calculated field '${s}': Update ignored`),t):{...t,[s]:e.map(u)}};void 0===s?a={get:t=>!(t instanceof Array)&&t.value&&t.value instanceof Array?t.value:t,set:(t,e)=>e}:"string"==typeof s?"object"==typeof this.currentState?s in this.currentState||s in this.calculated?(Array.isArray(this.currentState[s])||console.warn(`State property '${s}' in collection comopnent of ${this.name} is not an array: No components will be instantiated in the collection.`),a=l):(console.error(`Collection component in ${this.name} is attempting to use non-existent state property '${s}': To fix this error, specify a valid array property on the state. Attempting to use parent component state.`),a=void 0):(Array.isArray(this.currentState[s])||console.warn(`State property '${s}' in collection component of ${this.name} is not an array: No components will be instantiated in the collection.`),a=l):"object"==typeof s?"function"!=typeof s.get?(console.error(`Collection component in ${this.name} has an invalid 'from' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting child state from the current state. Attempting to use parent component state.`),a=void 0):a={get:t=>{const e=s.get(t);return Array.isArray(e)?e:(console.warn(`State getter function in collection component of ${this.name} did not return an array: No components will be instantiated in the collection. Returned value:`,e),[])},set:s.set}:(console.error(`Collection component in ${this.name} has an invalid 'from' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting child state from the current state. Attempting to use parent component state.`),a=void 0);const p={...this.sources,[this.stateSourceName]:i,props$:e,children$:n},f=Fe(c,a,{container:null})(p);if("object"!=typeof f)throw new Error("Invalid sinks returned from component factory of collection element");return f}instantiateSwitchable(t,e,n){const r=t.data.props||{};t.children;const o=oe.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState),e,n).map((([t,e,n])=>"object"==typeof t?{...this.addCalculated(t),__props:e,__children:n}:{value:t,__props:e,__children:n})),i=new we(o),s=r.state;let a;const c={get:t=>t,set:(t,e)=>{if("object"!=typeof e||e instanceof Array)return e;const{__props:n,__children:r,...o}=e;return o}};void 0===s?a=c:"string"==typeof s?a={get:t=>{const{__props:e,__children:n}=t;return"object"!=typeof t[s]||t[s]instanceof Array?{value:t[s],__props:e,__children:n}:{...t[s],__props:e,__children:n}},set:(t,e)=>{if(this.calculated&&s in this.calculated)return console.warn(`Switchable sub-component of ${this.name} attempted to update state on a calculated field '${s}': Update ignored`),t;if("object"!=typeof e||e instanceof Array)return{...t,[s]:e};const{__props:n,__children:r,...o}=e;return{...t,[s]:o}}}:"object"==typeof s?"function"!=typeof s.get?(console.error(`Switchable component in ${this.name} has an invalid 'state' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting sub-component state from the current state. Attempting to use parent component state.`),a=c):a={get:s.get,set:s.set}:(console.error(`Invalid state provided to switchable sub-component of ${this.name}: Expecting string, object, or undefined, but found ${typeof s}. Attempting to use parent component state.`),a=c);const u=r.of,l={...this.sources,[this.stateSourceName]:i,props$:e,children$:n},p=le(Be(u,e.map((t=>t.current))),{[this.stateSourceName]:a})(l);if("object"!=typeof p)throw new Error("Invalid sinks returned from component factory of switchable element");return p}instantiateCustomComponent(t,e,n){const r=t.sel,o=t.data.props||{};t.children;const i=oe.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState),e,n).map((([t,e,n])=>"object"==typeof t?{...this.addCalculated(t),__props:e,__children:n}:{value:t,__props:e,__children:n})),s=new we(i),a=o.state,c="sygnal-factory"===r?o.sygnalFactory:this.components[r]||o.sygnalFactory;if(!c){if("sygnal-factory"===r)throw new Error("Component not found on element with Capitalized selector and nameless function: JSX transpilation replaces selectors starting with upper case letters with functions in-scope with the same name, Sygnal cannot see the name of the resulting component.");throw new Error(`Component not found: ${r}`)}let u;const l={get:t=>t,set:(t,e)=>{if("object"!=typeof e||e instanceof Array)return e;const{__props:n,__children:r,...o}=e;return o}};void 0===a?u=l:"string"==typeof a?u={get:t=>{const{__props:e,__children:n}=t;return"object"==typeof t[a]?{...t[a],__props:e,__children:n}:{value:t[a],__props:e,__children:n}},set:(t,e)=>this.calculated&&a in this.calculated?(console.warn(`Sub-component of ${this.name} attempted to update state on a calculated field '${a}': Update ignored`),t):{...t,[a]:e}}:"object"==typeof a?"function"!=typeof a.get?(console.error(`Sub-component in ${this.name} has an invalid 'state' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting sub-component state from the current state. Attempting to use parent component state.`),u=l):u={get:a.get,set:a.set}:(console.error(`Invalid state provided to sub-component of ${this.name}: Expecting string, object, or undefined, but found ${typeof a}. Attempting to use parent component state.`),u=l);const p={...this.sources,[this.stateSourceName]:s,props$:e,children$:n},f=le(c,{[this.stateSourceName]:u})(p);if("object"!=typeof f){throw new Error("Invalid sinks returned from component factory:","sygnal-factory"===r?"custom element":r)}return f}renderVdom(t){return oe.combine(this.subComponentsRendered$,t).compose(ze(5)).map((([t,e])=>{const n=Object.keys(this.components),r=e["::ROOT::"],o=Object.entries(e).filter((([t])=>"::ROOT::"!==t));if(0===o.length)return oe.of(r);const i=[],s=o.map((([t,e])=>(i.push(t),e.sink$[this.DOMSourceName].startWith(void 0))));return 0===s.length?oe.of(r):oe.combine(...s).compose(ze(10)).map((t=>{const e=t.reduce(((t,e,n)=>(t[i[n]]=e,t)),{});return nn(sn(r),e,n)}))})).flatten().filter((t=>!!t)).remember().compose(this.log("View Rendered"))}}function en(t,e,n=0,r=0){if(!t)return{};if(t.data?.componentsProcessed)return{};0===n&&(t.data.componentsProcessed=!0);const o=t.sel,i=o&&"collection"===o.toLowerCase(),s=o&&"switchable"===o.toLowerCase(),a=o&&["collection","switchable","sygnal-factory",...e].includes(t.sel)||"function"==typeof t.data?.props?.sygnalFactory,c=t.data&&t.data.props||{};t.data&&t.data.attrs;const u=t.children||[];let l={};if(a){const o=on(t,n,r);if(i){if(!c.of)throw new Error("Collection element missing required 'component' property");if("string"!=typeof c.of&&"function"!=typeof c.of)throw new Error(`Invalid 'component' property of collection element: found ${typeof c.of} requires string or component factory function`);if("function"!=typeof c.of&&!e.includes(c.of))throw new Error(`Specified component for collection not found: ${c.of}`);void 0===c.from||"string"==typeof c.from||Array.isArray(c.from)||"function"==typeof c.from.get||console.warn(`No valid array found for collection ${"string"==typeof c.of?c.of:"function component"}: no collection components will be created`,c.from),t.data.isCollection=!0,t.data.props||={}}else if(s){if(!c.of)throw new Error("Switchable element missing required 'of' property");if("object"!=typeof c.of)throw new Error(`Invalid 'of' property of switchable element: found ${typeof c.of} requires object mapping names to component factories`);if(!Object.values(c.of).every((t=>"function"==typeof t)))throw new Error("One or more components provided to switchable element is not a valid component factory");if(!c.current||"string"!=typeof c.current&&"function"!=typeof c.current)throw new Error(`Missing or invalid 'current' property for switchable element: found '${typeof c.current}' requires string or function`);if(!Object.keys(c.of).includes(c.current))throw new Error(`Component '${c.current}' not found in switchable element`);t.data.isSwitchable=!0}void 0===c.key&&(t.data.props.key=o),l[o]=t}return u.length>0&&u.map(((t,o)=>en(t,e,n+1,r+o))).forEach((t=>{Object.entries(t).forEach((([t,e])=>l[t]=e))})),l}function nn(t,e,n,r=0,o=0){if(!t)return;if(t.data?.componentsInjected)return t;0===r&&t.data&&(t.data.componentsInjected=!0);const i=t.sel||"NO SELECTOR",s=["collection","switchable","sygnal-factory",...n].includes(i)||"function"==typeof t.data?.props?.sygnalFactory,a=t?.data?.isCollection;t.data&&t.data.props;const c=t.children||[];if(s){const n=on(t,r,o),i=e[n];return a?(t.sel="div",t.children=Array.isArray(i)?i:[i],t):i}return c.length>0?(t.children=c.map(((t,i)=>nn(t,e,n,r+1,o+i))).flat(),t):t}const rn=new Map;function on(t,e,n){const r=t.sel,o="string"==typeof r?r:"functionComponent";let i=rn.get(r);if(!i){i=`${Date.now()}-${Math.floor(1e4*Math.random())}`,rn.set(r,i)}const s=`${i}-${e}-${n}`,a=t.data&&t.data.props||{};return`${o}::${a.id&&JSON.stringify(a.id)||s}`}function sn(t){return void 0===t?t:{...t,children:Array.isArray(t.children)?t.children.map(sn):void 0,data:t.data&&{...t.data,componentsInjected:!1}}}function an(t){return function(){var t;return(t="undefined"!=typeof window?window:"undefined"!=typeof global?global:this).Cyclejs=t.Cyclejs||{},(t=t.Cyclejs).adaptStream=t.adaptStream||function(t){return t},t}().adaptStream(t)}function cn(t){return 0===Object.keys(t).length}function un(t,e){if("function"!=typeof t)throw new Error("First argument given to Cycle must be the 'main' function.");if("object"!=typeof e||null===e)throw new Error("Second argument given to Cycle must be an object with driver functions as properties.");if(cn(e))throw new Error("Second argument given to Cycle must be an object with at least one driver function declared as a property.");var n=function(t){if("object"!=typeof t||null===t)throw new Error("Argument given to setupReusable must be an object with driver functions as properties.");if(cn(t))throw new Error("Argument given to setupReusable must be an object with at least one driver function declared as a property.");var e=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=oe.create());return e}(t),n=function(t,e){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=t[r](e[r],r),n[r]&&"object"==typeof n[r]&&(n[r]._isCycleSource=r));return n}(t,e),r=function(t){for(var e in t)t.hasOwnProperty(e)&&t[e]&&"function"==typeof t[e].shamefullySendNext&&(t[e]=an(t[e]));return t}(n);function o(t){return function(t,e){var n=De(),r=Object.keys(t).filter((function(t){return!!e[t]})),o={},i={};r.forEach((function(t){o[t]={_n:[],_e:[]},i[t]={next:function(e){return o[t]._n.push(e)},error:function(e){return o[t]._e.push(e)},complete:function(){}}}));var s=r.map((function(e){return oe.fromObservable(t[e]).subscribe(i[e])}));return r.forEach((function(t){var r=e[t],s=function(t){n((function(){return r._n(t)}))},a=function(t){n((function(){(console.error||console.log)(t),r._e(t)}))};o[t]._n.forEach(s),o[t]._e.forEach(a),i[t].next=s,i[t].error=a,i[t]._n=s,i[t]._e=a})),o=null,function(){s.forEach((function(t){return t.unsubscribe()}))}}(t,e)}function i(){!function(t){for(var e in t)t.hasOwnProperty(e)&&t[e]&&t[e].dispose&&t[e].dispose()}(r),function(t){Object.keys(t).forEach((function(e){return t[e]._c()}))}(e)}return{sources:r,run:o,dispose:i}}(e),r=t(n.sources);return"undefined"!=typeof window&&(window.Cyclejs=window.Cyclejs||{},window.Cyclejs.sinks=r),{sinks:r,sources:n.sources,run:function(){var t=n.run(r);return function(){t(),n.dispose()}}}}function ln(t){if(pn(t)){for(;t&&pn(t);){t=fn(t).parent}return null!=t?t:null}return t.parentNode}function pn(t){return 11===t.nodeType}function fn(t,e){var n,r,o;const i=t;return null!==(n=i.parent)&&void 0!==n||(i.parent=null!=e?e:null),null!==(r=i.firstChildNode)&&void 0!==r||(i.firstChildNode=t.firstChild),null!==(o=i.lastChildNode)&&void 0!==o||(i.lastChildNode=t.lastChild),i}const hn={createElement:function(t,e){return document.createElement(t,e)},createElementNS:function(t,e,n){return document.createElementNS(t,e,n)},createTextNode:function(t){return document.createTextNode(t)},createDocumentFragment:function(){return fn(document.createDocumentFragment())},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){if(pn(t)){let e=t;for(;e&&pn(e);){e=fn(e).parent}t=null!=e?e:t}pn(e)&&(e=fn(e,t)),n&&pn(n)&&(n=fn(n).firstChildNode),t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){pn(e)&&(e=fn(e,t)),t.appendChild(e)},parentNode:ln,nextSibling:function(t){var e;if(pn(t)){const n=fn(t),r=ln(n);if(r&&n.lastChildNode){const t=Array.from(r.childNodes),o=t.indexOf(n.lastChildNode);return null!==(e=t[o+1])&&void 0!==e?e:null}return null}return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},getTextContent:function(t){return t.textContent},isElement:function(t){return 1===t.nodeType},isText:function(t){return 3===t.nodeType},isComment:function(t){return 8===t.nodeType},isDocumentFragment:pn};function dn(t,e,n,r,o){return{sel:t,data:e,children:n,text:r,elm:o,key:void 0===e?void 0:e.key}}const yn=Array.isArray;function mn(t){return"string"==typeof t||"number"==typeof t||t instanceof String||t instanceof Number}function vn(t){return void 0===t}function _n(t){return void 0!==t}const gn=dn("",{},[],void 0,void 0);function bn(t,e){var n,r;const o=t.key===e.key,i=(null===(n=t.data)||void 0===n?void 0:n.is)===(null===(r=e.data)||void 0===r?void 0:r.is),s=t.sel===e.sel,a=!(!t.sel&&t.sel===e.sel)||typeof t.text==typeof e.text;return s&&o&&i&&a}function wn(){throw new Error("The document fragment is not supported on this platform.")}function Sn(t,e,n){var r;const o={};for(let i=e;i<=n;++i){const e=null===(r=t[i])||void 0===r?void 0:r.key;void 0!==e&&(o[e]=i)}return o}const An=["create","update","remove","destroy","pre","post"];function On(t,e,n){const r={create:[],update:[],remove:[],destroy:[],pre:[],post:[]},o=void 0!==e?e:hn;for(const e of An)for(const n of t){const t=n[e];void 0!==t&&r[e].push(t)}function i(t){const e=t.id?"#"+t.id:"",n=t.getAttribute("class"),r=n?"."+n.split(" ").join("."):"";return dn(o.tagName(t).toLowerCase()+e+r,{},[],void 0,t)}function s(t){return dn(void 0,{},[],void 0,t)}function a(t,e){return function(){if(0==--e){const e=o.parentNode(t);o.removeChild(e,t)}}}function c(t,e){var i,s,a,u;let l,p=t.data;if(void 0!==p){const e=null===(i=p.hook)||void 0===i?void 0:i.init;_n(e)&&(e(t),p=t.data)}const f=t.children,h=t.sel;if("!"===h)vn(t.text)&&(t.text=""),t.elm=o.createComment(t.text);else if(void 0!==h){const n=h.indexOf("#"),i=h.indexOf(".",n),a=n>0?n:h.length,u=i>0?i:h.length,d=-1!==n||-1!==i?h.slice(0,Math.min(a,u)):h,y=t.elm=_n(p)&&_n(l=p.ns)?o.createElementNS(l,d,p):o.createElement(d,p);for(a<u&&y.setAttribute("id",h.slice(a+1,u)),i>0&&y.setAttribute("class",h.slice(u+1).replace(/\./g," ")),l=0;l<r.create.length;++l)r.create[l](gn,t);if(yn(f))for(l=0;l<f.length;++l){const t=f[l];null!=t&&o.appendChild(y,c(t,e))}else mn(t.text)&&o.appendChild(y,o.createTextNode(t.text));const m=t.data.hook;_n(m)&&(null===(s=m.create)||void 0===s||s.call(m,gn,t),m.insert&&e.push(t))}else if((null===(a=null==n?void 0:n.experimental)||void 0===a?void 0:a.fragments)&&t.children){for(t.elm=(null!==(u=o.createDocumentFragment)&&void 0!==u?u:wn)(),l=0;l<r.create.length;++l)r.create[l](gn,t);for(l=0;l<t.children.length;++l){const n=t.children[l];null!=n&&o.appendChild(t.elm,c(n,e))}}else t.elm=o.createTextNode(t.text);return t.elm}function u(t,e,n,r,i,s){for(;r<=i;++r){const i=n[r];null!=i&&o.insertBefore(t,c(i,s),e)}}function l(t){var e,n;const o=t.data;if(void 0!==o){null===(n=null===(e=null==o?void 0:o.hook)||void 0===e?void 0:e.destroy)||void 0===n||n.call(e,t);for(let e=0;e<r.destroy.length;++e)r.destroy[e](t);if(void 0!==t.children)for(let e=0;e<t.children.length;++e){const n=t.children[e];null!=n&&"string"!=typeof n&&l(n)}}}function p(t,e,n,i){for(var s,c;n<=i;++n){let i,u;const f=e[n];if(null!=f)if(_n(f.sel)){l(f),i=r.remove.length+1,u=a(f.elm,i);for(let t=0;t<r.remove.length;++t)r.remove[t](f,u);const t=null===(c=null===(s=null==f?void 0:f.data)||void 0===s?void 0:s.hook)||void 0===c?void 0:c.remove;_n(t)?t(f,u):u()}else f.children?(l(f),p(t,f.children,0,f.children.length-1)):o.removeChild(t,f.elm)}}function f(t,e,n){var i,s,a,l,h,d,y,m;const v=null===(i=e.data)||void 0===i?void 0:i.hook;null===(s=null==v?void 0:v.prepatch)||void 0===s||s.call(v,t,e);const _=e.elm=t.elm;if(t===e)return;if(void 0!==e.data||_n(e.text)&&e.text!==t.text){null!==(a=e.data)&&void 0!==a||(e.data={}),null!==(l=t.data)&&void 0!==l||(t.data={});for(let n=0;n<r.update.length;++n)r.update[n](t,e);null===(y=null===(d=null===(h=e.data)||void 0===h?void 0:h.hook)||void 0===d?void 0:d.update)||void 0===y||y.call(d,t,e)}const g=t.children,b=e.children;vn(e.text)?_n(g)&&_n(b)?g!==b&&function(t,e,n,r){let i,s,a,l,h=0,d=0,y=e.length-1,m=e[0],v=e[y],_=n.length-1,g=n[0],b=n[_];for(;h<=y&&d<=_;)null==m?m=e[++h]:null==v?v=e[--y]:null==g?g=n[++d]:null==b?b=n[--_]:bn(m,g)?(f(m,g,r),m=e[++h],g=n[++d]):bn(v,b)?(f(v,b,r),v=e[--y],b=n[--_]):bn(m,b)?(f(m,b,r),o.insertBefore(t,m.elm,o.nextSibling(v.elm)),m=e[++h],b=n[--_]):bn(v,g)?(f(v,g,r),o.insertBefore(t,v.elm,m.elm),v=e[--y],g=n[++d]):(void 0===i&&(i=Sn(e,h,y)),s=i[g.key],vn(s)?o.insertBefore(t,c(g,r),m.elm):(a=e[s],a.sel!==g.sel?o.insertBefore(t,c(g,r),m.elm):(f(a,g,r),e[s]=void 0,o.insertBefore(t,a.elm,m.elm))),g=n[++d]);d<=_&&(l=null==n[_+1]?null:n[_+1].elm,u(t,l,n,d,_,r)),h<=y&&p(t,e,h,y)}(_,g,b,n):_n(b)?(_n(t.text)&&o.setTextContent(_,""),u(_,null,b,0,b.length-1,n)):_n(g)?p(_,g,0,g.length-1):_n(t.text)&&o.setTextContent(_,""):t.text!==e.text&&(_n(g)&&p(_,g,0,g.length-1),o.setTextContent(_,e.text)),null===(m=null==v?void 0:v.postpatch)||void 0===m||m.call(v,t,e)}return function(t,e){let n,a,u;const l=[];for(n=0;n<r.pre.length;++n)r.pre[n]();for(!function(t,e){return t.isElement(e)}(o,t)?function(t,e){return t.isDocumentFragment(e)}(o,t)&&(t=s(t)):t=i(t),bn(t,e)?f(t,e,l):(a=t.elm,u=o.parentNode(a),c(e,l),null!==u&&(o.insertBefore(u,e.elm,o.nextSibling(a)),p(u,[t],0,0))),n=0;n<l.length;++n)l[n].data.hook.insert(l[n]);for(n=0;n<r.post.length;++n)r.post[n]();return e}}function En(t,e,n){if(t.ns="http://www.w3.org/2000/svg","foreignObject"!==n&&void 0!==e)for(let t=0;t<e.length;++t){const n=e[t];if("string"==typeof n)continue;const r=n.data;void 0!==r&&En(r,n.children,n.sel)}}function $n(t,e,n){let r,o,i,s={};if(void 0!==n?(null!==e&&(s=e),yn(n)?r=n:mn(n)?o=n.toString():n&&n.sel&&(r=[n])):null!=e&&(yn(e)?r=e:mn(e)?o=e.toString():e&&e.sel?r=[e]:s=e),void 0!==r)for(i=0;i<r.length;++i)mn(r[i])&&(r[i]=dn(void 0,void 0,void 0,r[i],void 0));return"s"!==t[0]||"v"!==t[1]||"g"!==t[2]||3!==t.length&&"."!==t[3]&&"#"!==t[3]||En(s,r,t),dn(t,s,r,o,void 0)}function jn(t,e){const n=void 0!==e?e:hn;let r;if(n.isElement(t)){const r=t.id?"#"+t.id:"",o=t.getAttribute("class"),i=o?"."+o.split(" ").join("."):"",s=n.tagName(t).toLowerCase()+r+i,a={},c={},u={},l=[];let p,f,h;const d=t.attributes,y=t.childNodes;for(f=0,h=d.length;f<h;f++)p=d[f].nodeName,"d"===p[0]&&"a"===p[1]&&"t"===p[2]&&"a"===p[3]&&"-"===p[4]?c[p.slice(5)]=d[f].nodeValue||"":"id"!==p&&"class"!==p&&(a[p]=d[f].nodeValue);for(f=0,h=y.length;f<h;f++)l.push(jn(y[f],e));return Object.keys(a).length>0&&(u.attrs=a),Object.keys(c).length>0&&(u.dataset=c),"s"!==s[0]||"v"!==s[1]||"g"!==s[2]||3!==s.length&&"."!==s[3]&&"#"!==s[3]||En(u,l,s),dn(s,u,l,void 0,t)}return n.isText(t)?(r=n.getTextContent(t),dn(void 0,void 0,void 0,r,t)):n.isComment(t)?(r=n.getTextContent(t),dn("!",{},[],r,t)):dn("",{},[],void 0,t)}function Nn(t,e){let n;const r=e.elm;let o=t.data.attrs,i=e.data.attrs;if((o||i)&&o!==i){for(n in o=o||{},i=i||{},i){const t=i[n];o[n]!==t&&(!0===t?r.setAttribute(n,""):!1===t?r.removeAttribute(n):120!==n.charCodeAt(0)?r.setAttribute(n,t):58===n.charCodeAt(3)?r.setAttributeNS("http://www.w3.org/XML/1998/namespace",n,t):58===n.charCodeAt(5)?r.setAttributeNS("http://www.w3.org/1999/xlink",n,t):r.setAttribute(n,t))}for(n in o)n in i||r.removeAttribute(n)}}const Cn={create:Nn,update:Nn};function kn(t,e){let n,r;const o=e.elm;let i=t.data.class,s=e.data.class;if((i||s)&&i!==s){for(r in i=i||{},s=s||{},i)i[r]&&!Object.prototype.hasOwnProperty.call(s,r)&&o.classList.remove(r);for(r in s)n=s[r],n!==i[r]&&o.classList[n?"add":"remove"](r)}}const xn={create:kn,update:kn},In=/[A-Z]/g;function Pn(t,e){const n=e.elm;let r,o=t.data.dataset,i=e.data.dataset;if(!o&&!i)return;if(o===i)return;o=o||{},i=i||{};const s=n.dataset;for(r in o)i[r]||(s?r in s&&delete s[r]:n.removeAttribute("data-"+r.replace(In,"-$&").toLowerCase()));for(r in i)o[r]!==i[r]&&(s?s[r]=i[r]:n.setAttribute("data-"+r.replace(In,"-$&").toLowerCase(),i[r]))}const Tn={create:Pn,update:Pn};function Mn(t,e){let n,r,o;const i=e.elm;let s=t.data.props,a=e.data.props;if((s||a)&&s!==a)for(n in s=s||{},a=a||{},a)r=a[n],o=s[n],o===r||"value"===n&&i[n]===r||(i[n]=r)}const Dn={create:Mn,update:Mn},Ln="undefined"!=typeof window&&window.requestAnimationFrame.bind(window)||setTimeout,Fn=function(t){Ln((function(){Ln(t)}))};let Bn=!1;function Rn(t,e,n){Fn((function(){t[e]=n}))}function qn(t,e){let n,r;const o=e.elm;let i=t.data.style,s=e.data.style;if(!i&&!s)return;if(i===s)return;i=i||{},s=s||{};const a="delayed"in i;for(r in i)s[r]||("-"===r[0]&&"-"===r[1]?o.style.removeProperty(r):o.style[r]="");for(r in s)if(n=s[r],"delayed"===r&&s.delayed)for(const t in s.delayed)n=s.delayed[t],a&&n===i.delayed[t]||Rn(o.style,t,n);else"remove"!==r&&n!==i[r]&&("-"===r[0]&&"-"===r[1]?o.style.setProperty(r,n):o.style[r]=n)}const Un={pre:function(){Bn=!1},create:qn,update:qn,destroy:function(t){let e,n;const r=t.elm,o=t.data.style;if(o&&(e=o.destroy))for(n in e)r.style[n]=e[n]},remove:function(t,e){const n=t.data.style;if(!n||!n.remove)return void e();let r;Bn||(t.elm.offsetLeft,Bn=!0);const o=t.elm;let i=0;const s=n.remove;let a=0;const c=[];for(r in s)c.push(r),o.style[r]=s[r];const u=getComputedStyle(o)["transition-property"].split(", ");for(;i<u.length;++i)-1!==c.indexOf(u[i])&&a++;o.addEventListener("transitionend",(function(t){t.target===o&&--a,0===a&&e()}))}};function Wn(t,e){e.elm=t.elm,t.data.fn=e.data.fn,t.data.args=e.data.args,t.data.isolate=e.data.isolate,e.data=t.data,e.children=t.children,e.text=t.text,e.elm=t.elm}function Gn(t){var e=t.data;Wn(e.fn.apply(void 0,e.args),t)}function Vn(t,e){var n,r=t.data,o=e.data,i=r.args,s=o.args;for(r.fn===o.fn&&i.length===s.length||Wn(o.fn.apply(void 0,s),e),n=0;n<s.length;++n)if(i[n]!==s[n])return void Wn(o.fn.apply(void 0,s),e);Wn(t,e)}function Hn(t,e,n,r,o){void 0===n&&(n=!1),void 0===r&&(r=!1),void 0===o&&(o=!1);var i=null;return ee.create({start:function(s){i=r?function(t){zn(t,r),s.next(t)}:function(t){s.next(t)},t.addEventListener(e,i,{capture:n,passive:o})},stop:function(){t.removeEventListener(e,i,n),i=null}})}function Jn(t,e){for(var n=Object.keys(t),r=n.length,o=0;o<r;o++){var i=n[o];if("object"==typeof t[i]&&"object"==typeof e[i]){if(!Jn(t[i],e[i]))return!1}else if(t[i]!==e[i])return!1}return!0}function zn(t,e){if(e)if("boolean"==typeof e)t.preventDefault();else if("function"==typeof e)e(t)&&t.preventDefault();else{if("object"!=typeof e)throw new Error("preventDefault has to be either a boolean, predicate function or object");Jn(e,t)&&t.preventDefault()}}var Xn=function(){function t(t){this._name=t}return t.prototype.select=function(t){return this},t.prototype.elements=function(){var t=ae(oe.of([document]));return t._isCycleSource=this._name,t},t.prototype.element=function(){var t=ae(oe.of(document));return t._isCycleSource=this._name,t},t.prototype.events=function(t,e,n){var r;void 0===e&&(e={}),r=Hn(document,t,e.useCapture,e.preventDefault);var o=ae(r);return o._isCycleSource=this._name,o},t}(),Yn=function(){function t(t){this._name=t}return t.prototype.select=function(t){return this},t.prototype.elements=function(){var t=ae(oe.of([document.body]));return t._isCycleSource=this._name,t},t.prototype.element=function(){var t=ae(oe.of(document.body));return t._isCycleSource=this._name,t},t.prototype.events=function(t,e,n){var r;void 0===e&&(e={}),r=Hn(document.body,t,e.useCapture,e.preventDefault);var o=ae(r);return o._isCycleSource=this._name,o},t}();function Zn(t){if("string"!=typeof t&&(e=t,!("object"==typeof HTMLElement?e instanceof HTMLElement||e instanceof DocumentFragment:e&&"object"==typeof e&&null!==e&&(1===e.nodeType||11===e.nodeType)&&"string"==typeof e.nodeName)))throw new Error("Given container is not a DOM element neither a selector string.");var e}function Kn(t){for(var e="",n=t.length-1;n>=0&&"selector"===t[n].type;n--)e=t[n].scope+" "+e;return e.trim()}function Qn(t,e){if(!Array.isArray(t)||!Array.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(t[n].type!==e[n].type||t[n].scope!==e[n].scope)return!1;return!0}var tr=function(){function t(t,e){this.namespace=t,this.isolateModule=e,this._namespace=t.filter((function(t){return"selector"!==t.type}))}return t.prototype.isDirectlyInScope=function(t){var e=this.isolateModule.getNamespace(t);if(!e)return!1;if(this._namespace.length>e.length||!Qn(this._namespace,e.slice(0,this._namespace.length)))return!1;for(var n=this._namespace.length;n<e.length;n++)if("total"===e[n].type)return!1;return!0},t}();var er=function(){function t(t,e){this.namespace=t,this.isolateModule=e}return t.prototype.call=function(){var t=this.namespace,e=Kn(t),n=new tr(t,this.isolateModule),r=this.isolateModule.getElement(t.filter((function(t){return"selector"!==t.type})));return void 0===r?[]:""===e?[r]:function(t){return Array.prototype.slice.call(t)}(r.querySelectorAll(e)).filter(n.isDirectlyInScope,n).concat(r.matches(e)?[r]:[])},t}(),nr=function(){return nr=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},nr.apply(this,arguments)};function rr(t){return{type:(e=t,e.length>1&&("."===e[0]||"#"===e[0])?"sibling":"total"),scope:t};var e}var or=function(){function t(e,n,r,o,i,s){var a;void 0===r&&(r=[]),this._rootElement$=e,this._sanitation$=n,this._namespace=r,this._isolateModule=o,this._eventDelegator=i,this._name=s,this.isolateSource=function(e,n){return new t(e._rootElement$,e._sanitation$,e._namespace.concat(rr(n)),e._isolateModule,e._eventDelegator,e._name)},this.isolateSink=(a=this._namespace,function(t,e){return":root"===e?t:t.map((function(t){if(!t)return t;var n=rr(e),r=nr({},t,{data:nr({},t.data,{isolate:t.data&&Array.isArray(t.data.isolate)?t.data.isolate:a.concat([n])})});return nr({},r,{key:void 0!==r.key?r.key:JSON.stringify(r.data.isolate)})}))})}return t.prototype._elements=function(){if(0===this._namespace.length)return this._rootElement$.map((function(t){return[t]}));var t=new er(this._namespace,this._isolateModule);return this._rootElement$.map((function(){return t.call()}))},t.prototype.elements=function(){var t=ae(this._elements().remember());return t._isCycleSource=this._name,t},t.prototype.element=function(){var t=ae(this._elements().filter((function(t){return t.length>0})).map((function(t){return t[0]})).remember());return t._isCycleSource=this._name,t},Object.defineProperty(t.prototype,"namespace",{get:function(){return this._namespace},enumerable:!0,configurable:!0}),t.prototype.select=function(e){if("string"!=typeof e)throw new Error("DOM driver's select() expects the argument to be a string as a CSS selector");if("document"===e)return new Xn(this._name);if("body"===e)return new Yn(this._name);var n=":root"===e?[]:this._namespace.concat({type:"selector",scope:e.trim()});return new t(this._rootElement$,this._sanitation$,n,this._isolateModule,this._eventDelegator,this._name)},t.prototype.events=function(t,e,n){if(void 0===e&&(e={}),"string"!=typeof t)throw new Error("DOM driver's events() expects argument to be a string representing the event type to listen for.");var r=this._eventDelegator.addEventListener(t,this._namespace,e,n),o=ae(r);return o._isCycleSource=this._name,o},t.prototype.dispose=function(){this._sanitation$.shamefullySendNext(null)},t}(),ir={},sr=e&&e.__spreadArrays||function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),o=0;for(e=0;e<n;e++)for(var i=arguments[e],s=0,a=i.length;s<a;s++,o++)r[o]=i[s];return r};Object.defineProperty(ir,"__esModule",{value:!0}),ir.SampleCombineOperator=ir.SampleCombineListener=void 0;var ar=n,cr={},ur=function(){function t(t,e){this.i=t,this.p=e,e.ils[t]=this}return t.prototype._n=function(t){var e=this.p;e.out!==cr&&e.up(t,this.i)},t.prototype._e=function(t){this.p._e(t)},t.prototype._c=function(){this.p.down(this.i,this)},t}();ir.SampleCombineListener=ur;var lr,pr=function(){function t(t,e){this.type="sampleCombine",this.ins=t,this.others=e,this.out=cr,this.ils=[],this.Nn=0,this.vals=[]}return t.prototype._start=function(t){this.out=t;for(var e=this.others,n=this.Nn=e.length,r=this.vals=new Array(n),o=0;o<n;o++)r[o]=cr,e[o]._add(new ur(o,this));this.ins._add(this)},t.prototype._stop=function(){var t=this.others,e=t.length,n=this.ils;this.ins._remove(this);for(var r=0;r<e;r++)t[r]._remove(n[r]);this.out=cr,this.vals=[],this.ils=[]},t.prototype._n=function(t){var e=this.out;e!==cr&&(this.Nn>0||e._n(sr([t],this.vals)))},t.prototype._e=function(t){var e=this.out;e!==cr&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==cr&&t._c()},t.prototype.up=function(t,e){var n=this.vals[e];this.Nn>0&&n===cr&&this.Nn--,this.vals[e]=t},t.prototype.down=function(t,e){this.others[t]._remove(e)},t}();ir.SampleCombineOperator=pr,lr=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(e){return new ar.Stream(new pr(e,t))}};var fr=ir.default=lr;function hr(t){if(!t.sel)return{tagName:"",id:"",className:""};var e=t.sel,n=e.indexOf("#"),r=e.indexOf(".",n),o=n>0?n:e.length,i=r>0?r:e.length;return{tagName:-1!==n||-1!==r?e.slice(0,Math.min(o,i)):e,id:o<i?e.slice(o+1,i):void 0,className:r>0?e.slice(i+1).replace(/\./g," "):void 0}}Object.assign;var dr=("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:Function("return this")()).Symbol;"function"==typeof dr&&dr("parent");var yr=function(){function t(t){this.rootElement=t}return t.prototype.call=function(t){if(11===this.rootElement.nodeType)return this.wrapDocFrag(null===t?[]:[t]);if(null===t)return this.wrap([]);var e=hr(t),n=e.tagName,r=e.id,o=function(t){var e=hr(t).className,n=void 0===e?"":e;if(!t.data)return n;var r=t.data,o=r.class,i=r.props;return o&&(n+=" "+Object.keys(o).filter((function(t){return o[t]})).join(" ")),i&&i.className&&(n+=" "+i.className),n&&n.trim()}(t),i=((t.data||{}).props||{}).id,s=void 0===i?r:i;return"string"==typeof s&&s.toUpperCase()===this.rootElement.id.toUpperCase()&&n.toUpperCase()===this.rootElement.tagName.toUpperCase()&&o.toUpperCase()===this.rootElement.className.toUpperCase()?t:this.wrap([t])},t.prototype.wrapDocFrag=function(t){return dn("",{isolate:[]},t,void 0,this.rootElement)},t.prototype.wrap=function(t){var e=this.rootElement,n=e.tagName,r=e.id,o=e.className,i=r?"#"+r:"",s=o?"."+o.split(" ").join("."):"",a=$n(""+n.toLowerCase()+i+s,{},t);return a.data=a.data||{},a.data.isolate=a.data.isolate||[],a},t}(),mr=[Un,xn,Dn,Cn,Tn],vr=function(){function t(t){this.mapper=t,this.tree=[void 0,{}]}return t.prototype.set=function(t,e,n){for(var r=this.tree,o=void 0!==n?n:t.length,i=0;i<o;i++){var s=this.mapper(t[i]),a=r[1][s];a||(a=[void 0,{}],r[1][s]=a),r=a}r[0]=e},t.prototype.getDefault=function(t,e,n){return this.get(t,e,n)},t.prototype.get=function(t,e,n){for(var r=this.tree,o=void 0!==n?n:t.length,i=0;i<o;i++){var s=this.mapper(t[i]),a=r[1][s];if(!a){if(!e)return;a=[void 0,{}],r[1][s]=a}r=a}return e&&!r[0]&&(r[0]=e()),r[0]},t.prototype.delete=function(t){for(var e=this.tree,n=0;n<t.length-1;n++){var r=e[1][this.mapper(t[n])];if(!r)return;e=r}delete e[1][this.mapper(t[t.length-1])]},t}(),_r=function(){function t(){this.namespaceTree=new vr((function(t){return t.scope})),this.namespaceByElement=new Map,this.vnodesBeingRemoved=[]}return t.prototype.setEventDelegator=function(t){this.eventDelegator=t},t.prototype.insertElement=function(t,e){this.namespaceByElement.set(e,t),this.namespaceTree.set(t,e)},t.prototype.removeElement=function(t){this.namespaceByElement.delete(t);var e=this.getNamespace(t);e&&this.namespaceTree.delete(e)},t.prototype.getElement=function(t,e){return this.namespaceTree.get(t,void 0,e)},t.prototype.getRootElement=function(t){if(this.namespaceByElement.has(t))return t;for(var e=t;!this.namespaceByElement.has(e);){if(!(e=e.parentNode))return;if("HTML"===e.tagName)throw new Error("No root element found, this should not happen at all")}return e},t.prototype.getNamespace=function(t){var e=this.getRootElement(t);if(e)return this.namespaceByElement.get(e)},t.prototype.createModule=function(){var t=this;return{create:function(e,n){var r=n.elm,o=n.data,i=(void 0===o?{}:o).isolate;Array.isArray(i)&&t.insertElement(i,r)},update:function(e,n){var r=e.elm,o=e.data,i=void 0===o?{}:o,s=n.elm,a=n.data,c=void 0===a?{}:a,u=i.isolate,l=c.isolate;Qn(u,l)||Array.isArray(u)&&t.removeElement(r),Array.isArray(l)&&t.insertElement(l,s)},destroy:function(e){t.vnodesBeingRemoved.push(e)},remove:function(e,n){t.vnodesBeingRemoved.push(e),n()},post:function(){for(var e=t.vnodesBeingRemoved,n=e.length-1;n>=0;n--){var r=e[n],o=void 0!==r.data?r.data.isolation:void 0;void 0!==o&&t.removeElement(o),t.eventDelegator.removeElement(r.elm,o)}t.vnodesBeingRemoved=[]}}},t}(),gr=function(){function t(){this.arr=[],this.prios=[]}return t.prototype.add=function(t,e){for(var n=0;n<this.arr.length;n++)if(this.prios[n]<e)return this.arr.splice(n,0,t),void this.prios.splice(n,0,e);this.arr.push(t),this.prios.push(e)},t.prototype.forEach=function(t){for(var e=0;e<this.arr.length;e++)t(this.arr[e],e,this.arr)},t.prototype.delete=function(t){for(var e=0;e<this.arr.length;e++)if(this.arr[e]===t)return this.arr.splice(e,1),void this.prios.splice(e,1)},t}(),br=function(){return br=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},br.apply(this,arguments)},wr=["blur","canplay","canplaythrough","durationchange","emptied","ended","focus","load","loadeddata","loadedmetadata","mouseenter","mouseleave","pause","play","playing","ratechange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeupdate","unload","volumechange","waiting"],Sr=function(){function t(t,e){var n=this;this.rootElement$=t,this.isolateModule=e,this.virtualListeners=new vr((function(t){return t.scope})),this.nonBubblingListenersToAdd=new Set,this.virtualNonBubblingListener=[],this.isolateModule.setEventDelegator(this),this.domListeners=new Map,this.domListenersToAdd=new Map,this.nonBubblingListeners=new Map,t.addListener({next:function(t){n.origin!==t&&(n.origin=t,n.resetEventListeners(),n.domListenersToAdd.forEach((function(t,e){return n.setupDOMListener(e,t)})),n.domListenersToAdd.clear()),n.nonBubblingListenersToAdd.forEach((function(t){n.setupNonBubblingListener(t)}))}})}return t.prototype.addEventListener=function(t,e,n,r){var o,i=oe.never(),s=new tr(e,this.isolateModule);if(void 0===r?-1===wr.indexOf(t):r)return this.domListeners.has(t)||this.setupDOMListener(t,!!n.passive),o=this.insertListener(i,s,t,n),i;var a=[];this.nonBubblingListenersToAdd.forEach((function(t){return a.push(t)}));for(var c=void 0,u=0,l=a.length,p=function(n){n[0];var r=n[1],o=n[2];return n[3],t===r&&Qn(o.namespace,e)};!c&&u<l;){var f=a[u];c=p(f)?f:c,u++}var h,d=c;if(d){var y=d[0];h=y}else{var m=new er(e,this.isolateModule);o=this.insertListener(i,s,t,n),d=[i,t,m,o],h=i,this.nonBubblingListenersToAdd.add(d),this.setupNonBubblingListener(d)}var v=this,_=null;return oe.create({start:function(t){_=h.subscribe(t)},stop:function(){d[0];var t=d[1],e=d[2];d[3],e.call().forEach((function(e){var n=e.subs;n&&n[t]&&(n[t].unsubscribe(),delete n[t])})),v.nonBubblingListenersToAdd.delete(d),_.unsubscribe()}})},t.prototype.removeElement=function(t,e){void 0!==e&&this.virtualListeners.delete(e);var n=[];this.nonBubblingListeners.forEach((function(e,r){if(e.has(t)){n.push([r,t]);var o=t.subs;o&&Object.keys(o).forEach((function(t){o[t].unsubscribe()}))}}));for(var r=0;r<n.length;r++){var o=this.nonBubblingListeners.get(n[r][0]);o&&(o.delete(n[r][1]),0===o.size?this.nonBubblingListeners.delete(n[r][0]):this.nonBubblingListeners.set(n[r][0],o))}},t.prototype.insertListener=function(t,e,n,r){var o=[],i=e._namespace,s=i.length;do{o.push(this.getVirtualListeners(n,i,!0,s)),s--}while(s>=0&&"total"!==i[s].type);for(var a=br({},r,{scopeChecker:e,subject:t,bubbles:!!r.bubbles,useCapture:!!r.useCapture,passive:!!r.passive}),c=0;c<o.length;c++)o[c].add(a,i.length);return a},t.prototype.getVirtualListeners=function(t,e,n,r){void 0===n&&(n=!1);var o=void 0!==r?r:e.length;if(!n)for(var i=o-1;i>=0;i--){if("total"===e[i].type){o=i+1;break}o=i}var s=this.virtualListeners.getDefault(e,(function(){return new Map}),o);return s.has(t)||s.set(t,new gr),s.get(t)},t.prototype.setupDOMListener=function(t,e){var n=this;if(this.origin){var r=Hn(this.origin,t,!1,!1,e).subscribe({next:function(r){return n.onEvent(t,r,e)},error:function(){},complete:function(){}});this.domListeners.set(t,{sub:r,passive:e})}else this.domListenersToAdd.set(t,e)},t.prototype.setupNonBubblingListener=function(t){t[0];var e=t[1],n=t[2],r=t[3];if(this.origin){var o=n.call();if(o.length){var i=this;o.forEach((function(t){var n,o=t.subs;if(!o||!o[e]){var s=Hn(t,e,!1,!1,r.passive).subscribe({next:function(t){return i.onEvent(e,t,!!r.passive,!1)},error:function(){},complete:function(){}});i.nonBubblingListeners.has(e)||i.nonBubblingListeners.set(e,new Map);var a=i.nonBubblingListeners.get(e);if(!a)return;a.set(t,{sub:s,destination:r}),t.subs=br({},o,((n={})[e]=s,n))}}))}}},t.prototype.resetEventListeners=function(){for(var t=this.domListeners.entries(),e=t.next();!e.done;){var n=e.value,r=n[0],o=n[1],i=o.sub,s=o.passive;i.unsubscribe(),this.setupDOMListener(r,s),e=t.next()}},t.prototype.putNonBubblingListener=function(t,e,n,r){var o=this.nonBubblingListeners.get(t);if(o){var i=o.get(e);i&&i.destination.passive===r&&i.destination.useCapture===n&&(this.virtualNonBubblingListener[0]=i.destination)}},t.prototype.onEvent=function(t,e,n,r){void 0===r&&(r=!0);var o=this.patchEvent(e),i=this.isolateModule.getRootElement(e.target);if(r){var s=this.isolateModule.getNamespace(e.target);if(!s)return;var a=this.getVirtualListeners(t,s);this.bubble(t,e.target,i,o,a,s,s.length-1,!0,n),this.bubble(t,e.target,i,o,a,s,s.length-1,!1,n)}else this.putNonBubblingListener(t,e.target,!0,n),this.doBubbleStep(t,e.target,i,o,this.virtualNonBubblingListener,!0,n),this.putNonBubblingListener(t,e.target,!1,n),this.doBubbleStep(t,e.target,i,o,this.virtualNonBubblingListener,!1,n),e.stopPropagation()},t.prototype.bubble=function(t,e,n,r,o,i,s,a,c){a||r.propagationHasBeenStopped||this.doBubbleStep(t,e,n,r,o,a,c);var u=n,l=s;if(e===n){if(!(s>=0&&"sibling"===i[s].type))return;u=this.isolateModule.getElement(i,s),l--}e.parentNode&&u&&this.bubble(t,e.parentNode,u,r,o,i,l,a,c),a&&!r.propagationHasBeenStopped&&this.doBubbleStep(t,e,n,r,o,a,c)},t.prototype.doBubbleStep=function(t,e,n,r,o,i,s){n&&(this.mutateEventCurrentTarget(r,e),o.forEach((function(t){if(t.passive===s&&t.useCapture===i){var o=Kn(t.scopeChecker.namespace);!r.propagationHasBeenStopped&&t.scopeChecker.isDirectlyInScope(e)&&(""!==o&&e.matches(o)||""===o&&e===n)&&(zn(r,t.preventDefault),t.subject.shamefullySendNext(r))}})))},t.prototype.patchEvent=function(t){var e=t;e.propagationHasBeenStopped=!1;var n=e.stopPropagation;return e.stopPropagation=function(){n.call(this),this.propagationHasBeenStopped=!0},e},t.prototype.mutateEventCurrentTarget=function(t,e){try{Object.defineProperty(t,"currentTarget",{value:e,configurable:!0})}catch(t){console.log("please use event.ownerTarget")}t.ownerTarget=e},t}();function Ar(t){return oe.merge(t,oe.never())}function Or(t){return t.elm}function Er(t){(console.error||console.log)(t)}function $r(t,e){void 0===e&&(e={}),Zn(t);var n=e.modules||mr;!function(t){if(!Array.isArray(t))throw new Error("Optional modules option must be an array for snabbdom modules")}(n);var r,o,i=new _r,s=e&&e.snabbdomOptions||void 0,a=On([i.createModule()].concat(n),void 0,s),c=oe.create({start:function(t){"loading"===document.readyState?document.addEventListener("readystatechange",(function(){var e=document.readyState;"interactive"!==e&&"complete"!==e||(t.next(null),t.complete())})):(t.next(null),t.complete())},stop:function(){}}),u=oe.create({start:function(t){o=new MutationObserver((function(){return t.next(null)}))},stop:function(){o.disconnect()}});return function(n,s){void 0===s&&(s="DOM"),function(t){if(!t||"function"!=typeof t.addListener||"function"!=typeof t.fold)throw new Error("The DOM driver function expects as input a Stream of virtual DOM elements")}(n);var l=oe.create(),p=c.map((function(){var e=function(t){var e="string"==typeof t?document.querySelector(t):t;if("string"==typeof t&&null===e)throw new Error("Cannot render into unknown element `"+t+"`");return e}(t)||document.body;return r=new yr(e),e})),f=n.remember();f.addListener({}),u.addListener({});var h=p.map((function(t){return oe.merge(f.endWhen(l),l).map((function(t){return r.call(t)})).startWith(function(t){return t.data=t.data||{},t.data.isolate=[],t}(jn(t))).fold(a,jn(t)).drop(1).map(Or).startWith(t).map((function(t){return o.observe(t,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!0,characterDataOldValue:!0}),t})).compose(Ar)})).flatten(),d=Te(c,u).endWhen(l).compose(fr(h)).map((function(t){return t[1]})).remember();d.addListener({error:e.reportSnabbdomError||Er});var y=new Sr(d,i);return new or(d,l,[],i,y,s)}}var jr="___",Nr=function(){function t(t){this._mockConfig=t,t.elements?this._elements=t.elements:this._elements=ae(oe.empty())}return t.prototype.elements=function(){var t=this._elements;return t._isCycleSource="MockedDOM",t},t.prototype.element=function(){var t=this.elements().filter((function(t){return t.length>0})).map((function(t){return t[0]})).remember(),e=ae(t);return e._isCycleSource="MockedDOM",e},t.prototype.events=function(t,e,n){var r=this._mockConfig[t],o=ae(r||oe.empty());return o._isCycleSource="MockedDOM",o},t.prototype.select=function(e){return new t(this._mockConfig[e]||{})},t.prototype.isolateSource=function(t,e){return t.select("."+jr+e)},t.prototype.isolateSink=function(t,e){return ae(oe.fromObservable(t).map((function(t){return t.sel&&-1!==t.sel.indexOf(jr+e)||(t.sel+="."+jr+e),t})))},t}();function Cr(t){return function(t){return"string"==typeof t&&t.length>0}(t)&&("."===t[0]||"#"===t[0])}function kr(t){return function(e,n,r){var o=void 0!==e,i=void 0!==n,s=void 0!==r;return Cr(e)?i&&s?$n(t+e,n,r):$n(t+e,i?n:{}):s?$n(t+e,n,r):i?$n(t,e,n):$n(t,o?e:{})}}var xr=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","colorProfile","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotlight","feTile","feTurbulence","filter","font","fontFace","fontFaceFormat","fontFaceName","fontFaceSrc","fontFaceUri","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","marker","mask","metadata","missingGlyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],Ir=kr("svg");xr.forEach((function(t){Ir[t]=kr(t)}));var Pr=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dir","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","meta","nav","noscript","object","ol","optgroup","option","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","u","ul","video"],Tr={SVG_TAG_NAMES:xr,TAG_NAMES:Pr,svg:Ir,isSelector:Cr,createTagFunction:kr};Pr.forEach((function(t){Tr[t]=kr(t)}));var Mr=Tr.svg,Dr=Tr.a,Lr=Tr.abbr,Fr=Tr.address,Br=Tr.area,Rr=Tr.article,qr=Tr.aside,Ur=Tr.audio,Wr=Tr.b,Gr=Tr.base,Vr=Tr.bdi,Hr=Tr.bdo,Jr=Tr.blockquote,zr=Tr.body,Xr=Tr.br,Yr=Tr.button,Zr=Tr.canvas,Kr=Tr.caption,Qr=Tr.cite,to=Tr.code,eo=Tr.col,no=Tr.colgroup,ro=Tr.dd,oo=Tr.del,io=Tr.dfn,so=Tr.dir,ao=Tr.div,co=Tr.dl,uo=Tr.dt,lo=Tr.em,po=Tr.embed,fo=Tr.fieldset,ho=Tr.figcaption,yo=Tr.figure,mo=Tr.footer,vo=Tr.form,_o=Tr.h1,go=Tr.h2,bo=Tr.h3,wo=Tr.h4,So=Tr.h5,Ao=Tr.h6,Oo=Tr.head,Eo=Tr.header,$o=Tr.hgroup,jo=Tr.hr,No=Tr.html,Co=Tr.i,ko=Tr.iframe,xo=Tr.img,Io=Tr.input,Po=Tr.ins,To=Tr.kbd,Mo=Tr.keygen,Do=Tr.label,Lo=Tr.legend,Fo=Tr.li,Bo=Tr.link,Ro=Tr.main,qo=Tr.map,Uo=Tr.mark,Wo=Tr.menu,Go=Tr.meta,Vo=Tr.nav,Ho=Tr.noscript,Jo=Tr.object,zo=Tr.ol,Xo=Tr.optgroup,Yo=Tr.option,Zo=Tr.p,Ko=Tr.param,Qo=Tr.pre,ti=Tr.progress,ei=Tr.q,ni=Tr.rp,ri=Tr.rt,oi=Tr.ruby,ii=Tr.s,si=Tr.samp,ai=Tr.script,ci=Tr.section,ui=Tr.select,li=Tr.small,pi=Tr.source,fi=Tr.span,hi=Tr.strong,di=Tr.style,yi=Tr.sub,mi=Tr.sup,vi=Tr.table,_i=Tr.tbody,gi=Tr.td,bi=Tr.textarea,wi=Tr.tfoot,Si=Tr.th,Ai=Tr.thead,Oi=Tr.title,Ei=Tr.tr,$i=Tr.u,ji=Tr.ul,Ni=Tr.video;function Ci(t){const e=new EventTarget;return t.subscribe({next:t=>e.dispatchEvent(new CustomEvent("data",{detail:t}))}),{select:t=>{const n=!t,r=Array.isArray(t)?t:[t];let o;const i=oe.create({start:t=>{o=({detail:e})=>{const o=e&&e.data||null;(n||r.includes(e.type))&&t.next(o)},e.addEventListener("data",o)},stop:t=>e.removeEventListener("data",o)});return ae(i)}}}function ki(t){t.addListener({next:t=>{console.log(t)}})}function xi(t){return/^[a-zA-Z0-9-_]+$/.test(t)}function Ii(t){if("string"!=typeof t)throw new Error("Class name must be a string");return t.trim().split(" ").reduce(((t,e)=>{if(0===e.trim().length)return t;if(!xi(e))throw new Error(`${e} is not a valid CSS class name`);return t.push(e),t}),[])}var Pi={};Object.defineProperty(Pi,"__esModule",{value:!0});var Ti=n,Mi=function(){function t(t,e){this.dt=t,this.ins=e,this.type="throttle",this.out=null,this.id=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null,this.id=null},t.prototype.clearInterval=function(){var t=this.id;null!==t&&clearInterval(t),this.id=null},t.prototype._n=function(t){var e=this,n=this.out;n&&(this.id||(n._n(t),this.id=setInterval((function(){e.clearInterval()}),this.dt)))},t.prototype._e=function(t){var e=this.out;e&&(this.clearInterval(),e._e(t))},t.prototype._c=function(){var t=this.out;t&&(this.clearInterval(),t._c())},t}();var Di=Pi.default=function(t){return function(e){return new Ti.Stream(new Mi(t,e))}};t.ABORT=Qe,t.MainDOMSource=or,t.MockedDOMSource=Nr,t.a=Dr,t.abbr=Lr,t.address=Fr,t.area=Br,t.article=Rr,t.aside=qr,t.audio=Ur,t.b=Wr,t.base=Gr,t.bdi=Vr,t.bdo=Hr,t.blockquote=Jr,t.body=zr,t.br=Xr,t.button=Yr,t.canvas=Zr,t.caption=Kr,t.cite=Qr,t.classes=function(...t){return t.reduce(((t,e)=>{var n,r;return"string"!=typeof e||t.includes(e)?Array.isArray(e)?t.push(...(r=e,r.map(Ii).flat())):"object"==typeof e&&t.push(...(n=e,Object.entries(n).filter((([t,e])=>"function"==typeof e?e():!!e)).map((([t,e])=>{const n=t.trim();if(!xi(n))throw new Error(`${n} is not a valid CSS class name`);return n})))):t.push(...Ii(e)),t}),[]).join(" ")},t.code=to,t.col=eo,t.colgroup=no,t.collection=Fe,t.component=function(t){const{name:e,sources:n,isolateOpts:r,stateSourceName:o="STATE"}=t;if(n&&"object"!=typeof n)throw new Error("Sources must be a Cycle.js sources object:",e);let i;i="string"==typeof r?{[o]:r}:!0===r?{}:r;const s=void 0===n;let a;if("object"==typeof i){const e=e=>{const n={...t,sources:e};return new tn(n).sinks};a=s?le(e,i):le(e,i)(n)}else a=s?e=>new tn({...t,sources:e}).sinks:new tn(t).sinks;return a},t.dd=ro,t.debounce=ze,t.del=oo,t.delay=Ge,t.dfn=io,t.dir=so,t.div=ao,t.dl=co,t.driverFromAsync=function(t,e={}){const{selector:n="category",args:r="value",return:o="value",pre:i=(t=>t),post:s=(t=>t)}=e,a=t.name||"[anonymous function]",c=typeof r;if(!("string"===c||"function"===c||Array.isArray(r)&&r.every((t=>"string"==typeof t))))throw new Error(`The 'args' option for driverFromAsync(${a}) must be a string, array of strings, or a function. Received ${c}`);if("string"!=typeof n)throw new Error(`The 'selector' option for driverFromAsync(${a}) must be a string. Received ${typeof n}`);return e=>{let c=null;const u=oe.create({start:t=>{c=t.next.bind(t)},stop:()=>{}});return e.addListener({next:e=>{const u=i(e);let l=[];if("object"==typeof u&&null!==u){if("function"==typeof r){const t=r(u);l=Array.isArray(t)?t:[t]}"string"==typeof r&&(l=[u[r]]),Array.isArray(r)&&(l=r.map((t=>u[t])))}const p=`Error in driver created using driverFromAsync(${a})`;t(...l).then((t=>{const r=t=>{let r;if(void 0===o)r=t,"object"==typeof r&&null!==r?r[n]=e[n]:console.warn(`The 'return' option for driverFromAsync(${a}) was not set, but the promise returned an non-object. The result will be returned as-is, but the '${n}' property will not be set, so will not be filtered by the 'select' method of the driver.`);else{if("string"!=typeof o)throw new Error(`The 'return' option for driverFromAsync(${a}) must be a string. Received ${typeof o}`);r={[o]:t,[n]:e[n]}}return r};if("function"==typeof t.then)t.then((t=>{const n=s(t,e);"function"==typeof n.then?n.then((t=>{c(r(t))})).catch((t=>console.error(`${p}: ${t}`))):c(r(rocessedOutgoing))})).catch((t=>console.error(`${p}: ${t}`)));else{const n=s(t,e);"function"==typeof n.then?n.then((t=>{c(r(t))})).catch((t=>console.error(`${p}: ${t}`))):c(r(n))}})).catch((t=>console.error(`${p}: ${t}`)))},error:t=>{console.error(`Error recieved from sink stream in driver created using driverFromAsync(${a}): ${t}`)},complete:()=>{console.warn(`Unexpected completion of sink stream to driver created using driverFromAsync(${a})`)}}),{select:t=>void 0===t?u:"function"==typeof t?u.filter(t):u.filter((e=>e?.[n]===t))}}},t.dropRepeats=ye,t.dt=uo,t.em=lo,t.embed=po,t.fieldset=fo,t.figcaption=ho,t.figure=yo,t.footer=mo,t.form=vo,t.h=$n,t.h1=_o,t.h2=go,t.h3=bo,t.h4=wo,t.h5=So,t.h6=Ao,t.head=Oo,t.header=Eo,t.hgroup=$o,t.hr=jo,t.html=No,t.i=Co,t.iframe=ko,t.img=xo,t.input=Io,t.ins=Po,t.kbd=To,t.keygen=Mo,t.label=Do,t.legend=Lo,t.li=Fo,t.link=Bo,t.main=Ro,t.makeDOMDriver=$r,t.map=qo,t.mark=Uo,t.menu=Wo,t.meta=Go,t.mockDOMSource=function(t){return new Nr(t)},t.nav=Vo,t.noscript=Ho,t.object=Jo,t.ol=zo,t.optgroup=Xo,t.option=Yo,t.p=Zo,t.param=Ko,t.pre=Qo,t.processForm=function(t,e={}){let{events:n=["input","submit"],preventDefault:r=!0}=e;"string"==typeof n&&(n=[n]);const o=n.map((e=>t.events(e)));return oe.merge(...o).map((t=>{r&&t.preventDefault();const e="submit"===t.type?t.srcElement:t.currentTarget,n=new FormData(e);let o={};o.event=t,o.eventType=t.type;const i=e.querySelector("input[type=submit]:focus");if(i){const{name:t,value:e}=i;o[t||"submit"]=e}for(let[t,e]of n.entries())o[t]=e;return o}))},t.progress=ti,t.q=ei,t.rp=ni,t.rt=ri,t.ruby=oi,t.run=function(t,e={},n={}){const{mountPoint:r="#root",fragments:o=!0}=n,i=function(t,e){return void 0===e&&(e="state"),function(n){var r=oe.create(),o=r.fold((function(t,e){return e(t)}),void 0).drop(1),i=n;i[e]=new we(o,e);var s=t(i);return s[e]&&Te(oe.fromObservable(s[e]),oe.never()).subscribe({next:function(t){return Le((function(){return r._n(t)}))},error:function(t){return Le((function(){return r._e(t)}))},complete:function(){return Le((function(){return r._c()}))}}),s}}(t,"STATE");return function(t,e){var n=un(t,e);return"undefined"!=typeof window&&window.CyclejsDevTool_startGraphSerializer&&window.CyclejsDevTool_startGraphSerializer(n.sinks),n.run()}(i,{...{EVENTS:Ci,DOM:$r(r,{snabbdomOptions:{experimental:{fragments:o}}}),LOG:ki},...e})},t.s=ii,t.samp=si,t.sampleCombine=fr,t.script=ai,t.section=ci,t.select=ui,t.small=li,t.source=pi,t.span=fi,t.strong=hi,t.style=di,t.sub=yi,t.sup=mi,t.svg=Mr,t.switchable=Be,t.table=vi,t.tbody=_i,t.td=gi,t.textarea=bi,t.tfoot=wi,t.th=Si,t.thead=Ai,t.throttle=Di,t.thunk=function(t,e,n,r){return void 0===r&&(r=n,n=e,e=void 0),$n(t,{key:e,hook:{init:Gn,prepatch:Vn},fn:n,args:r})},t.title=Oi,t.tr=Ei,t.u=$i,t.ul=ji,t.video=Ni,t.xs=oe}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Sygnal={})}(this,(function(t){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n={},r={};!function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(t){var e,n=t.Symbol;if("function"==typeof n)if(n.observable)e=n.observable;else{e=n.for("https://github.com/benlesh/symbol-observable");try{n.observable=e}catch(t){}}else e="@@observable";return e}}(r);var o,i,s=r,a=Object.prototype.toString,c=function(t){var e=a.call(t),n="[object Arguments]"===e;return n||(n="[object Array]"!==e&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Function]"===a.call(t.callee)),n};var u=Array.prototype.slice,l=c,p=Object.keys,f=p?function(t){return p(t)}:function(){if(i)return o;var t;if(i=1,!Object.keys){var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=c,s=Object.prototype.propertyIsEnumerable,a=!s.call({toString:null},"toString"),u=s.call((function(){}),"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],p=function(t){var e=t.constructor;return e&&e.prototype===t},f={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},h=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!f["$"+t]&&e.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{p(window[t])}catch(t){return!0}}catch(t){return!0}return!1}();t=function(t){var o=null!==t&&"object"==typeof t,i="[object Function]"===n.call(t),s=r(t),c=o&&"[object String]"===n.call(t),f=[];if(!o&&!i&&!s)throw new TypeError("Object.keys called on a non-object");var d=u&&i;if(c&&t.length>0&&!e.call(t,0))for(var y=0;y<t.length;++y)f.push(String(y));if(s&&t.length>0)for(var m=0;m<t.length;++m)f.push(String(m));else for(var v in t)d&&"prototype"===v||!e.call(t,v)||f.push(String(v));if(a)for(var g=function(t){if("undefined"==typeof window||!h)return p(t);try{return p(t)}catch(t){return!1}}(t),_=0;_<l.length;++_)g&&"constructor"===l[_]||!e.call(t,l[_])||f.push(l[_]);return f}}return o=t}(),h=Object.keys;f.shim=function(){if(Object.keys){var t=function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2);t||(Object.keys=function(t){return l(t)?h(u.call(t)):h(t)})}else Object.keys=f;return Object.keys||f};var d,y=f,m="undefined"!=typeof Symbol&&Symbol,v=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),n=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var r=Object.getOwnPropertySymbols(t);if(1!==r.length||r[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(t,e);if(42!==o.value||!0!==o.enumerable)return!1}return!0},g={foo:{}},_=Object,b=Array.prototype.slice,w=Object.prototype.toString,S=function(t){var e=this;if("function"!=typeof e||"[object Function]"!==w.call(e))throw new TypeError("Function.prototype.bind called on incompatible "+e);for(var n,r=b.call(arguments,1),o=Math.max(0,e.length-r.length),i=[],s=0;s<o;s++)i.push("$"+s);if(n=Function("binder","return function ("+i.join(",")+"){ return binder.apply(this,arguments); }")((function(){if(this instanceof n){var o=e.apply(this,r.concat(b.call(arguments)));return Object(o)===o?o:this}return e.apply(t,r.concat(b.call(arguments)))})),e.prototype){var a=function(){};a.prototype=e.prototype,n.prototype=new a,a.prototype=null}return n},A=Function.prototype.bind||S,O=A.call(Function.call,Object.prototype.hasOwnProperty),E=SyntaxError,$=Function,j=TypeError,C=function(t){try{return $('"use strict"; return ('+t+").constructor;")()}catch(t){}},N=Object.getOwnPropertyDescriptor;if(N)try{N({},"")}catch(t){N=null}var k=function(){throw new j},x=N?function(){try{return k}catch(t){try{return N(arguments,"callee").get}catch(t){return k}}}():k,I="function"==typeof m&&"function"==typeof Symbol&&"symbol"==typeof m("foo")&&"symbol"==typeof Symbol("bar")&&v(),P={__proto__:g}.foo===g.foo&&!({__proto__:null}instanceof _),M=Object.getPrototypeOf||(P?function(t){return t.__proto__}:null),T={},D="undefined"!=typeof Uint8Array&&M?M(Uint8Array):d,L={"%AggregateError%":"undefined"==typeof AggregateError?d:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?d:ArrayBuffer,"%ArrayIteratorPrototype%":I&&M?M([][Symbol.iterator]()):d,"%AsyncFromSyncIteratorPrototype%":d,"%AsyncFunction%":T,"%AsyncGenerator%":T,"%AsyncGeneratorFunction%":T,"%AsyncIteratorPrototype%":T,"%Atomics%":"undefined"==typeof Atomics?d:Atomics,"%BigInt%":"undefined"==typeof BigInt?d:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?d:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?d:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?d:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?d:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?d:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?d:FinalizationRegistry,"%Function%":$,"%GeneratorFunction%":T,"%Int8Array%":"undefined"==typeof Int8Array?d:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?d:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?d:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":I&&M?M(M([][Symbol.iterator]())):d,"%JSON%":"object"==typeof JSON?JSON:d,"%Map%":"undefined"==typeof Map?d:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&I&&M?M((new Map)[Symbol.iterator]()):d,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?d:Promise,"%Proxy%":"undefined"==typeof Proxy?d:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?d:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?d:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&I&&M?M((new Set)[Symbol.iterator]()):d,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?d:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":I&&M?M(""[Symbol.iterator]()):d,"%Symbol%":I?Symbol:d,"%SyntaxError%":E,"%ThrowTypeError%":x,"%TypedArray%":D,"%TypeError%":j,"%Uint8Array%":"undefined"==typeof Uint8Array?d:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?d:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?d:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?d:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?d:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?d:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?d:WeakSet};if(M)try{null.error}catch(t){var F=M(M(t));L["%Error.prototype%"]=F}var B=function t(e){var n;if("%AsyncFunction%"===e)n=C("async function () {}");else if("%GeneratorFunction%"===e)n=C("function* () {}");else if("%AsyncGeneratorFunction%"===e)n=C("async function* () {}");else if("%AsyncGenerator%"===e){var r=t("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if("%AsyncIteratorPrototype%"===e){var o=t("%AsyncGenerator%");o&&M&&(n=M(o.prototype))}return L[e]=n,n},R={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},q=A,U=O,W=q.call(Function.call,Array.prototype.concat),G=q.call(Function.apply,Array.prototype.splice),V=q.call(Function.call,String.prototype.replace),z=q.call(Function.call,String.prototype.slice),H=q.call(Function.call,RegExp.prototype.exec),J=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,X=/\\(\\)?/g,Y=function(t,e){var n,r=t;if(U(R,r)&&(r="%"+(n=R[r])[0]+"%"),U(L,r)){var o=L[r];if(o===T&&(o=B(r)),void 0===o&&!e)throw new j("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:n,name:r,value:o}}throw new E("intrinsic "+t+" does not exist!")},Z=function(t,e){if("string"!=typeof t||0===t.length)throw new j("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new j('"allowMissing" argument must be a boolean');if(null===H(/^%?[^%]*%?$/,t))throw new E("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=function(t){var e=z(t,0,1),n=z(t,-1);if("%"===e&&"%"!==n)throw new E("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==e)throw new E("invalid intrinsic syntax, expected opening `%`");var r=[];return V(t,J,(function(t,e,n,o){r[r.length]=n?V(o,X,"$1"):e||t})),r}(t),r=n.length>0?n[0]:"",o=Y("%"+r+"%",e),i=o.name,s=o.value,a=!1,c=o.alias;c&&(r=c[0],G(n,W([0,1],c)));for(var u=1,l=!0;u<n.length;u+=1){var p=n[u],f=z(p,0,1),h=z(p,-1);if(('"'===f||"'"===f||"`"===f||'"'===h||"'"===h||"`"===h)&&f!==h)throw new E("property names with quotes must have matching quotes");if("constructor"!==p&&l||(a=!0),U(L,i="%"+(r+="."+p)+"%"))s=L[i];else if(null!=s){if(!(p in s)){if(!e)throw new j("base intrinsic for "+t+" exists, but the property is not available.");return}if(N&&u+1>=n.length){var d=N(s,p);s=(l=!!d)&&"get"in d&&!("originalValue"in d.get)?d.get:s[p]}else l=U(s,p),s=s[p];l&&!a&&(L[i]=s)}}return s},K=Z("%Object.defineProperty%",!0),Q=function(){if(K)try{return K({},"a",{value:1}),!0}catch(t){return!1}return!1};Q.hasArrayLengthDefineBug=function(){if(!Q())return null;try{return 1!==K([],"length",{value:1}).length}catch(t){return!0}};var tt=Q,et=y,nt="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),rt=Object.prototype.toString,ot=Array.prototype.concat,it=Object.defineProperty,st=tt(),at=it&&st,ct=function(t,e,n,r){if(e in t)if(!0===r){if(t[e]===n)return}else if("function"!=typeof(o=r)||"[object Function]"!==rt.call(o)||!r())return;var o;at?it(t,e,{configurable:!0,enumerable:!1,value:n,writable:!0}):t[e]=n},ut=function(t,e){var n=arguments.length>2?arguments[2]:{},r=et(e);nt&&(r=ot.call(r,Object.getOwnPropertySymbols(e)));for(var o=0;o<r.length;o+=1)ct(t,r[o],e[r[o]],n[r[o]])};ut.supportsDescriptors=!!at;var lt=e,pt=function(){return"object"==typeof e&&e&&e.Math===Math&&e.Array===Array?e:lt},ft=ut,ht=pt,dt=ut,yt=e,mt=pt,vt=function(){var t=ht();if(ft.supportsDescriptors){var e=Object.getOwnPropertyDescriptor(t,"globalThis");e&&(!e.configurable||!e.enumerable&&e.writable&&globalThis===t)||Object.defineProperty(t,"globalThis",{configurable:!0,enumerable:!1,value:t,writable:!0})}else"object"==typeof globalThis&&globalThis===t||(t.globalThis=t);return t},gt=mt(),_t=function(){return gt};dt(_t,{getPolyfill:mt,implementation:yt,shim:vt});var bt,wt=_t,St=e&&e.__extends||(bt=function(t,e){return bt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},bt(t,e)},function(t,e){function n(){this.constructor=t}bt(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(n,"__esModule",{value:!0}),n.NO_IL=n.NO=n.MemoryStream=ee=n.Stream=void 0;var At=s.default(wt.getPolyfill()),Ot={},Et=n.NO=Ot;function $t(){}function jt(t){for(var e=t.length,n=Array(e),r=0;r<e;++r)n[r]=t[r];return n}function Ct(t,e,n){try{return t.f(e)}catch(t){return n._e(t),Ot}}var Nt={_n:$t,_e:$t,_c:$t};function kt(t){t._start=function(t){t.next=t._n,t.error=t._e,t.complete=t._c,this.start(t)},t._stop=t.stop}n.NO_IL=Nt;var xt=function(){function t(t,e){this._stream=t,this._listener=e}return t.prototype.unsubscribe=function(){this._stream._remove(this._listener)},t}(),It=function(){function t(t){this._listener=t}return t.prototype.next=function(t){this._listener._n(t)},t.prototype.error=function(t){this._listener._e(t)},t.prototype.complete=function(){this._listener._c()},t}(),Pt=function(){function t(t){this.type="fromObservable",this.ins=t,this.active=!1}return t.prototype._start=function(t){this.out=t,this.active=!0,this._sub=this.ins.subscribe(new It(t)),this.active||this._sub.unsubscribe()},t.prototype._stop=function(){this._sub&&this._sub.unsubscribe(),this.active=!1},t}(),Mt=function(){function t(t){this.type="merge",this.insArr=t,this.out=Ot,this.ac=0}return t.prototype._start=function(t){this.out=t;var e=this.insArr,n=e.length;this.ac=n;for(var r=0;r<n;r++)e[r]._add(this)},t.prototype._stop=function(){for(var t=this.insArr,e=t.length,n=0;n<e;n++)t[n]._remove(this);this.out=Ot},t.prototype._n=function(t){var e=this.out;e!==Ot&&e._n(t)},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){if(--this.ac<=0){var t=this.out;if(t===Ot)return;t._c()}},t}(),Tt=function(){function t(t,e,n){this.i=t,this.out=e,this.p=n,n.ils.push(this)}return t.prototype._n=function(t){var e=this.p,n=this.out;if(n!==Ot&&e.up(t,this.i)){var r=jt(e.vals);n._n(r)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.p;t.out!==Ot&&0==--t.Nc&&t.out._c()},t}(),Dt=function(){function t(t){this.type="combine",this.insArr=t,this.out=Ot,this.ils=[],this.Nc=this.Nn=0,this.vals=[]}return t.prototype.up=function(t,e){var n=this.vals[e],r=this.Nn?n===Ot?--this.Nn:this.Nn:0;return this.vals[e]=t,0===r},t.prototype._start=function(t){this.out=t;var e=this.insArr,n=this.Nc=this.Nn=e.length,r=this.vals=new Array(n);if(0===n)t._n([]),t._c();else for(var o=0;o<n;o++)r[o]=Ot,e[o]._add(new Tt(o,t,this))},t.prototype._stop=function(){for(var t=this.insArr,e=t.length,n=this.ils,r=0;r<e;r++)t[r]._remove(n[r]);this.out=Ot,this.ils=[],this.vals=[]},t}(),Lt=function(){function t(t){this.type="fromArray",this.a=t}return t.prototype._start=function(t){for(var e=this.a,n=0,r=e.length;n<r;n++)t._n(e[n]);t._c()},t.prototype._stop=function(){},t}(),Ft=function(){function t(t){this.type="fromPromise",this.on=!1,this.p=t}return t.prototype._start=function(t){var e=this;this.on=!0,this.p.then((function(n){e.on&&(t._n(n),t._c())}),(function(e){t._e(e)})).then($t,(function(t){setTimeout((function(){throw t}))}))},t.prototype._stop=function(){this.on=!1},t}(),Bt=function(){function t(t){this.type="periodic",this.period=t,this.intervalID=-1,this.i=0}return t.prototype._start=function(t){var e=this;this.intervalID=setInterval((function(){t._n(e.i++)}),this.period)},t.prototype._stop=function(){-1!==this.intervalID&&clearInterval(this.intervalID),this.intervalID=-1,this.i=0},t}(),Rt=function(){function t(t,e){this.type="debug",this.ins=t,this.out=Ot,this.s=$t,this.l="","string"==typeof e?this.l=e:"function"==typeof e&&(this.s=e)}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=this.s,r=this.l;if(n!==$t)try{n(t)}catch(t){e._e(t)}else r?console.log(r+":",t):console.log(t);e._n(t)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),qt=function(){function t(t,e){this.type="drop",this.ins=e,this.out=Ot,this.max=t,this.dropped=0}return t.prototype._start=function(t){this.out=t,this.dropped=0,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;e!==Ot&&this.dropped++>=this.max&&e._n(t)},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Ut=function(){function t(t,e){this.out=t,this.op=e}return t.prototype._n=function(){this.op.end()},t.prototype._e=function(t){this.out._e(t)},t.prototype._c=function(){this.op.end()},t}(),Wt=function(){function t(t,e){this.type="endWhen",this.ins=e,this.out=Ot,this.o=t,this.oil=Nt}return t.prototype._start=function(t){this.out=t,this.o._add(this.oil=new Ut(t,this)),this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.o._remove(this.oil),this.out=Ot,this.oil=Nt},t.prototype.end=function(){var t=this.out;t!==Ot&&t._c()},t.prototype._n=function(t){var e=this.out;e!==Ot&&e._n(t)},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){this.end()},t}(),Gt=function(){function t(t,e){this.type="filter",this.ins=e,this.out=Ot,this.f=t}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=Ct(this,t,e);n!==Ot&&n&&e._n(t)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Vt=function(){function t(t,e){this.out=t,this.op=e}return t.prototype._n=function(t){this.out._n(t)},t.prototype._e=function(t){this.out._e(t)},t.prototype._c=function(){this.op.inner=Ot,this.op.less()},t}(),zt=function(){function t(t){this.type="flatten",this.ins=t,this.out=Ot,this.open=!0,this.inner=Ot,this.il=Nt}return t.prototype._start=function(t){this.out=t,this.open=!0,this.inner=Ot,this.il=Nt,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.inner!==Ot&&this.inner._remove(this.il),this.out=Ot,this.open=!0,this.inner=Ot,this.il=Nt},t.prototype.less=function(){var t=this.out;t!==Ot&&(this.open||this.inner!==Ot||t._c())},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=this.inner,r=this.il;n!==Ot&&r!==Nt&&n._remove(r),(this.inner=t)._add(this.il=new Vt(e,this))}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){this.open=!1,this.less()},t}(),Ht=function(){function t(t,e,n){var r=this;this.type="fold",this.ins=n,this.out=Ot,this.f=function(e){return t(r.acc,e)},this.acc=this.seed=e}return t.prototype._start=function(t){this.out=t,this.acc=this.seed,t._n(this.acc),this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot,this.acc=this.seed},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=Ct(this,t,e);n!==Ot&&e._n(this.acc=n)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Jt=function(){function t(t){this.type="last",this.ins=t,this.out=Ot,this.has=!1,this.val=Ot}return t.prototype._start=function(t){this.out=t,this.has=!1,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot,this.val=Ot},t.prototype._n=function(t){this.has=!0,this.val=t},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&(this.has?(t._n(this.val),t._c()):t._e(new Error("last() failed because input stream completed")))},t}(),Xt=function(){function t(t,e){this.type="map",this.ins=e,this.out=Ot,this.f=t}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=Ct(this,t,e);n!==Ot&&e._n(n)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Yt=function(){function t(t){this.type="remember",this.ins=t,this.out=Ot}return t.prototype._start=function(t){this.out=t,this.ins._add(t)},t.prototype._stop=function(){this.ins._remove(this.out),this.out=Ot},t}(),Zt=function(){function t(t,e){this.type="replaceError",this.ins=e,this.out=Ot,this.f=t}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;e!==Ot&&e._n(t)},t.prototype._e=function(t){var e=this.out;if(e!==Ot)try{this.ins._remove(this),(this.ins=this.f(t))._add(this)}catch(t){e._e(t)}},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Kt=function(){function t(t,e){this.type="startWith",this.ins=t,this.out=Ot,this.val=e}return t.prototype._start=function(t){this.out=t,this.out._n(this.val),this.ins._add(t)},t.prototype._stop=function(){this.ins._remove(this.out),this.out=Ot},t}(),Qt=function(){function t(t,e){this.type="take",this.ins=e,this.out=Ot,this.max=t,this.taken=0}return t.prototype._start=function(t){this.out=t,this.taken=0,this.max<=0?t._c():this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=++this.taken;n<this.max?e._n(t):n===this.max&&(e._n(t),e._c())}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),te=function(){function t(t){this._prod=t||Ot,this._ils=[],this._stopID=Ot,this._dl=Ot,this._d=!1,this._target=null,this._err=Ot}return t.prototype._n=function(t){var e=this._ils,n=e.length;if(this._d&&this._dl._n(t),1==n)e[0]._n(t);else{if(0==n)return;for(var r=jt(e),o=0;o<n;o++)r[o]._n(t)}},t.prototype._e=function(t){if(this._err===Ot){this._err=t;var e=this._ils,n=e.length;if(this._x(),this._d&&this._dl._e(t),1==n)e[0]._e(t);else{if(0==n)return;for(var r=jt(e),o=0;o<n;o++)r[o]._e(t)}if(!this._d&&0==n)throw this._err}},t.prototype._c=function(){var t=this._ils,e=t.length;if(this._x(),this._d&&this._dl._c(),1==e)t[0]._c();else{if(0==e)return;for(var n=jt(t),r=0;r<e;r++)n[r]._c()}},t.prototype._x=function(){0!==this._ils.length&&(this._prod!==Ot&&this._prod._stop(),this._err=Ot,this._ils=[])},t.prototype._stopNow=function(){this._prod._stop(),this._err=Ot,this._stopID=Ot},t.prototype._add=function(t){var e=this._target;if(e)return e._add(t);var n=this._ils;if(n.push(t),!(n.length>1))if(this._stopID!==Ot)clearTimeout(this._stopID),this._stopID=Ot;else{var r=this._prod;r!==Ot&&r._start(this)}},t.prototype._remove=function(t){var e=this,n=this._target;if(n)return n._remove(t);var r=this._ils,o=r.indexOf(t);o>-1&&(r.splice(o,1),this._prod!==Ot&&r.length<=0?(this._err=Ot,this._stopID=setTimeout((function(){return e._stopNow()}))):1===r.length&&this._pruneCycles())},t.prototype._pruneCycles=function(){this._hasNoSinks(this,[])&&this._remove(this._ils[0])},t.prototype._hasNoSinks=function(t,e){if(-1!==e.indexOf(t))return!0;if(t.out===this)return!0;if(t.out&&t.out!==Ot)return this._hasNoSinks(t.out,e.concat(t));if(t._ils){for(var n=0,r=t._ils.length;n<r;n++)if(!this._hasNoSinks(t._ils[n],e.concat(t)))return!1;return!0}return!1},t.prototype.ctor=function(){return this instanceof ne?ne:t},t.prototype.addListener=function(t){t._n=t.next||$t,t._e=t.error||$t,t._c=t.complete||$t,this._add(t)},t.prototype.removeListener=function(t){this._remove(t)},t.prototype.subscribe=function(t){return this.addListener(t),new xt(this,t)},t.prototype[At]=function(){return this},t.create=function(e){if(e){if("function"!=typeof e.start||"function"!=typeof e.stop)throw new Error("producer requires both start and stop functions");kt(e)}return new t(e)},t.createWithMemory=function(t){return t&&kt(t),new ne(t)},t.never=function(){return new t({_start:$t,_stop:$t})},t.empty=function(){return new t({_start:function(t){t._c()},_stop:$t})},t.throw=function(e){return new t({_start:function(t){t._e(e)},_stop:$t})},t.from=function(e){if("function"==typeof e[At])return t.fromObservable(e);if("function"==typeof e.then)return t.fromPromise(e);if(Array.isArray(e))return t.fromArray(e);throw new TypeError("Type of input to from() must be an Array, Promise, or Observable")},t.of=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t.fromArray(e)},t.fromArray=function(e){return new t(new Lt(e))},t.fromPromise=function(e){return new t(new Ft(e))},t.fromObservable=function(e){if(void 0!==e.endWhen)return e;var n="function"==typeof e[At]?e[At]():e;return new t(new Pt(n))},t.periodic=function(e){return new t(new Bt(e))},t.prototype._map=function(t){return new(this.ctor())(new Xt(t,this))},t.prototype.map=function(t){return this._map(t)},t.prototype.mapTo=function(t){var e=this.map((function(){return t}));return e._prod.type="mapTo",e},t.prototype.filter=function(e){var n,r,o=this._prod;return new t(o instanceof Gt?new Gt((n=o.f,r=e,function(t){return n(t)&&r(t)}),o.ins):new Gt(e,this))},t.prototype.take=function(t){return new(this.ctor())(new Qt(t,this))},t.prototype.drop=function(e){return new t(new qt(e,this))},t.prototype.last=function(){return new t(new Jt(this))},t.prototype.startWith=function(t){return new ne(new Kt(this,t))},t.prototype.endWhen=function(t){return new(this.ctor())(new Wt(t,this))},t.prototype.fold=function(t,e){return new ne(new Ht(t,e,this))},t.prototype.replaceError=function(t){return new(this.ctor())(new Zt(t,this))},t.prototype.flatten=function(){return new t(new zt(this))},t.prototype.compose=function(t){return t(this)},t.prototype.remember=function(){return new ne(new Yt(this))},t.prototype.debug=function(t){return new(this.ctor())(new Rt(this,t))},t.prototype.imitate=function(t){if(t instanceof ne)throw new Error("A MemoryStream was given to imitate(), but it only supports a Stream. Read more about this restriction here: https://github.com/staltz/xstream#faq");this._target=t;for(var e=this._ils,n=e.length,r=0;r<n;r++)t._add(e[r]);this._ils=[]},t.prototype.shamefullySendNext=function(t){this._n(t)},t.prototype.shamefullySendError=function(t){this._e(t)},t.prototype.shamefullySendComplete=function(){this._c()},t.prototype.setDebugListener=function(t){t?(this._d=!0,t._n=t.next||$t,t._e=t.error||$t,t._c=t.complete||$t,this._dl=t):(this._d=!1,this._dl=Ot)},t.merge=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new t(new Mt(e))},t.combine=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new t(new Dt(e))},t}(),ee=n.Stream=te,ne=function(t){function e(e){var n=t.call(this,e)||this;return n._has=!1,n}return St(e,t),e.prototype._n=function(e){this._v=e,this._has=!0,t.prototype._n.call(this,e)},e.prototype._add=function(t){var e=this._target;if(e)return e._add(t);var n=this._ils;if(n.push(t),n.length>1)this._has&&t._n(this._v);else if(this._stopID!==Ot)this._has&&t._n(this._v),clearTimeout(this._stopID),this._stopID=Ot;else if(this._has)t._n(this._v);else{var r=this._prod;r!==Ot&&r._start(this)}},e.prototype._stopNow=function(){this._has=!1,t.prototype._stopNow.call(this)},e.prototype._x=function(){this._has=!1,t.prototype._x.call(this)},e.prototype.map=function(t){return this._map(t)},e.prototype.mapTo=function(e){return t.prototype.mapTo.call(this,e)},e.prototype.take=function(e){return t.prototype.take.call(this,e)},e.prototype.endWhen=function(e){return t.prototype.endWhen.call(this,e)},e.prototype.replaceError=function(e){return t.prototype.replaceError.call(this,e)},e.prototype.remember=function(){return this},e.prototype.debug=function(e){return t.prototype.debug.call(this,e)},e}(te);n.MemoryStream=ne;var re=te,oe=n.default=re,ie={};function se(){var t;return(t="undefined"!=typeof window?window:void 0!==e?e:this).Cyclejs=t.Cyclejs||{},(t=t.Cyclejs).adaptStream=t.adaptStream||function(t){return t},t}Object.defineProperty(ie,"__esModule",{value:!0}),ie.setAdapt=function(t){se().adaptStream=t};var ae=ie.adapt=function(t){return se().adaptStream(t)};var ce=0;function ue(){return"cycle"+ ++ce}function le(t,e){void 0===e&&(e=ue()),function(t,e){if("function"!=typeof t)throw new Error("First argument given to isolate() must be a 'dataflowComponent' function");if(null===e)throw new Error("Second argument given to isolate() must not be null")}(t,e);var n="object"==typeof e?ue():"",r="string"==typeof e||"object"==typeof e?e:e.toString();return function(e){for(var o=[],i=1;i<arguments.length;i++)o[i-1]=arguments[i];var s=function(t,e,n){var r={};return Object.keys(t).forEach((function(t){if("string"!=typeof e){var o=e[t];if(void 0===o){var i=e["*"];r[t]=void 0===i?n:i}else r[t]=o}else r[t]=e})),r}(e,r,n),a=function(t,e){var n={};for(var r in t){var o=t[r];t.hasOwnProperty(r)&&o&&null!==e[r]&&"function"==typeof o.isolateSource?n[r]=o.isolateSource(o,e[r]):t.hasOwnProperty(r)&&(n[r]=t[r])}return n}(e,s),c=function(t,e,n){var r={};for(var o in e){var i=t[o],s=e[o];e.hasOwnProperty(o)&&i&&null!==n[o]&&"function"==typeof i.isolateSink?r[o]=ae(i.isolateSink(oe.fromObservable(s),n[o])):e.hasOwnProperty(o)&&(r[o]=e[o])}return r}(e,t.apply(void 0,[a].concat(o)),s);return c}}le.reset=function(){return ce=0};var pe={};Object.defineProperty(pe,"__esModule",{value:!0}),pe.DropRepeatsOperator=void 0;var fe=n,he={},de=function(){function t(t,e){this.ins=t,this.type="dropRepeats",this.out=null,this.v=he,this.isEq=e||function(t,e){return t===e}}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null,this.v=he},t.prototype._n=function(t){var e=this.out;if(e){var n=this.v;n!==he&&this.isEq(t,n)||(this.v=t,e._n(t))}},t.prototype._e=function(t){var e=this.out;e&&e._e(t)},t.prototype._c=function(){var t=this.out;t&&t._c()},t}();pe.DropRepeatsOperator=de;var ye=pe.default=function(t){return void 0===t&&(t=void 0),function(e){return new fe.Stream(new de(e,t))}},me=function(){return me=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},me.apply(this,arguments)};function ve(t){return"string"==typeof t||"number"==typeof t?function(e){return void 0===e?void 0:e[t]}:t.get}function ge(t){return"string"==typeof t||"number"==typeof t?function(e,n){var r,o;return Array.isArray(e)?function(t,e,n){if(n===t[e])return t;var r=parseInt(e);return void 0===n?t.filter((function(t,e){return e!==r})):t.map((function(t,e){return e===r?n:t}))}(e,t,n):void 0===e?((r={})[t]=n,r):me({},e,((o={})[t]=n,o))}:t.set}function _e(t,e){return t.select(e)}function be(t,e){var n=ve(e),r=ge(e);return t.map((function(t){return function(e){var o=n(e),i=t(o);return o===i?e:r(e,i)}}))}var we=function(){function t(t,e){this.isolateSource=_e,this.isolateSink=be,this._stream=t.filter((function(t){return void 0!==t})).compose(ye()).remember(),this._name=e,this.stream=ae(this._stream),this._stream._isCycleSource=e}return t.prototype.select=function(e){var n=ve(e);return new t(this._stream.map(n),this._name)},t}(),Se=function(){function t(t,e,n){this.ins=n,this.out=t,this.p=e}return t.prototype._n=function(t){this.p;var e=this.out;null!==e&&e._n(t)},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){},t}(),Ae=function(){function t(t,e){this.type="pickMerge",this.ins=e,this.out=null,this.sel=t,this.ils=new Map,this.inst=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this);var t=this.ils;t.forEach((function(e,n){e.ins._remove(e),e.ins=null,e.out=null,t.delete(n)})),t.clear(),this.out=null,this.ils=new Map,this.inst=null},t.prototype._n=function(t){this.inst=t;for(var e=t.arr,n=this.ils,r=this.out,o=this.sel,i=e.length,s=0;s<i;++s){var a=e[s],c=a._key,u=oe.fromObservable(a[o]||oe.never());n.has(c)||(n.set(c,new Se(r,this,u)),u._add(n.get(c)))}n.forEach((function(e,r){t.dict.has(r)&&t.dict.get(r)||(e.ins._remove(e),e.ins=null,e.out=null,n.delete(r))}))},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){var t=this.out;null!==t&&t._c()},t}();var Oe=function(){function t(t,e,n,r){this.key=t,this.out=e,this.p=n,this.val=Et,this.ins=r}return t.prototype._n=function(t){this.p;var e=this.out;this.val=t,null!==e&&this.p.up()},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){},t}(),Ee=function(){function t(t,e){this.type="combine",this.ins=e,this.sel=t,this.out=null,this.ils=new Map,this.inst=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this);var t=this.ils;t.forEach((function(t){t.ins._remove(t),t.ins=null,t.out=null,t.val=null})),t.clear(),this.out=null,this.ils=new Map,this.inst=null},t.prototype.up=function(){for(var t=this.inst.arr,e=t.length,n=this.ils,r=Array(e),o=0;o<e;++o){var i=t[o]._key;if(!n.has(i))return;var s=n.get(i).val;if(s===Et)return;r[o]=s}this.out._n(r)},t.prototype._n=function(t){this.inst=t;var e=t.arr,n=this.ils,r=this.out,o=this.sel,i=t.dict,s=e.length,a=!1;if(n.forEach((function(t,e){i.has(e)||(t.ins._remove(t),t.ins=null,t.out=null,t.val=null,n.delete(e),a=!0)})),0!==s){for(var c=0;c<s;++c){var u=e[c],l=u._key;if(!u[o])throw new Error("pickCombine found an undefined child sink stream");var p=oe.fromObservable(u[o]);n.has(l)||(n.set(l,new Oe(l,r,this,p)),p._add(n.get(l)))}a&&this.up()}else r._n([])},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){var t=this.out;null!==t&&t._c()},t}();var $e=function(){return $e=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},$e.apply(this,arguments)},je=function(){function t(t){this._instances$=t}return t.prototype.pickMerge=function(t){return ae(this._instances$.compose(function(t){return function(e){return new ee(new Ae(t,e))}}(t)))},t.prototype.pickCombine=function(t){return ae(this._instances$.compose(function(t){return function(e){return new ee(new Ee(t,e))}}(t)))},t}();function Ce(t){return{"*":null}}function Ne(t,e){return{get:function(n){if(void 0!==n)for(var r=0,o=n.length;r<o;++r)if(""+t(n[r],r)===e)return n[r]},set:function(n,r){return void 0===n?[r]:void 0===r?n.filter((function(n,r){return""+t(n,r)!==e})):n.map((function(n,o){return""+t(n,o)===e?r:n}))}}}var ke={get:function(t){return t},set:function(t,e){return e}};var xe={};Object.defineProperty(xe,"__esModule",{value:!0});var Ie=n,Pe=function(){function t(t){this.streams=t,this.type="concat",this.out=null,this.i=0}return t.prototype._start=function(t){this.out=t,this.streams[this.i]._add(this)},t.prototype._stop=function(){var t=this.streams;this.i<t.length&&t[this.i]._remove(this),this.i=0,this.out=null},t.prototype._n=function(t){var e=this.out;e&&e._n(t)},t.prototype._e=function(t){var e=this.out;e&&e._e(t)},t.prototype._c=function(){var t=this.out;if(t){var e=this.streams;e[this.i]._remove(this),++this.i<e.length?e[this.i]._add(this):t._c()}},t}();var Me=xe.default=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return new Ie.Stream(new Pe(t))},Te={};Object.defineProperty(Te,"__esModule",{value:!0});var De=Te.default=function(){return"undefined"!=typeof queueMicrotask?queueMicrotask:"undefined"!=typeof setImmediate?setImmediate:"undefined"!=typeof process?process.nextTick:setTimeout},Le=De();function Fe(t,e,n={}){const{combineList:r=["DOM"],globalList:o=["EVENTS"],stateSourceName:i="STATE",domSourceName:s="DOM",container:a="div",containerClass:c}=n;return n=>{const u=Date.now(),l={item:t,itemKey:(t,e)=>void 0!==t.id?t.id:e,itemScope:t=>t,channel:i,collectSinks:t=>Object.entries(n).reduce(((e,[n,o])=>{if(r.includes(n)){const r=t.pickCombine(n);n===s&&a?e[s]=r.map((t=>({sel:a,data:c?{props:{className:c}}:{},children:t,key:u,text:void 0,elm:void 0}))):e[n]=r}else e[n]=t.pickMerge(n);return e}),{})},p={[i]:e};return o.forEach((t=>p[t]=null)),r.forEach((t=>p[t]=null)),function(t,e,n){return le(function(t){return function(e){var n=t.channel||"state",r=t.itemKey,o=t.itemScope||Ce,i=oe.fromObservable(e[n].stream).fold((function(i,s){var a,c,u,l,p,f=i.dict;if(Array.isArray(s)){for(var h=Array(s.length),d=new Set,y=0,m=s.length;y<m;++y){var v=""+(r?r(s[y],y):y);if(d.add(v),f.has(v))h[y]=f.get(v);else{var g=r?Ne(r,v):""+y,_="string"==typeof(p=o(v))?((a={"*":p})[n]=g,a):$e({},p,((c={})[n]=g,c)),b=le(t.itemFactory?t.itemFactory(s[y],y):t.item,_)(e);f.set(v,b),h[y]=b}h[y]._key=v}return f.forEach((function(t,e){d.has(e)||f.delete(e)})),d.clear(),{dict:f,arr:h}}return f.clear(),v=""+(r?r(s,0):"this"),g=ke,_="string"==typeof(p=o(v))?((u={"*":p})[n]=g,u):$e({},p,((l={})[n]=g,l)),b=le(t.itemFactory?t.itemFactory(s,0):t.item,_)(e),f.set(v,b),{dict:f,arr:[b]}}),{dict:new Map,arr:[]});return t.collectSinks(new je(i))}}(t),e)(n)}(l,p,n)}}function Be(t,e,n,r={}){const{switched:o=["DOM"],stateSourceName:i="STATE"}=r,s=typeof e;if(!e)throw new Error("Missing 'name$' parameter for switchable()");if(!("string"===s||"function"===s||e instanceof ee))throw new Error("Invalid 'name$' parameter for switchable(): expects Stream, String, or Function");if(e instanceof ee){const r=e.compose(ye()).startWith(n).remember();return e=>Re(t,e,r,o)}{const r="function"===s&&e||(t=>t[e]);return e=>{const s=e&&("string"==typeof i&&e[i]||e.STATE||e.state).stream;if(!s instanceof ee)throw new Error(`Could not find the state source: ${i}`);const a=s.map(r).filter((t=>"string"==typeof t)).compose(ye()).startWith(n).remember();return Re(t,e,a,o,i)}}}function Re(t,e,n,r=["DOM"],o="STATE"){"string"==typeof r&&(r=[r]);const i=Object.entries(t).map((([t,r])=>{if(e[o]){const i=e[o].stream,s=oe.combine(n,i).filter((([e,n])=>e==t)).map((([t,e])=>e)).remember(),a=new e[o].constructor(s,e[o]._name);return[t,r({...e,state:a})]}return[t,r(e)]}));return Object.keys(e).reduce(((t,e)=>{if(r.includes(e))t[e]=n.map((t=>{const n=i.find((([e,n])=>e===t));return n&&n[1][e]||oe.never()})).flatten().remember().startWith(void 0);else{const n=i.filter((([t,n])=>void 0!==n[e])).map((([t,n])=>n[e]));t[e]=oe.merge(...n)}return t}),{})}var qe={};Object.defineProperty(qe,"__esModule",{value:!0});var Ue=n,We=function(){function t(t,e){this.dt=t,this.ins=e,this.type="delay",this.out=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null},t.prototype._n=function(t){var e=this.out;if(e)var n=setInterval((function(){e._n(t),clearInterval(n)}),this.dt)},t.prototype._e=function(t){var e=this.out;if(e)var n=setInterval((function(){e._e(t),clearInterval(n)}),this.dt)},t.prototype._c=function(){var t=this.out;if(t)var e=setInterval((function(){t._c(),clearInterval(e)}),this.dt)},t}();var Ge=qe.default=function(t){return function(e){return new Ue.Stream(new We(t,e))}},Ve={};Object.defineProperty(Ve,"__esModule",{value:!0});var ze=n,He=function(){function t(t,e){this.dt=t,this.ins=e,this.type="debounce",this.out=null,this.id=null,this.t=ze.NO}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null,this.clearInterval()},t.prototype.clearInterval=function(){var t=this.id;null!==t&&clearInterval(t),this.id=null},t.prototype._n=function(t){var e=this,n=this.out;n&&(this.clearInterval(),this.t=t,this.id=setInterval((function(){e.clearInterval(),n._n(t),e.t=ze.NO}),this.dt))},t.prototype._e=function(t){var e=this.out;e&&(this.clearInterval(),e._e(t))},t.prototype._c=function(){var t=this.out;t&&(this.clearInterval(),this.t!=ze.NO&&t._n(this.t),this.t=ze.NO,t._c())},t}();var Je=Ve.default=function(t){return function(e){return new ze.Stream(new He(t,e))}};const Xe="undefined"!=typeof window&&window||process&&process.env||{},Ye="request",Ze="INITIALIZE";let Ke=0;const Qe="~#~#~ABORT~#~#~";class tn{constructor({name:t="NO NAME",sources:e,intent:n,request:r,model:o,response:i,view:s,children:a={},components:c={},initialState:u,calculated:l,storeCalculatedInState:p=!0,DOMSourceName:f="DOM",stateSourceName:h="STATE",requestSourceName:d="HTTP",debug:y=!1}){if(!e||"object"!=typeof e)throw new Error("Missing or invalid sources");this.name=t,this.sources=e,this.intent=n,this.request=r,this.model=o,this.response=i,this.view=s,this.children=a,this.components=c,this.initialState=u,this.calculated=l,this.storeCalculatedInState=p,this.DOMSourceName=f,this.stateSourceName=h,this.requestSourceName=d,this.sourceNames=Object.keys(e),this._debug=y,this.isSubComponent=this.sourceNames.includes("props$");const m=e[h]&&e[h].stream;var v;m&&(this.currentState=u||{},this.sources[this.stateSourceName]=new we(m.map((t=>(this.currentState=t,t))))),this.isSubComponent||void 0!==this.intent||void 0!==this.model||(this.initialState=u||!0,this.intent=t=>({__NOOP_ACTION__:oe.never()}),this.model={__NOOP_ACTION__:t=>t}),this.addCalculated=this.createMemoizedAddCalculated(),this.log=(v=t,function(t){const e="function"==typeof t?t:e=>t;return t=>t.debug((t=>{this.debug&&console.log(`[${v}] ${e(t)}`)}))}),this.initIntent$(),this.initAction$(),this.initResponse$(),this.initState(),this.initModel$(),this.initSendResponse$(),this.initChildren$(),this.initSubComponentSink$(),this.initSubComponentsRendered$(),this.initVdom$(),this.initSinks(),this.sinks.__index=Ke++,y&&console.log(`[${this.name}] Instantiated (#${this.sinks.__index})`)}get debug(){return this._debug||"true"===Xe.DEBUG||!0===Xe.DEBUG}initIntent$(){if(this.intent){if("function"!=typeof this.intent)throw new Error("Intent must be a function");if(this.intent$=this.intent(this.sources),!(this.intent$ instanceof ee)&&"object"!=typeof this.intent$)throw new Error("Intent must return either an action$ stream or map of event streams")}}initAction$(){const t=this.sources&&this.sources[this.requestSourceName]||null;if(!this.intent$)return void(this.action$=oe.never());let e;if(this.intent$ instanceof ee)e=this.intent$;else{const t=Object.entries(this.intent$).map((([t,e])=>e.map((e=>({type:t,data:e})))));e=oe.merge(oe.never(),...t)}const n=e instanceof ee?e:e.apply&&e(this.sources)||oe.never(),r=oe.of({type:"BOOTSTRAP"}).compose(Ge(10)),o=Me(r,n);let i;i=t&&"function"==typeof t.select?t.select("initial").flatten():oe.never();const s=i.map((t=>({type:"HYDRATE",data:t})));this.action$=oe.merge(o,s).compose(this.log((({type:t})=>`Action triggered: <${t}>`)))}initResponse$(){if(void 0===this.request)return;if("object"!=typeof this.request)throw new Error("The request parameter must be an object");const t=this.sources[this.requestSourceName],e=Object.entries(this.request).reduce(((e,[n,r])=>{const o=n.toLowerCase();if("function"!=typeof t[o])throw new Error("Invalid method in request object:",n);const i=Object.entries(r).reduce(((e,[n,r])=>{const i=`[${o.toUpperCase()}]:${n||"none"}`,s=typeof r;if("undefined"===s)throw new Error(`Action for '${n}' route in request object not specified`);if("string"!==s&&"function"!==s)throw new Error(`Invalid action for '${n}' route: expecting string or function`);const a="function"===s?"[ FUNCTION ]":`< ${r} >`;console.log(`[${this.name}] Adding ${this.requestSourceName} route:`,o.toUpperCase(),`'${n}' <${a}>`);const c=t[o](n).compose(ye(((t,e)=>t.id==e.id))).map((t=>{if(!t||!t.id)throw new Error(`No id found in request: ${i}`);try{const e=t.id,n=(t.params,t.body),o=(t.cookies,"function"===s?"FUNCTION":r),i={type:o,data:n,req:t,_reqId:e,_action:o},a=(new Date).toISOString(),c=t.get?t.get("host"):"0.0.0.0";if(console.log(`${a} ${c} ${t.method} ${t.url}`),this.debug&&this.action$.setDebugListener({next:({type:t})=>console.log(`[${this.name}] Action from ${this.requestSourceName} request: <${t}>`)}),"function"===s){const e=this.addCalculated(this.currentState),n=r(e,t);return oe.of({...i,data:n})}{this.action$.shamefullySendNext(i);const t=Object.entries(this.sources).reduce(((t,[n,r])=>{if(!r||"function"!=typeof r[Ye])return t;const o=r[Ye](e);return[...t,o]}),[]);return oe.merge(...t)}}catch(t){console.error(t)}})).flatten();return[...e,c]}),[]);return[...e,oe.merge(...i)]}),[]);if(this.response$=oe.merge(...e).compose(this.log((t=>t._action?`[${this.requestSourceName}] response data received for Action: <${t._action}>`:`[${this.requestSourceName}] response data received from FUNCTION`))),void 0!==this.response&&void 0===this.response$)throw new Error("Cannot have a response parameter without a request parameter")}initState(){null!=this.model&&(void 0===this.model[Ze]?this.model[Ze]={[this.stateSourceName]:(t,e)=>({...this.addCalculated(e)})}:Object.keys(this.model[Ze]).forEach((t=>{t!==this.stateSourceName&&(console.warn(`${Ze} can only be used with the ${this.stateSourceName} source... disregarding ${t}`),delete this.model[Ze][t])})))}initModel$(){if(void 0===this.model)return void(this.model$=this.sourceNames.reduce(((t,e)=>(t[e]=oe.never(),t)),{}));const t={type:Ze,data:this.initialState};this.isSubComponent&&this.initialState&&console.warn(`[${this.name}] Initial state provided to sub-component. This will overwrite any state provided by the parent component.`);const e=this.initialState?Me(oe.of(t),this.action$).compose(Ge(0)):this.action$,n=()=>this.makeOnAction(e,!0,this.action$),r=()=>this.makeOnAction(this.action$,!1,this.action$),o=Object.entries(this.model),i={};o.forEach((t=>{let[e,o]=t;if("function"==typeof o&&(o={[this.stateSourceName]:o}),"object"!=typeof o)throw new Error(`Entry for each action must be an object: ${this.name} ${e}`);Object.entries(o).forEach((t=>{const[o,s]=t,a=o==this.stateSourceName,c=(a?n():r())(e,s).compose(this.log((t=>{if(a)return`State reducer added: <${e}>`;{const n=t&&(t.type||t.command||t.name||t.key||Array.isArray(t)&&"Array"||t);return`Data sent to [${o}]: <${e}> ${n}`}})));Array.isArray(i[o])?i[o].push(c):i[o]=[c]}))}));const s=Object.entries(i).reduce(((t,e)=>{const[n,r]=e;return t[n]=oe.merge(oe.never(),...r),t}),{});this.model$=s}initSendResponse$(){const t=typeof this.response;if("function"!=t&&"undefined"!=t)throw new Error("The response parameter must be a function");if("undefined"==t)return this.response$&&this.response$.subscribe({next:this.log((({_reqId:t,_action:e})=>`Unhandled response for request: ${e} ${t}`))}),void(this.sendResponse$=oe.never());const e={select:t=>void 0===t?this.response$:(Array.isArray(t)||(t=[t]),this.response$.filter((({_action:e})=>!(t.length>0)||("FUNCTION"===e||t.includes(e)))))},n=this.response(e);if("object"!=typeof n)throw new Error("The response function must return an object");const r=Object.entries(n).reduce(((t,[e,n])=>[...t,n.map((({_reqId:t,_action:n,data:r})=>{if(!t)throw new Error(`No request id found for response for: ${e}`);return{_reqId:t,_action:n,command:e,data:r}}))]),[]);this.sendResponse$=oe.merge(...r).compose(this.log((({_reqId:t,_action:e})=>`[${this.requestSourceName}] response sent for: <${e}>`)))}initChildren$(){const t=this.sourceNames.reduce(((t,e)=>(e==this.DOMSourceName?t[e]={}:t[e]=[],t)),{});this.children$=Object.entries(this.children).reduce(((t,[e,n])=>{const r=n(this.sources);return this.sourceNames.forEach((n=>{n==this.DOMSourceName?t[n][e]=r[n]:t[n].push(r[n])})),t}),t)}initSubComponentSink$(){const t=oe.create({start:t=>{this.newSubComponentSinks=t.next.bind(t)},stop:t=>{}});t.subscribe({next:t=>t}),this.subComponentSink$=t.filter((t=>Object.keys(t).length>0))}initSubComponentsRendered$(){const t=oe.create({start:t=>{this.triggerSubComponentsRendered=t.next.bind(t)},stop:t=>{}});this.subComponentsRendered$=t.startWith(null)}initVdom$(){if("function"!=typeof this.view)return void(this.vdom$=oe.of(null));const t=this.collectRenderParameters();this.vdom$=t.map(this.view).map((t=>t||{sel:"div",data:{},children:[]})).compose(this.instantiateSubComponents.bind(this)).filter((t=>void 0!==t)).compose(this.renderVdom.bind(this))}initSinks(){this.sinks=this.sourceNames.reduce(((t,e)=>{if(e==this.DOMSourceName)return t;const n=this.subComponentSink$?this.subComponentSink$.map((t=>t[e])).filter((t=>!!t)).flatten():oe.never();return e===this.stateSourceName?t[e]=oe.merge(this.model$[e]||oe.never(),n,this.sources[this.stateSourceName].stream.filter((t=>!1)),...this.children$[e]):t[e]=oe.merge(this.model$[e]||oe.never(),n,...this.children$[e]),t}),{}),this.sinks[this.DOMSourceName]=this.vdom$,this.sinks[this.requestSourceName]=oe.merge(this.sendResponse$,this.sinks[this.requestSourceName])}makeOnAction(t,e=!0,n){return n=n||t,(r,o)=>{const i=t.filter((({type:t})=>t==r));let s;if("function"==typeof o)s=i.map((t=>{const i=(e,o,i=10)=>{if("number"!=typeof i)throw new Error(`[${this.name} ] Invalid delay value provided to next() function in model action '${r}'. Must be a number in ms.`);const s=t._reqId||t.req&&t.req.id,a=s?"object"==typeof o?{...o,_reqId:s,_action:r}:{data:o,_reqId:s,_action:r}:o;setTimeout((()=>{n.shamefullySendNext({type:e,data:a})}),i)};let s=t.data;if(s&&s.data&&s._reqId&&(s=s.data),e)return e=>{const n=this.isSubComponent?this.currentState:e,r=this.addCalculated(n),a=o(r,s,i,t.req);return a==Qe?n:this.cleanupCalculated(a)};{const e=this.addCalculated(this.currentState),n=o(e,s,i,t.req),a=typeof n,c=t._reqId||t.req&&t.req.id;if(["string","number","boolean","function"].includes(a))return n;if("object"==a)return{...n,_reqId:c,_action:r};if("undefined"==a)return console.warn(`'undefined' value sent to ${r}`),n;throw new Error(`Invalid reducer type for ${r} ${a}`)}})).filter((t=>t!=Qe));else if(void 0===o||!0===o)s=i.map((({data:t})=>t));else{const t=o;s=i.mapTo(t)}return s}}createMemoizedAddCalculated(){let t,e;return function(n){if(!this.calculated||"object"!=typeof n||n instanceof Array)return n;if(n===t)return e;if("object"!=typeof this.calculated)throw new Error("'calculated' parameter must be an object mapping calculated state field named to functions");const r=Object.entries(this.calculated);if(0===r.length)return t=n,e=n,n;const o=r.reduce(((t,[e,r])=>{if("function"!=typeof r)throw new Error(`Missing or invalid calculator function for calculated field '${e}`);try{t[e]=r(n)}catch(t){console.warn(`Calculated field '${e}' threw an error during calculation: ${t.message}`)}return t}),{}),i={...n,...o};return t=n,e=i,i}}cleanupCalculated(t){if(!t||"object"!=typeof t||t instanceof Array)return t;const e=this.storeCalculatedInState?this.addCalculated(t):t,{__props:n,__children:r,...o}=e,i={...o};if(!this.calculated)return i;return Object.keys(this.calculated).forEach((t=>{this.initialState&&void 0!==this.initialState[t]?i[t]=this.initialState[t]:delete i[t]})),i}collectRenderParameters(){const t=this.sources[this.stateSourceName],e={...this.children$[this.DOMSourceName]},n=t&&t.isolateSource(t,{get:t=>this.addCalculated(t)}),r=n&&n.stream||oe.never(),o=(t,e)=>{const{state:n,sygnalFactory:r,__props:o,__children:i,...s}=t,a=Object.keys(s);if(0===a.length){const{state:t,sygnalFactory:n,__props:r,__children:o,...i}=e;return 0===Object.keys(i).length}return a.every((n=>t[n]===e[n]))},i=(t,e)=>{if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0};e.state=r.compose(ye(o)),this.sources.props$&&(e.__props=this.sources.props$.compose(ye(o))),this.sources.children$&&(e.__children=this.sources.children$.compose(ye(i)));const s=[],a=[];Object.entries(e).forEach((([t,e])=>{s.push(t),a.push(e)}));return oe.combine(...a).map((t=>s.reduce(((e,n,r)=>(e[n]=t[r],"state"===n&&(e[this.stateSourceName]=t[r]),e)),{})))}instantiateSubComponents(t){let e=0;return t.fold(((t,n)=>{const r=en(n,Object.keys(this.components)),o=Object.entries(r),i={"::ROOT::":n};if(0===o.length)return i;const s={},a=o.reduce(((n,[r,o])=>{const i=o.data,a=i.props||{},c=o.children||[],u=i.isCollection||!1,l=i.isSwitchable||!1,p=t=>{Object.entries(t).map((([t,e])=>{s[t]||=[],t!==this.DOMSourceName&&s[t].push(e)}))};if(t[r]){this.debug&&console.log(this.name,"sameful",e++);const o=t[r];return n[r]=o,o.props$.shamefullySendNext(a),o.children$.shamefullySendNext(c),p(o.sink$),n}this.debug&&console.log(this.name,"non-shameful",e++);const f=oe.create().startWith(a),h=oe.create().startWith(c);let d;d=u?this.instantiateCollection.bind(this):l?this.instantiateSwitchable.bind(this):this.instantiateCustomComponent.bind(this);const y=d(o,f,h);return y[this.DOMSourceName]=y[this.DOMSourceName]?this.makeCoordinatedSubComponentDomSink(y[this.DOMSourceName]):oe.never(),n[r]={sink$:y,props$:f,children$:h},p(y),n}),i),c=Object.entries(s).reduce(((t,[e,n])=>(0===n.length||(t[e]=1===n.length?n[0]:oe.merge(...n)),t)),{});return this.newSubComponentSinks(c),a}),{})}makeCoordinatedSubComponentDomSink(t){const e=t.remember(),n=this.sources[this.stateSourceName].stream.compose(ye(((t,e)=>JSON.stringify(t)===JSON.stringify(e)))).map((t=>e)).compose(Je(10)).flatten().debug((t=>this.triggerSubComponentsRendered())).remember();return n}instantiateCollection(t,e,n){const r=t.data.props||{};t.children;const o=oe.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState),e,n).map((([t,e,n])=>"object"==typeof t?{...this.addCalculated(t),__props:e,__children:n}:{value:t,__props:e,__children:n})),i=new we(o),s=r.from;let a;r.filter;const c="function"==typeof r.of?r.of:this.components[r.of],u=t=>{if("object"==typeof t){const{__props:e,__children:n,...r}=t;return r}return t},l={get:t=>{const{__props:e,__children:n}=t;return Array.isArray(t[s])?t[s].map((t=>"object"==typeof t?{...t,__props:e,__children:n}:{value:t,__props:e,__children:n})):[]},set:(t,e)=>this.calculated&&s in this.calculated?(console.warn(`Collection sub-component of ${this.name} attempted to update state on a calculated field '${s}': Update ignored`),t):{...t,[s]:e.map(u)}};void 0===s?a={get:t=>!(t instanceof Array)&&t.value&&t.value instanceof Array?t.value:t,set:(t,e)=>e}:"string"==typeof s?"object"==typeof this.currentState?s in this.currentState||s in this.calculated?(Array.isArray(this.currentState[s])||console.warn(`State property '${s}' in collection comopnent of ${this.name} is not an array: No components will be instantiated in the collection.`),a=l):(console.error(`Collection component in ${this.name} is attempting to use non-existent state property '${s}': To fix this error, specify a valid array property on the state. Attempting to use parent component state.`),a=void 0):(Array.isArray(this.currentState[s])||console.warn(`State property '${s}' in collection component of ${this.name} is not an array: No components will be instantiated in the collection.`),a=l):"object"==typeof s?"function"!=typeof s.get?(console.error(`Collection component in ${this.name} has an invalid 'from' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting child state from the current state. Attempting to use parent component state.`),a=void 0):a={get:t=>{const e=s.get(t);return Array.isArray(e)?e:(console.warn(`State getter function in collection component of ${this.name} did not return an array: No components will be instantiated in the collection. Returned value:`,e),[])},set:s.set}:(console.error(`Collection component in ${this.name} has an invalid 'from' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting child state from the current state. Attempting to use parent component state.`),a=void 0);const p={...this.sources,[this.stateSourceName]:i,props$:e,children$:n},f=Fe(c,a,{container:null})(p);if("object"!=typeof f)throw new Error("Invalid sinks returned from component factory of collection element");return f}instantiateSwitchable(t,e,n){const r=t.data.props||{};t.children;const o=oe.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState),e,n).map((([t,e,n])=>"object"==typeof t?{...this.addCalculated(t),__props:e,__children:n}:{value:t,__props:e,__children:n})),i=new we(o),s=r.state;let a;const c={get:t=>t,set:(t,e)=>{if("object"!=typeof e||e instanceof Array)return e;const{__props:n,__children:r,...o}=e;return o}};void 0===s?a=c:"string"==typeof s?a={get:t=>{const{__props:e,__children:n}=t;return"object"!=typeof t[s]||t[s]instanceof Array?{value:t[s],__props:e,__children:n}:{...t[s],__props:e,__children:n}},set:(t,e)=>{if(this.calculated&&s in this.calculated)return console.warn(`Switchable sub-component of ${this.name} attempted to update state on a calculated field '${s}': Update ignored`),t;if("object"!=typeof e||e instanceof Array)return{...t,[s]:e};const{__props:n,__children:r,...o}=e;return{...t,[s]:o}}}:"object"==typeof s?"function"!=typeof s.get?(console.error(`Switchable component in ${this.name} has an invalid 'state' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting sub-component state from the current state. Attempting to use parent component state.`),a=c):a={get:s.get,set:s.set}:(console.error(`Invalid state provided to switchable sub-component of ${this.name}: Expecting string, object, or undefined, but found ${typeof s}. Attempting to use parent component state.`),a=c);const u=r.of,l={...this.sources,[this.stateSourceName]:i,props$:e,children$:n},p=le(Be(u,e.map((t=>t.current))),{[this.stateSourceName]:a})(l);if("object"!=typeof p)throw new Error("Invalid sinks returned from component factory of switchable element");return p}instantiateCustomComponent(t,e,n){const r=t.sel,o=t.data.props||{};t.children;const i=oe.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState),e,n).map((([t,e,n])=>"object"==typeof t?{...this.addCalculated(t),__props:e,__children:n}:{value:t,__props:e,__children:n})),s=new we(i),a=o.state,c="sygnal-factory"===r?o.sygnalFactory:this.components[r]||o.sygnalFactory;if(!c){if("sygnal-factory"===r)throw new Error("Component not found on element with Capitalized selector and nameless function: JSX transpilation replaces selectors starting with upper case letters with functions in-scope with the same name, Sygnal cannot see the name of the resulting component.");throw new Error(`Component not found: ${r}`)}let u;const l={get:t=>t,set:(t,e)=>{if("object"!=typeof e||e instanceof Array)return e;const{__props:n,__children:r,...o}=e;return o}};void 0===a?u=l:"string"==typeof a?u={get:t=>{const{__props:e,__children:n}=t;return"object"==typeof t[a]?{...t[a],__props:e,__children:n}:{value:t[a],__props:e,__children:n}},set:(t,e)=>this.calculated&&a in this.calculated?(console.warn(`Sub-component of ${this.name} attempted to update state on a calculated field '${a}': Update ignored`),t):{...t,[a]:e}}:"object"==typeof a?"function"!=typeof a.get?(console.error(`Sub-component in ${this.name} has an invalid 'state' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting sub-component state from the current state. Attempting to use parent component state.`),u=l):u={get:a.get,set:a.set}:(console.error(`Invalid state provided to sub-component of ${this.name}: Expecting string, object, or undefined, but found ${typeof a}. Attempting to use parent component state.`),u=l);const p={...this.sources,[this.stateSourceName]:s,props$:e,children$:n},f=le(c,{[this.stateSourceName]:u})(p);if("object"!=typeof f){throw new Error("Invalid sinks returned from component factory:","sygnal-factory"===r?"custom element":r)}return f}renderVdom(t){return oe.combine(this.subComponentsRendered$,t).compose(Je(5)).map((([t,e])=>{const n=Object.keys(this.components),r=e["::ROOT::"],o=Object.entries(e).filter((([t])=>"::ROOT::"!==t));if(0===o.length)return oe.of(r);const i=[],s=o.map((([t,e])=>(i.push(t),e.sink$[this.DOMSourceName].startWith(void 0))));return 0===s.length?oe.of(r):oe.combine(...s).compose(Je(10)).map((t=>{const e=t.reduce(((t,e,n)=>(t[i[n]]=e,t)),{});return nn(sn(r),e,n)}))})).flatten().filter((t=>!!t)).remember().compose(this.log("View Rendered"))}}function en(t,e,n=0,r=0){if(!t)return{};if(t.data?.componentsProcessed)return{};0===n&&(t.data.componentsProcessed=!0);const o=t.sel,i=o&&"collection"===o.toLowerCase(),s=o&&"switchable"===o.toLowerCase(),a=o&&["collection","switchable","sygnal-factory",...e].includes(t.sel)||"function"==typeof t.data?.props?.sygnalFactory,c=t.data&&t.data.props||{};t.data&&t.data.attrs;const u=t.children||[];let l={};if(a){const o=on(t,n,r);if(i){if(!c.of)throw new Error("Collection element missing required 'component' property");if("string"!=typeof c.of&&"function"!=typeof c.of)throw new Error(`Invalid 'component' property of collection element: found ${typeof c.of} requires string or component factory function`);if("function"!=typeof c.of&&!e.includes(c.of))throw new Error(`Specified component for collection not found: ${c.of}`);void 0===c.from||"string"==typeof c.from||Array.isArray(c.from)||"function"==typeof c.from.get||console.warn(`No valid array found for collection ${"string"==typeof c.of?c.of:"function component"}: no collection components will be created`,c.from),t.data.isCollection=!0,t.data.props||={}}else if(s){if(!c.of)throw new Error("Switchable element missing required 'of' property");if("object"!=typeof c.of)throw new Error(`Invalid 'of' property of switchable element: found ${typeof c.of} requires object mapping names to component factories`);if(!Object.values(c.of).every((t=>"function"==typeof t)))throw new Error("One or more components provided to switchable element is not a valid component factory");if(!c.current||"string"!=typeof c.current&&"function"!=typeof c.current)throw new Error(`Missing or invalid 'current' property for switchable element: found '${typeof c.current}' requires string or function`);if(!Object.keys(c.of).includes(c.current))throw new Error(`Component '${c.current}' not found in switchable element`);t.data.isSwitchable=!0}void 0===c.key&&(t.data.props.key=o),l[o]=t}return u.length>0&&u.map(((t,o)=>en(t,e,n+1,r+o))).forEach((t=>{Object.entries(t).forEach((([t,e])=>l[t]=e))})),l}function nn(t,e,n,r=0,o=0){if(!t)return;if(t.data?.componentsInjected)return t;0===r&&t.data&&(t.data.componentsInjected=!0);const i=t.sel||"NO SELECTOR",s=["collection","switchable","sygnal-factory",...n].includes(i)||"function"==typeof t.data?.props?.sygnalFactory,a=t?.data?.isCollection;t.data&&t.data.props;const c=t.children||[];if(s){const n=on(t,r,o),i=e[n];return a?(t.sel="div",t.children=Array.isArray(i)?i:[i],t):i}return c.length>0?(t.children=c.map(((t,i)=>nn(t,e,n,r+1,o+i))).flat(),t):t}const rn=new Map;function on(t,e,n){const r=t.sel,o="string"==typeof r?r:"functionComponent";let i=rn.get(r);if(!i){i=`${Date.now()}-${Math.floor(1e4*Math.random())}`,rn.set(r,i)}const s=`${i}-${e}-${n}`,a=t.data&&t.data.props||{};return`${o}::${a.id&&JSON.stringify(a.id)||s}`}function sn(t){return void 0===t?t:{...t,children:Array.isArray(t.children)?t.children.map(sn):void 0,data:t.data&&{...t.data,componentsInjected:!1}}}function an(t){return function(){var t;return(t="undefined"!=typeof window?window:"undefined"!=typeof global?global:this).Cyclejs=t.Cyclejs||{},(t=t.Cyclejs).adaptStream=t.adaptStream||function(t){return t},t}().adaptStream(t)}function cn(t){return 0===Object.keys(t).length}function un(t,e){if("function"!=typeof t)throw new Error("First argument given to Cycle must be the 'main' function.");if("object"!=typeof e||null===e)throw new Error("Second argument given to Cycle must be an object with driver functions as properties.");if(cn(e))throw new Error("Second argument given to Cycle must be an object with at least one driver function declared as a property.");var n=function(t){if("object"!=typeof t||null===t)throw new Error("Argument given to setupReusable must be an object with driver functions as properties.");if(cn(t))throw new Error("Argument given to setupReusable must be an object with at least one driver function declared as a property.");var e=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=oe.create());return e}(t),n=function(t,e){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=t[r](e[r],r),n[r]&&"object"==typeof n[r]&&(n[r]._isCycleSource=r));return n}(t,e),r=function(t){for(var e in t)t.hasOwnProperty(e)&&t[e]&&"function"==typeof t[e].shamefullySendNext&&(t[e]=an(t[e]));return t}(n);function o(t){return function(t,e){var n=De(),r=Object.keys(t).filter((function(t){return!!e[t]})),o={},i={};r.forEach((function(t){o[t]={_n:[],_e:[]},i[t]={next:function(e){return o[t]._n.push(e)},error:function(e){return o[t]._e.push(e)},complete:function(){}}}));var s=r.map((function(e){return oe.fromObservable(t[e]).subscribe(i[e])}));return r.forEach((function(t){var r=e[t],s=function(t){n((function(){return r._n(t)}))},a=function(t){n((function(){(console.error||console.log)(t),r._e(t)}))};o[t]._n.forEach(s),o[t]._e.forEach(a),i[t].next=s,i[t].error=a,i[t]._n=s,i[t]._e=a})),o=null,function(){s.forEach((function(t){return t.unsubscribe()}))}}(t,e)}function i(){!function(t){for(var e in t)t.hasOwnProperty(e)&&t[e]&&t[e].dispose&&t[e].dispose()}(r),function(t){Object.keys(t).forEach((function(e){return t[e]._c()}))}(e)}return{sources:r,run:o,dispose:i}}(e),r=t(n.sources);return"undefined"!=typeof window&&(window.Cyclejs=window.Cyclejs||{},window.Cyclejs.sinks=r),{sinks:r,sources:n.sources,run:function(){var t=n.run(r);return function(){t(),n.dispose()}}}}function ln(t){if(pn(t)){for(;t&&pn(t);){t=fn(t).parent}return null!=t?t:null}return t.parentNode}function pn(t){return 11===t.nodeType}function fn(t,e){var n,r,o;const i=t;return null!==(n=i.parent)&&void 0!==n||(i.parent=null!=e?e:null),null!==(r=i.firstChildNode)&&void 0!==r||(i.firstChildNode=t.firstChild),null!==(o=i.lastChildNode)&&void 0!==o||(i.lastChildNode=t.lastChild),i}const hn={createElement:function(t,e){return document.createElement(t,e)},createElementNS:function(t,e,n){return document.createElementNS(t,e,n)},createTextNode:function(t){return document.createTextNode(t)},createDocumentFragment:function(){return fn(document.createDocumentFragment())},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){if(pn(t)){let e=t;for(;e&&pn(e);){e=fn(e).parent}t=null!=e?e:t}pn(e)&&(e=fn(e,t)),n&&pn(n)&&(n=fn(n).firstChildNode),t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){pn(e)&&(e=fn(e,t)),t.appendChild(e)},parentNode:ln,nextSibling:function(t){var e;if(pn(t)){const n=fn(t),r=ln(n);if(r&&n.lastChildNode){const t=Array.from(r.childNodes),o=t.indexOf(n.lastChildNode);return null!==(e=t[o+1])&&void 0!==e?e:null}return null}return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},getTextContent:function(t){return t.textContent},isElement:function(t){return 1===t.nodeType},isText:function(t){return 3===t.nodeType},isComment:function(t){return 8===t.nodeType},isDocumentFragment:pn};function dn(t,e,n,r,o){return{sel:t,data:e,children:n,text:r,elm:o,key:void 0===e?void 0:e.key}}const yn=Array.isArray;function mn(t){return"string"==typeof t||"number"==typeof t||t instanceof String||t instanceof Number}function vn(t){return void 0===t}function gn(t){return void 0!==t}const _n=dn("",{},[],void 0,void 0);function bn(t,e){var n,r;const o=t.key===e.key,i=(null===(n=t.data)||void 0===n?void 0:n.is)===(null===(r=e.data)||void 0===r?void 0:r.is),s=t.sel===e.sel,a=!(!t.sel&&t.sel===e.sel)||typeof t.text==typeof e.text;return s&&o&&i&&a}function wn(){throw new Error("The document fragment is not supported on this platform.")}function Sn(t,e,n){var r;const o={};for(let i=e;i<=n;++i){const e=null===(r=t[i])||void 0===r?void 0:r.key;void 0!==e&&(o[e]=i)}return o}const An=["create","update","remove","destroy","pre","post"];function On(t,e,n){const r={create:[],update:[],remove:[],destroy:[],pre:[],post:[]},o=void 0!==e?e:hn;for(const e of An)for(const n of t){const t=n[e];void 0!==t&&r[e].push(t)}function i(t){const e=t.id?"#"+t.id:"",n=t.getAttribute("class"),r=n?"."+n.split(" ").join("."):"";return dn(o.tagName(t).toLowerCase()+e+r,{},[],void 0,t)}function s(t){return dn(void 0,{},[],void 0,t)}function a(t,e){return function(){if(0==--e){const e=o.parentNode(t);o.removeChild(e,t)}}}function c(t,e){var i,s,a,u;let l,p=t.data;if(void 0!==p){const e=null===(i=p.hook)||void 0===i?void 0:i.init;gn(e)&&(e(t),p=t.data)}const f=t.children,h=t.sel;if("!"===h)vn(t.text)&&(t.text=""),t.elm=o.createComment(t.text);else if(void 0!==h){const n=h.indexOf("#"),i=h.indexOf(".",n),a=n>0?n:h.length,u=i>0?i:h.length,d=-1!==n||-1!==i?h.slice(0,Math.min(a,u)):h,y=t.elm=gn(p)&&gn(l=p.ns)?o.createElementNS(l,d,p):o.createElement(d,p);for(a<u&&y.setAttribute("id",h.slice(a+1,u)),i>0&&y.setAttribute("class",h.slice(u+1).replace(/\./g," ")),l=0;l<r.create.length;++l)r.create[l](_n,t);if(yn(f))for(l=0;l<f.length;++l){const t=f[l];null!=t&&o.appendChild(y,c(t,e))}else mn(t.text)&&o.appendChild(y,o.createTextNode(t.text));const m=t.data.hook;gn(m)&&(null===(s=m.create)||void 0===s||s.call(m,_n,t),m.insert&&e.push(t))}else if((null===(a=null==n?void 0:n.experimental)||void 0===a?void 0:a.fragments)&&t.children){for(t.elm=(null!==(u=o.createDocumentFragment)&&void 0!==u?u:wn)(),l=0;l<r.create.length;++l)r.create[l](_n,t);for(l=0;l<t.children.length;++l){const n=t.children[l];null!=n&&o.appendChild(t.elm,c(n,e))}}else t.elm=o.createTextNode(t.text);return t.elm}function u(t,e,n,r,i,s){for(;r<=i;++r){const i=n[r];null!=i&&o.insertBefore(t,c(i,s),e)}}function l(t){var e,n;const o=t.data;if(void 0!==o){null===(n=null===(e=null==o?void 0:o.hook)||void 0===e?void 0:e.destroy)||void 0===n||n.call(e,t);for(let e=0;e<r.destroy.length;++e)r.destroy[e](t);if(void 0!==t.children)for(let e=0;e<t.children.length;++e){const n=t.children[e];null!=n&&"string"!=typeof n&&l(n)}}}function p(t,e,n,i){for(var s,c;n<=i;++n){let i,u;const f=e[n];if(null!=f)if(gn(f.sel)){l(f),i=r.remove.length+1,u=a(f.elm,i);for(let t=0;t<r.remove.length;++t)r.remove[t](f,u);const t=null===(c=null===(s=null==f?void 0:f.data)||void 0===s?void 0:s.hook)||void 0===c?void 0:c.remove;gn(t)?t(f,u):u()}else f.children?(l(f),p(t,f.children,0,f.children.length-1)):o.removeChild(t,f.elm)}}function f(t,e,n){var i,s,a,l,h,d,y,m;const v=null===(i=e.data)||void 0===i?void 0:i.hook;null===(s=null==v?void 0:v.prepatch)||void 0===s||s.call(v,t,e);const g=e.elm=t.elm;if(t===e)return;if(void 0!==e.data||gn(e.text)&&e.text!==t.text){null!==(a=e.data)&&void 0!==a||(e.data={}),null!==(l=t.data)&&void 0!==l||(t.data={});for(let n=0;n<r.update.length;++n)r.update[n](t,e);null===(y=null===(d=null===(h=e.data)||void 0===h?void 0:h.hook)||void 0===d?void 0:d.update)||void 0===y||y.call(d,t,e)}const _=t.children,b=e.children;vn(e.text)?gn(_)&&gn(b)?_!==b&&function(t,e,n,r){let i,s,a,l,h=0,d=0,y=e.length-1,m=e[0],v=e[y],g=n.length-1,_=n[0],b=n[g];for(;h<=y&&d<=g;)null==m?m=e[++h]:null==v?v=e[--y]:null==_?_=n[++d]:null==b?b=n[--g]:bn(m,_)?(f(m,_,r),m=e[++h],_=n[++d]):bn(v,b)?(f(v,b,r),v=e[--y],b=n[--g]):bn(m,b)?(f(m,b,r),o.insertBefore(t,m.elm,o.nextSibling(v.elm)),m=e[++h],b=n[--g]):bn(v,_)?(f(v,_,r),o.insertBefore(t,v.elm,m.elm),v=e[--y],_=n[++d]):(void 0===i&&(i=Sn(e,h,y)),s=i[_.key],vn(s)?o.insertBefore(t,c(_,r),m.elm):(a=e[s],a.sel!==_.sel?o.insertBefore(t,c(_,r),m.elm):(f(a,_,r),e[s]=void 0,o.insertBefore(t,a.elm,m.elm))),_=n[++d]);d<=g&&(l=null==n[g+1]?null:n[g+1].elm,u(t,l,n,d,g,r)),h<=y&&p(t,e,h,y)}(g,_,b,n):gn(b)?(gn(t.text)&&o.setTextContent(g,""),u(g,null,b,0,b.length-1,n)):gn(_)?p(g,_,0,_.length-1):gn(t.text)&&o.setTextContent(g,""):t.text!==e.text&&(gn(_)&&p(g,_,0,_.length-1),o.setTextContent(g,e.text)),null===(m=null==v?void 0:v.postpatch)||void 0===m||m.call(v,t,e)}return function(t,e){let n,a,u;const l=[];for(n=0;n<r.pre.length;++n)r.pre[n]();for(!function(t,e){return t.isElement(e)}(o,t)?function(t,e){return t.isDocumentFragment(e)}(o,t)&&(t=s(t)):t=i(t),bn(t,e)?f(t,e,l):(a=t.elm,u=o.parentNode(a),c(e,l),null!==u&&(o.insertBefore(u,e.elm,o.nextSibling(a)),p(u,[t],0,0))),n=0;n<l.length;++n)l[n].data.hook.insert(l[n]);for(n=0;n<r.post.length;++n)r.post[n]();return e}}function En(t,e,n){if(t.ns="http://www.w3.org/2000/svg","foreignObject"!==n&&void 0!==e)for(let t=0;t<e.length;++t){const n=e[t];if("string"==typeof n)continue;const r=n.data;void 0!==r&&En(r,n.children,n.sel)}}function $n(t,e,n){let r,o,i,s={};if(void 0!==n?(null!==e&&(s=e),yn(n)?r=n:mn(n)?o=n.toString():n&&n.sel&&(r=[n])):null!=e&&(yn(e)?r=e:mn(e)?o=e.toString():e&&e.sel?r=[e]:s=e),void 0!==r)for(i=0;i<r.length;++i)mn(r[i])&&(r[i]=dn(void 0,void 0,void 0,r[i],void 0));return"s"!==t[0]||"v"!==t[1]||"g"!==t[2]||3!==t.length&&"."!==t[3]&&"#"!==t[3]||En(s,r,t),dn(t,s,r,o,void 0)}function jn(t,e){const n=void 0!==e?e:hn;let r;if(n.isElement(t)){const r=t.id?"#"+t.id:"",o=t.getAttribute("class"),i=o?"."+o.split(" ").join("."):"",s=n.tagName(t).toLowerCase()+r+i,a={},c={},u={},l=[];let p,f,h;const d=t.attributes,y=t.childNodes;for(f=0,h=d.length;f<h;f++)p=d[f].nodeName,"d"===p[0]&&"a"===p[1]&&"t"===p[2]&&"a"===p[3]&&"-"===p[4]?c[p.slice(5)]=d[f].nodeValue||"":"id"!==p&&"class"!==p&&(a[p]=d[f].nodeValue);for(f=0,h=y.length;f<h;f++)l.push(jn(y[f],e));return Object.keys(a).length>0&&(u.attrs=a),Object.keys(c).length>0&&(u.dataset=c),"s"!==s[0]||"v"!==s[1]||"g"!==s[2]||3!==s.length&&"."!==s[3]&&"#"!==s[3]||En(u,l,s),dn(s,u,l,void 0,t)}return n.isText(t)?(r=n.getTextContent(t),dn(void 0,void 0,void 0,r,t)):n.isComment(t)?(r=n.getTextContent(t),dn("!",{},[],r,t)):dn("",{},[],void 0,t)}function Cn(t,e){let n;const r=e.elm;let o=t.data.attrs,i=e.data.attrs;if((o||i)&&o!==i){for(n in o=o||{},i=i||{},i){const t=i[n];o[n]!==t&&(!0===t?r.setAttribute(n,""):!1===t?r.removeAttribute(n):120!==n.charCodeAt(0)?r.setAttribute(n,t):58===n.charCodeAt(3)?r.setAttributeNS("http://www.w3.org/XML/1998/namespace",n,t):58===n.charCodeAt(5)?r.setAttributeNS("http://www.w3.org/1999/xlink",n,t):r.setAttribute(n,t))}for(n in o)n in i||r.removeAttribute(n)}}const Nn={create:Cn,update:Cn};function kn(t,e){let n,r;const o=e.elm;let i=t.data.class,s=e.data.class;if((i||s)&&i!==s){for(r in i=i||{},s=s||{},i)i[r]&&!Object.prototype.hasOwnProperty.call(s,r)&&o.classList.remove(r);for(r in s)n=s[r],n!==i[r]&&o.classList[n?"add":"remove"](r)}}const xn={create:kn,update:kn},In=/[A-Z]/g;function Pn(t,e){const n=e.elm;let r,o=t.data.dataset,i=e.data.dataset;if(!o&&!i)return;if(o===i)return;o=o||{},i=i||{};const s=n.dataset;for(r in o)i[r]||(s?r in s&&delete s[r]:n.removeAttribute("data-"+r.replace(In,"-$&").toLowerCase()));for(r in i)o[r]!==i[r]&&(s?s[r]=i[r]:n.setAttribute("data-"+r.replace(In,"-$&").toLowerCase(),i[r]))}const Mn={create:Pn,update:Pn};function Tn(t,e){let n,r,o;const i=e.elm;let s=t.data.props,a=e.data.props;if((s||a)&&s!==a)for(n in s=s||{},a=a||{},a)r=a[n],o=s[n],o===r||"value"===n&&i[n]===r||(i[n]=r)}const Dn={create:Tn,update:Tn},Ln="undefined"!=typeof window&&window.requestAnimationFrame.bind(window)||setTimeout,Fn=function(t){Ln((function(){Ln(t)}))};let Bn=!1;function Rn(t,e,n){Fn((function(){t[e]=n}))}function qn(t,e){let n,r;const o=e.elm;let i=t.data.style,s=e.data.style;if(!i&&!s)return;if(i===s)return;i=i||{},s=s||{};const a="delayed"in i;for(r in i)s[r]||("-"===r[0]&&"-"===r[1]?o.style.removeProperty(r):o.style[r]="");for(r in s)if(n=s[r],"delayed"===r&&s.delayed)for(const t in s.delayed)n=s.delayed[t],a&&n===i.delayed[t]||Rn(o.style,t,n);else"remove"!==r&&n!==i[r]&&("-"===r[0]&&"-"===r[1]?o.style.setProperty(r,n):o.style[r]=n)}const Un={pre:function(){Bn=!1},create:qn,update:qn,destroy:function(t){let e,n;const r=t.elm,o=t.data.style;if(o&&(e=o.destroy))for(n in e)r.style[n]=e[n]},remove:function(t,e){const n=t.data.style;if(!n||!n.remove)return void e();let r;Bn||(t.elm.offsetLeft,Bn=!0);const o=t.elm;let i=0;const s=n.remove;let a=0;const c=[];for(r in s)c.push(r),o.style[r]=s[r];const u=getComputedStyle(o)["transition-property"].split(", ");for(;i<u.length;++i)-1!==c.indexOf(u[i])&&a++;o.addEventListener("transitionend",(function(t){t.target===o&&--a,0===a&&e()}))}};function Wn(t,e){e.elm=t.elm,t.data.fn=e.data.fn,t.data.args=e.data.args,t.data.isolate=e.data.isolate,e.data=t.data,e.children=t.children,e.text=t.text,e.elm=t.elm}function Gn(t){var e=t.data;Wn(e.fn.apply(void 0,e.args),t)}function Vn(t,e){var n,r=t.data,o=e.data,i=r.args,s=o.args;for(r.fn===o.fn&&i.length===s.length||Wn(o.fn.apply(void 0,s),e),n=0;n<s.length;++n)if(i[n]!==s[n])return void Wn(o.fn.apply(void 0,s),e);Wn(t,e)}function zn(t,e,n,r,o){void 0===n&&(n=!1),void 0===r&&(r=!1),void 0===o&&(o=!1);var i=null;return ee.create({start:function(s){i=r?function(t){Jn(t,r),s.next(t)}:function(t){s.next(t)},t.addEventListener(e,i,{capture:n,passive:o})},stop:function(){t.removeEventListener(e,i,n),i=null}})}function Hn(t,e){for(var n=Object.keys(t),r=n.length,o=0;o<r;o++){var i=n[o];if("object"==typeof t[i]&&"object"==typeof e[i]){if(!Hn(t[i],e[i]))return!1}else if(t[i]!==e[i])return!1}return!0}function Jn(t,e){if(e)if("boolean"==typeof e)t.preventDefault();else if("function"==typeof e)e(t)&&t.preventDefault();else{if("object"!=typeof e)throw new Error("preventDefault has to be either a boolean, predicate function or object");Hn(e,t)&&t.preventDefault()}}var Xn=function(){function t(t){this._name=t}return t.prototype.select=function(t){return this},t.prototype.elements=function(){var t=ae(oe.of([document]));return t._isCycleSource=this._name,t},t.prototype.element=function(){var t=ae(oe.of(document));return t._isCycleSource=this._name,t},t.prototype.events=function(t,e,n){var r;void 0===e&&(e={}),r=zn(document,t,e.useCapture,e.preventDefault);var o=ae(r);return o._isCycleSource=this._name,o},t}(),Yn=function(){function t(t){this._name=t}return t.prototype.select=function(t){return this},t.prototype.elements=function(){var t=ae(oe.of([document.body]));return t._isCycleSource=this._name,t},t.prototype.element=function(){var t=ae(oe.of(document.body));return t._isCycleSource=this._name,t},t.prototype.events=function(t,e,n){var r;void 0===e&&(e={}),r=zn(document.body,t,e.useCapture,e.preventDefault);var o=ae(r);return o._isCycleSource=this._name,o},t}();function Zn(t){if("string"!=typeof t&&(e=t,!("object"==typeof HTMLElement?e instanceof HTMLElement||e instanceof DocumentFragment:e&&"object"==typeof e&&null!==e&&(1===e.nodeType||11===e.nodeType)&&"string"==typeof e.nodeName)))throw new Error("Given container is not a DOM element neither a selector string.");var e}function Kn(t){for(var e="",n=t.length-1;n>=0&&"selector"===t[n].type;n--)e=t[n].scope+" "+e;return e.trim()}function Qn(t,e){if(!Array.isArray(t)||!Array.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(t[n].type!==e[n].type||t[n].scope!==e[n].scope)return!1;return!0}var tr=function(){function t(t,e){this.namespace=t,this.isolateModule=e,this._namespace=t.filter((function(t){return"selector"!==t.type}))}return t.prototype.isDirectlyInScope=function(t){var e=this.isolateModule.getNamespace(t);if(!e)return!1;if(this._namespace.length>e.length||!Qn(this._namespace,e.slice(0,this._namespace.length)))return!1;for(var n=this._namespace.length;n<e.length;n++)if("total"===e[n].type)return!1;return!0},t}();var er=function(){function t(t,e){this.namespace=t,this.isolateModule=e}return t.prototype.call=function(){var t=this.namespace,e=Kn(t),n=new tr(t,this.isolateModule),r=this.isolateModule.getElement(t.filter((function(t){return"selector"!==t.type})));return void 0===r?[]:""===e?[r]:function(t){return Array.prototype.slice.call(t)}(r.querySelectorAll(e)).filter(n.isDirectlyInScope,n).concat(r.matches(e)?[r]:[])},t}(),nr=function(){return nr=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},nr.apply(this,arguments)};function rr(t){return{type:(e=t,e.length>1&&("."===e[0]||"#"===e[0])?"sibling":"total"),scope:t};var e}var or=function(){function t(e,n,r,o,i,s){var a;void 0===r&&(r=[]),this._rootElement$=e,this._sanitation$=n,this._namespace=r,this._isolateModule=o,this._eventDelegator=i,this._name=s,this.isolateSource=function(e,n){return new t(e._rootElement$,e._sanitation$,e._namespace.concat(rr(n)),e._isolateModule,e._eventDelegator,e._name)},this.isolateSink=(a=this._namespace,function(t,e){return":root"===e?t:t.map((function(t){if(!t)return t;var n=rr(e),r=nr({},t,{data:nr({},t.data,{isolate:t.data&&Array.isArray(t.data.isolate)?t.data.isolate:a.concat([n])})});return nr({},r,{key:void 0!==r.key?r.key:JSON.stringify(r.data.isolate)})}))})}return t.prototype._elements=function(){if(0===this._namespace.length)return this._rootElement$.map((function(t){return[t]}));var t=new er(this._namespace,this._isolateModule);return this._rootElement$.map((function(){return t.call()}))},t.prototype.elements=function(){var t=ae(this._elements().remember());return t._isCycleSource=this._name,t},t.prototype.element=function(){var t=ae(this._elements().filter((function(t){return t.length>0})).map((function(t){return t[0]})).remember());return t._isCycleSource=this._name,t},Object.defineProperty(t.prototype,"namespace",{get:function(){return this._namespace},enumerable:!0,configurable:!0}),t.prototype.select=function(e){if("string"!=typeof e)throw new Error("DOM driver's select() expects the argument to be a string as a CSS selector");if("document"===e)return new Xn(this._name);if("body"===e)return new Yn(this._name);var n=":root"===e?[]:this._namespace.concat({type:"selector",scope:e.trim()});return new t(this._rootElement$,this._sanitation$,n,this._isolateModule,this._eventDelegator,this._name)},t.prototype.events=function(t,e,n){if(void 0===e&&(e={}),"string"!=typeof t)throw new Error("DOM driver's events() expects argument to be a string representing the event type to listen for.");var r=this._eventDelegator.addEventListener(t,this._namespace,e,n),o=ae(r);return o._isCycleSource=this._name,o},t.prototype.dispose=function(){this._sanitation$.shamefullySendNext(null)},t}(),ir={},sr=e&&e.__spreadArrays||function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),o=0;for(e=0;e<n;e++)for(var i=arguments[e],s=0,a=i.length;s<a;s++,o++)r[o]=i[s];return r};Object.defineProperty(ir,"__esModule",{value:!0}),ir.SampleCombineOperator=ir.SampleCombineListener=void 0;var ar=n,cr={},ur=function(){function t(t,e){this.i=t,this.p=e,e.ils[t]=this}return t.prototype._n=function(t){var e=this.p;e.out!==cr&&e.up(t,this.i)},t.prototype._e=function(t){this.p._e(t)},t.prototype._c=function(){this.p.down(this.i,this)},t}();ir.SampleCombineListener=ur;var lr,pr=function(){function t(t,e){this.type="sampleCombine",this.ins=t,this.others=e,this.out=cr,this.ils=[],this.Nn=0,this.vals=[]}return t.prototype._start=function(t){this.out=t;for(var e=this.others,n=this.Nn=e.length,r=this.vals=new Array(n),o=0;o<n;o++)r[o]=cr,e[o]._add(new ur(o,this));this.ins._add(this)},t.prototype._stop=function(){var t=this.others,e=t.length,n=this.ils;this.ins._remove(this);for(var r=0;r<e;r++)t[r]._remove(n[r]);this.out=cr,this.vals=[],this.ils=[]},t.prototype._n=function(t){var e=this.out;e!==cr&&(this.Nn>0||e._n(sr([t],this.vals)))},t.prototype._e=function(t){var e=this.out;e!==cr&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==cr&&t._c()},t.prototype.up=function(t,e){var n=this.vals[e];this.Nn>0&&n===cr&&this.Nn--,this.vals[e]=t},t.prototype.down=function(t,e){this.others[t]._remove(e)},t}();ir.SampleCombineOperator=pr,lr=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(e){return new ar.Stream(new pr(e,t))}};var fr=ir.default=lr;function hr(t){if(!t.sel)return{tagName:"",id:"",className:""};var e=t.sel,n=e.indexOf("#"),r=e.indexOf(".",n),o=n>0?n:e.length,i=r>0?r:e.length;return{tagName:-1!==n||-1!==r?e.slice(0,Math.min(o,i)):e,id:o<i?e.slice(o+1,i):void 0,className:r>0?e.slice(i+1).replace(/\./g," "):void 0}}Object.assign;var dr=("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:Function("return this")()).Symbol;"function"==typeof dr&&dr("parent");var yr=function(){function t(t){this.rootElement=t}return t.prototype.call=function(t){if(11===this.rootElement.nodeType)return this.wrapDocFrag(null===t?[]:[t]);if(null===t)return this.wrap([]);var e=hr(t),n=e.tagName,r=e.id,o=function(t){var e=hr(t).className,n=void 0===e?"":e;if(!t.data)return n;var r=t.data,o=r.class,i=r.props;return o&&(n+=" "+Object.keys(o).filter((function(t){return o[t]})).join(" ")),i&&i.className&&(n+=" "+i.className),n&&n.trim()}(t),i=((t.data||{}).props||{}).id,s=void 0===i?r:i;return"string"==typeof s&&s.toUpperCase()===this.rootElement.id.toUpperCase()&&n.toUpperCase()===this.rootElement.tagName.toUpperCase()&&o.toUpperCase()===this.rootElement.className.toUpperCase()?t:this.wrap([t])},t.prototype.wrapDocFrag=function(t){return dn("",{isolate:[]},t,void 0,this.rootElement)},t.prototype.wrap=function(t){var e=this.rootElement,n=e.tagName,r=e.id,o=e.className,i=r?"#"+r:"",s=o?"."+o.split(" ").join("."):"",a=$n(""+n.toLowerCase()+i+s,{},t);return a.data=a.data||{},a.data.isolate=a.data.isolate||[],a},t}(),mr=[Un,xn,Dn,Nn,Mn],vr=function(){function t(t){this.mapper=t,this.tree=[void 0,{}]}return t.prototype.set=function(t,e,n){for(var r=this.tree,o=void 0!==n?n:t.length,i=0;i<o;i++){var s=this.mapper(t[i]),a=r[1][s];a||(a=[void 0,{}],r[1][s]=a),r=a}r[0]=e},t.prototype.getDefault=function(t,e,n){return this.get(t,e,n)},t.prototype.get=function(t,e,n){for(var r=this.tree,o=void 0!==n?n:t.length,i=0;i<o;i++){var s=this.mapper(t[i]),a=r[1][s];if(!a){if(!e)return;a=[void 0,{}],r[1][s]=a}r=a}return e&&!r[0]&&(r[0]=e()),r[0]},t.prototype.delete=function(t){for(var e=this.tree,n=0;n<t.length-1;n++){var r=e[1][this.mapper(t[n])];if(!r)return;e=r}delete e[1][this.mapper(t[t.length-1])]},t}(),gr=function(){function t(){this.namespaceTree=new vr((function(t){return t.scope})),this.namespaceByElement=new Map,this.vnodesBeingRemoved=[]}return t.prototype.setEventDelegator=function(t){this.eventDelegator=t},t.prototype.insertElement=function(t,e){this.namespaceByElement.set(e,t),this.namespaceTree.set(t,e)},t.prototype.removeElement=function(t){this.namespaceByElement.delete(t);var e=this.getNamespace(t);e&&this.namespaceTree.delete(e)},t.prototype.getElement=function(t,e){return this.namespaceTree.get(t,void 0,e)},t.prototype.getRootElement=function(t){if(this.namespaceByElement.has(t))return t;for(var e=t;!this.namespaceByElement.has(e);){if(!(e=e.parentNode))return;if("HTML"===e.tagName)throw new Error("No root element found, this should not happen at all")}return e},t.prototype.getNamespace=function(t){var e=this.getRootElement(t);if(e)return this.namespaceByElement.get(e)},t.prototype.createModule=function(){var t=this;return{create:function(e,n){var r=n.elm,o=n.data,i=(void 0===o?{}:o).isolate;Array.isArray(i)&&t.insertElement(i,r)},update:function(e,n){var r=e.elm,o=e.data,i=void 0===o?{}:o,s=n.elm,a=n.data,c=void 0===a?{}:a,u=i.isolate,l=c.isolate;Qn(u,l)||Array.isArray(u)&&t.removeElement(r),Array.isArray(l)&&t.insertElement(l,s)},destroy:function(e){t.vnodesBeingRemoved.push(e)},remove:function(e,n){t.vnodesBeingRemoved.push(e),n()},post:function(){for(var e=t.vnodesBeingRemoved,n=e.length-1;n>=0;n--){var r=e[n],o=void 0!==r.data?r.data.isolation:void 0;void 0!==o&&t.removeElement(o),t.eventDelegator.removeElement(r.elm,o)}t.vnodesBeingRemoved=[]}}},t}(),_r=function(){function t(){this.arr=[],this.prios=[]}return t.prototype.add=function(t,e){for(var n=0;n<this.arr.length;n++)if(this.prios[n]<e)return this.arr.splice(n,0,t),void this.prios.splice(n,0,e);this.arr.push(t),this.prios.push(e)},t.prototype.forEach=function(t){for(var e=0;e<this.arr.length;e++)t(this.arr[e],e,this.arr)},t.prototype.delete=function(t){for(var e=0;e<this.arr.length;e++)if(this.arr[e]===t)return this.arr.splice(e,1),void this.prios.splice(e,1)},t}(),br=function(){return br=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},br.apply(this,arguments)},wr=["blur","canplay","canplaythrough","durationchange","emptied","ended","focus","load","loadeddata","loadedmetadata","mouseenter","mouseleave","pause","play","playing","ratechange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeupdate","unload","volumechange","waiting"],Sr=function(){function t(t,e){var n=this;this.rootElement$=t,this.isolateModule=e,this.virtualListeners=new vr((function(t){return t.scope})),this.nonBubblingListenersToAdd=new Set,this.virtualNonBubblingListener=[],this.isolateModule.setEventDelegator(this),this.domListeners=new Map,this.domListenersToAdd=new Map,this.nonBubblingListeners=new Map,t.addListener({next:function(t){n.origin!==t&&(n.origin=t,n.resetEventListeners(),n.domListenersToAdd.forEach((function(t,e){return n.setupDOMListener(e,t)})),n.domListenersToAdd.clear()),n.nonBubblingListenersToAdd.forEach((function(t){n.setupNonBubblingListener(t)}))}})}return t.prototype.addEventListener=function(t,e,n,r){var o,i=oe.never(),s=new tr(e,this.isolateModule);if(void 0===r?-1===wr.indexOf(t):r)return this.domListeners.has(t)||this.setupDOMListener(t,!!n.passive),o=this.insertListener(i,s,t,n),i;var a=[];this.nonBubblingListenersToAdd.forEach((function(t){return a.push(t)}));for(var c=void 0,u=0,l=a.length,p=function(n){n[0];var r=n[1],o=n[2];return n[3],t===r&&Qn(o.namespace,e)};!c&&u<l;){var f=a[u];c=p(f)?f:c,u++}var h,d=c;if(d){var y=d[0];h=y}else{var m=new er(e,this.isolateModule);o=this.insertListener(i,s,t,n),d=[i,t,m,o],h=i,this.nonBubblingListenersToAdd.add(d),this.setupNonBubblingListener(d)}var v=this,g=null;return oe.create({start:function(t){g=h.subscribe(t)},stop:function(){d[0];var t=d[1],e=d[2];d[3],e.call().forEach((function(e){var n=e.subs;n&&n[t]&&(n[t].unsubscribe(),delete n[t])})),v.nonBubblingListenersToAdd.delete(d),g.unsubscribe()}})},t.prototype.removeElement=function(t,e){void 0!==e&&this.virtualListeners.delete(e);var n=[];this.nonBubblingListeners.forEach((function(e,r){if(e.has(t)){n.push([r,t]);var o=t.subs;o&&Object.keys(o).forEach((function(t){o[t].unsubscribe()}))}}));for(var r=0;r<n.length;r++){var o=this.nonBubblingListeners.get(n[r][0]);o&&(o.delete(n[r][1]),0===o.size?this.nonBubblingListeners.delete(n[r][0]):this.nonBubblingListeners.set(n[r][0],o))}},t.prototype.insertListener=function(t,e,n,r){var o=[],i=e._namespace,s=i.length;do{o.push(this.getVirtualListeners(n,i,!0,s)),s--}while(s>=0&&"total"!==i[s].type);for(var a=br({},r,{scopeChecker:e,subject:t,bubbles:!!r.bubbles,useCapture:!!r.useCapture,passive:!!r.passive}),c=0;c<o.length;c++)o[c].add(a,i.length);return a},t.prototype.getVirtualListeners=function(t,e,n,r){void 0===n&&(n=!1);var o=void 0!==r?r:e.length;if(!n)for(var i=o-1;i>=0;i--){if("total"===e[i].type){o=i+1;break}o=i}var s=this.virtualListeners.getDefault(e,(function(){return new Map}),o);return s.has(t)||s.set(t,new _r),s.get(t)},t.prototype.setupDOMListener=function(t,e){var n=this;if(this.origin){var r=zn(this.origin,t,!1,!1,e).subscribe({next:function(r){return n.onEvent(t,r,e)},error:function(){},complete:function(){}});this.domListeners.set(t,{sub:r,passive:e})}else this.domListenersToAdd.set(t,e)},t.prototype.setupNonBubblingListener=function(t){t[0];var e=t[1],n=t[2],r=t[3];if(this.origin){var o=n.call();if(o.length){var i=this;o.forEach((function(t){var n,o=t.subs;if(!o||!o[e]){var s=zn(t,e,!1,!1,r.passive).subscribe({next:function(t){return i.onEvent(e,t,!!r.passive,!1)},error:function(){},complete:function(){}});i.nonBubblingListeners.has(e)||i.nonBubblingListeners.set(e,new Map);var a=i.nonBubblingListeners.get(e);if(!a)return;a.set(t,{sub:s,destination:r}),t.subs=br({},o,((n={})[e]=s,n))}}))}}},t.prototype.resetEventListeners=function(){for(var t=this.domListeners.entries(),e=t.next();!e.done;){var n=e.value,r=n[0],o=n[1],i=o.sub,s=o.passive;i.unsubscribe(),this.setupDOMListener(r,s),e=t.next()}},t.prototype.putNonBubblingListener=function(t,e,n,r){var o=this.nonBubblingListeners.get(t);if(o){var i=o.get(e);i&&i.destination.passive===r&&i.destination.useCapture===n&&(this.virtualNonBubblingListener[0]=i.destination)}},t.prototype.onEvent=function(t,e,n,r){void 0===r&&(r=!0);var o=this.patchEvent(e),i=this.isolateModule.getRootElement(e.target);if(r){var s=this.isolateModule.getNamespace(e.target);if(!s)return;var a=this.getVirtualListeners(t,s);this.bubble(t,e.target,i,o,a,s,s.length-1,!0,n),this.bubble(t,e.target,i,o,a,s,s.length-1,!1,n)}else this.putNonBubblingListener(t,e.target,!0,n),this.doBubbleStep(t,e.target,i,o,this.virtualNonBubblingListener,!0,n),this.putNonBubblingListener(t,e.target,!1,n),this.doBubbleStep(t,e.target,i,o,this.virtualNonBubblingListener,!1,n),e.stopPropagation()},t.prototype.bubble=function(t,e,n,r,o,i,s,a,c){a||r.propagationHasBeenStopped||this.doBubbleStep(t,e,n,r,o,a,c);var u=n,l=s;if(e===n){if(!(s>=0&&"sibling"===i[s].type))return;u=this.isolateModule.getElement(i,s),l--}e.parentNode&&u&&this.bubble(t,e.parentNode,u,r,o,i,l,a,c),a&&!r.propagationHasBeenStopped&&this.doBubbleStep(t,e,n,r,o,a,c)},t.prototype.doBubbleStep=function(t,e,n,r,o,i,s){n&&(this.mutateEventCurrentTarget(r,e),o.forEach((function(t){if(t.passive===s&&t.useCapture===i){var o=Kn(t.scopeChecker.namespace);!r.propagationHasBeenStopped&&t.scopeChecker.isDirectlyInScope(e)&&(""!==o&&e.matches(o)||""===o&&e===n)&&(Jn(r,t.preventDefault),t.subject.shamefullySendNext(r))}})))},t.prototype.patchEvent=function(t){var e=t;e.propagationHasBeenStopped=!1;var n=e.stopPropagation;return e.stopPropagation=function(){n.call(this),this.propagationHasBeenStopped=!0},e},t.prototype.mutateEventCurrentTarget=function(t,e){try{Object.defineProperty(t,"currentTarget",{value:e,configurable:!0})}catch(t){console.log("please use event.ownerTarget")}t.ownerTarget=e},t}();function Ar(t){return oe.merge(t,oe.never())}function Or(t){return t.elm}function Er(t){(console.error||console.log)(t)}function $r(t,e){void 0===e&&(e={}),Zn(t);var n=e.modules||mr;!function(t){if(!Array.isArray(t))throw new Error("Optional modules option must be an array for snabbdom modules")}(n);var r,o,i=new gr,s=e&&e.snabbdomOptions||void 0,a=On([i.createModule()].concat(n),void 0,s),c=oe.create({start:function(t){"loading"===document.readyState?document.addEventListener("readystatechange",(function(){var e=document.readyState;"interactive"!==e&&"complete"!==e||(t.next(null),t.complete())})):(t.next(null),t.complete())},stop:function(){}}),u=oe.create({start:function(t){o=new MutationObserver((function(){return t.next(null)}))},stop:function(){o.disconnect()}});return function(n,s){void 0===s&&(s="DOM"),function(t){if(!t||"function"!=typeof t.addListener||"function"!=typeof t.fold)throw new Error("The DOM driver function expects as input a Stream of virtual DOM elements")}(n);var l=oe.create(),p=c.map((function(){var e=function(t){var e="string"==typeof t?document.querySelector(t):t;if("string"==typeof t&&null===e)throw new Error("Cannot render into unknown element `"+t+"`");return e}(t)||document.body;return r=new yr(e),e})),f=n.remember();f.addListener({}),u.addListener({});var h=p.map((function(t){return oe.merge(f.endWhen(l),l).map((function(t){return r.call(t)})).startWith(function(t){return t.data=t.data||{},t.data.isolate=[],t}(jn(t))).fold(a,jn(t)).drop(1).map(Or).startWith(t).map((function(t){return o.observe(t,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!0,characterDataOldValue:!0}),t})).compose(Ar)})).flatten(),d=Me(c,u).endWhen(l).compose(fr(h)).map((function(t){return t[1]})).remember();d.addListener({error:e.reportSnabbdomError||Er});var y=new Sr(d,i);return new or(d,l,[],i,y,s)}}var jr="___",Cr=function(){function t(t){this._mockConfig=t,t.elements?this._elements=t.elements:this._elements=ae(oe.empty())}return t.prototype.elements=function(){var t=this._elements;return t._isCycleSource="MockedDOM",t},t.prototype.element=function(){var t=this.elements().filter((function(t){return t.length>0})).map((function(t){return t[0]})).remember(),e=ae(t);return e._isCycleSource="MockedDOM",e},t.prototype.events=function(t,e,n){var r=this._mockConfig[t],o=ae(r||oe.empty());return o._isCycleSource="MockedDOM",o},t.prototype.select=function(e){return new t(this._mockConfig[e]||{})},t.prototype.isolateSource=function(t,e){return t.select("."+jr+e)},t.prototype.isolateSink=function(t,e){return ae(oe.fromObservable(t).map((function(t){return t.sel&&-1!==t.sel.indexOf(jr+e)||(t.sel+="."+jr+e),t})))},t}();function Nr(t){return function(t){return"string"==typeof t&&t.length>0}(t)&&("."===t[0]||"#"===t[0])}function kr(t){return function(e,n,r){var o=void 0!==e,i=void 0!==n,s=void 0!==r;return Nr(e)?i&&s?$n(t+e,n,r):$n(t+e,i?n:{}):s?$n(t+e,n,r):i?$n(t,e,n):$n(t,o?e:{})}}var xr=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","colorProfile","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotlight","feTile","feTurbulence","filter","font","fontFace","fontFaceFormat","fontFaceName","fontFaceSrc","fontFaceUri","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","marker","mask","metadata","missingGlyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],Ir=kr("svg");xr.forEach((function(t){Ir[t]=kr(t)}));var Pr=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dir","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","meta","nav","noscript","object","ol","optgroup","option","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","u","ul","video"],Mr={SVG_TAG_NAMES:xr,TAG_NAMES:Pr,svg:Ir,isSelector:Nr,createTagFunction:kr};Pr.forEach((function(t){Mr[t]=kr(t)}));var Tr=Mr.svg,Dr=Mr.a,Lr=Mr.abbr,Fr=Mr.address,Br=Mr.area,Rr=Mr.article,qr=Mr.aside,Ur=Mr.audio,Wr=Mr.b,Gr=Mr.base,Vr=Mr.bdi,zr=Mr.bdo,Hr=Mr.blockquote,Jr=Mr.body,Xr=Mr.br,Yr=Mr.button,Zr=Mr.canvas,Kr=Mr.caption,Qr=Mr.cite,to=Mr.code,eo=Mr.col,no=Mr.colgroup,ro=Mr.dd,oo=Mr.del,io=Mr.dfn,so=Mr.dir,ao=Mr.div,co=Mr.dl,uo=Mr.dt,lo=Mr.em,po=Mr.embed,fo=Mr.fieldset,ho=Mr.figcaption,yo=Mr.figure,mo=Mr.footer,vo=Mr.form,go=Mr.h1,_o=Mr.h2,bo=Mr.h3,wo=Mr.h4,So=Mr.h5,Ao=Mr.h6,Oo=Mr.head,Eo=Mr.header,$o=Mr.hgroup,jo=Mr.hr,Co=Mr.html,No=Mr.i,ko=Mr.iframe,xo=Mr.img,Io=Mr.input,Po=Mr.ins,Mo=Mr.kbd,To=Mr.keygen,Do=Mr.label,Lo=Mr.legend,Fo=Mr.li,Bo=Mr.link,Ro=Mr.main,qo=Mr.map,Uo=Mr.mark,Wo=Mr.menu,Go=Mr.meta,Vo=Mr.nav,zo=Mr.noscript,Ho=Mr.object,Jo=Mr.ol,Xo=Mr.optgroup,Yo=Mr.option,Zo=Mr.p,Ko=Mr.param,Qo=Mr.pre,ti=Mr.progress,ei=Mr.q,ni=Mr.rp,ri=Mr.rt,oi=Mr.ruby,ii=Mr.s,si=Mr.samp,ai=Mr.script,ci=Mr.section,ui=Mr.select,li=Mr.small,pi=Mr.source,fi=Mr.span,hi=Mr.strong,di=Mr.style,yi=Mr.sub,mi=Mr.sup,vi=Mr.table,gi=Mr.tbody,_i=Mr.td,bi=Mr.textarea,wi=Mr.tfoot,Si=Mr.th,Ai=Mr.thead,Oi=Mr.title,Ei=Mr.tr,$i=Mr.u,ji=Mr.ul,Ci=Mr.video;function Ni(t){const e=new EventTarget;return t.subscribe({next:t=>e.dispatchEvent(new CustomEvent("data",{detail:t}))}),{select:t=>{const n=!t,r=Array.isArray(t)?t:[t];let o;const i=oe.create({start:t=>{o=({detail:e})=>{const o=e&&e.data||null;(n||r.includes(e.type))&&t.next(o)},e.addEventListener("data",o)},stop:t=>e.removeEventListener("data",o)});return ae(i)}}}function ki(t){t.addListener({next:t=>{console.log(t)}})}function xi(t){return/^[a-zA-Z0-9-_]+$/.test(t)}function Ii(t){if("string"!=typeof t)throw new Error("Class name must be a string");return t.trim().split(" ").reduce(((t,e)=>{if(0===e.trim().length)return t;if(!xi(e))throw new Error(`${e} is not a valid CSS class name`);return t.push(e),t}),[])}var Pi={};Object.defineProperty(Pi,"__esModule",{value:!0});var Mi=n,Ti=function(){function t(t,e){this.dt=t,this.ins=e,this.type="throttle",this.out=null,this.id=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null,this.id=null},t.prototype.clearInterval=function(){var t=this.id;null!==t&&clearInterval(t),this.id=null},t.prototype._n=function(t){var e=this,n=this.out;n&&(this.id||(n._n(t),this.id=setInterval((function(){e.clearInterval()}),this.dt)))},t.prototype._e=function(t){var e=this.out;e&&(this.clearInterval(),e._e(t))},t.prototype._c=function(){var t=this.out;t&&(this.clearInterval(),t._c())},t}();var Di=Pi.default=function(t){return function(e){return new Mi.Stream(new Ti(t,e))}};t.ABORT=Qe,t.MainDOMSource=or,t.MockedDOMSource=Cr,t.a=Dr,t.abbr=Lr,t.address=Fr,t.area=Br,t.article=Rr,t.aside=qr,t.audio=Ur,t.b=Wr,t.base=Gr,t.bdi=Vr,t.bdo=zr,t.blockquote=Hr,t.body=Jr,t.br=Xr,t.button=Yr,t.canvas=Zr,t.caption=Kr,t.cite=Qr,t.classes=function(...t){return t.reduce(((t,e)=>{var n,r;return"string"!=typeof e||t.includes(e)?Array.isArray(e)?t.push(...(r=e,r.map(Ii).flat())):"object"==typeof e&&t.push(...(n=e,Object.entries(n).filter((([t,e])=>"function"==typeof e?e():!!e)).map((([t,e])=>{const n=t.trim();if(!xi(n))throw new Error(`${n} is not a valid CSS class name`);return n})))):t.push(...Ii(e)),t}),[]).join(" ")},t.code=to,t.col=eo,t.colgroup=no,t.collection=Fe,t.component=function(t){const{name:e,sources:n,isolateOpts:r,stateSourceName:o="STATE"}=t;if(n&&"object"!=typeof n)throw new Error("Sources must be a Cycle.js sources object:",e);let i;i="string"==typeof r?{[o]:r}:!0===r?{}:r;const s=void 0===n;let a;if("object"==typeof i){const e=e=>{const n={...t,sources:e};return new tn(n).sinks};a=s?le(e,i):le(e,i)(n)}else a=s?e=>new tn({...t,sources:e}).sinks:new tn(t).sinks;return a},t.dd=ro,t.debounce=Je,t.del=oo,t.delay=Ge,t.dfn=io,t.dir=so,t.div=ao,t.dl=co,t.driverFromAsync=function(t,e={}){const{selector:n="category",args:r="value",return:o="value",pre:i=(t=>t),post:s=(t=>t)}=e,a=t.name||"[anonymous function]",c=typeof r;if(!("string"===c||"function"===c||Array.isArray(r)&&r.every((t=>"string"==typeof t))))throw new Error(`The 'args' option for driverFromAsync(${a}) must be a string, array of strings, or a function. Received ${c}`);if("string"!=typeof n)throw new Error(`The 'selector' option for driverFromAsync(${a}) must be a string. Received ${typeof n}`);return e=>{let c=null;const u=oe.create({start:t=>{c=t.next.bind(t)},stop:()=>{}});return e.addListener({next:e=>{const u=i(e);let l=[];if("object"==typeof u&&null!==u){if("function"==typeof r){const t=r(u);l=Array.isArray(t)?t:[t]}"string"==typeof r&&(l=[u[r]]),Array.isArray(r)&&(l=r.map((t=>u[t])))}const p=`Error in driver created using driverFromAsync(${a})`;t(...l).then((t=>{const r=t=>{let r;if(void 0===o)r=t,"object"==typeof r&&null!==r?r[n]=e[n]:console.warn(`The 'return' option for driverFromAsync(${a}) was not set, but the promise returned an non-object. The result will be returned as-is, but the '${n}' property will not be set, so will not be filtered by the 'select' method of the driver.`);else{if("string"!=typeof o)throw new Error(`The 'return' option for driverFromAsync(${a}) must be a string. Received ${typeof o}`);r={[o]:t,[n]:e[n]}}return r};if("function"==typeof t.then)t.then((t=>{const n=s(t,e);"function"==typeof n.then?n.then((t=>{c(r(t))})).catch((t=>console.error(`${p}: ${t}`))):c(r(rocessedOutgoing))})).catch((t=>console.error(`${p}: ${t}`)));else{const n=s(t,e);"function"==typeof n.then?n.then((t=>{c(r(t))})).catch((t=>console.error(`${p}: ${t}`))):c(r(n))}})).catch((t=>console.error(`${p}: ${t}`)))},error:t=>{console.error(`Error recieved from sink stream in driver created using driverFromAsync(${a}): ${t}`)},complete:()=>{console.warn(`Unexpected completion of sink stream to driver created using driverFromAsync(${a})`)}}),{select:t=>void 0===t?u:"function"==typeof t?u.filter(t):u.filter((e=>e?.[n]===t))}}},t.dropRepeats=ye,t.dt=uo,t.em=lo,t.embed=po,t.fieldset=fo,t.figcaption=ho,t.figure=yo,t.footer=mo,t.form=vo,t.h=$n,t.h1=go,t.h2=_o,t.h3=bo,t.h4=wo,t.h5=So,t.h6=Ao,t.head=Oo,t.header=Eo,t.hgroup=$o,t.hr=jo,t.html=Co,t.i=No,t.iframe=ko,t.img=xo,t.input=Io,t.ins=Po,t.kbd=Mo,t.keygen=To,t.label=Do,t.legend=Lo,t.li=Fo,t.link=Bo,t.main=Ro,t.makeDOMDriver=$r,t.map=qo,t.mark=Uo,t.menu=Wo,t.meta=Go,t.mockDOMSource=function(t){return new Cr(t)},t.nav=Vo,t.noscript=zo,t.object=Ho,t.ol=Jo,t.optgroup=Xo,t.option=Yo,t.p=Zo,t.param=Ko,t.pre=Qo,t.processForm=function(t,e={}){let{events:n=["input","submit"],preventDefault:r=!0}=e;"string"==typeof n&&(n=[n]);const o=n.map((e=>t.events(e)));return oe.merge(...o).map((t=>{r&&t.preventDefault();const e="submit"===t.type?t.srcElement:t.currentTarget,n=new FormData(e);let o={};o.event=t,o.eventType=t.type;const i=e.querySelector("input[type=submit]:focus");if(i){const{name:t,value:e}=i;o[t||"submit"]=e}for(let[t,e]of n.entries())o[t]=e;return o}))},t.progress=ti,t.q=ei,t.rp=ni,t.rt=ri,t.ruby=oi,t.run=function(t,e={},n={}){const{mountPoint:r="#root",fragments:o=!0}=n,i=function(t,e){return void 0===e&&(e="state"),function(n){var r=oe.create(),o=r.fold((function(t,e){return e(t)}),void 0).drop(1),i=n;i[e]=new we(o,e);var s=t(i);return s[e]&&Me(oe.fromObservable(s[e]),oe.never()).subscribe({next:function(t){return Le((function(){return r._n(t)}))},error:function(t){return Le((function(){return r._e(t)}))},complete:function(){return Le((function(){return r._c()}))}}),s}}(t,"STATE");return function(t,e){var n=un(t,e);return"undefined"!=typeof window&&window.CyclejsDevTool_startGraphSerializer&&window.CyclejsDevTool_startGraphSerializer(n.sinks),n.run()}(i,{...{EVENTS:Ni,DOM:$r(r,{snabbdomOptions:{experimental:{fragments:o}}}),LOG:ki},...e})},t.s=ii,t.samp=si,t.sampleCombine=fr,t.script=ai,t.section=ci,t.select=ui,t.small=li,t.source=pi,t.span=fi,t.strong=hi,t.style=di,t.sub=yi,t.sup=mi,t.svg=Tr,t.switchable=Be,t.table=vi,t.tbody=gi,t.td=_i,t.textarea=bi,t.tfoot=wi,t.th=Si,t.thead=Ai,t.throttle=Di,t.thunk=function(t,e,n,r){return void 0===r&&(r=n,n=e,e=void 0),$n(t,{key:e,hook:{init:Gn,prepatch:Vn},fn:n,args:r})},t.title=Oi,t.tr=Ei,t.u=$i,t.ul=ji,t.video=Ci,t.xs=oe}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sygnal",
3
- "version": "2.6.9",
3
+ "version": "2.7.0",
4
4
  "description": "An intuitive framework for building fast and small components or applications based on Cycle.js",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.esm.js",