PageSourceSearch

https://fove.co/js/webflow.js

js fove.co collected 2026-10-08 03:27:45 UTC 560,954 bytes, 13,463 lines download raw bytes

1
2/*!
3 * Webflow: Front-end site library
4 * @license MIT
5 * Inline scripts may access the api using an async handler:
6 *   var Webflow = Webflow || [];
7 *   Webflow.push(readyFunction);
8 */
9
10(() => {
11  var __create = Object.create;
12  var __defProp = Object.defineProperty;
13  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
14  var __getOwnPropNames = Object.getOwnPropertyNames;
15  var __getProtoOf = Object.getPrototypeOf;
16  var __hasOwnProp = Object.prototype.hasOwnProperty;
17  var __esm = (fn, res) => function __init() {
18    return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
19  };
20  var __commonJS = (cb, mod) => function __require() {
21    return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
22  };
23  var __export = (target, all) => {
24    for (var name in all)
25      __defProp(target, name, { get: all[name], enumerable: true });
26  };
27  var __copyProps = (to, from, except, desc) => {
28    if (from && typeof from === "object" || typeof from === "function") {
29      for (let key of __getOwnPropNames(from))
30        if (!__hasOwnProp.call(to, key) && key !== except)
31          __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
32    }
33    return to;
34  };
35  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
36    // If the importer is in node compatibility mode or this is not an ESM
37    // file that has been converted to a CommonJS file using a Babel-
38    // compatible transform (i.e. "__esModule" has not been set), then set
39    // "default" to the CommonJS "module.exports" for node compatibility.
40    isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
41    mod
42  ));
43  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
44
45  
45// packages/shared/render/plugins/BaseSiteModules/tram-min.js
46  var require_tram_min = __commonJS({
47    "packages/shared/render/plugins/BaseSiteModules/tram-min.js"() {
48      "use strict";
49      window.tram = function(a) {
50        function b(a2, b2) {
51          var c2 = new M.Bare();
52          return c2.init(a2, b2);
53        }
54        function c(a2) {
55          return a2.replace(/[A-Z]/g, function(a3) {
56            return "-" + a3.toLowerCase();
57          });
58        }
59        function d(a2) {
60          var b2 = parseInt(a2.slice(1), 16), c2 = b2 >> 16 & 255, d2 = b2 >> 8 & 255, e2 = 255 & b2;
61          return [
62            c2,
63            d2,
64            e2
65          ];
66        }
67        function e(a2, b2, c2) {
68          return "#" + (1 << 24 | a2 << 16 | b2 << 8 | c2).toString(16).slice(1);
69        }
70        function f() {
71        }
72        function g(a2, b2) {
73          j("Type warning: Expected: [" + a2 + "] Got: [" + typeof b2 + "] " + b2);
74        }
75        function h(a2, b2, c2) {
76          j("Units do not match [" + a2 + "]: " + b2 + ", " + c2);
77        }
78        function i(a2, b2, c2) {
79          if (void 0 !== b2 && (c2 = b2), void 0 === a2)
80            return c2;
81          var d2 = c2;
82          return $.test(a2) || !_.test(a2) ? d2 = parseInt(a2, 10) : _.test(a2) && (d2 = 1e3 * parseFloat(a2)), 0 > d2 && (d2 = 0), d2 === d2 ? d2 : c2;
83        }
84        function j(a2) {
85          U.debug && window && window.console.warn(a2);
86        }
87        function k(a2) {
88          for (var b2 = -1, c2 = a2 ? a2.length : 0, d2 = []; ++b2 < c2; ) {
89            var e2 = a2[b2];
90            e2 && d2.push(e2);
91          }
92          return d2;
93        }
94        var l = function(a2, b2, c2) {
95          function d2(a3) {
96            return "object" == typeof a3;
97          }
98          function e2(a3) {
99            return "function" == typeof a3;
100          }
101          function f2() {
102          }
103          function g2(h2, i2) {
104            function j2() {
105              var a3 = new k2();
106              return e2(a3.init) && a3.init.apply(a3, arguments), a3;
107            }
108            function k2() {
109            }
110            i2 === c2 && (i2 = h2, h2 = Object), j2.Bare = k2;
111            var l2, m2 = f2[a2] = h2[a2], n2 = k2[a2] = j2[a2] = new f2();
112            return n2.constructor = j2, j2.mixin = function(b3) {
113              return k2[a2] = j2[a2] = g2(j2, b3)[a2], j2;
114            }, j2.open = function(a3) {
115              if (l2 = {}, e2(a3) ? l2 = a3.call(j2, n2, m2, j2, h2) : d2(a3) && (l2 = a3), d2(l2))
116                for (var c3 in l2)
117                  b2.call(l2, c3) && (n2[c3] = l2[c3]);
118              return e2(n2.init) || (n2.init = h2), j2;
119            }, j2.open(i2);
120          }
121          return g2;
122        }("prototype", {}.hasOwnProperty), m = {
123          ease: [
124            "ease",
125            function(a2, b2, c2, d2) {
126              var e2 = (a2 /= d2) * a2, f2 = e2 * a2;
127              return b2 + c2 * (-2.75 * f2 * e2 + 11 * e2 * e2 + -15.5 * f2 + 8 * e2 + 0.25 * a2);
128            }
129          ],
130          "ease-in": [
131            "ease-in",
132            function(a2, b2, c2, d2) {
133              var e2 = (a2 /= d2) * a2, f2 = e2 * a2;
134              return b2 + c2 * (-1 * f2 * e2 + 3 * e2 * e2 + -3 * f2 + 2 * e2);
135            }
136          ],
137          "ease-out": [
138            "ease-out",
139            function(a2, b2, c2, d2) {
140              var e2 = (a2 /= d2) * a2, f2 = e2 * a2;
141              return b2 + c2 * (0.3 * f2 * e2 + -1.6 * e2 * e2 + 2.2 * f2 + -1.8 * e2 + 1.9 * a2);
142            }
143          ],
144          "ease-in-out": [
145            "ease-in-out",
146            function(a2, b2, c2, d2) {
147              var e2 = (a2 /= d2) * a2, f2 = e2 * a2;
148              return b2 + c2 * (2 * f2 * e2 + -5 * e2 * e2 + 2 * f2 + 2 * e2);
149            }
150          ],
151          linear: [
152            "linear",
153            function(a2, b2, c2, d2) {
154              return c2 * a2 / d2 + b2;
155            }
156          ],
157          "ease-in-quad": [
158            "cubic-bezier(0.550, 0.085, 0.680, 0.530)",
159            function(a2, b2, c2, d2) {
160              return c2 * (a2 /= d2) * a2 + b2;
161            }
162          ],
163          "ease-out-quad": [
164            "cubic-bezier(0.250, 0.460, 0.450, 0.940)",
165            function(a2, b2, c2, d2) {
166              return -c2 * (a2 /= d2) * (a2 - 2) + b2;
167            }
168          ],
169          "ease-in-out-quad": [
170            "cubic-bezier(0.455, 0.030, 0.515, 0.955)",
171            function(a2, b2, c2, d2) {
172              return (a2 /= d2 / 2) < 1 ? c2 / 2 * a2 * a2 + b2 : -c2 / 2 * (--a2 * (a2 - 2) - 1) + b2;
173            }
174          ],
175          "ease-in-cubic": [
176            "cubic-bezier(0.550, 0.055, 0.675, 0.190)",
177            function(a2, b2, c2, d2) {
178              return c2 * (a2 /= d2) * a2 * a2 + b2;
179            }
180          ],
181          "ease-out-cubic": [
182            "cubic-bezier(0.215, 0.610, 0.355, 1)",
183            function(a2, b2, c2, d2) {
184              return c2 * ((a2 = a2 / d2 - 1) * a2 * a2 + 1) + b2;
185            }
186          ],
187          "ease-in-out-cubic": [
188            "cubic-bezier(0.645, 0.045, 0.355, 1)",
189            function(a2, b2, c2, d2) {
190              return (a2 /= d2 / 2) < 1 ? c2 / 2 * a2 * a2 * a2 + b2 : c2 / 2 * ((a2 -= 2) * a2 * a2 + 2) + b2;
191            }
192          ],
193          "ease-in-quart": [
194            "cubic-bezier(0.895, 0.030, 0.685, 0.220)",
195            function(a2, b2, c2, d2) {
196              return c2 * (a2 /= d2) * a2 * a2 * a2 + b2;
197            }
198          ],
199          "ease-out-quart": [
200            "cubic-bezier(0.165, 0.840, 0.440, 1)",
201            function(a2, b2, c2, d2) {
202              return -c2 * ((a2 = a2 / d2 - 1) * a2 * a2 * a2 - 1) + b2;
203            }
204          ],
205          "ease-in-out-quart": [
206            "cubic-bezier(0.770, 0, 0.175, 1)",
207            function(a2, b2, c2, d2) {
208              return (a2 /= d2 / 2) < 1 ? c2 / 2 * a2 * a2 * a2 * a2 + b2 : -c2 / 2 * ((a2 -= 2) * a2 * a2 * a2 - 2) + b2;
209            }
210          ],
211          "ease-in-quint": [
212            "cubic-bezier(0.755, 0.050, 0.855, 0.060)",
213            function(a2, b2, c2, d2) {
214              return c2 * (a2 /= d2) * a2 * a2 * a2 * a2 + b2;
215            }
216          ],
217          "ease-out-quint": [
218            "cubic-bezier(0.230, 1, 0.320, 1)",
219            function(a2, b2, c2, d2) {
220              return c2 * ((a2 = a2 / d2 - 1) * a2 * a2 * a2 * a2 + 1) + b2;
221            }
222          ],
223          "ease-in-out-quint": [
224            "cubic-bezier(0.860, 0, 0.070, 1)",
225            function(a2, b2, c2, d2) {
226              return (a2 /= d2 / 2) < 1 ? c2 / 2 * a2 * a2 * a2 * a2 * a2 + b2 : c2 / 2 * ((a2 -= 2) * a2 * a2 * a2 * a2 + 2) + b2;
227            }
228          ],
229          "ease-in-sine": [
230            "cubic-bezier(0.470, 0, 0.745, 0.715)",
231            function(a2, b2, c2, d2) {
232              return -c2 * Math.cos(a2 / d2 * (Math.PI / 2)) + c2 + b2;
233            }
234          ],
235          "ease-out-sine": [
236            "cubic-bezier(0.390, 0.575, 0.565, 1)",
237            function(a2, b2, c2, d2) {
238              return c2 * Math.sin(a2 / d2 * (Math.PI / 2)) + b2;
239            }
240          ],
241          "ease-in-out-sine": [
242            "cubic-bezier(0.445, 0.050, 0.550, 0.950)",
243            function(a2, b2, c2, d2) {
244              return -c2 / 2 * (Math.cos(Math.PI * a2 / d2) - 1) + b2;
245            }
246          ],
247          "ease-in-expo": [
248            "cubic-bezier(0.950, 0.050, 0.795, 0.035)",
249            function(a2, b2, c2, d2) {
250              return 0 === a2 ? b2 : c2 * Math.pow(2, 10 * (a2 / d2 - 1)) + b2;
251            }
252          ],
253          "ease-out-expo": [
254            "cubic-bezier(0.190, 1, 0.220, 1)",
255            function(a2, b2, c2, d2) {
256              return a2 === d2 ? b2 + c2 : c2 * (-Math.pow(2, -10 * a2 / d2) + 1) + b2;
257            }
258          ],
259          "ease-in-out-expo": [
260            "cubic-bezier(1, 0, 0, 1)",
261            function(a2, b2, c2, d2) {
262              return 0 === a2 ? b2 : a2 === d2 ? b2 + c2 : (a2 /= d2 / 2) < 1 ? c2 / 2 * Math.pow(2, 10 * (a2 - 1)) + b2 : c2 / 2 * (-Math.pow(2, -10 * --a2) + 2) + b2;
263            }
264          ],
265          "ease-in-circ": [
266            "cubic-bezier(0.600, 0.040, 0.980, 0.335)",
267            function(a2, b2, c2, d2) {
268              return -c2 * (Math.sqrt(1 - (a2 /= d2) * a2) - 1) + b2;
269            }
270          ],
271          "ease-out-circ": [
272            "cubic-bezier(0.075, 0.820, 0.165, 1)",
273            function(a2, b2, c2, d2) {
274              return c2 * Math.sqrt(1 - (a2 = a2 / d2 - 1) * a2) + b2;
275            }
276          ],
277          "ease-in-out-circ": [
278            "cubic-bezier(0.785, 0.135, 0.150, 0.860)",
279            function(a2, b2, c2, d2) {
280              return (a2 /= d2 / 2) < 1 ? -c2 / 2 * (Math.sqrt(1 - a2 * a2) - 1) + b2 : c2 / 2 * (Math.sqrt(1 - (a2 -= 2) * a2) + 1) + b2;
281            }
282          ],
283          "ease-in-back": [
284            "cubic-bezier(0.600, -0.280, 0.735, 0.045)",
285            function(a2, b2, c2, d2, e2) {
286              return void 0 === e2 && (e2 = 1.70158), c2 * (a2 /= d2) * a2 * ((e2 + 1) * a2 - e2) + b2;
287            }
288          ],
289          "ease-out-back": [
290            "cubic-bezier(0.175, 0.885, 0.320, 1.275)",
291            function(a2, b2, c2, d2, e2) {
292              return void 0 === e2 && (e2 = 1.70158), c2 * ((a2 = a2 / d2 - 1) * a2 * ((e2 + 1) * a2 + e2) + 1) + b2;
293            }
294          ],
295          "ease-in-out-back": [
296            "cubic-bezier(0.680, -0.550, 0.265, 1.550)",
297            function(a2, b2, c2, d2, e2) {
298              return void 0 === e2 && (e2 = 1.70158), (a2 /= d2 / 2) < 1 ? c2 / 2 * a2 * a2 * (((e2 *= 1.525) + 1) * a2 - e2) + b2 : c2 / 2 * ((a2 -= 2) * a2 * (((e2 *= 1.525) + 1) * a2 + e2) + 2) + b2;
299            }
300          ]
301        }, n = {
302          "ease-in-back": "cubic-bezier(0.600, 0, 0.735, 0.045)",
303          "ease-out-back": "cubic-bezier(0.175, 0.885, 0.320, 1)",
304          "ease-in-out-back": "cubic-bezier(0.680, 0, 0.265, 1)"
305        }, o = document, p = window, q = "bkwld-tram", r = /[\-\.0-9]/g, s = /[A-Z]/, t = "number", u = /^(rgb|#)/, v = /(em|cm|mm|in|pt|pc|px)$/, w = /(em|cm|mm|in|pt|pc|px|%)$/, x = /(deg|rad|turn)$/, y = "unitless", z = /(all|none) 0s ease 0s/, A = /^(width|height)$/, B = " ", C = o.createElement("a"), D = [
306          "Webkit",
307          "Moz",
308          "O",
309          "ms"
310        ], E = [
311          "-webkit-",
312          "-moz-",
313          "-o-",
314          "-ms-"
315        ], F = function(a2) {
316          if (a2 in C.style)
317            return {
318              dom: a2,
319              css: a2
320            };
321          var b2, c2, d2 = "", e2 = a2.split("-");
322          for (b2 = 0; b2 < e2.length; b2++)
323            d2 += e2[b2].charAt(0).toUpperCase() + e2[b2].slice(1);
324          for (b2 = 0; b2 < D.length; b2++)
325            if (c2 = D[b2] + d2, c2 in C.style)
326              return {
327                dom: c2,
328                css: E[b2] + a2
329              };
330        }, G = b.support = {
331          bind: Function.prototype.bind,
332          transform: F("transform"),
333          transition: F("transition"),
334          backface: F("backface-visibility"),
335          timing: F("transition-timing-function")
336        };
337        if (G.transition) {
338          var H = G.timing.dom;
339          if (C.style[H] = m["ease-in-back"][0], !C.style[H])
340            for (var I in n)
341              m[I][0] = n[I];
342        }
343        var J = b.frame = function() {
344          var a2 = p.requestAnimationFrame || p.webkitRequestAnimationFrame || p.mozRequestAnimationFrame || p.oRequestAnimationFrame || p.msRequestAnimationFrame;
345          return a2 && G.bind ? a2.bind(p) : function(a3) {
346            p.setTimeout(a3, 16);
347          };
348        }(), K = b.now = function() {
349          var a2 = p.performance, b2 = a2 && (a2.now || a2.webkitNow || a2.msNow || a2.mozNow);
350          return b2 && G.bind ? b2.bind(a2) : Date.now || function() {
351            return +/* @__PURE__ */ new Date();
352          };
353        }(), L = l(function(b2) {
354          function d2(a2, b3) {
355            var c2 = k(("" + a2).split(B)), d3 = c2[0];
356            b3 = b3 || {};
357            var e3 = Y[d3];
358            if (!e3)
359              return j("Unsupported property: " + d3);
360            if (!b3.weak || !this.props[d3]) {
361              var f3 = e3[0], g3 = this.props[d3];
362              return g3 || (g3 = this.props[d3] = new f3.Bare()), g3.init(this.$el, c2, e3, b3), g3;
363            }
364          }
365          function e2(a2, b3, c2) {
366            if (a2) {
367              var e3 = typeof a2;
368              if (b3 || (this.timer && this.timer.destroy(), this.queue = [], this.active = false), "number" == e3 && b3)
369                return this.timer = new S({
370                  duration: a2,
371                  context: this,
372                  complete: h2
373                }), void (this.active = true);
374              if ("string" == e3 && b3) {
375                switch (a2) {
376                  case "hide":
377                    o2.call(this);
378                    break;
379                  case "stop":
380                    l2.call(this);
381                    break;
382                  case "redraw":
383                    p2.call(this);
384                    break;
385                  default:
386                    d2.call(this, a2, c2 && c2[1]);
387                }
388                return h2.call(this);
389              }
390              if ("function" == e3)
391                return void a2.call(this, this);
392              if ("object" == e3) {
393                var f3 = 0;
394                u2.call(this, a2, function(a3, b4) {
395                  a3.span > f3 && (f3 = a3.span), a3.stop(), a3.animate(b4);
396                }, function(a3) {
397                  "wait" in a3 && (f3 = i(a3.wait, 0));
398                }), t2.call(this), f3 > 0 && (this.timer = new S({
399                  duration: f3,
400                  context: this
401                }), this.active = true, b3 && (this.timer.complete = h2));
402                var g3 = this, j2 = false, k2 = {};
403                J(function() {
404                  u2.call(g3, a2, function(a3) {
405                    a3.active && (j2 = true, k2[a3.name] = a3.nextStyle);
406                  }), j2 && g3.$el.css(k2);
407                });
408              }
409            }
410          }
411          function f2(a2) {
412            a2 = i(a2, 0), this.active ? this.queue.push({
413              options: a2
414            }) : (this.timer = new S({
415              duration: a2,
416              context: this,
417              complete: h2
418            }), this.active = true);
419          }
420          function g2(a2) {
421            return this.active ? (this.queue.push({
422              options: a2,
423              args: arguments
424            }), void (this.timer.complete = h2)) : j("No active transition timer. Use start() or wait() before then().");
425          }
426          function h2() {
427            if (this.timer && this.timer.destroy(), this.active = false, this.queue.length) {
428              var a2 = this.queue.shift();
429              e2.call(this, a2.options, true, a2.args);
430            }
431          }
432          function l2(a2) {
433            this.timer && this.timer.destroy(), this.queue = [], this.active = false;
434            var b3;
435            "string" == typeof a2 ? (b3 = {}, b3[a2] = 1) : b3 = "object" == typeof a2 && null != a2 ? a2 : this.props, u2.call(this, b3, v2), t2.call(this);
436          }
437          function m2(a2) {
438            l2.call(this, a2), u2.call(this, a2, w2, x2);
439          }
440          function n2(a2) {
441            "string" != typeof a2 && (a2 = "block"), this.el.style.display = a2;
442          }
443          function o2() {
444            l2.call(this), this.el.style.display = "none";
445          }
446          function p2() {
447            this.el.offsetHeight;
448          }
449          function r2() {
450            l2.call(this), a.removeData(this.el, q), this.$el = this.el = null;
451          }
452          function t2() {
453            var a2, b3, c2 = [];
454            this.upstream && c2.push(this.upstream);
455            for (a2 in this.props)
456              b3 = this.props[a2], b3.active && c2.push(b3.string);
457            c2 = c2.join(","), this.style !== c2 && (this.style = c2, this.el.style[G.transition.dom] = c2);
458          }
459          function u2(a2, b3, e3) {
460            var f3, g3, h3, i2, j2 = b3 !== v2, k2 = {};
461            for (f3 in a2)
462              h3 = a2[f3], f3 in Z ? (k2.transform || (k2.transform = {}), k2.transform[f3] = h3) : (s.test(f3) && (f3 = c(f3)), f3 in Y ? k2[f3] = h3 : (i2 || (i2 = {}), i2[f3] = h3));
463            for (f3 in k2) {
464              if (h3 = k2[f3], g3 = this.props[f3], !g3) {
465                if (!j2)
466                  continue;
467                g3 = d2.call(this, f3);
468              }
469              b3.call(this, g3, h3);
470            }
471            e3 && i2 && e3.call(this, i2);
472          }
473          function v2(a2) {
474            a2.stop();
475          }
476          function w2(a2, b3) {
477            a2.set(b3);
478          }
479          function x2(a2) {
480            this.$el.css(a2);
481          }
482          function y2(a2, c2) {
483            b2[a2] = function() {
484              return this.children ? A2.call(this, c2, arguments) : (this.el && c2.apply(this, arguments), this);
485            };
486          }
487          function A2(a2, b3) {
488            var c2, d3 = this.children.length;
489            for (c2 = 0; d3 > c2; c2++)
490              a2.apply(this.children[c2], b3);
491            return this;
492          }
493          b2.init = function(b3) {
494            if (this.$el = a(b3), this.el = this.$el[0], this.props = {}, this.queue = [], this.style = "", this.active = false, U.keepInherited && !U.fallback) {
495              var c2 = W(this.el, "transition");
496              c2 && !z.test(c2) && (this.upstream = c2);
497            }
498            G.backface && U.hideBackface && V(this.el, G.backface.css, "hidden");
499          }, y2("add", d2), y2("start", e2), y2("wait", f2), y2("then", g2), y2("next", h2), y2("stop", l2), y2("set", m2), y2("show", n2), y2("hide", o2), y2("redraw", p2), y2("destroy", r2);
500        }), M = l(L, function(b2) {
501          function c2(b3, c3) {
502            var d2 = a.data(b3, q) || a.data(b3, q, new L.Bare());
503            return d2.el || d2.init(b3), c3 ? d2.start(c3) : d2;
504          }
505          b2.init = function(b3, d2) {
506            var e2 = a(b3);
507            if (!e2.length)
508              return this;
509            if (1 === e2.length)
510              return c2(e2[0], d2);
511            var f2 = [];
512            return e2.each(function(a2, b4) {
513              f2.push(c2(b4, d2));
514            }), this.children = f2, this;
515          };
516        }), N = l(function(a2) {
517          function b2() {
518            var a3 = this.get();
519            this.update("auto");
520            var b3 = this.get();
521            return this.update(a3), b3;
522          }
523          function c2(a3, b3, c3) {
524            return void 0 !== b3 && (c3 = b3), a3 in m ? a3 : c3;
525          }
526          function d2(a3) {
527            var b3 = /rgba?\((\d+),\s*(\d+),\s*(\d+)/.exec(a3);
528            return (b3 ? e(b3[1], b3[2], b3[3]) : a3).replace(/#(\w)(\w)(\w)$/, "#$1$1$2$2$3$3");
529          }
530          var f2 = {
531            duration: 500,
532            ease: "ease",
533            delay: 0
534          };
535          a2.init = function(a3, b3, d3, e2) {
536            this.$el = a3, this.el = a3[0];
537            var g2 = b3[0];
538            d3[2] && (g2 = d3[2]), X[g2] && (g2 = X[g2]), this.name = g2, this.type = d3[1], this.duration = i(b3[1], this.duration, f2.duration), this.ease = c2(b3[2], this.ease, f2.ease), this.delay = i(b3[3], this.delay, f2.delay), this.span = this.duration + this.delay, this.active = false, this.nextStyle = null, this.auto = A.test(this.name), this.unit = e2.unit || this.unit || U.defaultUnit, this.angle = e2.angle || this.angle || U.defaultAngle, U.fallback || e2.fallback ? this.animate = this.fallback : (this.animate = this.transition, this.string = this.name + B + this.duration + "ms" + ("ease" != this.ease ? B + m[this.ease][0] : "") + (this.delay ? B + this.delay + "ms" : ""));
539          }, a2.set = function(a3) {
540            a3 = this.convert(a3, this.type), this.update(a3), this.redraw();
541          }, a2.transition = function(a3) {
542            this.active = true, a3 = this.convert(a3, this.type), this.auto && ("auto" == this.el.style[this.name] && (this.update(this.get()), this.redraw()), "auto" == a3 && (a3 = b2.call(this))), this.nextStyle = a3;
543          }, a2.fallback = function(a3) {
544            var c3 = this.el.style[this.name] || this.convert(this.get(), this.type);
545            a3 = this.convert(a3, this.type), this.auto && ("auto" == c3 && (c3 = this.convert(this.get(), this.type)), "auto" == a3 && (a3 = b2.call(this))), this.tween = new R({
546              from: c3,
547              to: a3,
548              duration: this.duration,
549              delay: this.delay,
550              ease: this.ease,
551              update: this.update,
552              context: this
553            });
554          }, a2.get = function() {
555            return W(this.el, this.name);
556          }, a2.update = function(a3) {
557            V(this.el, this.name, a3);
558          }, a2.stop = function() {
559            (this.active || this.nextStyle) && (this.active = false, this.nextStyle = null, V(this.el, this.name, this.get()));
560            var a3 = this.tween;
561            a3 && a3.context && a3.destroy();
562          }, a2.convert = function(a3, b3) {
563            if ("auto" == a3 && this.auto)
564              return a3;
565            var c3, e2 = "number" == typeof a3, f3 = "string" == typeof a3;
566            switch (b3) {
567              case t:
568                if (e2)
569                  return a3;
570                if (f3 && "" === a3.replace(r, ""))
571                  return +a3;
572                c3 = "number(unitless)";
573                break;
574              case u:
575                if (f3) {
576                  if ("" === a3 && this.original)
577                    return this.original;
578                  if (b3.test(a3))
579                    return "#" == a3.charAt(0) && 7 == a3.length ? a3 : d2(a3);
580                }
581                c3 = "hex or rgb string";
582                break;
583              case v:
584                if (e2)
585                  return a3 + this.unit;
586                if (f3 && b3.test(a3))
587                  return a3;
588                c3 = "number(px) or string(unit)";
589                break;
590              case w:
591                if (e2)
592                  return a3 + this.unit;
593                if (f3 && b3.test(a3))
594                  return a3;
595                c3 = "number(px) or string(unit or %)";
596                break;
597              case x:
598                if (e2)
599                  return a3 + this.angle;
600                if (f3 && b3.test(a3))
601                  return a3;
602                c3 = "number(deg) or string(angle)";
603                break;
604              case y:
605                if (e2)
606                  return a3;
607                if (f3 && w.test(a3))
608                  return a3;
609                c3 = "number(unitless) or string(unit or %)";
610            }
611            return g(c3, a3), a3;
612          }, a2.redraw = function() {
613            this.el.offsetHeight;
614          };
615        }), O = l(N, function(a2, b2) {
616          a2.init = function() {
617            b2.init.apply(this, arguments), this.original || (this.original = this.convert(this.get(), u));
618          };
619        }), P = l(N, function(a2, b2) {
620          a2.init = function() {
621            b2.init.apply(this, arguments), this.animate = this.fallback;
622          }, a2.get = function() {
623            return this.$el[this.name]();
624          }, a2.update = function(a3) {
625            this.$el[this.name](a3);
626          };
627        }), Q = l(N, function(a2, b2) {
628          function c2(a3, b3) {
629            var c3, d2, e2, f2, g2;
630            for (c3 in a3)
631              f2 = Z[c3], e2 = f2[0], d2 = f2[1] || c3, g2 = this.convert(a3[c3], e2), b3.call(this, d2, g2, e2);
632          }
633          a2.init = function() {
634            b2.init.apply(this, arguments), this.current || (this.current = {}, Z.perspective && U.perspective && (this.current.perspective = U.perspective, V(this.el, this.name, this.style(this.current)), this.redraw()));
635          }, a2.set = function(a3) {
636            c2.call(this, a3, function(a4, b3) {
637              this.current[a4] = b3;
638            }), V(this.el, this.name, this.style(this.current)), this.redraw();
639          }, a2.transition = function(a3) {
640            var b3 = this.values(a3);
641            this.tween = new T({
642              current: this.current,
643              values: b3,
644              duration: this.duration,
645              delay: this.delay,
646              ease: this.ease
647            });
648            var c3, d2 = {};
649            for (c3 in this.current)
650              d2[c3] = c3 in b3 ? b3[c3] : this.current[c3];
651            this.active = true, this.nextStyle = this.style(d2);
652          }, a2.fallback = function(a3) {
653            var b3 = this.values(a3);
654            this.tween = new T({
655              current: this.current,
656              values: b3,
657              duration: this.duration,
658              delay: this.delay,
659              ease: this.ease,
660              update: this.update,
661              context: this
662            });
663          }, a2.update = function() {
664            V(this.el, this.name, this.style(this.current));
665          }, a2.style = function(a3) {
666            var b3, c3 = "";
667            for (b3 in a3)
668              c3 += b3 + "(" + a3[b3] + ") ";
669            return c3;
670          }, a2.values = function(a3) {
671            var b3, d2 = {};
672            return c2.call(this, a3, function(a4, c3, e2) {
673              d2[a4] = c3, void 0 === this.current[a4] && (b3 = 0, ~a4.indexOf("scale") && (b3 = 1), this.current[a4] = this.convert(b3, e2));
674            }), d2;
675          };
676        }), R = l(function(b2) {
677          function c2(a2) {
678            1 === n2.push(a2) && J(g2);
679          }
680          function g2() {
681            var a2, b3, c3, d2 = n2.length;
682            if (d2)
683              for (J(g2), b3 = K(), a2 = d2; a2--; )
684                c3 = n2[a2], c3 && c3.render(b3);
685          }
686          function i2(b3) {
687            var c3, d2 = a.inArray(b3, n2);
688            d2 >= 0 && (c3 = n2.slice(d2 + 1), n2.length = d2, c3.length && (n2 = n2.concat(c3)));
689          }
690          function j2(a2) {
691            return Math.round(a2 * o2) / o2;
692          }
693          function k2(a2, b3, c3) {
694            return e(a2[0] + c3 * (b3[0] - a2[0]), a2[1] + c3 * (b3[1] - a2[1]), a2[2] + c3 * (b3[2] - a2[2]));
695          }
696          var l2 = {
697            ease: m.ease[1],
698            from: 0,
699            to: 1
700          };
701          b2.init = function(a2) {
702            this.duration = a2.duration || 0, this.delay = a2.delay || 0;
703            var b3 = a2.ease || l2.ease;
704            m[b3] && (b3 = m[b3][1]), "function" != typeof b3 && (b3 = l2.ease), this.ease = b3, this.update = a2.update || f, this.complete = a2.complete || f, this.context = a2.context || this, this.name = a2.name;
705            var c3 = a2.from, d2 = a2.to;
706            void 0 === c3 && (c3 = l2.from), void 0 === d2 && (d2 = l2.to), this.unit = a2.unit || "", "number" == typeof c3 && "number" == typeof d2 ? (this.begin = c3, this.change = d2 - c3) : this.format(d2, c3), this.value = this.begin + this.unit, this.start = K(), a2.autoplay !== false && this.play();
707          }, b2.play = function() {
708            this.active || (this.start || (this.start = K()), this.active = true, c2(this));
709          }, b2.stop = function() {
710            this.active && (this.active = false, i2(this));
711          }, b2.render = function(a2) {
712            var b3, c3 = a2 - this.start;
713            if (this.delay) {
714              if (c3 <= this.delay)
715                return;
716              c3 -= this.delay;
717            }
718            if (c3 < this.duration) {
719              var d2 = this.ease(c3, 0, 1, this.duration);
720              return b3 = this.startRGB ? k2(this.startRGB, this.endRGB, d2) : j2(this.begin + d2 * this.change), this.value = b3 + this.unit, void this.update.call(this.context, this.value);
721            }
722            b3 = this.endHex || this.begin + this.change, this.value = b3 + this.unit, this.update.call(this.context, this.value), this.complete.call(this.context), this.destroy();
723          }, b2.format = function(a2, b3) {
724            if (b3 += "", a2 += "", "#" == a2.charAt(0))
725              return this.startRGB = d(b3), this.endRGB = d(a2), this.endHex = a2, this.begin = 0, void (this.change = 1);
726            if (!this.unit) {
727              var c3 = b3.replace(r, ""), e2 = a2.replace(r, "");
728              c3 !== e2 && h("tween", b3, a2), this.unit = c3;
729            }
730            b3 = parseFloat(b3), a2 = parseFloat(a2), this.begin = this.value = b3, this.change = a2 - b3;
731          }, b2.destroy = function() {
732            this.stop(), this.context = null, this.ease = this.update = this.complete = f;
733          };
734          var n2 = [], o2 = 1e3;
735        }
735), S = l(R, function(a2) {
736          a2.init = function(a3) {
737            this.duration = a3.duration || 0, this.complete = a3.complete || f, this.context = a3.context, this.play();
738          }, a2.render = function(a3) {
739            var b2 = a3 - this.start;
740            b2 < this.duration || (this.complete.call(this.context), this.destroy());
741          };
742        }), T = l(R, function(a2, b2) {
743          a2.init = function(a3) {
744            this.context = a3.context, this.update = a3.update, this.tweens = [], this.current = a3.current;
745            var b3, c2;
746            for (b3 in a3.values)
747              c2 = a3.values[b3], this.current[b3] !== c2 && this.tweens.push(new R({
748                name: b3,
749                from: this.current[b3],
750                to: c2,
751                duration: a3.duration,
752                delay: a3.delay,
753                ease: a3.ease,
754                autoplay: false
755              }));
756            this.play();
757          }, a2.render = function(a3) {
758            var b3, c2, d2 = this.tweens.length, e2 = false;
759            for (b3 = d2; b3--; )
760              c2 = this.tweens[b3], c2.context && (c2.render(a3), this.current[c2.name] = c2.value, e2 = true);
761            return e2 ? void (this.update && this.update.call(this.context)) : this.destroy();
762          }, a2.destroy = function() {
763            if (b2.destroy.call(this), this.tweens) {
764              var a3, c2 = this.tweens.length;
765              for (a3 = c2; a3--; )
766                this.tweens[a3].destroy();
767              this.tweens = null, this.current = null;
768            }
769          };
770        }), U = b.config = {
771          debug: false,
772          defaultUnit: "px",
773          defaultAngle: "deg",
774          keepInherited: false,
775          hideBackface: false,
776          perspective: "",
777          fallback: !G.transition,
778          agentTests: []
779        };
780        b.fallback = function(a2) {
781          if (!G.transition)
782            return U.fallback = true;
783          U.agentTests.push("(" + a2 + ")");
784          var b2 = new RegExp(U.agentTests.join("|"), "i");
785          U.fallback = b2.test(navigator.userAgent);
786        }, b.fallback("6.0.[2-5] Safari"), b.tween = function(a2) {
787          return new R(a2);
788        }, b.delay = function(a2, b2, c2) {
789          return new S({
790            complete: b2,
791            duration: a2,
792            context: c2
793          });
794        }, a.fn.tram = function(a2) {
795          return b.call(null, this, a2);
796        };
797        var V = a.style, W = a.css, X = {
798          transform: G.transform && G.transform.css
799        }, Y = {
800          color: [
801            O,
802            u
803          ],
804          background: [
805            O,
806            u,
807            "background-color"
808          ],
809          "outline-color": [
810            O,
811            u
812          ],
813          "border-color": [
814            O,
815            u
816          ],
817          "border-top-color": [
818            O,
819            u
820          ],
821          "border-right-color": [
822            O,
823            u
824          ],
825          "border-bottom-color": [
826            O,
827            u
828          ],
829          "border-left-color": [
830            O,
831            u
832          ],
833          "border-width": [
834            N,
835            v
836          ],
837          "border-top-width": [
838            N,
839            v
840          ],
841          "border-right-width": [
842            N,
843            v
844          ],
845          "border-bottom-width": [
846            N,
847            v
848          ],
849          "border-left-width": [
850            N,
851            v
852          ],
853          "border-spacing": [
854            N,
855            v
856          ],
857          "letter-spacing": [
858            N,
859            v
860          ],
861          margin: [
862            N,
863            v
864          ],
865          "margin-top": [
866            N,
867            v
868          ],
869          "margin-right": [
870            N,
871            v
872          ],
873          "margin-bottom": [
874            N,
875            v
876          ],
877          "margin-left": [
878            N,
879            v
880          ],
881          padding: [
882            N,
883            v
884          ],
885          "padding-top": [
886            N,
887            v
888          ],
889          "padding-right": [
890            N,
891            v
892          ],
893          "padding-bottom": [
894            N,
895            v
896          ],
897          "padding-left": [
898            N,
899            v
900          ],
901          "outline-width": [
902            N,
903            v
904          ],
905          opacity: [
906            N,
907            t
908          ],
909          top: [
910            N,
911            w
912          ],
913          right: [
914            N,
915            w
916          ],
917          bottom: [
918            N,
919            w
920          ],
921          left: [
922            N,
923            w
924          ],
925          "font-size": [
926            N,
927            w
928          ],
929          "text-indent": [
930            N,
931            w
932          ],
933          "word-spacing": [
934            N,
935            w
936          ],
937          width: [
938            N,
939            w
940          ],
941          "min-width": [
942            N,
943            w
944          ],
945          "max-width": [
946            N,
947            w
948          ],
949          height: [
950            N,
951            w
952          ],
953          "min-height": [
954            N,
955            w
956          ],
957          "max-height": [
958            N,
959            w
960          ],
961          "line-height": [
962            N,
963            y
964          ],
965          "scroll-top": [
966            P,
967            t,
968            "scrollTop"
969          ],
970          "scroll-left": [
971            P,
972            t,
973            "scrollLeft"
974          ]
975        }, Z = {};
976        G.transform && (Y.transform = [
977          Q
978        ], Z = {
979          x: [
980            w,
981            "translateX"
982          ],
983          y: [
984            w,
985            "translateY"
986          ],
987          rotate: [
988            x
989          ],
990          rotateX: [
991            x
992          ],
993          rotateY: [
994            x
995          ],
996          scale: [
997            t
998          ],
999          scaleX: [
1000            t
1001          ],
1002          scaleY: [
1003            t
1004          ],
1005          skew: [
1006            x
1007          ],
1008          skewX: [
1009            x
1010          ],
1011          skewY: [
1012            x
1013          ]
1014        }), G.transform && G.backface && (Z.z = [
1015          w,
1016          "translateZ"
1017        ], Z.rotateZ = [
1018          x
1019        ], Z.scaleZ = [
1020          t
1021        ], Z.perspective = [
1022          v
1023        ]);
1024        var $ = /ms/, _ = /s|\./;
1025        return a.tram = b;
1026      }(window.jQuery);
1027    }
1028  });
1029
1030  
1030// packages/shared/render/plugins/BaseSiteModules/underscore-custom.js
1031  var require_underscore_custom = __commonJS({
1032    "packages/shared/render/plugins/BaseSiteModules/underscore-custom.js"(exports, module) {
1033      "use strict";
1034      var $ = window.$;
1035      var tram = require_tram_min() && $.tram;
1036      module.exports = function() {
1037        var _ = {};
1038        _.VERSION = "1.6.0-Webflow";
1039        var breaker = {};
1040        var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
1041        var push = ArrayProto.push, slice = ArrayProto.slice, concat = ArrayProto.concat, toString = ObjProto.toString, hasOwnProperty = ObjProto.hasOwnProperty;
1042        var nativeForEach = ArrayProto.forEach, nativeMap = ArrayProto.map, nativeReduce = ArrayProto.reduce, nativeReduceRight = ArrayProto.reduceRight, nativeFilter = ArrayProto.filter, nativeEvery = ArrayProto.every, nativeSome = ArrayProto.some, nativeIndexOf = ArrayProto.indexOf, nativeLastIndexOf = ArrayProto.lastIndexOf, nativeIsArray = Array.isArray, nativeKeys = Object.keys, nativeBind = FuncProto.bind;
1043        var each = _.each = _.forEach = function(obj, iterator, context) {
1044          if (obj == null)
1045            return obj;
1046          if (nativeForEach && obj.forEach === nativeForEach) {
1047            obj.forEach(iterator, context);
1048          } else if (obj.length === +obj.length) {
1049            for (var i = 0, length = obj.length; i < length; i++) {
1050              if (iterator.call(context, obj[i], i, obj) === breaker)
1051                return;
1052            }
1053          } else {
1054            var keys = _.keys(obj);
1055            for (var i = 0, length = keys.length; i < length; i++) {
1056              if (iterator.call(context, obj[keys[i]], keys[i], obj) === breaker)
1057                return;
1058            }
1059          }
1060          return obj;
1061        };
1062        _.map = _.collect = function(obj, iterator, context) {
1063          var results = [];
1064          if (obj == null)
1065            return results;
1066          if (nativeMap && obj.map === nativeMap)
1067            return obj.map(iterator, context);
1068          each(obj, function(value, index, list) {
1069            results.push(iterator.call(context, value, index, list));
1070          });
1071          return results;
1072        };
1073        _.find = _.detect = function(obj, predicate, context) {
1074          var result;
1075          any(obj, function(value, index, list) {
1076            if (predicate.call(context, value, index, list)) {
1077              result = value;
1078              return true;
1079            }
1080          });
1081          return result;
1082        };
1083        _.filter = _.select = function(obj, predicate, context) {
1084          var results = [];
1085          if (obj == null)
1086            return results;
1087          if (nativeFilter && obj.filter === nativeFilter)
1088            return obj.filter(predicate, context);
1089          each(obj, function(value, index, list) {
1090            if (predicate.call(context, value, index, list))
1091              results.push(value);
1092          });
1093          return results;
1094        };
1095        var any = _.some = _.any = function(obj, predicate, context) {
1096          predicate || (predicate = _.identity);
1097          var result = false;
1098          if (obj == null)
1099            return result;
1100          if (nativeSome && obj.some === nativeSome)
1101            return obj.some(predicate, context);
1102          each(obj, function(value, index, list) {
1103            if (result || (result = predicate.call(context, value, index, list)))
1104              return breaker;
1105          });
1106          return !!result;
1107        };
1108        _.contains = _.include = function(obj, target) {
1109          if (obj == null)
1110            return false;
1111          if (nativeIndexOf && obj.indexOf === nativeIndexOf)
1112            return obj.indexOf(target) != -1;
1113          return any(obj, function(value) {
1114            return value === target;
1115          });
1116        };
1117        _.delay = function(func, wait) {
1118          var args = slice.call(arguments, 2);
1119          return setTimeout(function() {
1120            return func.apply(null, args);
1121          }, wait);
1122        };
1123        _.defer = function(func) {
1124          return _.delay.apply(_, [
1125            func,
1126            1
1127          ].concat(slice.call(arguments, 1)));
1128        };
1129        _.throttle = function(func) {
1130          var wait, args, context;
1131          return function() {
1132            if (wait)
1133              return;
1134            wait = true;
1135            args = arguments;
1136            context = this;
1137            tram.frame(function() {
1138              wait = false;
1139              func.apply(context, args);
1140            });
1141          };
1142        };
1143        _.debounce = function(func, wait, immediate) {
1144          var timeout, args, context, timestamp, result;
1145          var later = function() {
1146            var last = _.now() - timestamp;
1147            if (last < wait) {
1148              timeout = setTimeout(later, wait - last);
1149            } else {
1150              timeout = null;
1151              if (!immediate) {
1152                result = func.apply(context, args);
1153                context = args = null;
1154              }
1155            }
1156          };
1157          return function() {
1158            context = this;
1159            args = arguments;
1160            timestamp = _.now();
1161            var callNow = immediate && !timeout;
1162            if (!timeout) {
1163              timeout = setTimeout(later, wait);
1164            }
1165            if (callNow) {
1166              result = func.apply(context, args);
1167              context = args = null;
1168            }
1169            return result;
1170          };
1171        };
1172        _.defaults = function(obj) {
1173          if (!_.isObject(obj))
1174            return obj;
1175          for (var i = 1, length = arguments.length; i < length; i++) {
1176            var source = arguments[i];
1177            for (var prop in source) {
1178              if (obj[prop] === void 0)
1179                obj[prop] = source[prop];
1180            }
1181          }
1182          return obj;
1183        };
1184        _.keys = function(obj) {
1185          if (!_.isObject(obj))
1186            return [];
1187          if (nativeKeys)
1188            return nativeKeys(obj);
1189          var keys = [];
1190          for (var key in obj)
1191            if (_.has(obj, key))
1192              keys.push(key);
1193          return keys;
1194        };
1195        _.has = function(obj, key) {
1196          return hasOwnProperty.call(obj, key);
1197        };
1198        _.isObject = function(obj) {
1199          return obj === Object(obj);
1200        };
1201        _.now = Date.now || function() {
1202          return (/* @__PURE__ */ new Date()).getTime();
1203        };
1204        _.templateSettings = {
1205          evaluate: /<%([\s\S]+?)%>/g,
1206          interpolate: /<%=([\s\S]+?)%>/g,
1207          escape: /<%-([\s\S]+?)%>/g
1208        };
1209        var noMatch = /(.)^/;
1210        var escapes = {
1211          "'": "'",
1212          "\\": "\\",
1213          "\r": "r",
1214          "\n": "n",
1215          "\u2028": "u2028",
1216          "\u2029": "u2029"
1217        };
1218        var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g;
1219        var escapeChar = function(match) {
1220          return "\\" + escapes[match];
1221        };
1222        var bareIdentifier = /^\s*(\w|\$)+\s*$/;
1223        _.template = function(text, settings, oldSettings) {
1224          if (!settings && oldSettings)
1225            settings = oldSettings;
1226          settings = _.defaults({}, settings, _.templateSettings);
1227          var matcher = RegExp([
1228            (settings.escape || noMatch).source,
1229            (settings.interpolate || noMatch).source,
1230            (settings.evaluate || noMatch).source
1231          ].join("|") + "|$", "g");
1232          var index = 0;
1233          var source = "__p+='";
1234          text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {
1235            source += text.slice(index, offset).replace(escapeRegExp, escapeChar);
1236            index = offset + match.length;
1237            if (escape) {
1238              source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'";
1239            } else if (interpolate) {
1240              source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
1241            } else if (evaluate) {
1242              source += "';\n" + evaluate + "\n__p+='";
1243            }
1244            return match;
1245          });
1246          source += "';\n";
1247          var argument = settings.variable;
1248          if (argument) {
1249            if (!bareIdentifier.test(argument))
1250              throw new Error("variable is not a bare identifier: " + argument);
1251          } else {
1252            source = "with(obj||{}){\n" + source + "}\n";
1253            argument = "obj";
1254          }
1255          source = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + source + "return __p;\n";
1256          var render;
1257          try {
1258            render = new Function(settings.variable || "obj", "_", source);
1259          } catch (e) {
1260            e.source = source;
1261            throw e;
1262          }
1263          var template = function(data) {
1264            return render.call(this, data, _);
1265          };
1266          template.source = "function(" + argument + "){\n" + source + "}";
1267          return template;
1268        };
1269        return _;
1270      }();
1271    }
1272  });
1273
1274  
1274// packages/shared/render/plugins/BaseSiteModules/webflow-lib.js
1275  var require_webflow_lib = __commonJS({
1276    "packages/shared/render/plugins/BaseSiteModules/webflow-lib.js"(exports, module) {
1277      "use strict";
1278      var Webflow = {};
1279      var modules = {};
1280      var primary = [];
1281      var secondary = window.Webflow || [];
1282      var $ = window.jQuery;
1283      var $win = $(window);
1284      var $doc = $(document);
1285      var isFunction = $.isFunction;
1286      var _ = Webflow._ = require_underscore_custom();
1287      var tram = Webflow.tram = require_tram_min() && $.tram;
1288      var domready = false;
1289      var destroyed = false;
1290      tram.config.hideBackface = false;
1291      tram.config.keepInherited = true;
1292      Webflow.define = function(name, factory, options) {
1293        if (modules[name]) {
1294          unbindModule(modules[name]);
1295        }
1296        var instance = modules[name] = factory($, _, options) || {};
1297        bindModule(instance);
1298        return instance;
1299      };
1300      Webflow.require = function(name) {
1301        return modules[name];
1302      };
1303      function bindModule(module1) {
1304        if (Webflow.env()) {
1305          isFunction(module1.design) && $win.on("__wf_design", module1.design);
1306          isFunction(module1.preview) && $win.on("__wf_preview", module1.preview);
1307        }
1308        isFunction(module1.destroy) && $win.on("__wf_destroy", module1.destroy);
1309        if (module1.ready && isFunction(module1.ready)) {
1310          addReady(module1);
1311        }
1312      }
1313      function addReady(module1) {
1314        if (domready) {
1315          module1.ready();
1316          return;
1317        }
1318        if (_.contains(primary, module1.ready)) {
1319          return;
1320        }
1321        primary.push(module1.ready);
1322      }
1323      function unbindModule(module1) {
1324        isFunction(module1.design) && $win.off("__wf_design", module1.design);
1325        isFunction(module1.preview) && $win.off("__wf_preview", module1.preview);
1326        isFunction(module1.destroy) && $win.off("__wf_destroy", module1.destroy);
1327        if (module1.ready && isFunction(module1.ready)) {
1328          removeReady(module1);
1329        }
1330      }
1331      function removeReady(module1) {
1332        primary = _.filter(primary, function(readyFn) {
1333          return readyFn !== module1.ready;
1334        });
1335      }
1336      Webflow.push = function(ready) {
1337        if (domready) {
1338          isFunction(ready) && ready();
1339          return;
1340        }
1341        secondary.push(ready);
1342      };
1343      Webflow.env = function(mode) {
1344        var designFlag = window.__wf_design;
1345        var inApp = typeof designFlag !== "undefined";
1346        if (!mode) {
1347          return inApp;
1348        }
1349        if (mode === "design") {
1350          return inApp && designFlag;
1351        }
1352        if (mode === "preview") {
1353          return inApp && !designFlag;
1354        }
1355        if (mode === "slug") {
1356          return inApp && window.__wf_slug;
1357        }
1358        if (mode === "editor") {
1359          return window.WebflowEditor;
1360        }
1361        if (mode === "test") {
1362          return window.__wf_test;
1363        }
1364        if (mode === "frame") {
1365          return window !== window.top;
1366        }
1367      };
1368      var userAgent = navigator.userAgent.toLowerCase();
1369      var touch = Webflow.env.touch = "ontouchstart" in window || window.DocumentTouch && document instanceof window.DocumentTouch;
1370      var chrome = Webflow.env.chrome = /chrome/.test(userAgent) && /Google/.test(navigator.vendor) && parseInt(userAgent.match(/chrome\/(\d+)\./)[1], 10);
1371      var ios = Webflow.env.ios = /(ipod|iphone|ipad)/.test(userAgent);
1372      Webflow.env.safari = /safari/.test(userAgent) && !chrome && !ios;
1373      var touchTarget;
1374      touch && $doc.on("touchstart mousedown", function(evt) {
1375        touchTarget = evt.target;
1376      });
1377      Webflow.validClick = touch ? function(clickTarget) {
1378        return clickTarget === touchTarget || $.contains(clickTarget, touchTarget);
1379      } : function() {
1380        return true;
1381      };
1382      var resizeEvents = "resize.webflow orientationchange.webflow load.webflow";
1383      var scrollEvents = "scroll.webflow " + resizeEvents;
1384      Webflow.resize = eventProxy($win, resizeEvents);
1385      Webflow.scroll = eventProxy($win, scrollEvents);
1386      Webflow.redraw = eventProxy();
1387      function eventProxy(target, types) {
1388        var handlers = [];
1389        var proxy = {};
1390        proxy.up = _.throttle(function(evt) {
1391          _.each(handlers, function(h) {
1392            h(evt);
1393          });
1394        });
1395        if (target && types) {
1396          target.on(types, proxy.up);
1397        }
1398        proxy.on = function(handler) {
1399          if (typeof handler !== "function") {
1400            return;
1401          }
1402          if (_.contains(handlers, handler)) {
1403            return;
1404          }
1405          handlers.push(handler);
1406        };
1407        proxy.off = function(handler) {
1408          if (!arguments.length) {
1409            handlers = [];
1410            return;
1411          }
1412          handlers = _.filter(handlers, function(h) {
1413            return h !== handler;
1414          });
1415        };
1416        return proxy;
1417      }
1418      Webflow.location = function(url) {
1419        window.location = url;
1420      };
1421      if (Webflow.env()) {
1422        Webflow.location = function() {
1423        };
1424      }
1425      Webflow.ready = function() {
1426        domready = true;
1427        if (destroyed) {
1428          restoreModules();
1429        } else {
1430          _.each(primary, callReady);
1431        }
1432        _.each(secondary, callReady);
1433        Webflow.resize.up();
1434      };
1435      function callReady(readyFn) {
1436        isFunction(readyFn) && readyFn();
1437      }
1438      function restoreModules() {
1439        destroyed = false;
1440        _.each(modules, bindModule);
1441      }
1442      var deferLoad;
1443      Webflow.load = function(handler) {
1444        deferLoad.then(handler);
1445      };
1446      function bindLoad() {
1447        if (deferLoad) {
1448          deferLoad.reject();
1449          $win.off("load", deferLoad.resolve);
1450        }
1451        deferLoad = new $.Deferred();
1452        $win.on("load", deferLoad.resolve);
1453      }
1454      Webflow.destroy = function(options) {
1455        options = options || {};
1456        destroyed = true;
1457        $win.triggerHandler("__wf_destroy");
1458        if (options.domready != null) {
1459          domready = options.domready;
1460        }
1461        _.each(modules, unbindModule);
1462        Webflow.resize.off();
1463        Webflow.scroll.off();
1464        Webflow.redraw.off();
1465        primary = [];
1466        secondary = [];
1467        if (deferLoad.state() === "pending") {
1468          bindLoad();
1469        }
1470      };
1471      $(Webflow.ready);
1472      bindLoad();
1473      module.exports = window.Webflow = Webflow;
1474    }
1475  });
1476
1477  
1477// packages/shared/render/plugins/BaseSiteModules/webflow-brand.js
1478  var require_webflow_brand = __commonJS({
1479    "packages/shared/render/plugins/BaseSiteModules/webflow-brand.js"(exports, module) {
1480      "use strict";
1481      var Webflow = require_webflow_lib();
1482      Webflow.define("brand", module.exports = function($) {
1483        var api = {};
1484        var doc = document;
1485        var $html = $("html");
1486        var $body = $("body");
1487        var namespace = ".w-webflow-badge";
1488        var location = window.location;
1489        var isPhantom = /PhantomJS/i.test(navigator.userAgent);
1490        var fullScreenEvents = "fullscreenchange webkitfullscreenchange mozfullscreenchange msfullscreenchange";
1491        var brandElement;
1492        api.ready = function() {
1493          var shouldBrand = $html.attr("data-wf-status");
1494          var publishedDomain = $html.attr("data-wf-domain") || "";
1495          if (/\.webflow\.io$/i.test(publishedDomain) && location.hostname !== publishedDomain) {
1496            shouldBrand = true;
1497          }
1498          if (shouldBrand && !isPhantom) {
1499            brandElement = brandElement || createBadge();
1500            ensureBrand();
1501            setTimeout(ensureBrand, 500);
1502            $(doc).off(fullScreenEvents, onFullScreenChange).on(fullScreenEvents, onFullScreenChange);
1503          }
1504        };
1505        function onFullScreenChange() {
1506          var fullScreen = doc.fullScreen || doc.mozFullScreen || doc.webkitIsFullScreen || doc.msFullscreenElement || Boolean(doc.webkitFullscreenElement);
1507          $(brandElement).attr("style", fullScreen ? "display: none !important;" : "");
1508        }
1509        function createBadge() {
1510          var $brand = $('<a class="w-webflow-badge"></a>').attr("href", "https://webflow.com?utm_campaign=brandjs");
1511          var $logoArt = $("<img>").attr("src", "https://d3e54v103j8qbb.cloudfront.net/img/webflow-badge-icon-d2.89e12c322e.svg").attr("alt", "").css({
1512            marginRight: "4px",
1513            width: "26px"
1514          });
1515          var $logoText = $("<img>").attr("src", "https://d3e54v103j8qbb.cloudfront.net/img/webflow-badge-text-d2.c82cec3b78.svg").attr("alt", "Made in Webflow");
1516          $brand.append($logoArt, $logoText);
1517          return $brand[0];
1518        }
1519        function ensureBrand() {
1520          var found = $body.children(namespace);
1521          var match = found.length && found.get(0) === brandElement;
1522          var inEditor = Webflow.env("editor");
1523          if (match) {
1524            if (inEditor) {
1525              found.remove();
1526            }
1527            return;
1528          }
1529          if (found.length) {
1530            found.remove();
1531          }
1532          if (!inEditor) {
1533            $body.append(brandElement);
1534          }
1535        }
1536        return api;
1537      });
1538    }
1539  });
1540
1541  
1541// packages/shared/render/plugins/BaseSiteModules/webflow-focus-visible.js
1542  var require_webflow_focus_visible = __commonJS({
1543    "packages/shared/render/plugins/BaseSiteModules/webflow-focus-visible.js"(exports, module) {
1544      "use strict";
1545      var Webflow = require_webflow_lib();
1546      Webflow.define("focus-visible", module.exports = function() {
1547        function applyFocusVisiblePolyfill(scope) {
1548          var hadKeyboardEvent = true;
1549          var hadFocusVisibleRecently = false;
1550          var hadFocusVisibleRecentlyTimeout = null;
1551          var inputTypesAllowlist = {
1552            text: true,
1553            search: true,
1554            url: true,
1555            tel: true,
1556            email: true,
1557            password: true,
1558            number: true,
1559            date: true,
1560            month: true,
1561            week: true,
1562            time: true,
1563            datetime: true,
1564            "datetime-local": true
1565          };
1566          function isValidFocusTarget(el) {
1567            if (el && el !== document && el.nodeName !== "HTML" && el.nodeName !== "BODY" && "classList" in el && "contains" in el.classList) {
1568              return true;
1569            }
1570            return false;
1571          }
1572          function focusTriggersKeyboardModality(el) {
1573            var type = el.type;
1574            var tagName = el.tagName;
1575            if (tagName === "INPUT" && inputTypesAllowlist[type] && !el.readOnly) {
1576              return true;
1577            }
1578            if (tagName === "TEXTAREA" && !el.readOnly) {
1579              return true;
1580            }
1581            if (el.isContentEditable) {
1582              return true;
1583            }
1584            return false;
1585          }
1586          function addFocusVisibleAttribute(el) {
1587            if (el.getAttribute("data-wf-focus-visible")) {
1588              return;
1589            }
1590            el.setAttribute("data-wf-focus-visible", "true");
1591          }
1592          function removeFocusVisibleAttribute(el) {
1593            if (!el.getAttribute("data-wf-focus-visible")) {
1594              return;
1595            }
1596            el.removeAttribute("data-wf-focus-visible");
1597          }
1598          function onKeyDown(e) {
1599            if (e.metaKey || e.altKey || e.ctrlKey) {
1600              return;
1601            }
1602            if (isValidFocusTarget(scope.activeElement)) {
1603              addFocusVisibleAttribute(scope.activeElement);
1604            }
1605            hadKeyboardEvent = true;
1606          }
1607          function onPointerDown() {
1608            hadKeyboardEvent = false;
1609          }
1610          function onFocus(e) {
1611            if (!isValidFocusTarget(e.target)) {
1612              return;
1613            }
1614            if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {
1615              addFocusVisibleAttribute(e.target);
1616            }
1617          }
1618          function onBlur(e) {
1619            if (!isValidFocusTarget(e.target)) {
1620              return;
1621            }
1622            if (e.target.hasAttribute("data-wf-focus-visible")) {
1623              hadFocusVisibleRecently = true;
1624              window.clearTimeout(hadFocusVisibleRecentlyTimeout);
1625              hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {
1626                hadFocusVisibleRecently = false;
1627              }, 100);
1628              removeFocusVisibleAttribute(e.target);
1629            }
1630          }
1631          function onVisibilityChange() {
1632            if (document.visibilityState === "hidden") {
1633              if (hadFocusVisibleRecently) {
1634                hadKeyboardEvent = true;
1635              }
1636              addInitialPointerMoveListeners();
1637            }
1638          }
1639          function addInitialPointerMoveListeners() {
1640            document.addEventListener("mousemove", onInitialPointerMove);
1641            document.addEventListener("mousedown", onInitialPointerMove);
1642            document.addEventListener("mouseup", onInitialPointerMove);
1643            document.addEventListener("pointermove", onInitialPointerMove);
1644            document.addEventListener("pointerdown", onInitialPointerMove);
1645            document.addEventListener("pointerup", onInitialPointerMove);
1646            document.addEventListener("touchmove", onInitialPointerMove);
1647            document.addEventListener("touchstart", onInitialPointerMove);
1648            document.addEventListener("touchend", onInitialPointerMove);
1649          }
1650          function removeInitialPointerMoveListeners() {
1651            document.removeEventListener("mousemove", onInitialPointerMove);
1652            document.removeEventListener("mousedown", onInitialPointerMove);
1653            document.removeEventListener("mouseup", onInitialPointerMove);
1654            document.removeEventListener("pointermove", onInitialPointerMove);
1655            document.removeEventListener("pointerdown", onInitialPointerMove);
1656            document.removeEventListener("pointerup", onInitialPointerMove);
1657            document.removeEventListener("touchmove", onInitialPointerMove);
1658            document.removeEventListener("touchstart", onInitialPointerMove);
1659            document.removeEventListener("touchend", onInitialPointerMove);
1660          }
1661          function onInitialPointerMove(e) {
1662            if (e.target.nodeName && e.target.nodeName.toLowerCase() === "html") {
1663              return;
1664            }
1665            hadKeyboardEvent = false;
1666            removeInitialPointerMoveListeners();
1667          }
1668          document.addEventListener("keydown", onKeyDown, true);
1669          document.addEventListener("mousedown", onPointerDown, true);
1670          document.addEventListener("pointerdown", onPointerDown, true);
1671          document.addEventListener("touchstart", onPointerDown, true);
1672          document.addEventListener("visibilitychange", onVisibilityChange, true);
1673          addInitialPointerMoveListeners();
1674          scope.addEventListener("focus", onFocus, true);
1675          scope.addEventListener("blur", onBlur, true);
1676        }
1677        function ready() {
1678          if (typeof document !== "undefined") {
1679            try {
1680              document.querySelector(":focus-visible");
1681            } catch (e) {
1682              applyFocusVisiblePolyfill(document);
1683            }
1684          }
1685        }
1686        return {
1687          ready
1688        };
1689      });
1690    }
1691  });
1692
1693  
1693// packages/shared/render/plugins/BaseSiteModules/webflow-focus.js
1694  var require_webflow_focus = __commonJS({
1695    "packages/shared/render/plugins/BaseSiteModules/webflow-focus.js"(exports, module) {
1696      "use strict";
1697      var Webflow = require_webflow_lib();
1698      Webflow.define("focus", module.exports = function() {
1699        var capturedEvents = [];
1700        var capturing = false;
1701        function captureEvent(e) {
1702          if (capturing) {
1703            e.preventDefault();
1704            e.stopPropagation();
1705            e.stopImmediatePropagation();
1706            capturedEvents.unshift(e);
1707          }
1708        }
1709        function isPolyfilledFocusEvent(e) {
1710          var el = e.target;
1711          var tag = el.tagName;
1712          return /^a$/i.test(tag) && el.href != null || // (A)
1713          /^(button|textarea)$/i.test(tag) && el.disabled !== true || // (B) (C)
1714          /^input$/i.test(tag) && /^(button|reset|submit|radio|checkbox)$/i.test(el.type) && !el.disabled || // (D)
1715          !/^(button|input|textarea|select|a)$/i.test(tag) && !Number.isNaN(Number.parseFloat(el.tabIndex)) || // (E)
1716          /^audio$/i.test(tag) || // (F)
1717          /^video$/i.test(tag) && el.controls === true;
1718        }
1719        function handler(e) {
1720          if (isPolyfilledFocusEvent(e)) {
1721            capturing = true;
1722            setTimeout(() => {
1723              capturing = false;
1724              e.target.focus();
1725              while (capturedEvents.length > 0) {
1726                var event = capturedEvents.pop();
1727                event.target.dispatchEvent(new MouseEvent(event.type, event));
1728              }
1729            }, 0);
1730          }
1731        }
1732        function ready() {
1733          if (typeof document !== "undefined" && document.body.hasAttribute("data-wf-focus-within") && Webflow.env.safari) {
1734            document.addEventListener("mousedown", handler, true);
1735            document.addEventListener("mouseup", captureEvent, true);
1736            document.addEventListener("click", captureEvent, true);
1737          }
1738        }
1739        return {
1740          ready
1741        };
1742      });
1743    }
1744  });
1745
1746  
1746// packages/shared/render/plugins/BaseSiteModules/webflow-ix-events.js
1747  var require_webflow_ix_events = __commonJS({
1748    "packages/shared/render/plugins/BaseSiteModules/webflow-ix-events.js"(exports, module) {
1749      "use strict";
1750      var $ = window.jQuery;
1751      var api = {};
1752      var eventQueue = [];
1753      var namespace = ".w-ix";
1754      var eventTriggers = {
1755        reset: function(i, el) {
1756          el.__wf_intro = null;
1757        },
1758        intro: function(i, el) {
1759          if (el.__wf_intro) {
1760            return;
1761          }
1762          el.__wf_intro = true;
1763          $(el).triggerHandler(api.types.INTRO);
1764        },
1765        outro: function(i, el) {
1766          if (!el.__wf_intro) {
1767            return;
1768          }
1769          el.__wf_intro = null;
1770          $(el).triggerHandler(api.types.OUTRO);
1771        }
1772      };
1773      api.triggers = {};
1774      api.types = {
1775        INTRO: "w-ix-intro" + namespace,
1776        OUTRO: "w-ix-outro" + namespace
1777      };
1778      api.init = function() {
1779        var count = eventQueue.length;
1780        for (var i = 0; i < count; i++) {
1781          var memo = eventQueue[i];
1782          memo[0](0, memo[1]);
1783        }
1784        eventQueue = [];
1785        $.extend(api.triggers, eventTriggers);
1786      };
1787      api.async = function() {
1788        for (var key in eventTriggers) {
1789          var func = eventTriggers[key];
1790          if (!eventTriggers.hasOwnProperty(key)) {
1791            continue;
1792          }
1793          api.triggers[key] = function(i, el) {
1794            eventQueue.push([
1795              func,
1796              el
1797            ]);
1798          };
1799        }
1800      };
1801      api.async();
1802      module.exports = api;
1803    }
1804  });
1805
1806  
1806// packages/shared/render/plugins/BaseSiteModules/webflow-ix2-events.js
1807  var require_webflow_ix2_events = __commonJS({
1808    "packages/shared/render/plugins/BaseSiteModules/webflow-ix2-events.js"(exports, module) {
1809      "use strict";
1810      var IXEvents = require_webflow_ix_events();
1811      function dispatchCustomEvent2(element, eventName) {
1812        var event = document.createEvent("CustomEvent");
1813        event.initCustomEvent(eventName, true, true, null);
1814        element.dispatchEvent(event);
1815      }
1816      var $ = window.jQuery;
1817      var api = {};
1818      var namespace = ".w-ix";
1819      var eventTriggers = {
1820        reset: function(i, el) {
1821          IXEvents.triggers.reset(i, el);
1822        },
1823        intro: function(i, el) {
1824          IXEvents.triggers.intro(i, el);
1825          dispatchCustomEvent2(el, "COMPONENT_ACTIVE");
1826        },
1827        outro: function(i, el) {
1828          IXEvents.triggers.outro(i, el);
1829          dispatchCustomEvent2(el, "COMPONENT_INACTIVE");
1830        }
1831      };
1832      api.triggers = {};
1833      api.types = {
1834        INTRO: "w-ix-intro" + namespace,
1835        OUTRO: "w-ix-outro" + namespace
1836      };
1837      $.extend(api.triggers, eventTriggers);
1838      module.exports = api;
1839    }
1840  });
1841
1842  
vendor: 286 bytes, lines 1842-1850
1842// node_modules/lodash/_freeGlobal.js
1843  var require_freeGlobal = __commonJS({
1844    "node_modules/lodash/_freeGlobal.js"(exports, module) {
1845      var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
1846      module.exports = freeGlobal;
1847    }
1848  });
1849
1850  
vendor: 367 bytes, lines 1850-1860
1850// node_modules/lodash/_root.js
1851  var require_root = __commonJS({
1852    "node_modules/lodash/_root.js"(exports, module) {
1853      var freeGlobal = require_freeGlobal();
1854      var freeSelf = typeof self == "object" && self && self.Object === Object && self;
1855      var root = freeGlobal || freeSelf || Function("return this")();
1856      module.exports = root;
1857    }
1858  });
1859
1860  
vendor: 239 bytes, lines 1860-1869
1860// node_modules/lodash/_Symbol.js
1861  var require_Symbol = __commonJS({
1862    "node_modules/lodash/_Symbol.js"(exports, module) {
1863      var root = require_root();
1864      var Symbol2 = root.Symbol;
1865      module.exports = Symbol2;
1866    }
1867  });
1868
1869  
vendor: 944 bytes, lines 1869-1898
1869// node_modules/lodash/_getRawTag.js
1870  var require_getRawTag = __commonJS({
1871    "node_modules/lodash/_getRawTag.js"(exports, module) {
1872      var Symbol2 = require_Symbol();
1873      var objectProto = Object.prototype;
1874      var hasOwnProperty = objectProto.hasOwnProperty;
1875      var nativeObjectToString = objectProto.toString;
1876      var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
1877      function getRawTag(value) {
1878        var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
1879        try {
1880          value[symToStringTag] = void 0;
1881          var unmasked = true;
1882        } catch (e) {
1883        }
1884        var result = nativeObjectToString.call(value);
1885        if (unmasked) {
1886          if (isOwn) {
1887            value[symToStringTag] = tag;
1888          } else {
1889            delete value[symToStringTag];
1890          }
1891        }
1892        return result;
1893      }
1894      module.exports = getRawTag;
1895    }
1896  });
1897
1898  
vendor: 397 bytes, lines 1898-1910
1898// node_modules/lodash/_objectToString.js
1899  var require_objectToString = __commonJS({
1900    "node_modules/lodash/_objectToString.js"(exports, module) {
1901      var objectProto = Object.prototype;
1902      var nativeObjectToString = objectProto.toString;
1903      function objectToString(value) {
1904        return nativeObjectToString.call(value);
1905      }
1906      module.exports = objectToString;
1907    }
1908  });
1909
1910  
vendor: 724 bytes, lines 1910-1929
1910// node_modules/lodash/_baseGetTag.js
1911  var require_baseGetTag = __commonJS({
1912    "node_modules/lodash/_baseGetTag.js"(exports, module) {
1913      var Symbol2 = require_Symbol();
1914      var getRawTag = require_getRawTag();
1915      var objectToString = require_objectToString();
1916      var nullTag = "[object Null]";
1917      var undefinedTag = "[object Undefined]";
1918      var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
1919      function baseGetTag(value) {
1920        if (value == null) {
1921          return value === void 0 ? undefinedTag : nullTag;
1922        }
1923        return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
1924      }
1925      module.exports = baseGetTag;
1926    }
1927  });
1928
1929  
vendor: 307 bytes, lines 1929-1941
1929// node_modules/lodash/_overArg.js
1930  var require_overArg = __commonJS({
1931    "node_modules/lodash/_overArg.js"(exports, module) {
1932      function overArg(func, transform) {
1933        return function(arg) {
1934          return func(transform(arg));
1935        };
1936      }
1937      module.exports = overArg;
1938    }
1939  });
1940
1941  
vendor: 300 bytes, lines 1941-1950
1941// node_modules/lodash/_getPrototype.js
1942  var require_getPrototype = __commonJS({
1943    "node_modules/lodash/_getPrototype.js"(exports, module) {
1944      var overArg = require_overArg();
1945      var getPrototype = overArg(Object.getPrototypeOf, Object);
1946      module.exports = getPrototype;
1947    }
1948  });
1949
1950  
vendor: 297 bytes, lines 1950-1960
1950// node_modules/lodash/isObjectLike.js
1951  var require_isObjectLike = __commonJS({
1952    "node_modules/lodash/isObjectLike.js"(exports, module) {
1953      function isObjectLike(value) {
1954        return value != null && typeof value == "object";
1955      }
1956      module.exports = isObjectLike;
1957    }
1958  });
1959
1960  
vendor: 1,072 bytes, lines 1960-1987
1960// node_modules/lodash/isPlainObject.js
1961  var require_isPlainObject = __commonJS({
1962    "node_modules/lodash/isPlainObject.js"(exports, module) {
1963      var baseGetTag = require_baseGetTag();
1964      var getPrototype = require_getPrototype();
1965      var isObjectLike = require_isObjectLike();
1966      var objectTag = "[object Object]";
1967      var funcProto = Function.prototype;
1968      var objectProto = Object.prototype;
1969      var funcToString = funcProto.toString;
1970      var hasOwnProperty = objectProto.hasOwnProperty;
1971      var objectCtorString = funcToString.call(Object);
1972      function isPlainObject(value) {
1973        if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
1974          return false;
1975        }
1976        var proto = getPrototype(value);
1977        if (proto === null) {
1978          return true;
1979        }
1980        var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
1981        return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
1982      }
1983      module.exports = isPlainObject;
1984    }
1985  });
1986
1987  
vendor: 795 bytes, lines 1987-2013
1987// node_modules/redux/node_modules/symbol-observable/lib/ponyfill.js
1988  var require_ponyfill = __commonJS({
1989    "node_modules/redux/node_modules/symbol-observable/lib/ponyfill.js"(exports) {
1990      "use strict";
1991      Object.defineProperty(exports, "__esModule", {
1992        value: true
1993      });
1994      exports["default"] = symbolObservablePonyfill;
1995      function symbolObservablePonyfill(root) {
1996        var result;
1997        var _Symbol = root.Symbol;
1998        if (typeof _Symbol === "function") {
1999          if (_Symbol.observable) {
2000            result = _Symbol.observable;
2001          } else {
2002            result = _Symbol("observable");
2003            _Symbol.observable = result;
2004          }
2005        } else {
2006          result = "@@observable";
2007        }
2008        return result;
2009      }
2010    }
2011  });
2012
2013  
vendor: 973 bytes, lines 2013-2042
2013// node_modules/redux/node_modules/symbol-observable/lib/index.js
2014  var require_lib = __commonJS({
2015    "node_modules/redux/node_modules/symbol-observable/lib/index.js"(exports, module) {
2016      "use strict";
2017      Object.defineProperty(exports, "__esModule", {
2018        value: true
2019      });
2020      var _ponyfill = require_ponyfill();
2021      var _ponyfill2 = _interopRequireDefault(_ponyfill);
2022      function _interopRequireDefault(obj) {
2023        return obj && obj.__esModule ? obj : { "default": obj };
2024      }
2025      var root;
2026      if (typeof self !== "undefined") {
2027        root = self;
2028      } else if (typeof window !== "undefined") {
2029        root = window;
2030      } else if (typeof global !== "undefined") {
2031        root = global;
2032      } else if (typeof module !== "undefined") {
2033        root = module;
2034      } else {
2035        root = Function("return this")();
2036      }
2037      var result = (0, _ponyfill2["default"])(root);
2038      exports["default"] = result;
2039    }
2040  });
2041
2042  
vendor: 4,995 bytes, lines 2042-2173
2042// node_modules/redux/lib/createStore.js
2043  var require_createStore = __commonJS({
2044    "node_modules/redux/lib/createStore.js"(exports) {
2045      "use strict";
2046      exports.__esModule = true;
2047      exports.ActionTypes = void 0;
2048      exports["default"] = createStore;
2049      var _isPlainObject = require_isPlainObject();
2050      var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
2051      var _symbolObservable = require_lib();
2052      var _symbolObservable2 = _interopRequireDefault(_symbolObservable);
2053      function _interopRequireDefault(obj) {
2054        return obj && obj.__esModule ? obj : { "default": obj };
2055      }
2056      var ActionTypes = exports.ActionTypes = {
2057        INIT: "@@redux/INIT"
2058      };
2059      function createStore(reducer, preloadedState, enhancer) {
2060        var _ref2;
2061        if (typeof preloadedState === "function" && typeof enhancer === "undefined") {
2062          enhancer = preloadedState;
2063          preloadedState = void 0;
2064        }
2065        if (typeof enhancer !== "undefined") {
2066          if (typeof enhancer !== "function") {
2067            throw new Error("Expected the enhancer to be a function.");
2068          }
2069          return enhancer(createStore)(reducer, preloadedState);
2070        }
2071        if (typeof reducer !== "function") {
2072          throw new Error("Expected the reducer to be a function.");
2073        }
2074        var currentReducer = reducer;
2075        var currentState = preloadedState;
2076        var currentListeners = [];
2077        var nextListeners = currentListeners;
2078        var isDispatching = false;
2079        function ensureCanMutateNextListeners() {
2080          if (nextListeners === currentListeners) {
2081            nextListeners = currentListeners.slice();
2082          }
2083        }
2084        function getState() {
2085          return currentState;
2086        }
2087        function subscribe(listener) {
2088          if (typeof listener !== "function") {
2089            throw new Error("Expected listener to be a function.");
2090          }
2091          var isSubscribed = true;
2092          ensureCanMutateNextListeners();
2093          nextListeners.push(listener);
2094          return function unsubscribe() {
2095            if (!isSubscribed) {
2096              return;
2097            }
2098            isSubscribed = false;
2099            ensureCanMutateNextListeners();
2100            var index = nextListeners.indexOf(listener);
2101            nextListeners.splice(index, 1);
2102          };
2103        }
2104        function dispatch(action) {
2105          if (!(0, _isPlainObject2["default"])(action)) {
2106            throw new Error("Actions must be plain objects. Use custom middleware for async actions.");
2107          }
2108          if (typeof action.type === "undefined") {
2109            throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');
2110          }
2111          if (isDispatching) {
2112            throw new Error("Reducers may not dispatch actions.");
2113          }
2114          try {
2115            isDispatching = true;
2116            currentState = currentReducer(currentState, action);
2117          } finally {
2118            isDispatching = false;
2119          }
2120          var listeners = currentListeners = nextListeners;
2121          for (var i = 0; i < listeners.length; i++) {
2122            listeners[i]();
2123          }
2124          return action;
2125        }
2126        function replaceReducer(nextReducer) {
2127          if (typeof nextReducer !== "function") {
2128            throw new Error("Expected the nextReducer to be a function.");
2129          }
2130          currentReducer = nextReducer;
2131          dispatch({ type: ActionTypes.INIT });
2132        }
2133        function observable() {
2134          var _ref;
2135          var outerSubscribe = subscribe;
2136          return _ref = {
2137            /**
2138             * The minimal observable subscription method.
2139             * @param {Object} observer Any object that can be used as an observer.
2140             * The observer object should have a `next` method.
2141             * @returns {subscription} An object with an `unsubscribe` method that can
2142             * be used to unsubscribe the observable from the store, and prevent further
2143             * emission of values from the observable.
2144             */
2145            subscribe: function subscribe2(observer) {
2146              if (typeof observer !== "object") {
2147                throw new TypeError("Expected the observer to be an object.");
2148              }
2149              function observeState() {
2150                if (observer.next) {
2151                  observer.next(getState());
2152                }
2153              }
2154              observeState();
2155              var unsubscribe = outerSubscribe(observeState);
2156              return { unsubscribe };
2157            }
2158          }, _ref[_symbolObservable2["default"]] = function() {
2159            return this;
2160          }, _ref;
2161        }
2162        dispatch({ type: ActionTypes.INIT });
2163        return _ref2 = {
2164          dispatch,
2165          subscribe,
2166          getState,
2167          replaceReducer
2168        }, _ref2[_symbolObservable2["default"]] = observable, _ref2;
2169      }
2170    }
2171  });
2172
2173  
vendor: 494 bytes, lines 2173-2191
2173// node_modules/redux/lib/utils/warning.js
2174  var require_warning = __commonJS({
2175    "node_modules/redux/lib/utils/warning.js"(exports) {
2176      "use strict";
2177      exports.__esModule = true;
2178      exports["default"] = warning;
2179      function warning(message) {
2180        if (typeof console !== "undefined" && typeof console.error === "function") {
2181          console.error(message);
2182        }
2183        try {
2184          throw new Error(message);
2185        } catch (e) {
2186        }
2187      }
2188    }
2189  });
2190
2191  
vendor: 4,258 bytes, lines 2191-2279
2191// node_modules/redux/lib/combineReducers.js
2192  var require_combineReducers = __commonJS({
2193    "node_modules/redux/lib/combineReducers.js"(exports) {
2194      "use strict";
2195      exports.__esModule = true;
2196      exports["default"] = combineReducers2;
2197      var _createStore = require_createStore();
2198      var _isPlainObject = require_isPlainObject();
2199      var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
2200      var _warning = require_warning();
2201      var _warning2 = _interopRequireDefault(_warning);
2202      function _interopRequireDefault(obj) {
2203        return obj && obj.__esModule ? obj : { "default": obj };
2204      }
2205      function getUndefinedStateErrorMessage(key, action) {
2206        var actionType = action && action.type;
2207        var actionName = actionType && '"' + actionType.toString() + '"' || "an action";
2208        return "Given action " + actionName + ', reducer "' + key + '" returned undefined. To ignore an action, you must explicitly return the previous state.';
2209      }
2210      function assertReducerSanity(reducers) {
2211        Object.keys(reducers).forEach(function(key) {
2212          var reducer = reducers[key];
2213          var initialState4 = reducer(void 0, { type: _createStore.ActionTypes.INIT });
2214          if (typeof initialState4 === "undefined") {
2215            throw new Error('Reducer "' + key + '" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined.');
2216          }
2217          var type = "@@redux/PROBE_UNKNOWN_ACTION_" + Math.random().toString(36).substring(7).split("").join(".");
2218          if (typeof reducer(void 0, { type }) === "undefined") {
2219            throw new Error('Reducer "' + key + '" returned undefined when probed with a random type. ' + ("Don't try to handle " + _createStore.ActionTypes.INIT + ' or other actions in "redux/*" ') + "namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined.");
2220          }
2221        });
2222      }
2223      function combineReducers2(reducers) {
2224        var reducerKeys = Object.keys(reducers);
2225        var finalReducers = {};
2226        for (var i = 0; i < reducerKeys.length; i++) {
2227          var key = reducerKeys[i];
2228          if (false) {
2229            if (typeof reducers[key] === "undefined") {
2230              (0, _warning2["default"])('No reducer provided for key "' + key + '"');
2231            }
2232          }
2233          if (typeof reducers[key] === "function") {
2234            finalReducers[key] = reducers[key];
2235          }
2236        }
2237        var finalReducerKeys = Object.keys(finalReducers);
2238        if (false) {
2239          var unexpectedKeyCache = {};
2240        }
2241        var sanityError;
2242        try {
2243          assertReducerSanity(finalReducers);
2244        } catch (e) {
2245          sanityError = e;
2246        }
2247        return function combination() {
2248          var state = arguments.length <= 0 || arguments[0] === void 0 ? {} : arguments[0];
2249          var action = arguments[1];
2250          if (sanityError) {
2251            throw sanityError;
2252          }
2253          if (false) {
2254            var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);
2255            if (warningMessage) {
2256              (0, _warning2["default"])(warningMessage);
2257            }
2258          }
2259          var hasChanged = false;
2260          var nextState = {};
2261          for (var i2 = 0; i2 < finalReducerKeys.length; i2++) {
2262            var key2 = finalReducerKeys[i2];
2263            var reducer = finalReducers[key2];
2264            var previousStateForKey = state[key2];
2265            var nextStateForKey = reducer(previousStateForKey, action);
2266            if (typeof nextStateForKey === "undefined") {
2267              var errorMessage = getUndefinedStateErrorMessage(key2, action);
2268              throw new Error(errorMessage);
2269            }
2270            nextState[key2] = nextStateForKey;
2271            hasChanged = hasChanged || nextStateForKey !== previousStateForKey;
2272          }
2273          return hasChanged ? nextState : state;
2274        };
2275      }
2276    }
2277  });
2278
2279  
vendor: 1,393 bytes, lines 2279-2311
2279// node_modules/redux/lib/bindActionCreators.js
2280  var require_bindActionCreators = __commonJS({
2281    "node_modules/redux/lib/bindActionCreators.js"(exports) {
2282      "use strict";
2283      exports.__esModule = true;
2284      exports["default"] = bindActionCreators;
2285      function bindActionCreator(actionCreator, dispatch) {
2286        return function() {
2287          return dispatch(actionCreator.apply(void 0, arguments));
2288        };
2289      }
2290      function bindActionCreators(actionCreators, dispatch) {
2291        if (typeof actionCreators === "function") {
2292          return bindActionCreator(actionCreators, dispatch);
2293        }
2294        if (typeof actionCreators !== "object" || actionCreators === null) {
2295          throw new Error("bindActionCreators expected an object or a function, instead received " + (actionCreators === null ? "null" : typeof actionCreators) + '. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');
2296        }
2297        var keys = Object.keys(actionCreators);
2298        var boundActionCreators = {};
2299        for (var i = 0; i < keys.length; i++) {
2300          var key = keys[i];
2301          var actionCreator = actionCreators[key];
2302          if (typeof actionCreator === "function") {
2303            boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);
2304          }
2305        }
2306        return boundActionCreators;
2307      }
2308    }
2309  });
2310
2311  
vendor: 853 bytes, lines 2311-2340
2311// node_modules/redux/lib/compose.js
2312  var require_compose = __commonJS({
2313    "node_modules/redux/lib/compose.js"(exports) {
2314      "use strict";
2315      exports.__esModule = true;
2316      exports["default"] = compose;
2317      function compose() {
2318        for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
2319          funcs[_key] = arguments[_key];
2320        }
2321        if (funcs.length === 0) {
2322          return function(arg) {
2323            return arg;
2324          };
2325        }
2326        if (funcs.length === 1) {
2327          return funcs[0];
2328        }
2329        var last = funcs[funcs.length - 1];
2330        var rest = funcs.slice(0, -1);
2331        return function() {
2332          return rest.reduceRight(function(composed, f) {
2333            return f(composed);
2334          }, last.apply(void 0, arguments));
2335        };
2336      }
2337    }
2338  });
2339
2340  
vendor: 1,804 bytes, lines 2340-2390
2340// node_modules/redux/lib/applyMiddleware.js
2341  var require_applyMiddleware = __commonJS({
2342    "node_modules/redux/lib/applyMiddleware.js"(exports) {
2343      "use strict";
2344      exports.__esModule = true;
2345      var _extends = Object.assign || function(target) {
2346        for (var i = 1; i < arguments.length; i++) {
2347          var source = arguments[i];
2348          for (var key in source) {
2349            if (Object.prototype.hasOwnProperty.call(source, key)) {
2350              target[key] = source[key];
2351            }
2352          }
2353        }
2354        return target;
2355      };
2356      exports["default"] = applyMiddleware;
2357      var _compose = require_compose();
2358      var _compose2 = _interopRequireDefault(_compose);
2359      function _interopRequireDefault(obj) {
2360        return obj && obj.__esModule ? obj : { "default": obj };
2361      }
2362      function applyMiddleware() {
2363        for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {
2364          middlewares[_key] = arguments[_key];
2365        }
2366        return function(createStore) {
2367          return function(reducer, preloadedState, enhancer) {
2368            var store = createStore(reducer, preloadedState, enhancer);
2369            var _dispatch = store.dispatch;
2370            var chain = [];
2371            var middlewareAPI = {
2372              getState: store.getState,
2373              dispatch: function dispatch(action) {
2374                return _dispatch(action);
2375              }
2376            };
2377            chain = middlewares.map(function(middleware) {
2378              return middleware(middlewareAPI);
2379            });
2380            _dispatch = _compose2["default"].apply(void 0, chain)(store.dispatch);
2381            return _extends({}, store, {
2382              dispatch: _dispatch
2383            });
2384          };
2385        };
2386      }
2387    }
2388  });
2389
2390  
vendor: 1,860 bytes, lines 2390-2422
2390// node_modules/redux/lib/index.js
2391  var require_lib2 = __commonJS({
2392    "node_modules/redux/lib/index.js"(exports) {
2393      "use strict";
2394      exports.__esModule = true;
2395      exports.compose = exports.applyMiddleware = exports.bindActionCreators = exports.combineReducers = exports.createStore = void 0;
2396      var _createStore = require_createStore();
2397      var _createStore2 = _interopRequireDefault(_createStore);
2398      var _combineReducers = require_combineReducers();
2399      var _combineReducers2 = _interopRequireDefault(_combineReducers);
2400      var _bindActionCreators = require_bindActionCreators();
2401      var _bindActionCreators2 = _interopRequireDefault(_bindActionCreators);
2402      var _applyMiddleware = require_applyMiddleware();
2403      var _applyMiddleware2 = _interopRequireDefault(_applyMiddleware);
2404      var _compose = require_compose();
2405      var _compose2 = _interopRequireDefault(_compose);
2406      var _warning = require_warning();
2407      var _warning2 = _interopRequireDefault(_warning);
2408      function _interopRequireDefault(obj) {
2409        return obj && obj.__esModule ? obj : { "default": obj };
2410      }
2411      if (false) {
2412        (0, _warning2["default"])("You are currently using minified code outside of NODE_ENV === 'production'. This means that you are running a slower development build of Redux. You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) to ensure you have the correct code for your production build.");
2413      }
2414      exports.createStore = _createStore2["default"];
2415      exports.combineReducers = _combineReducers2["default"];
2416      exports.bindActionCreators = _bindActionCreators2["default"];
2417      exports.applyMiddleware = _applyMiddleware2["default"];
2418      exports.compose = _compose2["default"];
2419    }
2420  });
2421
2422  
2422// packages/systems/ix2/shared-constants/trigger-events.ts
2423  var EventTypeConsts, EventAppliesTo, EventBasedOn, EventContinuousMouseAxes, EventLimitAffectedElements, QuickEffectIds, QuickEffectDirectionConsts;
2424  var init_trigger_events = __esm({
2425    "packages/systems/ix2/shared-constants/trigger-events.ts"() {
2426      "use strict";
2427      EventTypeConsts = {
2428        NAVBAR_OPEN: "NAVBAR_OPEN",
2429        NAVBAR_CLOSE: "NAVBAR_CLOSE",
2430        TAB_ACTIVE: "TAB_ACTIVE",
2431        TAB_INACTIVE: "TAB_INACTIVE",
2432        SLIDER_ACTIVE: "SLIDER_ACTIVE",
2433        SLIDER_INACTIVE: "SLIDER_INACTIVE",
2434        DROPDOWN_OPEN: "DROPDOWN_OPEN",
2435        DROPDOWN_CLOSE: "DROPDOWN_CLOSE",
2436        MOUSE_CLICK: "MOUSE_CLICK",
2437        MOUSE_SECOND_CLICK: "MOUSE_SECOND_CLICK",
2438        MOUSE_DOWN: "MOUSE_DOWN",
2439        MOUSE_UP: "MOUSE_UP",
2440        MOUSE_OVER: "MOUSE_OVER",
2441        MOUSE_OUT: "MOUSE_OUT",
2442        MOUSE_MOVE: "MOUSE_MOVE",
2443        MOUSE_MOVE_IN_VIEWPORT: "MOUSE_MOVE_IN_VIEWPORT",
2444        SCROLL_INTO_VIEW: "SCROLL_INTO_VIEW",
2445        SCROLL_OUT_OF_VIEW: "SCROLL_OUT_OF_VIEW",
2446        SCROLLING_IN_VIEW: "SCROLLING_IN_VIEW",
2447        ECOMMERCE_CART_OPEN: "ECOMMERCE_CART_OPEN",
2448        ECOMMERCE_CART_CLOSE: "ECOMMERCE_CART_CLOSE",
2449        PAGE_START: "PAGE_START",
2450        PAGE_FINISH: "PAGE_FINISH",
2451        PAGE_SCROLL_UP: "PAGE_SCROLL_UP",
2452        PAGE_SCROLL_DOWN: "PAGE_SCROLL_DOWN",
2453        PAGE_SCROLL: "PAGE_SCROLL"
2454      };
2455      EventAppliesTo = {
2456        ELEMENT: "ELEMENT",
2457        CLASS: "CLASS",
2458        PAGE: "PAGE"
2459      };
2460      EventBasedOn = {
2461        ELEMENT: "ELEMENT",
2462        VIEWPORT: "VIEWPORT"
2463      };
2464      EventContinuousMouseAxes = {
2465        X_AXIS: "X_AXIS",
2466        Y_AXIS: "Y_AXIS"
2467      };
2468      EventLimitAffectedElements = {
2469        CHILDREN: "CHILDREN",
2470        SIBLINGS: "SIBLINGS",
2471        IMMEDIATE_CHILDREN: "IMMEDIATE_CHILDREN"
2472      };
2473      QuickEffectIds = {
2474        FADE_EFFECT: "FADE_EFFECT",
2475        SLIDE_EFFECT: "SLIDE_EFFECT",
2476        GROW_EFFECT: "GROW_EFFECT",
2477        SHRINK_EFFECT: "SHRINK_EFFECT",
2478        SPIN_EFFECT: "SPIN_EFFECT",
2479        FLY_EFFECT: "FLY_EFFECT",
2480        POP_EFFECT: "POP_EFFECT",
2481        FLIP_EFFECT: "FLIP_EFFECT",
2482        JIGGLE_EFFECT: "JIGGLE_EFFECT",
2483        PULSE_EFFECT: "PULSE_EFFECT",
2484        DROP_EFFECT: "DROP_EFFECT",
2485        BLINK_EFFECT: "BLINK_EFFECT",
2486        BOUNCE_EFFECT: "BOUNCE_EFFECT",
2487        FLIP_LEFT_TO_RIGHT_EFFECT: "FLIP_LEFT_TO_RIGHT_EFFECT",
2488        FLIP_RIGHT_TO_LEFT_EFFECT: "FLIP_RIGHT_TO_LEFT_EFFECT",
2489        RUBBER_BAND_EFFECT: "RUBBER_BAND_EFFECT",
2490        JELLO_EFFECT: "JELLO_EFFECT",
2491        GROW_BIG_EFFECT: "GROW_BIG_EFFECT",
2492        SHRINK_BIG_EFFECT: "SHRINK_BIG_EFFECT",
2493        PLUGIN_LOTTIE_EFFECT: "PLUGIN_LOTTIE_EFFECT"
2494      };
2495      QuickEffectDirectionConsts = {
2496        LEFT: "LEFT",
2497        RIGHT: "RIGHT",
2498        BOTTOM: "BOTTOM",
2499        TOP: "TOP",
2500        BOTTOM_LEFT: "BOTTOM_LEFT",
2501        BOTTOM_RIGHT: "BOTTOM_RIGHT",
2502        TOP_RIGHT: "TOP_RIGHT",
2503        TOP_LEFT: "TOP_LEFT",
2504        CLOCKWISE: "CLOCKWISE",
2505        COUNTER_CLOCKWISE: "COUNTER_CLOCKWISE"
2506      };
2507    }
2508  });
2509
2510  
2510// packages/systems/ix2/shared-constants/animation-actions.ts
2511  var ActionTypeConsts, ActionAppliesTo;
2512  var init_animation_actions = __esm({
2513    "packages/systems/ix2/shared-constants/animation-actions.ts"() {
2514      "use strict";
2515      ActionTypeConsts = {
2516        TRANSFORM_MOVE: "TRANSFORM_MOVE",
2517        TRANSFORM_SCALE: "TRANSFORM_SCALE",
2518        TRANSFORM_ROTATE: "TRANSFORM_ROTATE",
2519        TRANSFORM_SKEW: "TRANSFORM_SKEW",
2520        STYLE_OPACITY: "STYLE_OPACITY",
2521        STYLE_SIZE: "STYLE_SIZE",
2522        STYLE_FILTER: "STYLE_FILTER",
2523        STYLE_FONT_VARIATION: "STYLE_FONT_VARIATION",
2524        STYLE_BACKGROUND_COLOR: "STYLE_BACKGROUND_COLOR",
2525        STYLE_BORDER: "STYLE_BORDER",
2526        STYLE_TEXT_COLOR: "STYLE_TEXT_COLOR",
2527        OBJECT_VALUE: "OBJECT_VALUE",
2528        PLUGIN_LOTTIE: "PLUGIN_LOTTIE",
2529        PLUGIN_SPLINE: "PLUGIN_SPLINE",
2530        PLUGIN_RIVE: "PLUGIN_RIVE",
2531        PLUGIN_VARIABLE: "PLUGIN_VARIABLE",
2532        GENERAL_DISPLAY: "GENERAL_DISPLAY",
2533        GENERAL_START_ACTION: "GENERAL_START_ACTION",
2534        GENERAL_CONTINUOUS_ACTION: "GENERAL_CONTINUOUS_ACTION",
2535        // TODO: Clean these up below because they're not used at this time
2536        GENERAL_COMBO_CLASS: "GENERAL_COMBO_CLASS",
2537        GENERAL_STOP_ACTION: "GENERAL_STOP_ACTION",
2538        GENERAL_LOOP: "GENERAL_LOOP",
2539        STYLE_BOX_SHADOW: "STYLE_BOX_SHADOW"
2540      };
2541      ActionAppliesTo = {
2542        ELEMENT: "ELEMENT",
2543        ELEMENT_CLASS: "ELEMENT_CLASS",
2544        TRIGGER_ELEMENT: "TRIGGER_ELEMENT"
2545      };
2546    }
2547  });
2548
2549  
2549// packages/systems/ix2/shared-constants/trigger-interactions.ts
2550  var InteractionTypeConsts;
2551  var init_trigger_interactions = __esm({
2552    "packages/systems/ix2/shared-constants/trigger-interactions.ts"() {
2553      "use strict";
2554      InteractionTypeConsts = {
2555        MOUSE_CLICK_INTERACTION: "MOUSE_CLICK_INTERACTION",
2556        MOUSE_HOVER_INTERACTION: "MOUSE_HOVER_INTERACTION",
2557        MOUSE_MOVE_INTERACTION: "MOUSE_MOVE_INTERACTION",
2558        SCROLL_INTO_VIEW_INTERACTION: "SCROLL_INTO_VIEW_INTERACTION",
2559        SCROLLING_IN_VIEW_INTERACTION: "SCROLLING_IN_VIEW_INTERACTION",
2560        MOUSE_MOVE_IN_VIEWPORT_INTERACTION: "MOUSE_MOVE_IN_VIEWPORT_INTERACTION",
2561        PAGE_IS_SCROLLING_INTERACTION: "PAGE_IS_SCROLLING_INTERACTION",
2562        PAGE_LOAD_INTERACTION: "PAGE_LOAD_INTERACTION",
2563        PAGE_SCROLLED_INTERACTION: "PAGE_SCROLLED_INTERACTION",
2564        NAVBAR_INTERACTION: "NAVBAR_INTERACTION",
2565        DROPDOWN_INTERACTION: "DROPDOWN_INTERACTION",
2566        ECOMMERCE_CART_INTERACTION: "ECOMMERCE_CART_INTERACTION",
2567        TAB_INTERACTION: "TAB_INTERACTION",
2568        SLIDER_INTERACTION: "SLIDER_INTERACTION"
2569      };
2570    }
2571  });
2572
2573  
2573// packages/systems/ix2/shared-constants/reduced-motion.ts
2574  var TRANSFORM_MOVE, TRANSFORM_SCALE, TRANSFORM_ROTATE, TRANSFORM_SKEW, STYLE_SIZE, STYLE_FILTER, STYLE_FONT_VARIATION, ReducedMotionTypes;
2575  var init_reduced_motion = __esm({
2576    "packages/systems/ix2/shared-constants/reduced-motion.ts"() {
2577      "use strict";
2578      init_animation_actions();
2579      ({
2580        TRANSFORM_MOVE,
2581        TRANSFORM_SCALE,
2582        TRANSFORM_ROTATE,
2583        TRANSFORM_SKEW,
2584        STYLE_SIZE,
2585        STYLE_FILTER,
2586        STYLE_FONT_VARIATION
2587      } = ActionTypeConsts);
2588      ReducedMotionTypes = {
2589        [TRANSFORM_MOVE]: true,
2590        [TRANSFORM_SCALE]: true,
2591        [TRANSFORM_ROTATE]: true,
2592        [TRANSFORM_SKEW]: true,
2593        [STYLE_SIZE]: true,
2594        [STYLE_FILTER]: true,
2595        [STYLE_FONT_VARIATION]: true
2596      };
2597    }
2598  });
2599
2600  
2600// packages/systems/ix2/shared-constants/IX2EngineActionTypes.ts
2601  var IX2EngineActionTypes_exports = {};
2602  __export(IX2EngineActionTypes_exports, {
2603    IX2_ACTION_LIST_PLAYBACK_CHANGED: () => IX2_ACTION_LIST_PLAYBACK_CHANGED,
2604    IX2_ANIMATION_FRAME_CHANGED: () => IX2_ANIMATION_FRAME_CHANGED,
2605    IX2_CLEAR_REQUESTED: () => IX2_CLEAR_REQUESTED,
2606    IX2_ELEMENT_STATE_CHANGED: () => IX2_ELEMENT_STATE_CHANGED,
2607    IX2_EVENT_LISTENER_ADDED: () => IX2_EVENT_LISTENER_ADDED,
2608    IX2_EVENT_STATE_CHANGED: () => IX2_EVENT_STATE_CHANGED,
2609    IX2_INSTANCE_ADDED: () => IX2_INSTANCE_ADDED,
2610    IX2_INSTANCE_REMOVED: () => IX2_INSTANCE_REMOVED,
2611    IX2_INSTANCE_STARTED: () => IX2_INSTANCE_STARTED,
2612    IX2_MEDIA_QUERIES_DEFINED: () => IX2_MEDIA_QUERIES_DEFINED,
2613    IX2_PARAMETER_CHANGED: () => IX2_PARAMETER_CHANGED,
2614    IX2_PLAYBACK_REQUESTED: () => IX2_PLAYBACK_REQUESTED,
2615    IX2_PREVIEW_REQUESTED: () => IX2_PREVIEW_REQUESTED,
2616    IX2_RAW_DATA_IMPORTED: () => IX2_RAW_DATA_IMPORTED,
2617    IX2_SESSION_INITIALIZED: () => IX2_SESSION_INITIALIZED,
2618    IX2_SESSION_STARTED: () => IX2_SESSION_STARTED,
2619    IX2_SESSION_STOPPED: () => IX2_SESSION_STOPPED,
2620    IX2_STOP_REQUESTED: () => IX2_STOP_REQUESTED,
2621    IX2_TEST_FRAME_RENDERED: () => IX2_TEST_FRAME_RENDERED,
2622    IX2_VIEWPORT_WIDTH_CHANGED: () => IX2_VIEWPORT_WIDTH_CHANGED
2623  });
2624  var IX2_RAW_DATA_IMPORTED, IX2_SESSION_INITIALIZED, IX2_SESSION_STARTED, IX2_SESSION_STOPPED, IX2_PREVIEW_REQUESTED, IX2_PLAYBACK_REQUESTED, IX2_STOP_REQUESTED, IX2_CLEAR_REQUESTED, IX2_EVENT_LISTENER_ADDED, IX2_EVENT_STATE_CHANGED, IX2_ANIMATION_FRAME_CHANGED, IX2_PARAMETER_CHANGED, IX2_INSTANCE_ADDED, IX2_INSTANCE_STARTED, IX2_INSTANCE_REMOVED, IX2_ELEMENT_STATE_CHANGED, IX2_ACTION_LIST_PLAYBACK_CHANGED, IX2_VIEWPORT_WIDTH_CHANGED, IX2_MEDIA_QUERIES_DEFINED, IX2_TEST_FRAME_RENDERED;
2625  var init_IX2EngineActionTypes = __esm({
2626    "packages/systems/ix2/shared-constants/IX2EngineActionTypes.ts"() {
2627      "use strict";
2628      IX2_RAW_DATA_IMPORTED = "IX2_RAW_DATA_IMPORTED";
2629      IX2_SESSION_INITIALIZED = "IX2_SESSION_INITIALIZED";
2630      IX2_SESSION_STARTED = "IX2_SESSION_STARTED";
2631      IX2_SESSION_STOPPED = "IX2_SESSION_STOPPED";
2632      IX2_PREVIEW_REQUESTED = "IX2_PREVIEW_REQUESTED";
2633      IX2_PLAYBACK_REQUESTED = "IX2_PLAYBACK_REQUESTED";
2634      IX2_STOP_REQUESTED = "IX2_STOP_REQUESTED";
2635      IX2_CLEAR_REQUESTED = "IX2_CLEAR_REQUESTED";
2636      IX2_EVENT_LISTENER_ADDED = "IX2_EVENT_LISTENER_ADDED";
2637      IX2_EVENT_STATE_CHANGED = "IX2_EVENT_STATE_CHANGED";
2638      IX2_ANIMATION_FRAME_CHANGED = "IX2_ANIMATION_FRAME_CHANGED";
2639      IX2_PARAMETER_CHANGED = "IX2_PARAMETER_CHANGED";
2640      IX2_INSTANCE_ADDED = "IX2_INSTANCE_ADDED";
2641      IX2_INSTANCE_STARTED = "IX2_INSTANCE_STARTED";
2642      IX2_INSTANCE_REMOVED = "IX2_INSTANCE_REMOVED";
2643      IX2_ELEMENT_STATE_CHANGED = "IX2_ELEMENT_STATE_CHANGED";
2644      IX2_ACTION_LIST_PLAYBACK_CHANGED = "IX2_ACTION_LIST_PLAYBACK_CHANGED";
2645      IX2_VIEWPORT_WIDTH_CHANGED = "IX2_VIEWPORT_WIDTH_CHANGED";
2646      IX2_MEDIA_QUERIES_DEFINED = "IX2_MEDIA_QUERIES_DEFINED";
2647      IX2_TEST_FRAME_RENDERED = "IX2_TEST_FRAME_RENDERED";
2648    }
2649  });
2650
2651  
2651// packages/systems/ix2/shared-constants/IX2EngineConstants.ts
2652  var IX2EngineConstants_exports = {};
2653  __export(IX2EngineConstants_exports, {
2654    ABSTRACT_NODE: () => ABSTRACT_NODE,
2655    AUTO: () => AUTO,
2656    BACKGROUND: () => BACKGROUND,
2657    BACKGROUND_COLOR: () => BACKGROUND_COLOR,
2658    BAR_DELIMITER: () => BAR_DELIMITER,
2659    BORDER_COLOR: () => BORDER_COLOR,
2660    BOUNDARY_SELECTOR: () => BOUNDARY_SELECTOR,
2661    CHILDREN: () => CHILDREN,
2662    COLON_DELIMITER: () => COLON_DELIMITER,
2663    COLOR: () => COLOR,
2664    COMMA_DELIMITER: () => COMMA_DELIMITER,
2665    CONFIG_UNIT: () => CONFIG_UNIT,
2666    CONFIG_VALUE: () => CONFIG_VALUE,
2667    CONFIG_X_UNIT: () => CONFIG_X_UNIT,
2668    CONFIG_X_VALUE: () => CONFIG_X_VALUE,
2669    CONFIG_Y_UNIT: () => CONFIG_Y_UNIT,
2670    CONFIG_Y_VALUE: () => CONFIG_Y_VALUE,
2671    CONFIG_Z_UNIT: () => CONFIG_Z_UNIT,
2672    CONFIG_Z_VALUE: () => CONFIG_Z_VALUE,
2673    DISPLAY: () => DISPLAY,
2674    FILTER: () => FILTER,
2675    FLEX: () => FLEX,
2676    FONT_VARIATION_SETTINGS: () => FONT_VARIATION_SETTINGS,
2677    HEIGHT: () => HEIGHT,
2678    HTML_ELEMENT: () => HTML_ELEMENT,
2679    IMMEDIATE_CHILDREN: () => IMMEDIATE_CHILDREN,
2680    IX2_ID_DELIMITER: () => IX2_ID_DELIMITER,
2681    OPACITY: () => OPACITY,
2682    PARENT: () => PARENT,
2683    PLAIN_OBJECT: () => PLAIN_OBJECT,
2684    PRESERVE_3D: () => PRESERVE_3D,
2685    RENDER_GENERAL: () => RENDER_GENERAL,
2686    RENDER_PLUGIN: () => RENDER_PLUGIN,
2687    RENDER_STYLE: () => RENDER_STYLE,
2688    RENDER_TRANSFORM: () => RENDER_TRANSFORM,
2689    ROTATE_X: () => ROTATE_X,
2690    ROTATE_Y: () => ROTATE_Y,
2691    ROTATE_Z: () => ROTATE_Z,
2692    SCALE_3D: () => SCALE_3D,
2693    SCALE_X: () => SCALE_X,
2694    SCALE_Y: () => SCALE_Y,
2695    SCALE_Z: () => SCALE_Z,
2696    SIBLINGS: () => SIBLINGS,
2697    SKEW: () => SKEW,
2698    SKEW_X: () => SKEW_X,
2699    SKEW_Y: () => SKEW_Y,
2700    TRANSFORM: () => TRANSFORM,
2701    TRANSLATE_3D: () => TRANSLATE_3D,
2702    TRANSLATE_X: () => TRANSLATE_X,
2703    TRANSLATE_Y: () => TRANSLATE_Y,
2704    TRANSLATE_Z: () => TRANSLATE_Z,
2705    WF_PAGE: () => WF_PAGE,
2706    WIDTH: () => WIDTH,
2707    WILL_CHANGE: () => WILL_CHANGE,
2708    W_MOD_IX: () => W_MOD_IX,
2709    W_MOD_JS: () => W_MOD_JS
2710  });
2711  var IX2_ID_DELIMITER, WF_PAGE, W_MOD_JS, W_MOD_IX, BOUNDARY_SELECTOR, CONFIG_X_VALUE, CONFIG_Y_VALUE, CONFIG_Z_VALUE, CONFIG_VALUE, CONFIG_X_UNIT, CONFIG_Y_UNIT, CONFIG_Z_UNIT, CONFIG_UNIT, TRANSFORM, TRANSLATE_X, TRANSLATE_Y, TRANSLATE_Z, TRANSLATE_3D, SCALE_X, SCALE_Y, SCALE_Z, SCALE_3D, ROTATE_X, ROTATE_Y, ROTATE_Z, SKEW, SKEW_X, SKEW_Y, OPACITY, FILTER, FONT_VARIATION_SETTINGS, WIDTH, HEIGHT, BACKGROUND_COLOR, BACKGROUND, BORDER_COLOR, COLOR, DISPLAY, FLEX, WILL_CHANGE, AUTO, COMMA_DELIMITER, COLON_DELIMITER, BAR_DELIMITER, CHILDREN, IMMEDIATE_CHILDREN, SIBLINGS, PARENT, PRESERVE_3D, HTML_ELEMENT, PLAIN_OBJECT, ABSTRACT_NODE, RENDER_TRANSFORM, RENDER_GENERAL, RENDER_STYLE, RENDER_PLUGIN;
2712  var init_IX2EngineConstants = __esm({
2713    "packages/systems/ix2/shared-constants/IX2EngineConstants.ts"() {
2714      "use strict";
2715      IX2_ID_DELIMITER = "|";
2716      WF_PAGE = "data-wf-page";
2717      W_MOD_JS = "w-mod-js";
2718      W_MOD_IX = "w-mod-ix";
2719      BOUNDARY_SELECTOR = ".w-dyn-item";
2720      CONFIG_X_VALUE = "xValue";
2721      CONFIG_Y_VALUE = "yValue";
2722      CONFIG_Z_VALUE = "zValue";
2723      CONFIG_VALUE = "value";
2724      CONFIG_X_UNIT = "xUnit";
2725      CONFIG_Y_UNIT = "yUnit";
2726      CONFIG_Z_UNIT = "zUnit";
2727      CONFIG_UNIT = "unit";
2728      TRANSFORM = "transform";
2729      TRANSLATE_X = "translateX";
2730      TRANSLATE_Y = "translateY";
2731      TRANSLATE_Z = "translateZ";
2732      TRANSLATE_3D = "translate3d";
2733      SCALE_X = "scaleX";
2734      SCALE_Y = "scaleY";
2735      SCALE_Z = "scaleZ";
2736      SCALE_3D = "scale3d";
2737      ROTATE_X = "rotateX";
2738      ROTATE_Y = "rotateY";
2739      ROTATE_Z = "rotateZ";
2740      SKEW = "skew";
2741      SKEW_X = "skewX";
2742      SKEW_Y = "skewY";
2743      OPACITY = "opacity";
2744      FILTER = "filter";
2745      FONT_VARIATION_SETTINGS = "font-variation-settings";
2746      WIDTH = "width";
2747      HEIGHT = "height";
2748      BACKGROUND_COLOR = "backgroundColor";
2749      BACKGROUND = "background";
2750      BORDER_COLOR = "borderColor";
2751      COLOR = "color";
2752      DISPLAY = "display";
2753      FLEX = "flex";
2754      WILL_CHANGE = "willChange";
2755      AUTO = "AUTO";
2756      COMMA_DELIMITER = ",";
2757      COLON_DELIMITER = ":";
2758      BAR_DELIMITER = "|";
2759      CHILDREN = "CHILDREN";
2760      IMMEDIATE_CHILDREN = "IMMEDIATE_CHILDREN";
2761      SIBLINGS = "SIBLINGS";
2762      PARENT = "PARENT";
2763      PRESERVE_3D = "preserve-3d";
2764      HTML_ELEMENT = "HTML_ELEMENT";
2765      PLAIN_OBJECT = "PLAIN_OBJECT";
2766      ABSTRACT_NODE = "ABSTRACT_NODE";
2767      RENDER_TRANSFORM = "RENDER_TRANSFORM";
2768      RENDER_GENERAL = "RENDER_GENERAL";
2769      RENDER_STYLE = "RENDER_STYLE";
2770      RENDER_PLUGIN = "RENDER_PLUGIN";
2771    }
2772  });
2773
2774  
2774// packages/systems/ix2/shared-constants/index.ts
2775  var shared_constants_exports = {};
2776  __export(shared_constants_exports, {
2777    ActionAppliesTo: () => ActionAppliesTo,
2778    ActionTypeConsts: () => ActionTypeConsts,
2779    EventAppliesTo: () => EventAppliesTo,
2780    EventBasedOn: () => EventBasedOn,
2781    EventContinuousMouseAxes: () => EventContinuousMouseAxes,
2782    EventLimitAffectedElements: () => EventLimitAffectedElements,
2783    EventTypeConsts: () => EventTypeConsts,
2784    IX2EngineActionTypes: () => IX2EngineActionTypes_exports,
2785    IX2EngineConstants: () => IX2EngineConstants_exports,
2786    InteractionTypeConsts: () => InteractionTypeConsts,
2787    QuickEffectDirectionConsts: () => QuickEffectDirectionConsts,
2788    QuickEffectIds: () => QuickEffectIds,
2789    ReducedMotionTypes: () => ReducedMotionTypes
2790  });
2791  var init_shared_constants = __esm({
2792    "packages/systems/ix2/shared-constants/index.ts"() {
2793      "use strict";
2794      init_trigger_events();
2795      init_animation_actions();
2796      init_trigger_interactions();
2797      init_reduced_motion();
2798      init_IX2EngineActionTypes();
2799      init_IX2EngineConstants();
2800      init_animation_actions();
2801      init_trigger_events();
2802    }
2803  });
2804
2805  
2805// packages/systems/ix2/engine/reducers/IX2DataReducer.ts
2806  var IX2_RAW_DATA_IMPORTED2, ixData;
2807  var init_IX2DataReducer = __esm({
2808    "packages/systems/ix2/engine/reducers/IX2DataReducer.ts"() {
2809      "use strict";
2810      init_shared_constants();
2811      ({ IX2_RAW_DATA_IMPORTED: IX2_RAW_DATA_IMPORTED2 } = IX2EngineActionTypes_exports);
2812      ixData = (state = Object.freeze(
2813        {}
2814      ), action) => {
2815        switch (action.type) {
2816          case IX2_RAW_DATA_IMPORTED2: {
2817            return action.payload.ixData || Object.freeze({});
2818          }
2819          default: {
2820            return state;
2821          }
2822        }
2823      };
2824    }
2825  });
2826
2827  
vendor: 9,055 bytes, lines 2827-3084
2827// node_modules/timm/lib/timm.js
2828  var require_timm = __commonJS({
2829    "node_modules/timm/lib/timm.js"(exports) {
2830      "use strict";
2831      Object.defineProperty(exports, "__esModule", {
2832        value: true
2833      });
2834      var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function(obj) {
2835        return typeof obj;
2836      } : function(obj) {
2837        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
2838      };
2839      exports.clone = clone;
2840      exports.addLast = addLast2;
2841      exports.addFirst = addFirst;
2842      exports.removeLast = removeLast;
2843      exports.removeFirst = removeFirst;
2844      exports.insert = insert;
2845      exports.removeAt = removeAt;
2846      exports.replaceAt = replaceAt;
2847      exports.getIn = getIn2;
2848      exports.set = set3;
2849      exports.setIn = setIn4;
2850      exports.update = update;
2851      exports.updateIn = updateIn;
2852      exports.merge = merge3;
2853      exports.mergeDeep = mergeDeep;
2854      exports.mergeIn = mergeIn4;
2855      exports.omit = omit;
2856      exports.addDefaults = addDefaults;
2857      var INVALID_ARGS = "INVALID_ARGS";
2858      function throwStr(msg) {
2859        throw new Error(msg);
2860      }
2861      function getKeysAndSymbols(obj) {
2862        var keys = Object.keys(obj);
2863        if (Object.getOwnPropertySymbols) {
2864          return keys.concat(Object.getOwnPropertySymbols(obj));
2865        }
2866        return keys;
2867      }
2868      var hasOwnProperty = {}.hasOwnProperty;
2869      function clone(obj) {
2870        if (Array.isArray(obj))
2871          return obj.slice();
2872        var keys = getKeysAndSymbols(obj);
2873        var out = {};
2874        for (var i = 0; i < keys.length; i++) {
2875          var key = keys[i];
2876          out[key] = obj[key];
2877        }
2878        return out;
2879      }
2880      function doMerge(fAddDefaults, fDeep, first) {
2881        var out = first;
2882        !(out != null) && throwStr(false ? "At least one object should be provided to merge()" : INVALID_ARGS);
2883        var fChanged = false;
2884        for (var _len = arguments.length, rest = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
2885          rest[_key - 3] = arguments[_key];
2886        }
2887        for (var idx = 0; idx < rest.length; idx++) {
2888          var obj = rest[idx];
2889          if (obj == null)
2890            continue;
2891          var keys = getKeysAndSymbols(obj);
2892          if (!keys.length)
2893            continue;
2894          for (var j = 0; j <= keys.length; j++) {
2895            var key = keys[j];
2896            if (fAddDefaults && out[key] !== void 0)
2897              continue;
2898            var nextVal = obj[key];
2899            if (fDeep && isObject(out[key]) && isObject(nextVal)) {
2900              nextVal = doMerge(fAddDefaults, fDeep, out[key], nextVal);
2901            }
2902            if (nextVal === void 0 || nextVal === out[key])
2903              continue;
2904            if (!fChanged) {
2905              fChanged = true;
2906              out = clone(out);
2907            }
2908            out[key] = nextVal;
2909          }
2910        }
2911        return out;
2912      }
2913      function isObject(o) {
2914        var type = typeof o === "undefined" ? "undefined" : _typeof(o);
2915        return o != null && (type === "object" || type === "function");
2916      }
2917      function addLast2(array, val) {
2918        if (Array.isArray(val))
2919          return array.concat(val);
2920        return array.concat([val]);
2921      }
2922      function addFirst(array, val) {
2923        if (Array.isArray(val))
2924          return val.concat(array);
2925        return [val].concat(array);
2926      }
2927      function removeLast(array) {
2928        if (!array.length)
2929          return array;
2930        return array.slice(0, array.length - 1);
2931      }
2932      function removeFirst(array) {
2933        if (!array.length)
2934          return array;
2935        return array.slice(1);
2936      }
2937      function insert(array, idx, val) {
2938        return array.slice(0, idx).concat(Array.isArray(val) ? val : [val]).concat(array.slice(idx));
2939      }
2940      function removeAt(array, idx) {
2941        if (idx >= array.length || idx < 0)
2942          return array;
2943        return array.slice(0, idx).concat(array.slice(idx + 1));
2944      }
2945      function replaceAt(array, idx, newItem) {
2946        if (array[idx] === newItem)
2947          return array;
2948        var len = array.length;
2949        var result = Array(len);
2950        for (var i = 0; i < len; i++) {
2951          result[i] = array[i];
2952        }
2953        result[idx] = newItem;
2954        return result;
2955      }
2956      function getIn2(obj, path) {
2957        !Array.isArray(path) && throwStr(false ? "A path array should be provided when calling getIn()" : INVALID_ARGS);
2958        if (obj == null)
2959          return void 0;
2960        var ptr = obj;
2961        for (var i = 0; i < path.length; i++) {
2962          var key = path[i];
2963          ptr = ptr != null ? ptr[key] : void 0;
2964          if (ptr === void 0)
2965            return ptr;
2966        }
2967        return ptr;
2968      }
2969      function set3(obj, key, val) {
2970        var fallback = typeof key === "number" ? [] : {};
2971        var finalObj = obj == null ? fallback : obj;
2972        if (finalObj[key] === val)
2973          return finalObj;
2974        var obj2 = clone(finalObj);
2975        obj2[key] = val;
2976        return obj2;
2977      }
2978      function doSetIn(obj, path, val, idx) {
2979        var newValue = void 0;
2980        var key = path[idx];
2981        if (idx === path.length - 1) {
2982          newValue = val;
2983        } else {
2984          var nestedObj = isObject(obj) && isObject(obj[key]) ? obj[key] : typeof path[idx + 1] === "number" ? [] : {};
2985          newValue = doSetIn(nestedObj, path, val, idx + 1);
2986        }
2987        return set3(obj, key, newValue);
2988      }
2989      function setIn4(obj, path, val) {
2990        if (!path.length)
2991          return val;
2992        return doSetIn(obj, path, val, 0);
2993      }
2994      function update(obj, key, fnUpdate) {
2995        var prevVal = obj == null ? void 0 : obj[key];
2996        var nextVal = fnUpdate(prevVal);
2997        return set3(obj, key, nextVal);
2998      }
2999      function updateIn(obj, path, fnUpdate) {
3000        var prevVal = getIn2(obj, path);
3001        var nextVal = fnUpdate(prevVal);
3002        return setIn4(obj, path, nextVal);
3003      }
3004      function merge3(a, b, c, d, e, f) {
3005        for (var _len2 = arguments.length, rest = Array(_len2 > 6 ? _len2 - 6 : 0), _key2 = 6; _key2 < _len2; _key2++) {
3006          rest[_key2 - 6] = arguments[_key2];
3007        }
3008        return rest.length ? doMerge.call.apply(doMerge, [null, false, false, a, b, c, d, e, f].concat(rest)) : doMerge(false, false, a, b, c, d, e, f);
3009      }
3010      function mergeDeep(a, b, c, d, e, f) {
3011        for (var _len3 = arguments.length, rest = Array(_len3 > 6 ? _len3 - 6 : 0), _key3 = 6; _key3 < _len3; _key3++) {
3012          rest[_key3 - 6] = arguments[_key3];
3013        }
3014        return rest.length ? doMerge.call.apply(doMerge, [null, false, true, a, b, c, d, e, f].concat(rest)) : doMerge(false, true, a, b, c, d, e, f);
3015      }
3016      function mergeIn4(a, path, b, c, d, e, f) {
3017        var prevVal = getIn2(a, path);
3018        if (prevVal == null)
3019          prevVal = {};
3020        var nextVal = void 0;
3021        for (var _len4 = arguments.length, rest = Array(_len4 > 7 ? _len4 - 7 : 0), _key4 = 7; _key4 < _len4; _key4++) {
3022          rest[_key4 - 7] = arguments[_key4];
3023        }
3024        if (rest.length) {
3025          nextVal = doMerge.call.apply(doMerge, [null, false, false, prevVal, b, c, d, e, f].concat(rest));
3026        } else {
3027          nextVal = doMerge(false, false, prevVal, b, c, d, e, f);
3028        }
3029        return setIn4(a, path, nextVal);
3030      }
3031      function omit(obj, attrs) {
3032        var omitList = Array.isArray(attrs) ? attrs : [attrs];
3033        var fDoSomething = false;
3034        for (var i = 0; i < omitList.length; i++) {
3035          if (hasOwnProperty.call(obj, omitList[i])) {
3036            fDoSomething = true;
3037            break;
3038          }
3039        }
3040        if (!fDoSomething)
3041          return obj;
3042        var out = {};
3043        var keys = getKeysAndSymbols(obj);
3044        for (var _i = 0; _i < keys.length; _i++) {
3045          var key = keys[_i];
3046          if (omitList.indexOf(key) >= 0)
3047            continue;
3048          out[key] = obj[key];
3049        }
3050        return out;
3051      }
3052      function addDefaults(a, b, c, d, e, f) {
3053        for (var _len5 = arguments.length, rest = Array(_len5 > 6 ? _len5 - 6 : 0), _key5 = 6; _key5 < _len5; _key5++) {
3054          rest[_key5 - 6] = arguments[_key5];
3055        }
3056        return rest.length ? doMerge.call.apply(doMerge, [null, true, false, a, b, c, d, e, f].concat(rest)) : doMerge(true, false, a, b, c, d, e, f);
3057      }
3058      var timm = {
3059        clone,
3060        addLast: addLast2,
3061        addFirst,
3062        removeLast,
3063        removeFirst,
3064        insert,
3065        removeAt,
3066        replaceAt,
3067        getIn: getIn2,
3068        // eslint-disable-next-line object-shorthand
3069        set: set3,
3070        // so that flow doesn't complain
3071        setIn: setIn4,
3072        update,
3073        updateIn,
3074        merge: merge3,
3075        mergeDeep,
3076        mergeIn: mergeIn4,
3077        omit,
3078        addDefaults
3079      };
3080      exports.default = timm;
3081    }
3082  });
3083
3084  
3084// packages/systems/ix2/engine/reducers/IX2RequestReducer.ts
3085  var import_timm, IX2_PREVIEW_REQUESTED2, IX2_PLAYBACK_REQUESTED2, IX2_STOP_REQUESTED2, IX2_CLEAR_REQUESTED2, initialState, stateKeys, ixRequest;
3086  var init_IX2RequestReducer = __esm({
3087    "packages/systems/ix2/engine/reducers/IX2RequestReducer.ts"() {
3088      "use strict";
3089      init_shared_constants();
3090      import_timm = __toESM(require_timm());
3091      ({
3092        IX2_PREVIEW_REQUESTED: IX2_PREVIEW_REQUESTED2,
3093        IX2_PLAYBACK_REQUESTED: IX2_PLAYBACK_REQUESTED2,
3094        IX2_STOP_REQUESTED: IX2_STOP_REQUESTED2,
3095        IX2_CLEAR_REQUESTED: IX2_CLEAR_REQUESTED2
3096      } = IX2EngineActionTypes_exports);
3097      initialState = {
3098        preview: {},
3099        playback: {},
3100        stop: {},
3101        clear: {}
3102      };
3103      stateKeys = Object.create(null, {
3104        [IX2_PREVIEW_REQUESTED2]: { value: "preview" },
3105        [IX2_PLAYBACK_REQUESTED2]: { value: "playback" },
3106        [IX2_STOP_REQUESTED2]: { value: "stop" },
3107        [IX2_CLEAR_REQUESTED2]: { value: "clear" }
3108      });
3109      ixRequest = (state = initialState, action) => {
3110        if (action.type in stateKeys) {
3111          const key = [stateKeys[action.type]];
3112          return (0, import_timm.setIn)(state, [key], { ...action.payload });
3113        }
3114        return state;
3115      };
3116    }
3117  });
3118
3119  
3119// packages/systems/ix2/engine/reducers/IX2SessionReducer.ts
3120  var import_timm2, IX2_SESSION_INITIALIZED2, IX2_SESSION_STARTED2, IX2_TEST_FRAME_RENDERED2, IX2_SESSION_STOPPED2, IX2_EVENT_LISTENER_ADDED2, IX2_EVENT_STATE_CHANGED2, IX2_ANIMATION_FRAME_CHANGED2, IX2_ACTION_LIST_PLAYBACK_CHANGED2, IX2_VIEWPORT_WIDTH_CHANGED2, IX2_MEDIA_QUERIES_DEFINED2, initialState2, TEST_FRAME_STEPS_SIZE, ixSession;
3121  var init_IX2SessionReducer = __esm({
3122    "packages/systems/ix2/engine/reducers/IX2SessionReducer.ts"() {
3123      "use strict";
3124      init_shared_constants();
3125      import_timm2 = __toESM(require_timm());
3126      ({
3127        IX2_SESSION_INITIALIZED: IX2_SESSION_INITIALIZED2,
3128        IX2_SESSION_STARTED: IX2_SESSION_STARTED2,
3129        IX2_TEST_FRAME_RENDERED: IX2_TEST_FRAME_RENDERED2,
3130        IX2_SESSION_STOPPED: IX2_SESSION_STOPPED2,
3131        IX2_EVENT_LISTENER_ADDED: IX2_EVENT_LISTENER_ADDED2,
3132        IX2_EVENT_STATE_CHANGED: IX2_EVENT_STATE_CHANGED2,
3133        IX2_ANIMATION_FRAME_CHANGED: IX2_ANIMATION_FRAME_CHANGED2,
3134        IX2_ACTION_LIST_PLAYBACK_CHANGED: IX2_ACTION_LIST_PLAYBACK_CHANGED2,
3135        IX2_VIEWPORT_WIDTH_CHANGED: IX2_VIEWPORT_WIDTH_CHANGED2,
3136        IX2_MEDIA_QUERIES_DEFINED: IX2_MEDIA_QUERIES_DEFINED2
3137      } = IX2EngineActionTypes_exports);
3138      initialState2 = {
3139        active: false,
3140        tick: 0,
3141        eventListeners: [],
3142        eventState: {},
3143        playbackState: {},
3144        viewportWidth: 0,
3145        mediaQueryKey: null,
3146        hasBoundaryNodes: false,
3147        hasDefinedMediaQueries: false,
3148        reducedMotion: false
3149      };
3150      TEST_FRAME_STEPS_SIZE = 20;
3151      ixSession = (state = initialState2, action) => {
3152        switch (action.type) {
3153          case IX2_SESSION_INITIALIZED2: {
3154            const { hasBoundaryNodes, reducedMotion } = action.payload;
3155            return (0, import_timm2.merge)(state, {
3156              hasBoundaryNodes,
3157              reducedMotion
3158            });
3159          }
3160          case IX2_SESSION_STARTED2: {
3161            return (0, import_timm2.set)(state, "active", true);
3162          }
3163          case IX2_TEST_FRAME_RENDERED2: {
3164            const {
3165              payload: { step = TEST_FRAME_STEPS_SIZE }
3166            } = action;
3167            return (0, import_timm2.set)(state, "tick", state.tick + step);
3168          }
3169          case IX2_SESSION_STOPPED2: {
3170            return initialState2;
3171          }
3172          case IX2_ANIMATION_FRAME_CHANGED2: {
3173            const {
3174              payload: { now }
3175            } = action;
3176            return (0, import_timm2.set)(state, "tick", now);
3177          }
3178          case IX2_EVENT_LISTENER_ADDED2: {
3179            const eventListeners = (0, import_timm2.addLast)(state.eventListeners, action.payload);
3180            return (0, import_timm2.set)(state, "eventListeners", eventListeners);
3181          }
3182          case IX2_EVENT_STATE_CHANGED2: {
3183            const { stateKey, newState } = action.payload;
3184            return (0, import_timm2.setIn)(state, ["eventState", stateKey], newState);
3185          }
3186          case IX2_ACTION_LIST_PLAYBACK_CHANGED2: {
3187            const { actionListId, isPlaying } = action.payload;
3188            return (0, import_timm2.setIn)(state, ["playbackState", actionListId], isPlaying);
3189          }
3190          case IX2_VIEWPORT_WIDTH_CHANGED2: {
3191            const { width, mediaQueries } = action.payload;
3192            const mediaQueryCount = mediaQueries.length;
3193            let mediaQueryKey = null;
3194            for (let i = 0; i < mediaQueryCount; i++) {
3195              const { key, min, max } = mediaQueries[i];
3196              if (width >= min && width <= max) {
3197                mediaQueryKey = key;
3198                break;
3199              }
3200            }
3201            return (0, import_timm2.merge)(state, {
3202              viewportWidth: width,
3203              mediaQueryKey
3204            });
3205          }
3206          case IX2_MEDIA_QUERIES_DEFINED2: {
3207            return (0, import_timm2.set)(state, "hasDefinedMediaQueries", true);
3208          }
3209          default: {
3210            return state;
3211          }
3212        }
3213      };
3214    }
3215  });
3216
3217  
vendor: 297 bytes, lines 3217-3228
3217// node_modules/lodash/_listCacheClear.js
3218  var require_listCacheClear = __commonJS({
3219    "node_modules/lodash/_listCacheClear.js"(exports, module) {
3220      function listCacheClear() {
3221        this.__data__ = [];
3222        this.size = 0;
3223      }
3224      module.exports = listCacheClear;
3225    }
3226  });
3227
3228  
vendor: 266 bytes, lines 3228-3238
3228// node_modules/lodash/eq.js
3229  var require_eq = __commonJS({
3230    "node_modules/lodash/eq.js"(exports, module) {
3231      function eq(value, other) {
3232        return value === other || value !== value && other !== other;
3233      }
3234      module.exports = eq;
3235    }
3236  });
3237
3238  
vendor: 448 bytes, lines 3238-3255
3238// node_modules/lodash/_assocIndexOf.js
3239  var require_assocIndexOf = __commonJS({
3240    "node_modules/lodash/_assocIndexOf.js"(exports, module) {
3241      var eq = require_eq();
3242      function assocIndexOf(array, key) {
3243        var length = array.length;
3244        while (length--) {
3245          if (eq(array[length][0], key)) {
3246            return length;
3247          }
3248        }
3249        return -1;
3250      }
3251      module.exports = assocIndexOf;
3252    }
3253  });
3254
3255  
vendor: 712 bytes, lines 3255-3279
3255// node_modules/lodash/_listCacheDelete.js
3256  var require_listCacheDelete = __commonJS({
3257    "node_modules/lodash/_listCacheDelete.js"(exports, module) {
3258      var assocIndexOf = require_assocIndexOf();
3259      var arrayProto = Array.prototype;
3260      var splice = arrayProto.splice;
3261      function listCacheDelete(key) {
3262        var data = this.__data__, index = assocIndexOf(data, key);
3263        if (index < 0) {
3264          return false;
3265        }
3266        var lastIndex = data.length - 1;
3267        if (index == lastIndex) {
3268          data.pop();
3269        } else {
3270          splice.call(data, index, 1);
3271        }
3272        --this.size;
3273        return true;
3274      }
3275      module.exports = listCacheDelete;
3276    }
3277  });
3278
3279  
vendor: 407 bytes, lines 3279-3291
3279// node_modules/lodash/_listCacheGet.js
3280  var require_listCacheGet = __commonJS({
3281    "node_modules/lodash/_listCacheGet.js"(exports, module) {
3282      var assocIndexOf = require_assocIndexOf();
3283      function listCacheGet(key) {
3284        var data = this.__data__, index = assocIndexOf(data, key);
3285        return index < 0 ? void 0 : data[index][1];
3286      }
3287      module.exports = listCacheGet;
3288    }
3289  });
3290
3291  
vendor: 342 bytes, lines 3291-3302
3291// node_modules/lodash/_listCacheHas.js
3292  var require_listCacheHas = __commonJS({
3293    "node_modules/lodash/_listCacheHas.js"(exports, module) {
3294      var assocIndexOf = require_assocIndexOf();
3295      function listCacheHas(key) {
3296        return assocIndexOf(this.__data__, key) > -1;
3297      }
3298      module.exports = listCacheHas;
3299    }
3300  });
3301
3302  
vendor: 527 bytes, lines 3302-3320
3302// node_modules/lodash/_listCacheSet.js
3303  var require_listCacheSet = __commonJS({
3304    "node_modules/lodash/_listCacheSet.js"(exports, module) {
3305      var assocIndexOf = require_assocIndexOf();
3306      function listCacheSet(key, value) {
3307        var data = this.__data__, index = assocIndexOf(data, key);
3308        if (index < 0) {
3309          ++this.size;
3310          data.push([key, value]);
3311        } else {
3312          data[index][1] = value;
3313        }
3314        return this;
3315      }
3316      module.exports = listCacheSet;
3317    }
3318  });
3319
3320  
vendor: 942 bytes, lines 3320-3345
3320// node_modules/lodash/_ListCache.js
3321  var require_ListCache = __commonJS({
3322    "node_modules/lodash/_ListCache.js"(exports, module) {
3323      var listCacheClear = require_listCacheClear();
3324      var listCacheDelete = require_listCacheDelete();
3325      var listCacheGet = require_listCacheGet();
3326      var listCacheHas = require_listCacheHas();
3327      var listCacheSet = require_listCacheSet();
3328      function ListCache(entries) {
3329        var index = -1, length = entries == null ? 0 : entries.length;
3330        this.clear();
3331        while (++index < length) {
3332          var entry = entries[index];
3333          this.set(entry[0], entry[1]);
3334        }
3335      }
3336      ListCache.prototype.clear = listCacheClear;
3337      ListCache.prototype["delete"] = listCacheDelete;
3338      ListCache.prototype.get = listCacheGet;
3339      ListCache.prototype.has = listCacheHas;
3340      ListCache.prototype.set = listCacheSet;
3341      module.exports = ListCache;
3342    }
3343  });
3344
3345  
vendor: 333 bytes, lines 3345-3357
3345// node_modules/lodash/_stackClear.js
3346  var require_stackClear = __commonJS({
3347    "node_modules/lodash/_stackClear.js"(exports, module) {
3348      var ListCache = require_ListCache();
3349      function stackClear() {
3350        this.__data__ = new ListCache();
3351        this.size = 0;
3352      }
3353      module.exports = stackClear;
3354    }
3355  });
3356
3357  
vendor: 352 bytes, lines 3357-3369
3357// node_modules/lodash/_stackDelete.js
3358  var require_stackDelete = __commonJS({
3359    "node_modules/lodash/_stackDelete.js"(exports, module) {
3360      function stackDelete(key) {
3361        var data = this.__data__, result = data["delete"](key);
3362        this.size = data.size;
3363        return result;
3364      }
3365      module.exports = stackDelete;
3366    }
3367  });
3368
3369  
vendor: 258 bytes, lines 3369-3379
3369// node_modules/lodash/_stackGet.js
3370  var require_stackGet = __commonJS({
3371    "node_modules/lodash/_stackGet.js"(exports, module) {
3372      function stackGet(key) {
3373        return this.__data__.get(key);
3374      }
3375      module.exports = stackGet;
3376    }
3377  });
3378
3379  
vendor: 258 bytes, lines 3379-3389
3379// node_modules/lodash/_stackHas.js
3380  var require_stackHas = __commonJS({
3381    "node_modules/lodash/_stackHas.js"(exports, module) {
3382      function stackHas(key) {
3383        return this.__data__.has(key);
3384      }
3385      module.exports = stackHas;
3386    }
3387  });
3388
3389  
vendor: 326 bytes, lines 3389-3400
3389// node_modules/lodash/isObject.js
3390  var require_isObject = __commonJS({
3391    "node_modules/lodash/isObject.js"(exports, module) {
3392      function isObject(value) {
3393        var type = typeof value;
3394        return value != null && (type == "object" || type == "function");
3395      }
3396      module.exports = isObject;
3397    }
3398  });
3399
3400  
vendor: 680 bytes, lines 3400-3420
3400// node_modules/lodash/isFunction.js
3401  var require_isFunction = __commonJS({
3402    "node_modules/lodash/isFunction.js"(exports, module) {
3403      var baseGetTag = require_baseGetTag();
3404      var isObject = require_isObject();
3405      var asyncTag = "[object AsyncFunction]";
3406      var funcTag = "[object Function]";
3407      var genTag = "[object GeneratorFunction]";
3408      var proxyTag = "[object Proxy]";
3409      function isFunction(value) {
3410        if (!isObject(value)) {
3411          return false;
3412        }
3413        var tag = baseGetTag(value);
3414        return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
3415      }
3416      module.exports = isFunction;
3417    }
3418  });
3419
3420  
vendor: 272 bytes, lines 3420-3429
3420// node_modules/lodash/_coreJsData.js
3421  var require_coreJsData = __commonJS({
3422    "node_modules/lodash/_coreJsData.js"(exports, module) {
3423      var root = require_root();
3424      var coreJsData = root["__core-js_shared__"];
3425      module.exports = coreJsData;
3426    }
3427  });
3428
3429  
vendor: 511 bytes, lines 3429-3444
3429// node_modules/lodash/_isMasked.js
3430  var require_isMasked = __commonJS({
3431    "node_modules/lodash/_isMasked.js"(exports, module) {
3432      var coreJsData = require_coreJsData();
3433      var maskSrcKey = function() {
3434        var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
3435        return uid ? "Symbol(src)_1." + uid : "";
3436      }();
3437      function isMasked(func) {
3438        return !!maskSrcKey && maskSrcKey in func;
3439      }
3440      module.exports = isMasked;
3441    }
3442  });
3443
3444  
vendor: 542 bytes, lines 3444-3466
3444// node_modules/lodash/_toSource.js
3445  var require_toSource = __commonJS({
3446    "node_modules/lodash/_toSource.js"(exports, module) {
3447      var funcProto = Function.prototype;
3448      var funcToString = funcProto.toString;
3449      function toSource(func) {
3450        if (func != null) {
3451          try {
3452            return funcToString.call(func);
3453          } catch (e) {
3454          }
3455          try {
3456            return func + "";
3457          } catch (e) {
3458          }
3459        }
3460        return "";
3461      }
3462      module.exports = toSource;
3463    }
3464  });
3465
3466  
vendor: 1,096 bytes, lines 3466-3493
3466// node_modules/lodash/_baseIsNative.js
3467  var require_baseIsNative = __commonJS({
3468    "node_modules/lodash/_baseIsNative.js"(exports, module) {
3469      var isFunction = require_isFunction();
3470      var isMasked = require_isMasked();
3471      var isObject = require_isObject();
3472      var toSource = require_toSource();
3473      var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
3474      var reIsHostCtor = /^\[object .+?Constructor\]$/;
3475      var funcProto = Function.prototype;
3476      var objectProto = Object.prototype;
3477      var funcToString = funcProto.toString;
3478      var hasOwnProperty = objectProto.hasOwnProperty;
3479      var reIsNative = RegExp(
3480        "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
3481      );
3482      function baseIsNative(value) {
3483        if (!isObject(value) || isMasked(value)) {
3484          return false;
3485        }
3486        var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
3487        return pattern.test(toSource(value));
3488      }
3489      module.exports = baseIsNative;
3490    }
3491  });
3492
3493  
vendor: 281 bytes, lines 3493-3503
3493// node_modules/lodash/_getValue.js
3494  var require_getValue = __commonJS({
3495    "node_modules/lodash/_getValue.js"(exports, module) {
3496      function getValue(object, key) {
3497        return object == null ? void 0 : object[key];
3498      }
3499      module.exports = getValue;
3500    }
3501  });
3502
3503  
vendor: 418 bytes, lines 3503-3516
3503// node_modules/lodash/_getNative.js
3504  var require_getNative = __commonJS({
3505    "node_modules/lodash/_getNative.js"(exports, module) {
3506      var baseIsNative = require_baseIsNative();
3507      var getValue = require_getValue();
3508      function getNative(object, key) {
3509        var value = getValue(object, key);
3510        return baseIsNative(value) ? value : void 0;
3511      }
3512      module.exports = getNative;
3513    }
3514  });
3515
3516  
vendor: 278 bytes, lines 3516-3526
3516// node_modules/lodash/_Map.js
3517  var require_Map = __commonJS({
3518    "node_modules/lodash/_Map.js"(exports, module) {
3519      var getNative = require_getNative();
3520      var root = require_root();
3521      var Map2 = getNative(root, "Map");
3522      module.exports = Map2;
3523    }
3524  });
3525
3526  
vendor: 293 bytes, lines 3526-3535
3526// node_modules/lodash/_nativeCreate.js
3527  var require_nativeCreate = __commonJS({
3528    "node_modules/lodash/_nativeCreate.js"(exports, module) {
3529      var getNative = require_getNative();
3530      var nativeCreate = getNative(Object, "create");
3531      module.exports = nativeCreate;
3532    }
3533  });
3534
3535  
vendor: 357 bytes, lines 3535-3547
3535// node_modules/lodash/_hashClear.js
3536  var require_hashClear = __commonJS({
3537    "node_modules/lodash/_hashClear.js"(exports, module) {
3538      var nativeCreate = require_nativeCreate();
3539      function hashClear() {
3540        this.__data__ = nativeCreate ? nativeCreate(null) : {};
3541        this.size = 0;
3542      }
3543      module.exports = hashClear;
3544    }
3545  });
3546
3547  
vendor: 354 bytes, lines 3547-3559
3547// node_modules/lodash/_hashDelete.js
3548  var require_hashDelete = __commonJS({
3549    "node_modules/lodash/_hashDelete.js"(exports, module) {
3550      function hashDelete(key) {
3551        var result = this.has(key) && delete this.__data__[key];
3552        this.size -= result ? 1 : 0;
3553        return result;
3554      }
3555      module.exports = hashDelete;
3556    }
3557  });
3558
3559  
vendor: 652 bytes, lines 3559-3578
3559// node_modules/lodash/_hashGet.js
3560  var require_hashGet = __commonJS({
3561    "node_modules/lodash/_hashGet.js"(exports, module) {
3562      var nativeCreate = require_nativeCreate();
3563      var HASH_UNDEFINED = "__lodash_hash_undefined__";
3564      var objectProto = Object.prototype;
3565      var hasOwnProperty = objectProto.hasOwnProperty;
3566      function hashGet(key) {
3567        var data = this.__data__;
3568        if (nativeCreate) {
3569          var result = data[key];
3570          return result === HASH_UNDEFINED ? void 0 : result;
3571        }
3572        return hasOwnProperty.call(data, key) ? data[key] : void 0;
3573      }
3574      module.exports = hashGet;
3575    }
3576  });
3577
3578  
vendor: 479 bytes, lines 3578-3592
3578// node_modules/lodash/_hashHas.js
3579  var require_hashHas = __commonJS({
3580    "node_modules/lodash/_hashHas.js"(exports, module) {
3581      var nativeCreate = require_nativeCreate();
3582      var objectProto = Object.prototype;
3583      var hasOwnProperty = objectProto.hasOwnProperty;
3584      function hashHas(key) {
3585        var data = this.__data__;
3586        return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
3587      }
3588      module.exports = hashHas;
3589    }
3590  });
3591
3592  
vendor: 504 bytes, lines 3592-3607
3592// node_modules/lodash/_hashSet.js
3593  var require_hashSet = __commonJS({
3594    "node_modules/lodash/_hashSet.js"(exports, module) {
3595      var nativeCreate = require_nativeCreate();
3596      var HASH_UNDEFINED = "__lodash_hash_undefined__";
3597      function hashSet(key, value) {
3598        var data = this.__data__;
3599        this.size += this.has(key) ? 0 : 1;
3600        data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
3601        return this;
3602      }
3603      module.exports = hashSet;
3604    }
3605  });
3606
3607  
vendor: 817 bytes, lines 3607-3632
3607// node_modules/lodash/_Hash.js
3608  var require_Hash = __commonJS({
3609    "node_modules/lodash/_Hash.js"(exports, module) {
3610      var hashClear = require_hashClear();
3611      var hashDelete = require_hashDelete();
3612      var hashGet = require_hashGet();
3613      var hashHas = require_hashHas();
3614      var hashSet = require_hashSet();
3615      function Hash(entries) {
3616        var index = -1, length = entries == null ? 0 : entries.length;
3617        this.clear();
3618        while (++index < length) {
3619          var entry = entries[index];
3620          this.set(entry[0], entry[1]);
3621        }
3622      }
3623      Hash.prototype.clear = hashClear;
3624      Hash.prototype["delete"] = hashDelete;
3625      Hash.prototype.get = hashGet;
3626      Hash.prototype.has = hashHas;
3627      Hash.prototype.set = hashSet;
3628      module.exports = Hash;
3629    }
3630  });
3631
3632  
vendor: 514 bytes, lines 3632-3650
3632// node_modules/lodash/_mapCacheClear.js
3633  var require_mapCacheClear = __commonJS({
3634    "node_modules/lodash/_mapCacheClear.js"(exports, module) {
3635      var Hash = require_Hash();
3636      var ListCache = require_ListCache();
3637      var Map2 = require_Map();
3638      function mapCacheClear() {
3639        this.size = 0;
3640        this.__data__ = {
3641          "hash": new Hash(),
3642          "map": new (Map2 || ListCache)(),
3643          "string": new Hash()
3644        };
3645      }
3646      module.exports = mapCacheClear;
3647    }
3648  });
3649
3650  
vendor: 394 bytes, lines 3650-3661
3650// node_modules/lodash/_isKeyable.js
3651  var require_isKeyable = __commonJS({
3652    "node_modules/lodash/_isKeyable.js"(exports, module) {
3653      function isKeyable(value) {
3654        var type = typeof value;
3655        return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
3656      }
3657      module.exports = isKeyable;
3658    }
3659  });
3660
3661  
vendor: 403 bytes, lines 3661-3673
3661// node_modules/lodash/_getMapData.js
3662  var require_getMapData = __commonJS({
3663    "node_modules/lodash/_getMapData.js"(exports, module) {
3664      var isKeyable = require_isKeyable();
3665      function getMapData(map, key) {
3666        var data = map.__data__;
3667        return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
3668      }
3669      module.exports = getMapData;
3670    }
3671  });
3672
3673  
vendor: 413 bytes, lines 3673-3686
3673// node_modules/lodash/_mapCacheDelete.js
3674  var require_mapCacheDelete = __commonJS({
3675    "node_modules/lodash/_mapCacheDelete.js"(exports, module) {
3676      var getMapData = require_getMapData();
3677      function mapCacheDelete(key) {
3678        var result = getMapData(this, key)["delete"](key);
3679        this.size -= result ? 1 : 0;
3680        return result;
3681      }
3682      module.exports = mapCacheDelete;
3683    }
3684  });
3685
3686  
vendor: 326 bytes, lines 3686-3697
3686// node_modules/lodash/_mapCacheGet.js
3687  var require_mapCacheGet = __commonJS({
3688    "node_modules/lodash/_mapCacheGet.js"(exports, module) {
3689      var getMapData = require_getMapData();
3690      function mapCacheGet(key) {
3691        return getMapData(this, key).get(key);
3692      }
3693      module.exports = mapCacheGet;
3694    }
3695  });
3696
3697  
vendor: 326 bytes, lines 3697-3708
3697// node_modules/lodash/_mapCacheHas.js
3698  var require_mapCacheHas = __commonJS({
3699    "node_modules/lodash/_mapCacheHas.js"(exports, module) {
3700      var getMapData = require_getMapData();
3701      function mapCacheHas(key) {
3702        return getMapData(this, key).has(key);
3703      }
3704      module.exports = mapCacheHas;
3705    }
3706  });
3707
3708  
vendor: 447 bytes, lines 3708-3722
3708// node_modules/lodash/_mapCacheSet.js
3709  var require_mapCacheSet = __commonJS({
3710    "node_modules/lodash/_mapCacheSet.js"(exports, module) {
3711      var getMapData = require_getMapData();
3712      function mapCacheSet(key, value) {
3713        var data = getMapData(this, key), size2 = data.size;
3714        data.set(key, value);
3715        this.size += data.size == size2 ? 0 : 1;
3716        return this;
3717      }
3718      module.exports = mapCacheSet;
3719    }
3720  });
3721
3722  
vendor: 917 bytes, lines 3722-3747
3722// node_modules/lodash/_MapCache.js
3723  var require_MapCache = __commonJS({
3724    "node_modules/lodash/_MapCache.js"(exports, module) {
3725      var mapCacheClear = require_mapCacheClear();
3726      var mapCacheDelete = require_mapCacheDelete();
3727      var mapCacheGet = require_mapCacheGet();
3728      var mapCacheHas = require_mapCacheHas();
3729      var mapCacheSet = require_mapCacheSet();
3730      function MapCache(entries) {
3731        var index = -1, length = entries == null ? 0 : entries.length;
3732        this.clear();
3733        while (++index < length) {
3734          var entry = entries[index];
3735          this.set(entry[0], entry[1]);
3736        }
3737      }
3738      MapCache.prototype.clear = mapCacheClear;
3739      MapCache.prototype["delete"] = mapCacheDelete;
3740      MapCache.prototype.get = mapCacheGet;
3741      MapCache.prototype.has = mapCacheHas;
3742      MapCache.prototype.set = mapCacheSet;
3743      module.exports = MapCache;
3744    }
3745  });
3746
3747  
vendor: 808 bytes, lines 3747-3773
3747// node_modules/lodash/_stackSet.js
3748  var require_stackSet = __commonJS({
3749    "node_modules/lodash/_stackSet.js"(exports, module) {
3750      var ListCache = require_ListCache();
3751      var Map2 = require_Map();
3752      var MapCache = require_MapCache();
3753      var LARGE_ARRAY_SIZE = 200;
3754      function stackSet(key, value) {
3755        var data = this.__data__;
3756        if (data instanceof ListCache) {
3757          var pairs = data.__data__;
3758          if (!Map2 || pairs.length < LARGE_ARRAY_SIZE - 1) {
3759            pairs.push([key, value]);
3760            this.size = ++data.size;
3761            return this;
3762          }
3763          data = this.__data__ = new MapCache(pairs);
3764        }
3765        data.set(key, value);
3766        this.size = data.size;
3767        return this;
3768      }
3769      module.exports = stackSet;
3770    }
3771  });
3772
3773  
vendor: 759 bytes, lines 3773-3795
3773// node_modules/lodash/_Stack.js
3774  var require_Stack = __commonJS({
3775    "node_modules/lodash/_Stack.js"(exports, module) {
3776      var ListCache = require_ListCache();
3777      var stackClear = require_stackClear();
3778      var stackDelete = require_stackDelete();
3779      var stackGet = require_stackGet();
3780      var stackHas = require_stackHas();
3781      var stackSet = require_stackSet();
3782      function Stack(entries) {
3783        var data = this.__data__ = new ListCache(entries);
3784        this.size = data.size;
3785      }
3786      Stack.prototype.clear = stackClear;
3787      Stack.prototype["delete"] = stackDelete;
3788      Stack.prototype.get = stackGet;
3789      Stack.prototype.has = stackHas;
3790      Stack.prototype.set = stackSet;
3791      module.exports = Stack;
3792    }
3793  });
3794
3795  
vendor: 363 bytes, lines 3795-3807
3795// node_modules/lodash/_setCacheAdd.js
3796  var require_setCacheAdd = __commonJS({
3797    "node_modules/lodash/_setCacheAdd.js"(exports, module) {
3798      var HASH_UNDEFINED = "__lodash_hash_undefined__";
3799      function setCacheAdd(value) {
3800        this.__data__.set(value, HASH_UNDEFINED);
3801        return this;
3802      }
3803      module.exports = setCacheAdd;
3804    }
3805  });
3806
3807  
vendor: 277 bytes, lines 3807-3817
3807// node_modules/lodash/_setCacheHas.js
3808  var require_setCacheHas = __commonJS({
3809    "node_modules/lodash/_setCacheHas.js"(exports, module) {
3810      function setCacheHas(value) {
3811        return this.__data__.has(value);
3812      }
3813      module.exports = setCacheHas;
3814    }
3815  });
3816
3817  
vendor: 660 bytes, lines 3817-3836
3817// node_modules/lodash/_SetCache.js
3818  var require_SetCache = __commonJS({
3819    "node_modules/lodash/_SetCache.js"(exports, module) {
3820      var MapCache = require_MapCache();
3821      var setCacheAdd = require_setCacheAdd();
3822      var setCacheHas = require_setCacheHas();
3823      function SetCache(values) {
3824        var index = -1, length = values == null ? 0 : values.length;
3825        this.__data__ = new MapCache();
3826        while (++index < length) {
3827          this.add(values[index]);
3828        }
3829      }
3830      SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
3831      SetCache.prototype.has = setCacheHas;
3832      module.exports = SetCache;
3833    }
3834  });
3835
3836  
vendor: 463 bytes, lines 3836-3852
3836// node_modules/lodash/_arraySome.js
3837  var require_arraySome = __commonJS({
3838    "node_modules/lodash/_arraySome.js"(exports, module) {
3839      function arraySome(array, predicate) {
3840        var index = -1, length = array == null ? 0 : array.length;
3841        while (++index < length) {
3842          if (predicate(array[index], index, array)) {
3843            return true;
3844          }
3845        }
3846        return false;
3847      }
3848      module.exports = arraySome;
3849    }
3850  });
3851
3852  
vendor: 257 bytes, lines 3852-3862
3852// node_modules/lodash/_cacheHas.js
3853  var require_cacheHas = __commonJS({
3854    "node_modules/lodash/_cacheHas.js"(exports, module) {
3855      function cacheHas(cache, key) {
3856        return cache.has(key);
3857      }
3858      module.exports = cacheHas;
3859    }
3860  });
3861
3862  
vendor: 2,169 bytes, lines 3862-3917
3862// node_modules/lodash/_equalArrays.js
3863  var require_equalArrays = __commonJS({
3864    "node_modules/lodash/_equalArrays.js"(exports, module) {
3865      var SetCache = require_SetCache();
3866      var arraySome = require_arraySome();
3867      var cacheHas = require_cacheHas();
3868      var COMPARE_PARTIAL_FLAG = 1;
3869      var COMPARE_UNORDERED_FLAG = 2;
3870      function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
3871        var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length;
3872        if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
3873          return false;
3874        }
3875        var arrStacked = stack.get(array);
3876        var othStacked = stack.get(other);
3877        if (arrStacked && othStacked) {
3878          return arrStacked == other && othStacked == array;
3879        }
3880        var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : void 0;
3881        stack.set(array, other);
3882        stack.set(other, array);
3883        while (++index < arrLength) {
3884          var arrValue = array[index], othValue = other[index];
3885          if (customizer) {
3886            var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
3887          }
3888          if (compared !== void 0) {
3889            if (compared) {
3890              continue;
3891            }
3892            result = false;
3893            break;
3894          }
3895          if (seen) {
3896            if (!arraySome(other, function(othValue2, othIndex) {
3897              if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) {
3898                return seen.push(othIndex);
3899              }
3900            })) {
3901              result = false;
3902              break;
3903            }
3904          } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
3905            result = false;
3906            break;
3907          }
3908        }
3909        stack["delete"](array);
3910        stack["delete"](other);
3911        return result;
3912      }
3913      module.exports = equalArrays;
3914    }
3915  });
3916
3917  
vendor: 263 bytes, lines 3917-3926
3917// node_modules/lodash/_Uint8Array.js
3918  var require_Uint8Array = __commonJS({
3919    "node_modules/lodash/_Uint8Array.js"(exports, module) {
3920      var root = require_root();
3921      var Uint8Array2 = root.Uint8Array;
3922      module.exports = Uint8Array2;
3923    }
3924  });
3925
3926  
vendor: 399 bytes, lines 3926-3940
3926// node_modules/lodash/_mapToArray.js
3927  var require_mapToArray = __commonJS({
3928    "node_modules/lodash/_mapToArray.js"(exports, module) {
3929      function mapToArray(map) {
3930        var index = -1, result = Array(map.size);
3931        map.forEach(function(value, key) {
3932          result[++index] = [key, value];
3933        });
3934        return result;
3935      }
3936      module.exports = mapToArray;
3937    }
3938  });
3939
3940  
vendor: 390 bytes, lines 3940-3954
3940// node_modules/lodash/_setToArray.js
3941  var require_setToArray = __commonJS({
3942    "node_modules/lodash/_setToArray.js"(exports, module) {
3943      function setToArray(set3) {
3944        var index = -1, result = Array(set3.size);
3945        set3.forEach(function(value) {
3946          result[++index] = value;
3947        });
3948        return result;
3949      }
3950      module.exports = setToArray;
3951    }
3952  });
3953
3954  
vendor: 2,836 bytes, lines 3954-4028
3954// node_modules/lodash/_equalByTag.js
3955  var require_equalByTag = __commonJS({
3956    "node_modules/lodash/_equalByTag.js"(exports, module) {
3957      var Symbol2 = require_Symbol();
3958      var Uint8Array2 = require_Uint8Array();
3959      var eq = require_eq();
3960      var equalArrays = require_equalArrays();
3961      var mapToArray = require_mapToArray();
3962      var setToArray = require_setToArray();
3963      var COMPARE_PARTIAL_FLAG = 1;
3964      var COMPARE_UNORDERED_FLAG = 2;
3965      var boolTag = "[object Boolean]";
3966      var dateTag = "[object Date]";
3967      var errorTag = "[object Error]";
3968      var mapTag = "[object Map]";
3969      var numberTag = "[object Number]";
3970      var regexpTag = "[object RegExp]";
3971      var setTag = "[object Set]";
3972      var stringTag = "[object String]";
3973      var symbolTag = "[object Symbol]";
3974      var arrayBufferTag = "[object ArrayBuffer]";
3975      var dataViewTag = "[object DataView]";
3976      var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
3977      var symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
3978      function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
3979        switch (tag) {
3980          case dataViewTag:
3981            if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
3982              return false;
3983            }
3984            object = object.buffer;
3985            other = other.buffer;
3986          case arrayBufferTag:
3987            if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) {
3988              return false;
3989            }
3990            return true;
3991          case boolTag:
3992          case dateTag:
3993          case numberTag:
3994            return eq(+object, +other);
3995          case errorTag:
3996            return object.name == other.name && object.message == other.message;
3997          case regexpTag:
3998          case stringTag:
3999            return object == other + "";
4000          case mapTag:
4001            var convert = mapToArray;
4002          case setTag:
4003            var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
4004            convert || (convert = setToArray);
4005            if (object.size != other.size && !isPartial) {
4006              return false;
4007            }
4008            var stacked = stack.get(object);
4009            if (stacked) {
4010              return stacked == other;
4011            }
4012            bitmask |= COMPARE_UNORDERED_FLAG;
4013            stack.set(object, other);
4014            var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
4015            stack["delete"](object);
4016            return result;
4017          case symbolTag:
4018            if (symbolValueOf) {
4019              return symbolValueOf.call(object) == symbolValueOf.call(other);
4020            }
4021        }
4022        return false;
4023      }
4024      module.exports = equalByTag;
4025    }
4026  });
4027
4028  
vendor: 421 bytes, lines 4028-4042
4028// node_modules/lodash/_arrayPush.js
4029  var require_arrayPush = __commonJS({
4030    "node_modules/lodash/_arrayPush.js"(exports, module) {
4031      function arrayPush(array, values) {
4032        var index = -1, length = values.length, offset = array.length;
4033        while (++index < length) {
4034          array[offset + index] = values[index];
4035        }
4036        return array;
4037      }
4038      module.exports = arrayPush;
4039    }
4040  });
4041
4042  
vendor: 209 bytes, lines 4042-4050
4042// node_modules/lodash/isArray.js
4043  var require_isArray = __commonJS({
4044    "node_modules/lodash/isArray.js"(exports, module) {
4045      var isArray = Array.isArray;
4046      module.exports = isArray;
4047    }
4048  });
4049
4050  
vendor: 478 bytes, lines 4050-4063
4050// node_modules/lodash/_baseGetAllKeys.js
4051  var require_baseGetAllKeys = __commonJS({
4052    "node_modules/lodash/_baseGetAllKeys.js"(exports, module) {
4053      var arrayPush = require_arrayPush();
4054      var isArray = require_isArray();
4055      function baseGetAllKeys(object, keysFunc, symbolsFunc) {
4056        var result = keysFunc(object);
4057        return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
4058      }
4059      module.exports = baseGetAllKeys;
4060    }
4061  });
4062
4063  
vendor: 545 bytes, lines 4063-4080
4063// node_modules/lodash/_arrayFilter.js
4064  var require_arrayFilter = __commonJS({
4065    "node_modules/lodash/_arrayFilter.js"(exports, module) {
4066      function arrayFilter(array, predicate) {
4067        var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
4068        while (++index < length) {
4069          var value = array[index];
4070          if (predicate(value, index, array)) {
4071            result[resIndex++] = value;
4072          }
4073        }
4074        return result;
4075      }
4076      module.exports = arrayFilter;
4077    }
4078  });
4079
4080  
vendor: 238 bytes, lines 4080-4090
4080// node_modules/lodash/stubArray.js
4081  var require_stubArray = __commonJS({
4082    "node_modules/lodash/stubArray.js"(exports, module) {
4083      function stubArray() {
4084        return [];
4085      }
4086      module.exports = stubArray;
4087    }
4088  });
4089
4090  
vendor: 767 bytes, lines 4090-4111
4090// node_modules/lodash/_getSymbols.js
4091  var require_getSymbols = __commonJS({
4092    "node_modules/lodash/_getSymbols.js"(exports, module) {
4093      var arrayFilter = require_arrayFilter();
4094      var stubArray = require_stubArray();
4095      var objectProto = Object.prototype;
4096      var propertyIsEnumerable = objectProto.propertyIsEnumerable;
4097      var nativeGetSymbols = Object.getOwnPropertySymbols;
4098      var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
4099        if (object == null) {
4100          return [];
4101        }
4102        object = Object(object);
4103        return arrayFilter(nativeGetSymbols(object), function(symbol) {
4104          return propertyIsEnumerable.call(object, symbol);
4105        });
4106      };
4107      module.exports = getSymbols;
4108    }
4109  });
4110
4111  
vendor: 381 bytes, lines 4111-4125
4111// node_modules/lodash/_baseTimes.js
4112  var require_baseTimes = __commonJS({
4113    "node_modules/lodash/_baseTimes.js"(exports, module) {
4114      function baseTimes(n, iteratee) {
4115        var index = -1, result = Array(n);
4116        while (++index < n) {
4117          result[index] = iteratee(index);
4118        }
4119        return result;
4120      }
4121      module.exports = baseTimes;
4122    }
4123  });
4124
4125  
vendor: 460 bytes, lines 4125-4138
4125// node_modules/lodash/_baseIsArguments.js
4126  var require_baseIsArguments = __commonJS({
4127    "node_modules/lodash/_baseIsArguments.js"(exports, module) {
4128      var baseGetTag = require_baseGetTag();
4129      var isObjectLike = require_isObjectLike();
4130      var argsTag = "[object Arguments]";
4131      function baseIsArguments(value) {
4132        return isObjectLike(value) && baseGetTag(value) == argsTag;
4133      }
4134      module.exports = baseIsArguments;
4135    }
4136  });
4137
4138  
vendor: 718 bytes, lines 4138-4155
4138// node_modules/lodash/isArguments.js
4139  var require_isArguments = __commonJS({
4140    "node_modules/lodash/isArguments.js"(exports, module) {
4141      var baseIsArguments = require_baseIsArguments();
4142      var isObjectLike = require_isObjectLike();
4143      var objectProto = Object.prototype;
4144      var hasOwnProperty = objectProto.hasOwnProperty;
4145      var propertyIsEnumerable = objectProto.propertyIsEnumerable;
4146      var isArguments = baseIsArguments(function() {
4147        return arguments;
4148      }()) ? baseIsArguments : function(value) {
4149        return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
4150      };
4151      module.exports = isArguments;
4152    }
4153  });
4154
4155  
vendor: 241 bytes, lines 4155-4165
4155// node_modules/lodash/stubFalse.js
4156  var require_stubFalse = __commonJS({
4157    "node_modules/lodash/stubFalse.js"(exports, module) {
4158      function stubFalse() {
4159        return false;
4160      }
4161      module.exports = stubFalse;
4162    }
4163  });
4164
4165  
vendor: 702 bytes, lines 4165-4180
4165// node_modules/lodash/isBuffer.js
4166  var require_isBuffer = __commonJS({
4167    "node_modules/lodash/isBuffer.js"(exports, module) {
4168      var root = require_root();
4169      var stubFalse = require_stubFalse();
4170      var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
4171      var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
4172      var moduleExports = freeModule && freeModule.exports === freeExports;
4173      var Buffer2 = moduleExports ? root.Buffer : void 0;
4174      var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
4175      var isBuffer = nativeIsBuffer || stubFalse;
4176      module.exports = isBuffer;
4177    }
4178  });
4179
4180  
vendor: 549 bytes, lines 4180-4194
4180// node_modules/lodash/_isIndex.js
4181  var require_isIndex = __commonJS({
4182    "node_modules/lodash/_isIndex.js"(exports, module) {
4183      var MAX_SAFE_INTEGER = 9007199254740991;
4184      var reIsUint = /^(?:0|[1-9]\d*)$/;
4185      function isIndex(value, length) {
4186        var type = typeof value;
4187        length = length == null ? MAX_SAFE_INTEGER : length;
4188        return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
4189      }
4190      module.exports = isIndex;
4191    }
4192  });
4193
4194  
vendor: 368 bytes, lines 4194-4205
4194// node_modules/lodash/isLength.js
4195  var require_isLength = __commonJS({
4196    "node_modules/lodash/isLength.js"(exports, module) {
4197      var MAX_SAFE_INTEGER = 9007199254740991;
4198      function isLength(value) {
4199        return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
4200      }
4201      module.exports = isLength;
4202    }
4203  });
4204
4205  
vendor: 2,251 bytes, lines 4205-4245
4205// node_modules/lodash/_baseIsTypedArray.js
4206  var require_baseIsTypedArray = __commonJS({
4207    "node_modules/lodash/_baseIsTypedArray.js"(exports, module) {
4208      var baseGetTag = require_baseGetTag();
4209      var isLength = require_isLength();
4210      var isObjectLike = require_isObjectLike();
4211      var argsTag = "[object Arguments]";
4212      var arrayTag = "[object Array]";
4213      var boolTag = "[object Boolean]";
4214      var dateTag = "[object Date]";
4215      var errorTag = "[object Error]";
4216      var funcTag = "[object Function]";
4217      var mapTag = "[object Map]";
4218      var numberTag = "[object Number]";
4219      var objectTag = "[object Object]";
4220      var regexpTag = "[object RegExp]";
4221      var setTag = "[object Set]";
4222      var stringTag = "[object String]";
4223      var weakMapTag = "[object WeakMap]";
4224      var arrayBufferTag = "[object ArrayBuffer]";
4225      var dataViewTag = "[object DataView]";
4226      var float32Tag = "[object Float32Array]";
4227      var float64Tag = "[object Float64Array]";
4228      var int8Tag = "[object Int8Array]";
4229      var int16Tag = "[object Int16Array]";
4230      var int32Tag = "[object Int32Array]";
4231      var uint8Tag = "[object Uint8Array]";
4232      var uint8ClampedTag = "[object Uint8ClampedArray]";
4233      var uint16Tag = "[object Uint16Array]";
4234      var uint32Tag = "[object Uint32Array]";
4235      var typedArrayTags = {};
4236      typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
4237      typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
4238      function baseIsTypedArray(value) {
4239        return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
4240      }
4241      module.exports = baseIsTypedArray;
4242    }
4243  });
4244
4245  
vendor: 299 bytes, lines 4245-4257
4245// node_modules/lodash/_baseUnary.js
4246  var require_baseUnary = __commonJS({
4247    "node_modules/lodash/_baseUnary.js"(exports, module) {
4248      function baseUnary(func) {
4249        return function(value) {
4250          return func(value);
4251        };
4252      }
4253      module.exports = baseUnary;
4254    }
4255  });
4256
4257  
vendor: 890 bytes, lines 4257-4279
4257// node_modules/lodash/_nodeUtil.js
4258  var require_nodeUtil = __commonJS({
4259    "node_modules/lodash/_nodeUtil.js"(exports, module) {
4260      var freeGlobal = require_freeGlobal();
4261      var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
4262      var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
4263      var moduleExports = freeModule && freeModule.exports === freeExports;
4264      var freeProcess = moduleExports && freeGlobal.process;
4265      var nodeUtil = function() {
4266        try {
4267          var types = freeModule && freeModule.require && freeModule.require("util").types;
4268          if (types) {
4269            return types;
4270          }
4271          return freeProcess && freeProcess.binding && freeProcess.binding("util");
4272        } catch (e) {
4273        }
4274      }();
4275      module.exports = nodeUtil;
4276    }
4277  });
4278
4279  
vendor: 491 bytes, lines 4279-4291
4279// node_modules/lodash/isTypedArray.js
4280  var require_isTypedArray = __commonJS({
4281    "node_modules/lodash/isTypedArray.js"(exports, module) {
4282      var baseIsTypedArray = require_baseIsTypedArray();
4283      var baseUnary = require_baseUnary();
4284      var nodeUtil = require_nodeUtil();
4285      var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
4286      var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
4287      module.exports = isTypedArray;
4288    }
4289  });
4290
4291  
vendor: 1,550 bytes, lines 4291-4319
4291// node_modules/lodash/_arrayLikeKeys.js
4292  var require_arrayLikeKeys = __commonJS({
4293    "node_modules/lodash/_arrayLikeKeys.js"(exports, module) {
4294      var baseTimes = require_baseTimes();
4295      var isArguments = require_isArguments();
4296      var isArray = require_isArray();
4297      var isBuffer = require_isBuffer();
4298      var isIndex = require_isIndex();
4299      var isTypedArray = require_isTypedArray();
4300      var objectProto = Object.prototype;
4301      var hasOwnProperty = objectProto.hasOwnProperty;
4302      function arrayLikeKeys(value, inherited) {
4303        var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
4304        for (var key in value) {
4305          if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
4306          (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
4307          isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
4308          isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
4309          isIndex(key, length)))) {
4310            result.push(key);
4311          }
4312        }
4313        return result;
4314      }
4315      module.exports = arrayLikeKeys;
4316    }
4317  });
4318
4319  
vendor: 425 bytes, lines 4319-4331
4319// node_modules/lodash/_isPrototype.js
4320  var require_isPrototype = __commonJS({
4321    "node_modules/lodash/_isPrototype.js"(exports, module) {
4322      var objectProto = Object.prototype;
4323      function isPrototype(value) {
4324        var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
4325        return value === proto;
4326      }
4327      module.exports = isPrototype;
4328    }
4329  });
4330
4331  
vendor: 280 bytes, lines 4331-4340
4331// node_modules/lodash/_nativeKeys.js
4332  var require_nativeKeys = __commonJS({
4333    "node_modules/lodash/_nativeKeys.js"(exports, module) {
4334      var overArg = require_overArg();
4335      var nativeKeys = overArg(Object.keys, Object);
4336      module.exports = nativeKeys;
4337    }
4338  });
4339
4340  
vendor: 710 bytes, lines 4340-4363
4340// node_modules/lodash/_baseKeys.js
4341  var require_baseKeys = __commonJS({
4342    "node_modules/lodash/_baseKeys.js"(exports, module) {
4343      var isPrototype = require_isPrototype();
4344      var nativeKeys = require_nativeKeys();
4345      var objectProto = Object.prototype;
4346      var hasOwnProperty = objectProto.hasOwnProperty;
4347      function baseKeys(object) {
4348        if (!isPrototype(object)) {
4349          return nativeKeys(object);
4350        }
4351        var result = [];
4352        for (var key in Object(object)) {
4353          if (hasOwnProperty.call(object, key) && key != "constructor") {
4354            result.push(key);
4355          }
4356        }
4357        return result;
4358      }
4359      module.exports = baseKeys;
4360    }
4361  });
4362
4363  
vendor: 398 bytes, lines 4363-4375
4363// node_modules/lodash/isArrayLike.js
4364  var require_isArrayLike = __commonJS({
4365    "node_modules/lodash/isArrayLike.js"(exports, module) {
4366      var isFunction = require_isFunction();
4367      var isLength = require_isLength();
4368      function isArrayLike(value) {
4369        return value != null && isLength(value.length) && !isFunction(value);
4370      }
4371      module.exports = isArrayLike;
4372    }
4373  });
4374
4375  
vendor: 418 bytes, lines 4375-4388
4375// node_modules/lodash/keys.js
4376  var require_keys = __commonJS({
4377    "node_modules/lodash/keys.js"(exports, module) {
4378      var arrayLikeKeys = require_arrayLikeKeys();
4379      var baseKeys = require_baseKeys();
4380      var isArrayLike = require_isArrayLike();
4381      function keys(object) {
4382        return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
4383      }
4384      module.exports = keys;
4385    }
4386  });
4387
4388  
vendor: 420 bytes, lines 4388-4401
4388// node_modules/lodash/_getAllKeys.js
4389  var require_getAllKeys = __commonJS({
4390    "node_modules/lodash/_getAllKeys.js"(exports, module) {
4391      var baseGetAllKeys = require_baseGetAllKeys();
4392      var getSymbols = require_getSymbols();
4393      var keys = require_keys();
4394      function getAllKeys(object) {
4395        return baseGetAllKeys(object, keys, getSymbols);
4396      }
4397      module.exports = getAllKeys;
4398    }
4399  });
4400
4401  
vendor: 2,332 bytes, lines 4401-4455
4401// node_modules/lodash/_equalObjects.js
4402  var require_equalObjects = __commonJS({
4403    "node_modules/lodash/_equalObjects.js"(exports, module) {
4404      var getAllKeys = require_getAllKeys();
4405      var COMPARE_PARTIAL_FLAG = 1;
4406      var objectProto = Object.prototype;
4407      var hasOwnProperty = objectProto.hasOwnProperty;
4408      function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
4409        var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
4410        if (objLength != othLength && !isPartial) {
4411          return false;
4412        }
4413        var index = objLength;
4414        while (index--) {
4415          var key = objProps[index];
4416          if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
4417            return false;
4418          }
4419        }
4420        var objStacked = stack.get(object);
4421        var othStacked = stack.get(other);
4422        if (objStacked && othStacked) {
4423          return objStacked == other && othStacked == object;
4424        }
4425        var result = true;
4426        stack.set(object, other);
4427        stack.set(other, object);
4428        var skipCtor = isPartial;
4429        while (++index < objLength) {
4430          key = objProps[index];
4431          var objValue = object[key], othValue = other[key];
4432          if (customizer) {
4433            var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
4434          }
4435          if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
4436            result = false;
4437            break;
4438          }
4439          skipCtor || (skipCtor = key == "constructor");
4440        }
4441        if (result && !skipCtor) {
4442          var objCtor = object.constructor, othCtor = other.constructor;
4443          if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
4444            result = false;
4445          }
4446        }
4447        stack["delete"](object);
4448        stack["delete"](other);
4449        return result;
4450      }
4451      module.exports = equalObjects;
4452    }
4453  });
4454
4455  
vendor: 306 bytes, lines 4455-4465
4455// node_modules/lodash/_DataView.js
4456  var require_DataView = __commonJS({
4457    "node_modules/lodash/_DataView.js"(exports, module) {
4458      var getNative = require_getNative();
4459      var root = require_root();
4460      var DataView = getNative(root, "DataView");
4461      module.exports = DataView;
4462    }
4463  });
4464
4465  
vendor: 302 bytes, lines 4465-4475
4465// node_modules/lodash/_Promise.js
4466  var require_Promise = __commonJS({
4467    "node_modules/lodash/_Promise.js"(exports, module) {
4468      var getNative = require_getNative();
4469      var root = require_root();
4470      var Promise2 = getNative(root, "Promise");
4471      module.exports = Promise2;
4472    }
4473  });
4474
4475  
vendor: 276 bytes, lines 4475-4485
4475// node_modules/lodash/_Set.js
4476  var require_Set = __commonJS({
4477    "node_modules/lodash/_Set.js"(exports, module) {
4478      var getNative = require_getNative();
4479      var root = require_root();
4480      var Set = getNative(root, "Set");
4481      module.exports = Set;
4482    }
4483  });
4484
4485  
vendor: 302 bytes, lines 4485-4495
4485// node_modules/lodash/_WeakMap.js
4486  var require_WeakMap = __commonJS({
4487    "node_modules/lodash/_WeakMap.js"(exports, module) {
4488      var getNative = require_getNative();
4489      var root = require_root();
4490      var WeakMap2 = getNative(root, "WeakMap");
4491      module.exports = WeakMap2;
4492    }
4493  });
4494
4495  
vendor: 1,874 bytes, lines 4495-4541
4495// node_modules/lodash/_getTag.js
4496  var require_getTag = __commonJS({
4497    "node_modules/lodash/_getTag.js"(exports, module) {
4498      var DataView = require_DataView();
4499      var Map2 = require_Map();
4500      var Promise2 = require_Promise();
4501      var Set = require_Set();
4502      var WeakMap2 = require_WeakMap();
4503      var baseGetTag = require_baseGetTag();
4504      var toSource = require_toSource();
4505      var mapTag = "[object Map]";
4506      var objectTag = "[object Object]";
4507      var promiseTag = "[object Promise]";
4508      var setTag = "[object Set]";
4509      var weakMapTag = "[object WeakMap]";
4510      var dataViewTag = "[object DataView]";
4511      var dataViewCtorString = toSource(DataView);
4512      var mapCtorString = toSource(Map2);
4513      var promiseCtorString = toSource(Promise2);
4514      var setCtorString = toSource(Set);
4515      var weakMapCtorString = toSource(WeakMap2);
4516      var getTag = baseGetTag;
4517      if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap2 && getTag(new WeakMap2()) != weakMapTag) {
4518        getTag = function(value) {
4519          var result = baseGetTag(value), Ctor = result == objectTag ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
4520          if (ctorString) {
4521            switch (ctorString) {
4522              case dataViewCtorString:
4523                return dataViewTag;
4524              case mapCtorString:
4525                return mapTag;
4526              case promiseCtorString:
4527                return promiseTag;
4528              case setCtorString:
4529                return setTag;
4530              case weakMapCtorString:
4531                return weakMapTag;
4532            }
4533          }
4534          return result;
4535        };
4536      }
4537      module.exports = getTag;
4538    }
4539  });
4540
4541  
vendor: 2,455 bytes, lines 4541-4592
4541// node_modules/lodash/_baseIsEqualDeep.js
4542  var require_baseIsEqualDeep = __commonJS({
4543    "node_modules/lodash/_baseIsEqualDeep.js"(exports, module) {
4544      var Stack = require_Stack();
4545      var equalArrays = require_equalArrays();
4546      var equalByTag = require_equalByTag();
4547      var equalObjects = require_equalObjects();
4548      var getTag = require_getTag();
4549      var isArray = require_isArray();
4550      var isBuffer = require_isBuffer();
4551      var isTypedArray = require_isTypedArray();
4552      var COMPARE_PARTIAL_FLAG = 1;
4553      var argsTag = "[object Arguments]";
4554      var arrayTag = "[object Array]";
4555      var objectTag = "[object Object]";
4556      var objectProto = Object.prototype;
4557      var hasOwnProperty = objectProto.hasOwnProperty;
4558      function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
4559        var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other);
4560        objTag = objTag == argsTag ? objectTag : objTag;
4561        othTag = othTag == argsTag ? objectTag : othTag;
4562        var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;
4563        if (isSameTag && isBuffer(object)) {
4564          if (!isBuffer(other)) {
4565            return false;
4566          }
4567          objIsArr = true;
4568          objIsObj = false;
4569        }
4570        if (isSameTag && !objIsObj) {
4571          stack || (stack = new Stack());
4572          return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
4573        }
4574        if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
4575          var objIsWrapped = objIsObj && hasOwnProperty.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__");
4576          if (objIsWrapped || othIsWrapped) {
4577            var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
4578            stack || (stack = new Stack());
4579            return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
4580          }
4581        }
4582        if (!isSameTag) {
4583          return false;
4584        }
4585        stack || (stack = new Stack());
4586        return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
4587      }
4588      module.exports = baseIsEqualDeep;
4589    }
4590  });
4591
4592  
vendor: 683 bytes, lines 4592-4610
4592// node_modules/lodash/_baseIsEqual.js
4593  var require_baseIsEqual = __commonJS({
4594    "node_modules/lodash/_baseIsEqual.js"(exports, module) {
4595      var baseIsEqualDeep = require_baseIsEqualDeep();
4596      var isObjectLike = require_isObjectLike();
4597      function baseIsEqual(value, other, bitmask, customizer, stack) {
4598        if (value === other) {
4599          return true;
4600        }
4601        if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {
4602          return value !== value && other !== other;
4603        }
4604        return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
4605      }
4606      module.exports = baseIsEqual;
4607    }
4608  });
4609
4610  
vendor: 1,518 bytes, lines 4610-4652
4610// node_modules/lodash/_baseIsMatch.js
4611  var require_baseIsMatch = __commonJS({
4612    "node_modules/lodash/_baseIsMatch.js"(exports, module) {
4613      var Stack = require_Stack();
4614      var baseIsEqual = require_baseIsEqual();
4615      var COMPARE_PARTIAL_FLAG = 1;
4616      var COMPARE_UNORDERED_FLAG = 2;
4617      function baseIsMatch(object, source, matchData, customizer) {
4618        var index = matchData.length, length = index, noCustomizer = !customizer;
4619        if (object == null) {
4620          return !length;
4621        }
4622        object = Object(object);
4623        while (index--) {
4624          var data = matchData[index];
4625          if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {
4626            return false;
4627          }
4628        }
4629        while (++index < length) {
4630          data = matchData[index];
4631          var key = data[0], objValue = object[key], srcValue = data[1];
4632          if (noCustomizer && data[2]) {
4633            if (objValue === void 0 && !(key in object)) {
4634              return false;
4635            }
4636          } else {
4637            var stack = new Stack();
4638            if (customizer) {
4639              var result = customizer(objValue, srcValue, key, object, source, stack);
4640            }
4641            if (!(result === void 0 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) : result)) {
4642              return false;
4643            }
4644          }
4645        }
4646        return true;
4647      }
4648      module.exports = baseIsMatch;
4649    }
4650  });
4651
4652  
vendor: 364 bytes, lines 4652-4663
4652// node_modules/lodash/_isStrictComparable.js
4653  var require_isStrictComparable = __commonJS({
4654    "node_modules/lodash/_isStrictComparable.js"(exports, module) {
4655      var isObject = require_isObject();
4656      function isStrictComparable(value) {
4657        return value === value && !isObject(value);
4658      }
4659      module.exports = isStrictComparable;
4660    }
4661  });
4662
4663  
vendor: 580 bytes, lines 4663-4680
4663// node_modules/lodash/_getMatchData.js
4664  var require_getMatchData = __commonJS({
4665    "node_modules/lodash/_getMatchData.js"(exports, module) {
4666      var isStrictComparable = require_isStrictComparable();
4667      var keys = require_keys();
4668      function getMatchData(object) {
4669        var result = keys(object), length = result.length;
4670        while (length--) {
4671          var key = result[length], value = object[key];
4672          result[length] = [key, value, isStrictComparable(value)];
4673        }
4674        return result;
4675      }
4676      module.exports = getMatchData;
4677    }
4678  });
4679
4680  
vendor: 512 bytes, lines 4680-4695
4680// node_modules/lodash/_matchesStrictComparable.js
4681  var require_matchesStrictComparable = __commonJS({
4682    "node_modules/lodash/_matchesStrictComparable.js"(exports, module) {
4683      function matchesStrictComparable(key, srcValue) {
4684        return function(object) {
4685          if (object == null) {
4686            return false;
4687          }
4688          return object[key] === srcValue && (srcValue !== void 0 || key in Object(object));
4689        };
4690      }
4691      module.exports = matchesStrictComparable;
4692    }
4693  });
4694
4695  
vendor: 715 bytes, lines 4695-4714
4695// node_modules/lodash/_baseMatches.js
4696  var require_baseMatches = __commonJS({
4697    "node_modules/lodash/_baseMatches.js"(exports, module) {
4698      var baseIsMatch = require_baseIsMatch();
4699      var getMatchData = require_getMatchData();
4700      var matchesStrictComparable = require_matchesStrictComparable();
4701      function baseMatches(source) {
4702        var matchData = getMatchData(source);
4703        if (matchData.length == 1 && matchData[0][2]) {
4704          return matchesStrictComparable(matchData[0][0], matchData[0][1]);
4705        }
4706        return function(object) {
4707          return object === source || baseIsMatch(object, source, matchData);
4708        };
4709      }
4710      module.exports = baseMatches;
4711    }
4712  });
4713
4714  
vendor: 452 bytes, lines 4714-4727
4714// node_modules/lodash/isSymbol.js
4715  var require_isSymbol = __commonJS({
4716    "node_modules/lodash/isSymbol.js"(exports, module) {
4717      var baseGetTag = require_baseGetTag();
4718      var isObjectLike = require_isObjectLike();
4719      var symbolTag = "[object Symbol]";
4720      function isSymbol(value) {
4721        return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag;
4722      }
4723      module.exports = isSymbol;
4724    }
4725  });
4726
4727  
vendor: 761 bytes, lines 4727-4748
4727// node_modules/lodash/_isKey.js
4728  var require_isKey = __commonJS({
4729    "node_modules/lodash/_isKey.js"(exports, module) {
4730      var isArray = require_isArray();
4731      var isSymbol = require_isSymbol();
4732      var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
4733      var reIsPlainProp = /^\w*$/;
4734      function isKey(value, object) {
4735        if (isArray(value)) {
4736          return false;
4737        }
4738        var type = typeof value;
4739        if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) {
4740          return true;
4741        }
4742        return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
4743      }
4744      module.exports = isKey;
4745    }
4746  });
4747
4748  
vendor: 953 bytes, lines 4748-4774
4748// node_modules/lodash/memoize.js
4749  var require_memoize = __commonJS({
4750    "node_modules/lodash/memoize.js"(exports, module) {
4751      var MapCache = require_MapCache();
4752      var FUNC_ERROR_TEXT = "Expected a function";
4753      function memoize(func, resolver) {
4754        if (typeof func != "function" || resolver != null && typeof resolver != "function") {
4755          throw new TypeError(FUNC_ERROR_TEXT);
4756        }
4757        var memoized = function() {
4758          var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
4759          if (cache.has(key)) {
4760            return cache.get(key);
4761          }
4762          var result = func.apply(this, args);
4763          memoized.cache = cache.set(key, result) || cache;
4764          return result;
4765        };
4766        memoized.cache = new (memoize.Cache || MapCache)();
4767        return memoized;
4768      }
4769      memoize.Cache = MapCache;
4770      module.exports = memoize;
4771    }
4772  });
4773
4774  
vendor: 548 bytes, lines 4774-4793
4774// node_modules/lodash/_memoizeCapped.js
4775  var require_memoizeCapped = __commonJS({
4776    "node_modules/lodash/_memoizeCapped.js"(exports, module) {
4777      var memoize = require_memoize();
4778      var MAX_MEMOIZE_SIZE = 500;
4779      function memoizeCapped(func) {
4780        var result = memoize(func, function(key) {
4781          if (cache.size === MAX_MEMOIZE_SIZE) {
4782            cache.clear();
4783          }
4784          return key;
4785        });
4786        var cache = result.cache;
4787        return result;
4788      }
4789      module.exports = memoizeCapped;
4790    }
4791  });
4792
4793  
vendor: 782 bytes, lines 4793-4813
4793// node_modules/lodash/_stringToPath.js
4794  var require_stringToPath = __commonJS({
4795    "node_modules/lodash/_stringToPath.js"(exports, module) {
4796      var memoizeCapped = require_memoizeCapped();
4797      var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
4798      var reEscapeChar = /\\(\\)?/g;
4799      var stringToPath = memoizeCapped(function(string) {
4800        var result = [];
4801        if (string.charCodeAt(0) === 46) {
4802          result.push("");
4803        }
4804        string.replace(rePropName, function(match, number, quote, subString) {
4805          result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
4806        });
4807        return result;
4808      });
4809      module.exports = stringToPath;
4810    }
4811  });
4812
4813  
vendor: 454 bytes, lines 4813-4827
4813// node_modules/lodash/_arrayMap.js
4814  var require_arrayMap = __commonJS({
4815    "node_modules/lodash/_arrayMap.js"(exports, module) {
4816      function arrayMap(array, iteratee) {
4817        var index = -1, length = array == null ? 0 : array.length, result = Array(length);
4818        while (++index < length) {
4819          result[index] = iteratee(array[index], index, array);
4820        }
4821        return result;
4822      }
4823      module.exports = arrayMap;
4824    }
4825  });
4826
4827  
vendor: 942 bytes, lines 4827-4854
4827// node_modules/lodash/_baseToString.js
4828  var require_baseToString = __commonJS({
4829    "node_modules/lodash/_baseToString.js"(exports, module) {
4830      var Symbol2 = require_Symbol();
4831      var arrayMap = require_arrayMap();
4832      var isArray = require_isArray();
4833      var isSymbol = require_isSymbol();
4834      var INFINITY = 1 / 0;
4835      var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
4836      var symbolToString = symbolProto ? symbolProto.toString : void 0;
4837      function baseToString(value) {
4838        if (typeof value == "string") {
4839          return value;
4840        }
4841        if (isArray(value)) {
4842          return arrayMap(value, baseToString) + "";
4843        }
4844        if (isSymbol(value)) {
4845          return symbolToString ? symbolToString.call(value) : "";
4846        }
4847        var result = value + "";
4848        return result == "0" && 1 / value == -INFINITY ? "-0" : result;
4849      }
4850      module.exports = baseToString;
4851    }
4852  });
4853
4854  
vendor: 325 bytes, lines 4854-4865
4854// node_modules/lodash/toString.js
4855  var require_toString = __commonJS({
4856    "node_modules/lodash/toString.js"(exports, module) {
4857      var baseToString = require_baseToString();
4858      function toString(value) {
4859        return value == null ? "" : baseToString(value);
4860      }
4861      module.exports = toString;
4862    }
4863  });
4864
4865  
vendor: 536 bytes, lines 4865-4882
4865// node_modules/lodash/_castPath.js
4866  var require_castPath = __commonJS({
4867    "node_modules/lodash/_castPath.js"(exports, module) {
4868      var isArray = require_isArray();
4869      var isKey = require_isKey();
4870      var stringToPath = require_stringToPath();
4871      var toString = require_toString();
4872      function castPath(value, object) {
4873        if (isArray(value)) {
4874          return value;
4875        }
4876        return isKey(value, object) ? [value] : stringToPath(toString(value));
4877      }
4878      module.exports = castPath;
4879    }
4880  });
4881
4882  
vendor: 473 bytes, lines 4882-4898
4882// node_modules/lodash/_toKey.js
4883  var require_toKey = __commonJS({
4884    "node_modules/lodash/_toKey.js"(exports, module) {
4885      var isSymbol = require_isSymbol();
4886      var INFINITY = 1 / 0;
4887      function toKey(value) {
4888        if (typeof value == "string" || isSymbol(value)) {
4889          return value;
4890        }
4891        var result = value + "";
4892        return result == "0" && 1 / value == -INFINITY ? "-0" : result;
4893      }
4894      module.exports = toKey;
4895    }
4896  });
4897
4898  
vendor: 552 bytes, lines 4898-4915
4898// node_modules/lodash/_baseGet.js
4899  var require_baseGet = __commonJS({
4900    "node_modules/lodash/_baseGet.js"(exports, module) {
4901      var castPath = require_castPath();
4902      var toKey = require_toKey();
4903      function baseGet(object, path) {
4904        path = castPath(path, object);
4905        var index = 0, length = path.length;
4906        while (object != null && index < length) {
4907          object = object[toKey(path[index++])];
4908        }
4909        return index && index == length ? object : void 0;
4910      }
4911      module.exports = baseGet;
4912    }
4913  });
4914
4915  
vendor: 384 bytes, lines 4915-4927
4915// node_modules/lodash/get.js
4916  var require_get = __commonJS({
4917    "node_modules/lodash/get.js"(exports, module) {
4918      var baseGet = require_baseGet();
4919      function get3(object, path, defaultValue) {
4920        var result = object == null ? void 0 : baseGet(object, path);
4921        return result === void 0 ? defaultValue : result;
4922      }
4923      module.exports = get3;
4924    }
4925  });
4926
4927  
vendor: 288 bytes, lines 4927-4937
4927// node_modules/lodash/_baseHasIn.js
4928  var require_baseHasIn = __commonJS({
4929    "node_modules/lodash/_baseHasIn.js"(exports, module) {
4930      function baseHasIn(object, key) {
4931        return object != null && key in Object(object);
4932      }
4933      module.exports = baseHasIn;
4934    }
4935  });
4936
4937  
vendor: 1,035 bytes, lines 4937-4966
4937// node_modules/lodash/_hasPath.js
4938  var require_hasPath = __commonJS({
4939    "node_modules/lodash/_hasPath.js"(exports, module) {
4940      var castPath = require_castPath();
4941      var isArguments = require_isArguments();
4942      var isArray = require_isArray();
4943      var isIndex = require_isIndex();
4944      var isLength = require_isLength();
4945      var toKey = require_toKey();
4946      function hasPath(object, path, hasFunc) {
4947        path = castPath(path, object);
4948        var index = -1, length = path.length, result = false;
4949        while (++index < length) {
4950          var key = toKey(path[index]);
4951          if (!(result = object != null && hasFunc(object, key))) {
4952            break;
4953          }
4954          object = object[key];
4955        }
4956        if (result || ++index != length) {
4957          return result;
4958        }
4959        length = object == null ? 0 : object.length;
4960        return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object));
4961      }
4962      module.exports = hasPath;
4963    }
4964  });
4965
4966  
vendor: 360 bytes, lines 4966-4978
4966// node_modules/lodash/hasIn.js
4967  var require_hasIn = __commonJS({
4968    "node_modules/lodash/hasIn.js"(exports, module) {
4969      var baseHasIn = require_baseHasIn();
4970      var hasPath = require_hasPath();
4971      function hasIn(object, path) {
4972        return object != null && hasPath(object, path, baseHasIn);
4973      }
4974      module.exports = hasIn;
4975    }
4976  });
4977
4978  
vendor: 1,065 bytes, lines 4978-5003
4978// node_modules/lodash/_baseMatchesProperty.js
4979  var require_baseMatchesProperty = __commonJS({
4980    "node_modules/lodash/_baseMatchesProperty.js"(exports, module) {
4981      var baseIsEqual = require_baseIsEqual();
4982      var get3 = require_get();
4983      var hasIn = require_hasIn();
4984      var isKey = require_isKey();
4985      var isStrictComparable = require_isStrictComparable();
4986      var matchesStrictComparable = require_matchesStrictComparable();
4987      var toKey = require_toKey();
4988      var COMPARE_PARTIAL_FLAG = 1;
4989      var COMPARE_UNORDERED_FLAG = 2;
4990      function baseMatchesProperty(path, srcValue) {
4991        if (isKey(path) && isStrictComparable(srcValue)) {
4992          return matchesStrictComparable(toKey(path), srcValue);
4993        }
4994        return function(object) {
4995          var objValue = get3(object, path);
4996          return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
4997        };
4998      }
4999      module.exports = baseMatchesProperty;
5000    }
5001  });
5002
5003  
vendor: 241 bytes, lines 5003-5013
5003// node_modules/lodash/identity.js
5004  var require_identity = __commonJS({
5005    "node_modules/lodash/identity.js"(exports, module) {
5006      function identity(value) {
5007        return value;
5008      }
5009      module.exports = identity;
5010    }
5011  });
5012
5013  
vendor: 340 bytes, lines 5013-5025
5013// node_modules/lodash/_baseProperty.js
5014  var require_baseProperty = __commonJS({
5015    "node_modules/lodash/_baseProperty.js"(exports, module) {
5016      function baseProperty(key) {
5017        return function(object) {
5018          return object == null ? void 0 : object[key];
5019        };
5020      }
5021      module.exports = baseProperty;
5022    }
5023  });
5024
5025  
vendor: 384 bytes, lines 5025-5038
5025// node_modules/lodash/_basePropertyDeep.js
5026  var require_basePropertyDeep = __commonJS({
5027    "node_modules/lodash/_basePropertyDeep.js"(exports, module) {
5028      var baseGet = require_baseGet();
5029      function basePropertyDeep(path) {
5030        return function(object) {
5031          return baseGet(object, path);
5032        };
5033      }
5034      module.exports = basePropertyDeep;
5035    }
5036  });
5037
5038  
vendor: 475 bytes, lines 5038-5052
5038// node_modules/lodash/property.js
5039  var require_property = __commonJS({
5040    "node_modules/lodash/property.js"(exports, module) {
5041      var baseProperty = require_baseProperty();
5042      var basePropertyDeep = require_basePropertyDeep();
5043      var isKey = require_isKey();
5044      var toKey = require_toKey();
5045      function property(path) {
5046        return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
5047      }
5048      module.exports = property;
5049    }
5050  });
5051
5052  
vendor: 792 bytes, lines 5052-5076
5052// node_modules/lodash/_baseIteratee.js
5053  var require_baseIteratee = __commonJS({
5054    "node_modules/lodash/_baseIteratee.js"(exports, module) {
5055      var baseMatches = require_baseMatches();
5056      var baseMatchesProperty = require_baseMatchesProperty();
5057      var identity = require_identity();
5058      var isArray = require_isArray();
5059      var property = require_property();
5060      function baseIteratee(value) {
5061        if (typeof value == "function") {
5062          return value;
5063        }
5064        if (value == null) {
5065          return identity;
5066        }
5067        if (typeof value == "object") {
5068          return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value);
5069        }
5070        return property(value);
5071      }
5072      module.exports = baseIteratee;
5073    }
5074  });
5075
5076  
vendor: 910 bytes, lines 5076-5100
5076// node_modules/lodash/_createFind.js
5077  var require_createFind = __commonJS({
5078    "node_modules/lodash/_createFind.js"(exports, module) {
5079      var baseIteratee = require_baseIteratee();
5080      var isArrayLike = require_isArrayLike();
5081      var keys = require_keys();
5082      function createFind(findIndexFunc) {
5083        return function(collection, predicate, fromIndex) {
5084          var iterable = Object(collection);
5085          if (!isArrayLike(collection)) {
5086            var iteratee = baseIteratee(predicate, 3);
5087            collection = keys(collection);
5088            predicate = function(key) {
5089              return iteratee(iterable[key], key, iterable);
5090            };
5091          }
5092          var index = findIndexFunc(collection, predicate, fromIndex);
5093          return index > -1 ? iterable[iteratee ? collection[index] : index] : void 0;
5094        };
5095      }
5096      module.exports = createFind;
5097    }
5098  });
5099
5100  
vendor: 535 bytes, lines 5100-5116
5100// node_modules/lodash/_baseFindIndex.js
5101  var require_baseFindIndex = __commonJS({
5102    "node_modules/lodash/_baseFindIndex.js"(exports, module) {
5103      function baseFindIndex(array, predicate, fromIndex, fromRight) {
5104        var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
5105        while (fromRight ? index-- : ++index < length) {
5106          if (predicate(array[index], index, array)) {
5107            return index;
5108          }
5109        }
5110        return -1;
5111      }
5112      module.exports = baseFindIndex;
5113    }
5114  });
5115
5116  
vendor: 424 bytes, lines 5116-5130
5116// node_modules/lodash/_trimmedEndIndex.js
5117  var require_trimmedEndIndex = __commonJS({
5118    "node_modules/lodash/_trimmedEndIndex.js"(exports, module) {
5119      var reWhitespace = /\s/;
5120      function trimmedEndIndex(string) {
5121        var index = string.length;
5122        while (index-- && reWhitespace.test(string.charAt(index))) {
5123        }
5124        return index;
5125      }
5126      module.exports = trimmedEndIndex;
5127    }
5128  });
5129
5130  
vendor: 413 bytes, lines 5130-5142
5130// node_modules/lodash/_baseTrim.js
5131  var require_baseTrim = __commonJS({
5132    "node_modules/lodash/_baseTrim.js"(exports, module) {
5133      var trimmedEndIndex = require_trimmedEndIndex();
5134      var reTrimStart = /^\s+/;
5135      function baseTrim(string) {
5136        return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string;
5137      }
5138      module.exports = baseTrim;
5139    }
5140  });
5141
5142  
vendor: 1,153 bytes, lines 5142-5175
5142// node_modules/lodash/toNumber.js
5143  var require_toNumber = __commonJS({
5144    "node_modules/lodash/toNumber.js"(exports, module) {
5145      var baseTrim = require_baseTrim();
5146      var isObject = require_isObject();
5147      var isSymbol = require_isSymbol();
5148      var NAN = 0 / 0;
5149      var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
5150      var reIsBinary = /^0b[01]+$/i;
5151      var reIsOctal = /^0o[0-7]+$/i;
5152      var freeParseInt = parseInt;
5153      function toNumber(value) {
5154        if (typeof value == "number") {
5155          return value;
5156        }
5157        if (isSymbol(value)) {
5158          return NAN;
5159        }
5160        if (isObject(value)) {
5161          var other = typeof value.valueOf == "function" ? value.valueOf() : value;
5162          value = isObject(other) ? other + "" : other;
5163        }
5164        if (typeof value != "string") {
5165          return value === 0 ? value : +value;
5166        }
5167        value = baseTrim(value);
5168        var isBinary = reIsBinary.test(value);
5169        return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
5170      }
5171      module.exports = toNumber;
5172    }
5173  });
5174
5175  
vendor: 631 bytes, lines 5175-5196
5175// node_modules/lodash/toFinite.js
5176  var require_toFinite = __commonJS({
5177    "node_modules/lodash/toFinite.js"(exports, module) {
5178      var toNumber = require_toNumber();
5179      var INFINITY = 1 / 0;
5180      var MAX_INTEGER = 17976931348623157e292;
5181      function toFinite(value) {
5182        if (!value) {
5183          return value === 0 ? value : 0;
5184        }
5185        value = toNumber(value);
5186        if (value === INFINITY || value === -INFINITY) {
5187          var sign = value < 0 ? -1 : 1;
5188          return sign * MAX_INTEGER;
5189        }
5190        return value === value ? value : 0;
5191      }
5192      module.exports = toFinite;
5193    }
5194  });
5195
5196  
vendor: 407 bytes, lines 5196-5208
5196// node_modules/lodash/toInteger.js
5197  var require_toInteger = __commonJS({
5198    "node_modules/lodash/toInteger.js"(exports, module) {
5199      var toFinite = require_toFinite();
5200      function toInteger(value) {
5201        var result = toFinite(value), remainder = result % 1;
5202        return result === result ? remainder ? result - remainder : result : 0;
5203      }
5204      module.exports = toInteger;
5205    }
5206  });
5207
5208  
vendor: 751 bytes, lines 5208-5230
5208// node_modules/lodash/findIndex.js
5209  var require_findIndex = __commonJS({
5210    "node_modules/lodash/findIndex.js"(exports, module) {
5211      var baseFindIndex = require_baseFindIndex();
5212      var baseIteratee = require_baseIteratee();
5213      var toInteger = require_toInteger();
5214      var nativeMax = Math.max;
5215      function findIndex(array, predicate, fromIndex) {
5216        var length = array == null ? 0 : array.length;
5217        if (!length) {
5218          return -1;
5219        }
5220        var index = fromIndex == null ? 0 : toInteger(fromIndex);
5221        if (index < 0) {
5222          index = nativeMax(length + index, 0);
5223        }
5224        return baseFindIndex(array, baseIteratee(predicate, 3), index);
5225      }
5226      module.exports = findIndex;
5227    }
5228  });
5229
5230  
vendor: 292 bytes, lines 5230-5240
5230// node_modules/lodash/find.js
5231  var require_find = __commonJS({
5232    "node_modules/lodash/find.js"(exports, module) {
5233      var createFind = require_createFind();
5234      var findIndex = require_findIndex();
5235      var find3 = createFind(findIndex);
5236      module.exports = find3;
5237    }
5238  });
5239
5240  
5240// packages/systems/ix2/shared/logic/IX2BrowserSupport.ts
5241  var IX2BrowserSupport_exports = {};
5242  __export(IX2BrowserSupport_exports, {
5243    ELEMENT_MATCHES: () => ELEMENT_MATCHES,
5244    FLEX_PREFIXED: () => FLEX_PREFIXED,
5245    IS_BROWSER_ENV: () => IS_BROWSER_ENV,
5246    TRANSFORM_PREFIXED: () => TRANSFORM_PREFIXED,
5247    TRANSFORM_STYLE_PREFIXED: () => TRANSFORM_STYLE_PREFIXED,
5248    withBrowser: () => withBrowser
5249  });
5250  var import_find, IS_BROWSER_ENV, withBrowser, ELEMENT_MATCHES, FLEX_PREFIXED, TRANSFORM_PREFIXED, TRANSFORM_PREFIX, TRANSFORM_STYLE_PREFIXED;
5251  var init_IX2BrowserSupport = __esm({
5252    "packages/systems/ix2/shared/logic/IX2BrowserSupport.ts"() {
5253      "use strict";
5254      import_find = __toESM(require_find());
5255      IS_BROWSER_ENV = typeof window !== "undefined";
5256      withBrowser = (fn, fallback) => {
5257        if (IS_BROWSER_ENV) {
5258          return fn();
5259        }
5260        return fallback;
5261      };
5262      ELEMENT_MATCHES = withBrowser(() => {
5263        return (0, import_find.default)(
5264          [
5265            "matches",
5266            "matchesSelector",
5267            "mozMatchesSelector",
5268            "msMatchesSelector",
5269            "oMatchesSelector",
5270            "webkitMatchesSelector"
5271          ],
5272          (key) => key in Element.prototype
5273        );
5274      });
5275      FLEX_PREFIXED = withBrowser(() => {
5276        const el = document.createElement("i");
5277        const values = [
5278          "flex",
5279          "-webkit-flex",
5280          "-ms-flexbox",
5281          "-moz-box",
5282          "-webkit-box"
5283        ];
5284        const none = "";
5285        try {
5286          const { length } = values;
5287          for (let i = 0; i < length; i++) {
5288            const value = values[i];
5289            el.style.display = value;
5290            if (el.style.display === value) {
5291              return value;
5292            }
5293          }
5294          return none;
5295        } catch (err) {
5296          return none;
5297        }
5298      }, "flex");
5299      TRANSFORM_PREFIXED = withBrowser(() => {
5300        const el = document.createElement("i");
5301        if (el.style.transform == null) {
5302          const prefixes = ["Webkit", "Moz", "ms"];
5303          const suffix = "Transform";
5304          const { length } = prefixes;
5305          for (let i = 0; i < length; i++) {
5306            const prop = prefixes[i] + suffix;
5307            if (el.style[prop] !== void 0) {
5308              return prop;
5309            }
5310          }
5311        }
5312        return "transform";
5313      }, "transform");
5314      TRANSFORM_PREFIX = TRANSFORM_PREFIXED.split("transform")[0];
5315      TRANSFORM_STYLE_PREFIXED = TRANSFORM_PREFIX ? TRANSFORM_PREFIX + "TransformStyle" : "transformStyle";
5316    }
5317  });
5318
5319  
vendor: 3,496 bytes, lines 5319-5413
5319// node_modules/bezier-easing/src/index.js
5320  var require_src = __commonJS({
5321    "node_modules/bezier-easing/src/index.js"(exports, module) {
5322      var NEWTON_ITERATIONS = 4;
5323      var NEWTON_MIN_SLOPE = 1e-3;
5324      var SUBDIVISION_PRECISION = 1e-7;
5325      var SUBDIVISION_MAX_ITERATIONS = 10;
5326      var kSplineTableSize = 11;
5327      var kSampleStepSize = 1 / (kSplineTableSize - 1);
5328      var float32ArraySupported = typeof Float32Array === "function";
5329      function A(aA1, aA2) {
5330        return 1 - 3 * aA2 + 3 * aA1;
5331      }
5332      function B(aA1, aA2) {
5333        return 3 * aA2 - 6 * aA1;
5334      }
5335      function C(aA1) {
5336        return 3 * aA1;
5337      }
5338      function calcBezier(aT, aA1, aA2) {
5339        return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;
5340      }
5341      function getSlope(aT, aA1, aA2) {
5342        return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);
5343      }
5344      function binarySubdivide(aX, aA, aB, mX1, mX2) {
5345        var currentX, currentT, i = 0;
5346        do {
5347          currentT = aA + (aB - aA) / 2;
5348          currentX = calcBezier(currentT, mX1, mX2) - aX;
5349          if (currentX > 0) {
5350            aB = currentT;
5351          } else {
5352            aA = currentT;
5353          }
5354        } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);
5355        return currentT;
5356      }
5357      function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
5358        for (var i = 0; i < NEWTON_ITERATIONS; ++i) {
5359          var currentSlope = getSlope(aGuessT, mX1, mX2);
5360          if (currentSlope === 0) {
5361            return aGuessT;
5362          }
5363          var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
5364          aGuessT -= currentX / currentSlope;
5365        }
5366        return aGuessT;
5367      }
5368      module.exports = function bezier(mX1, mY1, mX2, mY2) {
5369        if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) {
5370          throw new Error("bezier x values must be in [0, 1] range");
5371        }
5372        var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);
5373        if (mX1 !== mY1 || mX2 !== mY2) {
5374          for (var i = 0; i < kSplineTableSize; ++i) {
5375            sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
5376          }
5377        }
5378        function getTForX(aX) {
5379          var intervalStart = 0;
5380          var currentSample = 1;
5381          var lastSample = kSplineTableSize - 1;
5382          for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {
5383            intervalStart += kSampleStepSize;
5384          }
5385          --currentSample;
5386          var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);
5387          var guessForT = intervalStart + dist * kSampleStepSize;
5388          var initialSlope = getSlope(guessForT, mX1, mX2);
5389          if (initialSlope >= NEWTON_MIN_SLOPE) {
5390            return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
5391          } else if (initialSlope === 0) {
5392            return guessForT;
5393          } else {
5394            return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
5395          }
5396        }
5397        return function BezierEasing3(x) {
5398          if (mX1 === mY1 && mX2 === mY2) {
5399            return x;
5400          }
5401          if (x === 0) {
5402            return 0;
5403          }
5404          if (x === 1) {
5405            return 1;
5406          }
5407          return calcBezier(getTForX(x), mY1, mY2);
5408        };
5409      };
5410    }
5411  });
5412
5413  
5413// packages/systems/ix2/shared/logic/IX2Easings.ts
5414  var IX2Easings_exports = {};
5415  __export(IX2Easings_exports, {
5416    bounce: () => bounce,
5417    bouncePast: () => bouncePast,
5418    ease: () => ease,
5419    easeIn: () => easeIn,
5420    easeInOut: () => easeInOut,
5421    easeOut: () => easeOut,
5422    inBack: () => inBack,
5423    inCirc: () => inCirc,
5424    inCubic: () => inCubic,
5425    inElastic: () => inElastic,
5426    inExpo: () => inExpo,
5427    inOutBack: () => inOutBack,
5428    inOutCirc: () => inOutCirc,
5429    inOutCubic: () => inOutCubic,
5430    inOutElastic: () => inOutElastic,
5431    inOutExpo: () => inOutExpo,
5432    inOutQuad: () => inOutQuad,
5433    inOutQuart: () => inOutQuart,
5434    inOutQuint: () => inOutQuint,
5435    inOutSine: () => inOutSine,
5436    inQuad: () => inQuad,
5437    inQuart: () => inQuart,
5438    inQuint: () => inQuint,
5439    inSine: () => inSine,
5440    outBack: () => outBack,
5441    outBounce: () => outBounce,
5442    outCirc: () => outCirc,
5443    outCubic: () => outCubic,
5444    outElastic: () => outElastic,
5445    outExpo: () => outExpo,
5446    outQuad: () => outQuad,
5447    outQuart: () => outQuart,
5448    outQuint: () => outQuint,
5449    outSine: () => outSine,
5450    swingFrom: () => swingFrom,
5451    swingFromTo: () => swingFromTo,
5452    swingTo: () => swingTo
5453  });
5454  function inQuad(pos) {
5455    return Math.pow(pos, 2);
5456  }
5457  function outQuad(pos) {
5458    return -(Math.pow(pos - 1, 2) - 1);
5459  }
5460  function inOutQuad(pos) {
5461    if ((pos /= 0.5) < 1) {
5462      return 0.5 * Math.pow(pos, 2);
5463    }
5464    return -0.5 * ((pos -= 2) * pos - 2);
5465  }
5466  function inCubic(pos) {
5467    return Math.pow(pos, 3);
5468  }
5469  function outCubic(pos) {
5470    return Math.pow(pos - 1, 3) + 1;
5471  }
5472  function inOutCubic(pos) {
5473    if ((pos /= 0.5) < 1) {
5474      return 0.5 * Math.pow(pos, 3);
5475    }
5476    return 0.5 * (Math.pow(pos - 2, 3) + 2);
5477  }
5478  function inQuart(pos) {
5479    return Math.pow(pos, 4);
5480  }
5481  function outQuart(pos) {
5482    return -(Math.pow(pos - 1, 4) - 1);
5483  }
5484  function inOutQuart(pos) {
5485    if ((pos /= 0.5) < 1) {
5486      return 0.5 * Math.pow(pos, 4);
5487    }
5488    return -0.5 * ((pos -= 2) * Math.pow(pos, 3) - 2);
5489  }
5490  function inQuint(pos) {
5491    return Math.pow(pos, 5);
5492  }
5493  function outQuint(pos) {
5494    return Math.pow(pos - 1, 5) + 1;
5495  }
5496  function inOutQuint(pos) {
5497    if ((pos /= 0.5) < 1) {
5498      return 0.5 * Math.pow(pos, 5);
5499    }
5500    return 0.5 * (Math.pow(pos - 2, 5) + 2);
5501  }
5502  function inSine(pos) {
5503    return -Math.cos(pos * (Math.PI / 2)) + 1;
5504  }
5505  function outSine(pos) {
5506    return Math.sin(pos * (Math.PI / 2));
5507  }
5508  function inOutSine(pos) {
5509    return -0.5 * (Math.cos(Math.PI * pos) - 1);
5510  }
5511  function inExpo(pos) {
5512    return pos === 0 ? 0 : Math.pow(2, 10 * (pos - 1));
5513  }
5514  function outExpo(pos) {
5515    return pos === 1 ? 1 : -Math.pow(2, -10 * pos) + 1;
5516  }
5517  function inOutExpo(pos) {
5518    if (pos === 0) {
5519      return 0;
5520    }
5521    if (pos === 1) {
5522      return 1;
5523    }
5524    if ((pos /= 0.5) < 1) {
5525      return 0.5 * Math.pow(2, 10 * (pos - 1));
5526    }
5527    return 0.5 * (-Math.pow(2, -10 * --pos) + 2);
5528  }
5529  function inCirc(pos) {
5530    return -(Math.sqrt(1 - pos * pos) - 1);
5531  }
5532  function outCirc(pos) {
5533    return Math.sqrt(1 - Math.pow(pos - 1, 2));
5534  }
5535  function inOutCirc(pos) {
5536    if ((pos /= 0.5) < 1) {
5537      return -0.5 * (Math.sqrt(1 - pos * pos) - 1);
5538    }
5539    return 0.5 * (Math.sqrt(1 - (pos -= 2) * pos) + 1);
5540  }
5541  function outBounce(pos) {
5542    if (pos < 1 / 2.75) {
5543      return 7.5625 * pos * pos;
5544    } else if (pos < 2 / 2.75) {
5545      return 7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75;
5546    } else if (pos < 2.5 / 2.75) {
5547      return 7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375;
5548    } else {
5549      return 7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375;
5550    }
5551  }
5552  function inBack(pos) {
5553    const s = magicSwing;
5554    return pos * pos * ((s + 1) * pos - s);
5555  }
5556  function outBack(pos) {
5557    const s = magicSwing;
5558    return (pos -= 1) * pos * ((s + 1) * pos + s) + 1;
5559  }
5560  function inOutBack(pos) {
5561    let s = magicSwing;
5562    if ((pos /= 0.5) < 1) {
5563      return 0.5 * (pos * pos * (((s *= 1.525) + 1) * pos - s));
5564    }
5565    return 0.5 * ((pos -= 2) * pos * (((s *= 1.525) + 1) * pos + s) + 2);
5566  }
5567  function inElastic(pos) {
5568    let s = magicSwing;
5569    let p = 0;
5570    let a = 1;
5571    if (pos === 0) {
5572      return 0;
5573    }
5574    if (pos === 1) {
5575      return 1;
5576    }
5577    if (!p) {
5578      p = 0.3;
5579    }
5580    if (a < 1) {
5581      a = 1;
5582      s = p / 4;
5583    } else {
5584      s = p / (2 * Math.PI) * Math.asin(1 / a);
5585    }
5586    return -(a * Math.pow(2, 10 * (pos -= 1)) * Math.sin((pos - s
5586) * (2 * Math.PI) / p));
5587  }
5588  function outElastic(pos) {
5589    let s = magicSwing;
5590    let p = 0;
5591    let a = 1;
5592    if (pos === 0) {
5593      return 0;
5594    }
5595    if (pos === 1) {
5596      return 1;
5597    }
5598    if (!p) {
5599      p = 0.3;
5600    }
5601    if (a < 1) {
5602      a = 1;
5603      s = p / 4;
5604    } else {
5605      s = p / (2 * Math.PI) * Math.asin(1 / a);
5606    }
5607    return a * Math.pow(2, -10 * pos) * Math.sin((pos - s) * (2 * Math.PI) / p) + 1;
5608  }
5609  function inOutElastic(pos) {
5610    let s = magicSwing;
5611    let p = 0;
5612    let a = 1;
5613    if (pos === 0) {
5614      return 0;
5615    }
5616    if ((pos /= 1 / 2) === 2) {
5617      return 1;
5618    }
5619    if (!p) {
5620      p = 0.3 * 1.5;
5621    }
5622    if (a < 1) {
5623      a = 1;
5624      s = p / 4;
5625    } else {
5626      s = p / (2 * Math.PI) * Math.asin(1 / a);
5627    }
5628    if (pos < 1) {
5629      return -0.5 * (a * Math.pow(2, 10 * (pos -= 1)) * Math.sin((pos - s) * (2 * Math.PI) / p));
5630    }
5631    return a * Math.pow(2, -10 * (pos -= 1)) * Math.sin((pos - s) * (2 * Math.PI) / p) * 0.5 + 1;
5632  }
5633  function swingFromTo(pos) {
5634    let s = magicSwing;
5635    return (pos /= 0.5) < 1 ? 0.5 * (pos * pos * (((s *= 1.525) + 1) * pos - s)) : 0.5 * ((pos -= 2) * pos * (((s *= 1.525) + 1) * pos + s) + 2);
5636  }
5637  function swingFrom(pos) {
5638    const s = magicSwing;
5639    return pos * pos * ((s + 1) * pos - s);
5640  }
5641  function swingTo(pos) {
5642    const s = magicSwing;
5643    return (pos -= 1) * pos * ((s + 1) * pos + s) + 1;
5644  }
5645  function bounce(pos) {
5646    if (pos < 1 / 2.75) {
5647      return 7.5625 * pos * pos;
5648    } else if (pos < 2 / 2.75) {
5649      return 7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75;
5650    } else if (pos < 2.5 / 2.75) {
5651      return 7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375;
5652    } else {
5653      return 7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375;
5654    }
5655  }
5656  function bouncePast(pos) {
5657    if (pos < 1 / 2.75) {
5658      return 7.5625 * pos * pos;
5659    } else if (pos < 2 / 2.75) {
5660      return 2 - (7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75);
5661    } else if (pos < 2.5 / 2.75) {
5662      return 2 - (7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375);
5663    } else {
5664      return 2 - (7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375);
5665    }
5666  }
5667  var import_bezier_easing, magicSwing, ease, easeIn, easeOut, easeInOut;
5668  var init_IX2Easings = __esm({
5669    "packages/systems/ix2/shared/logic/IX2Easings.ts"() {
5670      "use strict";
5671      import_bezier_easing = __toESM(require_src());
5672      magicSwing = 1.70158;
5673      ease = (0, import_bezier_easing.default)(0.25, 0.1, 0.25, 1);
5674      easeIn = (0, import_bezier_easing.default)(0.42, 0, 1, 1);
5675      easeOut = (0, import_bezier_easing.default)(0, 0, 0.58, 1);
5676      easeInOut = (0, import_bezier_easing.default)(0.42, 0, 0.58, 1);
5677    }
5678  });
5679
5680  
5680// packages/systems/ix2/shared/logic/IX2EasingUtils.ts
5681  var IX2EasingUtils_exports = {};
5682  __export(IX2EasingUtils_exports, {
5683    applyEasing: () => applyEasing,
5684    createBezierEasing: () => createBezierEasing,
5685    optimizeFloat: () => optimizeFloat
5686  });
5687  function optimizeFloat(value, digits = 5, base = 10) {
5688    const pow = Math.pow(base, digits);
5689    const float = Number(Math.round(value * pow) / pow);
5690    return Math.abs(float) > 1e-4 ? float : 0;
5691  }
5692  function createBezierEasing(easing) {
5693    return (0, import_bezier_easing2.default)(...easing);
5694  }
5695  function applyEasing(easing, position, customEasingFn) {
5696    if (position === 0) {
5697      return 0;
5698    }
5699    if (position === 1) {
5700      return 1;
5701    }
5702    if (customEasingFn) {
5703      return optimizeFloat(position > 0 ? customEasingFn(position) : position);
5704    }
5705    return optimizeFloat(
5706      position > 0 && easing && IX2Easings_exports[easing] ? IX2Easings_exports[easing](position) : position
5707    );
5708  }
5709  var import_bezier_easing2;
5710  var init_IX2EasingUtils = __esm({
5711    "packages/systems/ix2/shared/logic/IX2EasingUtils.ts"() {
5712      "use strict";
5713      init_IX2Easings();
5714      import_bezier_easing2 = __toESM(require_src());
5715    }
5716  });
5717
5718  
5718// packages/systems/ix2/shared/reducers/IX2ElementsReducer.ts
5719  var IX2ElementsReducer_exports = {};
5720  __export(IX2ElementsReducer_exports, {
5721    createElementState: () => createElementState,
5722    ixElements: () => ixElements,
5723    mergeActionState: () => mergeActionState
5724  });
5725  function createElementState(state, ref, refType, elementId, actionItem) {
5726    const refId = refType === PLAIN_OBJECT2 ? (0, import_timm3.getIn)(actionItem, ["config", "target", "objectId"]) : null;
5727    return (0, import_timm3.mergeIn)(state, [elementId], {
5728      id: elementId,
5729      ref,
5730      refId,
5731      refType
5732    });
5733  }
5734  function mergeActionState(state, elementId, actionTypeId, actionState, actionItem) {
5735    const units = pickUnits(actionItem);
5736    const mergePath = [elementId, refState, actionTypeId];
5737    return (0, import_timm3.mergeIn)(state, mergePath, actionState, units);
5738  }
5739  function pickUnits(actionItem) {
5740    const { config } = actionItem;
5741    return valueUnitPairs.reduce((result, pair) => {
5742      const valueKey = pair[0];
5743      const unitKey = pair[1];
5744      const configValue = config[valueKey];
5745      const configUnit = config[unitKey];
5746      if (configValue != null && configUnit != null) {
5747        result[unitKey] = configUnit;
5748      }
5749      return result;
5750    }, {});
5751  }
5752  var import_timm3, HTML_ELEMENT2, PLAIN_OBJECT2, ABSTRACT_NODE2, CONFIG_X_VALUE2, CONFIG_Y_VALUE2, CONFIG_Z_VALUE2, CONFIG_VALUE2, CONFIG_X_UNIT2, CONFIG_Y_UNIT2, CONFIG_Z_UNIT2, CONFIG_UNIT2, IX2_SESSION_STOPPED3, IX2_INSTANCE_ADDED2, IX2_ELEMENT_STATE_CHANGED2, initialState3, refState, ixElements, valueUnitPairs;
5753  var init_IX2ElementsReducer = __esm({
5754    "packages/systems/ix2/shared/reducers/IX2ElementsReducer.ts"() {
5755      "use strict";
5756      import_timm3 = __toESM(require_timm());
5757      init_shared_constants();
5758      ({
5759        HTML_ELEMENT: HTML_ELEMENT2,
5760        PLAIN_OBJECT: PLAIN_OBJECT2,
5761        ABSTRACT_NODE: ABSTRACT_NODE2,
5762        CONFIG_X_VALUE: CONFIG_X_VALUE2,
5763        CONFIG_Y_VALUE: CONFIG_Y_VALUE2,
5764        CONFIG_Z_VALUE: CONFIG_Z_VALUE2,
5765        CONFIG_VALUE: CONFIG_VALUE2,
5766        CONFIG_X_UNIT: CONFIG_X_UNIT2,
5767        CONFIG_Y_UNIT: CONFIG_Y_UNIT2,
5768        CONFIG_Z_UNIT: CONFIG_Z_UNIT2,
5769        CONFIG_UNIT: CONFIG_UNIT2
5770      } = IX2EngineConstants_exports);
5771      ({ IX2_SESSION_STOPPED: IX2_SESSION_STOPPED3, IX2_INSTANCE_ADDED: IX2_INSTANCE_ADDED2, IX2_ELEMENT_STATE_CHANGED: IX2_ELEMENT_STATE_CHANGED2 } = IX2EngineActionTypes_exports);
5772      initialState3 = {};
5773      refState = "refState";
5774      ixElements = (state = initialState3, action = {}) => {
5775        switch (action.type) {
5776          case IX2_SESSION_STOPPED3: {
5777            return initialState3;
5778          }
5779          case IX2_INSTANCE_ADDED2: {
5780            const {
5781              elementId,
5782              element: ref,
5783              origin,
5784              actionItem,
5785              refType
5786            } = action.payload;
5787            const { actionTypeId } = actionItem;
5788            let newState = state;
5789            if ((0, import_timm3.getIn)(newState, [elementId, ref]) !== ref) {
5790              newState = createElementState(
5791                newState,
5792                ref,
5793                refType,
5794                elementId,
5795                actionItem
5796              );
5797            }
5798            return mergeActionState(
5799              newState,
5800              elementId,
5801              actionTypeId,
5802              origin,
5803              actionItem
5804            );
5805          }
5806          case IX2_ELEMENT_STATE_CHANGED2: {
5807            const { elementId, actionTypeId, current, actionItem } = action.payload;
5808            return mergeActionState(
5809              state,
5810              elementId,
5811              actionTypeId,
5812              current,
5813              actionItem
5814            );
5815          }
5816          default: {
5817            return state;
5818          }
5819        }
5820      };
5821      valueUnitPairs = [
5822        [CONFIG_X_VALUE2, CONFIG_X_UNIT2],
5823        [CONFIG_Y_VALUE2, CONFIG_Y_UNIT2],
5824        [CONFIG_Z_VALUE2, CONFIG_Z_UNIT2],
5825        [CONFIG_VALUE2, CONFIG_UNIT2]
5826      ];
5827    }
5828  });
5829
5830  
5830// packages/systems/ix2/plugins/IX2Lottie.js
5831  var require_IX2Lottie = __commonJS({
5832    "packages/systems/ix2/plugins/IX2Lottie.js"(exports) {
5833      "use strict";
5834      Object.defineProperty(exports, "__esModule", {
5835        value: true
5836      });
5837      function _export(target, all) {
5838        for (var name in all)
5839          Object.defineProperty(target, name, {
5840            enumerable: true,
5841            get: all[name]
5842          });
5843      }
5844      _export(exports, {
5845        clearPlugin: function() {
5846          return clearPlugin2;
5847        },
5848        createPluginInstance: function() {
5849          return createPluginInstance3;
5850        },
5851        getPluginConfig: function() {
5852          return getPluginConfig2;
5853        },
5854        getPluginDestination: function() {
5855          return getPluginDestination2;
5856        },
5857        getPluginDuration: function() {
5858          return getPluginDuration3;
5859        },
5860        getPluginOrigin: function() {
5861          return getPluginOrigin2;
5862        },
5863        renderPlugin: function() {
5864          return renderPlugin2;
5865        }
5866      });
5867      var getPluginConfig2 = (actionItemConfig) => {
5868        return actionItemConfig.value;
5869      };
5870      var getPluginDuration3 = (element, actionItem) => {
5871        if (actionItem.config.duration !== "auto") {
5872          return null;
5873        }
5874        const duration = parseFloat(element.getAttribute("data-duration"));
5875        if (duration > 0) {
5876          return duration * 1e3;
5877        }
5878        return parseFloat(element.getAttribute("data-default-duration")) * 1e3;
5879      };
5880      var getPluginOrigin2 = (refState2) => {
5881        return refState2 || {
5882          value: 0
5883        };
5884      };
5885      var getPluginDestination2 = (actionItemConfig) => {
5886        return {
5887          value: actionItemConfig.value
5888        };
5889      };
5890      var createPluginInstance3 = (element) => {
5891        const instance = window.Webflow.require("lottie").createInstance(element);
5892        instance.stop();
5893        instance.setSubframe(true);
5894        return instance;
5895      };
5896      var renderPlugin2 = (pluginInstance, refState2, actionItem) => {
5897        if (!pluginInstance) {
5898          return;
5899        }
5900        const percent = refState2[actionItem.actionTypeId].value / 100;
5901        pluginInstance.goToFrame(pluginInstance.frames * percent);
5902      };
5903      var clearPlugin2 = (element) => {
5904        const instance = window.Webflow.require("lottie").createInstance(element);
5905        instance.stop();
5906      };
5907    }
5908  });
5909
5910  
5910// packages/systems/ix2/plugins/IX2Spline.js
5911  var require_IX2Spline = __commonJS({
5912    "packages/systems/ix2/plugins/IX2Spline.js"(exports) {
5913      "use strict";
5914      Object.defineProperty(exports, "__esModule", {
5915        value: true
5916      });
5917      function _export(target, all) {
5918        for (var name in all)
5919          Object.defineProperty(target, name, {
5920            enumerable: true,
5921            get: all[name]
5922          });
5923      }
5924      _export(exports, {
5925        clearPlugin: function() {
5926          return clearPlugin2;
5927        },
5928        createPluginInstance: function() {
5929          return createPluginInstance3;
5930        },
5931        getPluginConfig: function() {
5932          return getPluginConfig2;
5933        },
5934        getPluginDestination: function() {
5935          return getPluginDestination2;
5936        },
5937        getPluginDuration: function() {
5938          return getPluginDuration3;
5939        },
5940        getPluginOrigin: function() {
5941          return getPluginOrigin2;
5942        },
5943        renderPlugin: function() {
5944          return renderPlugin2;
5945        }
5946      });
5947      var queryContainerElement = (elementId) => document.querySelector(`[data-w-id="${elementId}"]`);
5948      var getFrontendModule = () => window.Webflow.require("spline");
5949      var difference = (arr1, arr2) => arr1.filter((x) => !arr2.includes(x));
5950      var getPluginConfig2 = (actionItemConfig, key) => {
5951        return actionItemConfig.value[key];
5952      };
5953      var getPluginDuration3 = () => {
5954        return null;
5955      };
5956      var DEFAULT_VALUES = Object.freeze({
5957        positionX: 0,
5958        positionY: 0,
5959        positionZ: 0,
5960        rotationX: 0,
5961        rotationY: 0,
5962        rotationZ: 0,
5963        scaleX: 1,
5964        scaleY: 1,
5965        scaleZ: 1
5966      });
5967      var getPluginOrigin2 = (refState2, actionItem) => {
5968        const destination = actionItem.config.value;
5969        const destinationKeys = Object.keys(destination);
5970        if (refState2) {
5971          const stateKeys2 = Object.keys(refState2);
5972          const diffKeys = difference(destinationKeys, stateKeys2);
5973          if (diffKeys.length) {
5974            const origin2 = diffKeys.reduce((result, key) => {
5975              result[key] = DEFAULT_VALUES[key];
5976              return result;
5977            }, refState2);
5978            return origin2;
5979          }
5980          return refState2;
5981        }
5982        const origin = destinationKeys.reduce((result, key) => {
5983          result[key] = DEFAULT_VALUES[key];
5984          return result;
5985        }, {});
5986        return origin;
5987      };
5988      var getPluginDestination2 = (actionItemConfig) => {
5989        return actionItemConfig.value;
5990      };
5991      var createPluginInstance3 = (element, actionItem) => {
5992        const pluginElementId = actionItem?.config?.target?.pluginElement;
5993        return pluginElementId ? queryContainerElement(pluginElementId) : null;
5994      };
5995      var renderPlugin2 = (containerElement, refState2, actionItem) => {
5996        const frontendModule = getFrontendModule();
5997        const instance = frontendModule.getInstance(containerElement);
5998        const objectId = actionItem.config.target.objectId;
5999        const renderSpline = (spline) => {
6000          if (!spline) {
6001            throw new Error("Invalid spline app passed to renderSpline");
6002          }
6003          const obj = objectId && spline.findObjectById(objectId);
6004          if (!obj) {
6005            return;
6006          }
6007          const { PLUGIN_SPLINE: props } = refState2;
6008          if (props.positionX != null) {
6009            obj.position.x = props.positionX;
6010          }
6011          if (props.positionY != null) {
6012            obj.position.y = props.positionY;
6013          }
6014          if (props.positionZ != null) {
6015            obj.position.z = props.positionZ;
6016          }
6017          if (props.rotationX != null) {
6018            obj.rotation.x = props.rotationX;
6019          }
6020          if (props.rotationY != null) {
6021            obj.rotation.y = props.rotationY;
6022          }
6023          if (props.rotationZ != null) {
6024            obj.rotation.z = props.rotationZ;
6025          }
6026          if (props.scaleX != null) {
6027            obj.scale.x = props.scaleX;
6028          }
6029          if (props.scaleY != null) {
6030            obj.scale.y = props.scaleY;
6031          }
6032          if (props.scaleZ != null) {
6033            obj.scale.z = props.scaleZ;
6034          }
6035        };
6036        if (instance) {
6037          renderSpline(instance.spline);
6038        } else {
6039          frontendModule.setLoadHandler(containerElement, renderSpline);
6040        }
6041      };
6042      var clearPlugin2 = () => {
6043        return null;
6044      };
6045    }
6046  });
6047
6048  
6048// packages/systems/ix2/plugins/IX2Rive.js
6049  var require_IX2Rive = __commonJS({
6050    "packages/systems/ix2/plugins/IX2Rive.js"(exports) {
6051      "use strict";
6052      Object.defineProperty(exports, "__esModule", {
6053        value: true
6054      });
6055      function _export(target, all) {
6056        for (var name in all)
6057          Object.defineProperty(target, name, {
6058            enumerable: true,
6059            get: all[name]
6060          });
6061      }
6062      _export(exports, {
6063        clearPlugin: function() {
6064          return clearPlugin2;
6065        },
6066        createPluginInstance: function() {
6067          return createPluginInstance3;
6068        },
6069        getPluginConfig: function() {
6070          return getPluginConfig2;
6071        },
6072        getPluginDestination: function() {
6073          return getPluginDestination2;
6074        },
6075        getPluginDuration: function() {
6076          return getPluginDuration3;
6077        },
6078        getPluginOrigin: function() {
6079          return getPluginOrigin2;
6080        },
6081        renderPlugin: function() {
6082          return renderPlugin2;
6083        }
6084      });
6085      var FIT_KEY = "--wf-rive-fit";
6086      var ALIGNMENT_KEY = "--wf-rive-alignment";
6087      var queryContainerElement = (elementId) => document.querySelector(`[data-w-id="${elementId}"]`);
6088      var getFrontendModule = () => window.Webflow.require("rive");
6089      var getPluginConfig2 = (actionItemConfig, key) => actionItemConfig.value.inputs[key];
6090      var getPluginDuration3 = () => null;
6091      var getPluginOrigin2 = (refState2, actionItem) => {
6092        if (refState2)
6093          return refState2;
6094        const result = {};
6095        const { inputs = {} } = actionItem.config.value;
6096        for (const input in inputs)
6097          if (inputs[input] == null)
6098            result[input] = 0;
6099        return result;
6100      };
6101      var getPluginDestination2 = (actionItemConfig) => actionItemConfig.value.inputs ?? {};
6102      var createPluginInstance3 = (element, actionItem) => {
6103        const selectorGuids = actionItem.config?.target?.selectorGuids || [];
6104        if (selectorGuids.length > 0)
6105          return element;
6106        const pluginElementId = actionItem?.config?.target?.pluginElement;
6107        return pluginElementId ? queryContainerElement(pluginElementId) : null;
6108      };
6109      var renderPlugin2 = (containerElement, { PLUGIN_RIVE: props }, actionItem) => {
6110        const frontendModule = getFrontendModule();
6111        const instance = frontendModule.getInstance(containerElement);
6112        const StateMachineInputType = frontendModule.rive.StateMachineInputType;
6113        const { name, inputs = {} } = actionItem.config.value || {};
6114        function renderRive(riveInstance) {
6115          if (riveInstance.loaded) {
6116            render();
6117          } else {
6118            const onLoad = () => {
6119              render();
6120              riveInstance?.off("load", onLoad);
6121            };
6122            riveInstance?.on("load", onLoad);
6123          }
6124          function render() {
6125            const stateMachineInputs = riveInstance.stateMachineInputs(name);
6126            if (stateMachineInputs == null)
6127              return;
6128            if (!riveInstance.isPlaying)
6129              riveInstance.play(name, false);
6130            if (FIT_KEY in inputs || ALIGNMENT_KEY in inputs) {
6131              const currentLayout = riveInstance.layout;
6132              const nextFit = inputs[FIT_KEY] ?? currentLayout.fit;
6133              const nextAlignment = inputs[ALIGNMENT_KEY] ?? currentLayout.alignment;
6134              if (nextFit !== currentLayout.fit || nextAlignment !== currentLayout.alignment) {
6135                riveInstance.layout = currentLayout.copyWith({
6136                  fit: nextFit,
6137                  alignment: nextAlignment
6138                });
6139              }
6140            }
6141            for (const inputName in inputs) {
6142              if (inputName === FIT_KEY || inputName === ALIGNMENT_KEY)
6143                continue;
6144              const machineInput = stateMachineInputs.find((m) => m.name === inputName);
6145              if (machineInput == null)
6146                continue;
6147              switch (machineInput.type) {
6148                case StateMachineInputType.Boolean: {
6149                  if (inputs[inputName] != null) {
6150                    const booleanValue = Boolean(inputs[inputName]);
6151                    machineInput.value = booleanValue;
6152                  }
6153                  break;
6154                }
6155                case StateMachineInputType.Number: {
6156                  const numberValue = props[inputName];
6157                  if (numberValue != null)
6158                    machineInput.value = numberValue;
6159                  break;
6160                }
6161                case StateMachineInputType.Trigger: {
6162                  if (inputs[inputName])
6163                    machineInput.fire();
6164                  break;
6165                }
6166              }
6167            }
6168          }
6169        }
6170        if (instance?.rive)
6171          renderRive(instance.rive);
6172        else
6173          frontendModule.setLoadHandler(containerElement, renderRive);
6174      };
6175      var clearPlugin2 = (_containerElement, _actionItem) => null;
6176    }
6177  });
6178
6179  
6179// packages/systems/ix2/shared-utils/normalizeColor.js
6180  var require_normalizeColor = __commonJS({
6181    "packages/systems/ix2/shared-utils/normalizeColor.js"(exports) {
6182      "use strict";
6183      Object.defineProperty(exports, "__esModule", {
6184        value: true
6185      });
6186      Object.defineProperty(exports, "normalizeColor", {
6187        enumerable: true,
6188        get: function() {
6189          return normalizeColor2;
6190        }
6191      });
6192      var colorNamesObj = {
6193        aliceblue: "#F0F8FF",
6194        antiquewhite: "#FAEBD7",
6195        aqua: "#00FFFF",
6196        aquamarine: "#7FFFD4",
6197        azure: "#F0FFFF",
6198        beige: "#F5F5DC",
6199        bisque: "#FFE4C4",
6200        black: "#000000",
6201        blanchedalmond: "#FFEBCD",
6202        blue: "#0000FF",
6203        blueviolet: "#8A2BE2",
6204        brown: "#A52A2A",
6205        burlywood: "#DEB887",
6206        cadetblue: "#5F9EA0",
6207        chartreuse: "#7FFF00",
6208        chocolate: "#D2691E",
6209        coral: "#FF7F50",
6210        cornflowerblue: "#6495ED",
6211        cornsilk: "#FFF8DC",
6212        crimson: "#DC143C",
6213        cyan: "#00FFFF",
6214        darkblue: "#00008B",
6215        darkcyan: "#008B8B",
6216        darkgoldenrod: "#B8860B",
6217        darkgray: "#A9A9A9",
6218        darkgreen: "#006400",
6219        darkgrey: "#A9A9A9",
6220        darkkhaki: "#BDB76B",
6221        darkmagenta: "#8B008B",
6222        darkolivegreen: "#556B2F",
6223        darkorange: "#FF8C00",
6224        darkorchid: "#9932CC",
6225        darkred: "#8B0000",
6226        darksalmon: "#E9967A",
6227        darkseagreen: "#8FBC8F",
6228        darkslateblue: "#483D8B",
6229        darkslategray: "#2F4F4F",
6230        darkslategrey: "#2F4F4F",
6231        darkturquoise: "#00CED1",
6232        darkviolet: "#9400D3",
6233        deeppink: "#FF1493",
6234        deepskyblue: "#00BFFF",
6235        dimgray: "#696969",
6236        dimgrey: "#696969",
6237        dodgerblue: "#1E90FF",
6238        firebrick: "#B22222",
6239        floralwhite: "#FFFAF0",
6240        forestgreen: "#228B22",
6241        fuchsia: "#FF00FF",
6242        gainsboro: "#DCDCDC",
6243        ghostwhite: "#F8F8FF",
6244        gold: "#FFD700",
6245        goldenrod: "#DAA520",
6246        gray: "#808080",
6247        green: "#008000",
6248        greenyellow: "#ADFF2F",
6249        grey: "#808080",
6250        honeydew: "#F0FFF0",
6251        hotpink: "#FF69B4",
6252        indianred: "#CD5C5C",
6253        indigo: "#4B0082",
6254        ivory: "#FFFFF0",
6255        khaki: "#F0E68C",
6256        lavender: "#E6E6FA",
6257        lavenderblush: "#FFF0F5",
6258        lawngreen: "#7CFC00",
6259        lemonchiffon: "#FFFACD",
6260        lightblue: "#ADD8E6",
6261        lightcoral: "#F08080",
6262        lightcyan: "#E0FFFF",
6263        lightgoldenrodyellow: "#FAFAD2",
6264        lightgray: "#D3D3D3",
6265        lightgreen: "#90EE90",
6266        lightgrey: "#D3D3D3",
6267        lightpink: "#FFB6C1",
6268        lightsalmon: "#FFA07A",
6269        lightseagreen: "#20B2AA",
6270        lightskyblue: "#87CEFA",
6271        lightslategray: "#778899",
6272        lightslategrey: "#778899",
6273        lightsteelblue: "#B0C4DE",
6274        lightyellow: "#FFFFE0",
6275        lime: "#00FF00",
6276        limegreen: "#32CD32",
6277        linen: "#FAF0E6",
6278        magenta: "#FF00FF",
6279        maroon: "#800000",
6280        mediumaquamarine: "#66CDAA",
6281        mediumblue: "#0000CD",
6282        mediumorchid: "#BA55D3",
6283        mediumpurple: "#9370DB",
6284        mediumseagreen: "#3CB371",
6285        mediumslateblue: "#7B68EE",
6286        mediumspringgreen: "#00FA9A",
6287        mediumturquoise: "#48D1CC",
6288        mediumvioletred: "#C71585",
6289        midnightblue: "#191970",
6290        mintcream: "#F5FFFA",
6291        mistyrose: "#FFE4E1",
6292        moccasin: "#FFE4B5",
6293        navajowhite: "#FFDEAD",
6294        navy: "#000080",
6295        oldlace: "#FDF5E6",
6296        olive: "#808000",
6297        olivedrab: "#6B8E23",
6298        orange: "#FFA500",
6299        orangered: "#FF4500",
6300        orchid: "#DA70D6",
6301        palegoldenrod: "#EEE8AA",
6302        palegreen: "#98FB98",
6303        paleturquoise: "#AFEEEE",
6304        palevioletred: "#DB7093",
6305        papayawhip: "#FFEFD5",
6306        peachpuff: "#FFDAB9",
6307        peru: "#CD853F",
6308        pink: "#FFC0CB",
6309        plum: "#DDA0DD",
6310        powderblue: "#B0E0E6",
6311        purple: "#800080",
6312        rebeccapurple: "#663399",
6313        red: "#FF0000",
6314        rosybrown: "#BC8F8F",
6315        royalblue: "#4169E1",
6316        saddlebrown: "#8B4513",
6317        salmon: "#FA8072",
6318        sandybrown: "#F4A460",
6319        seagreen: "#2E8B57",
6320        seashell: "#FFF5EE",
6321        sienna: "#A0522D",
6322        silver: "#C0C0C0",
6323        skyblue: "#87CEEB",
6324        slateblue: "#6A5ACD",
6325        slategray: "#708090",
6326        slategrey: "#708090",
6327        snow: "#FFFAFA",
6328        springgreen: "#00FF7F",
6329        steelblue: "#4682B4",
6330        tan: "#D2B48C",
6331        teal: "#008080",
6332        thistle: "#D8BFD8",
6333        tomato: "#FF6347",
6334        turquoise: "#40E0D0",
6335        violet: "#EE82EE",
6336        wheat: "#F5DEB3",
6337        white: "#FFFFFF",
6338        whitesmoke: "#F5F5F5",
6339        yellow: "#FFFF00",
6340        yellowgreen: "#9ACD32"
6341      };
6342      function normalizeColor2(inputColor) {
6343        let red;
6344        let green;
6345        let blue;
6346        let alpha = 1;
6347        const rawColor = inputColor.replace(/\s/g, "").toLowerCase();
6348        const namedColor = typeof colorNamesObj[rawColor] === "string" ? colorNamesObj[rawColor].toLowerCase() : null;
6349        const cleanColor = namedColor || rawColor;
6350        if (cleanColor.startsWith("#")) {
6351          const hex = cleanColor.substring(1);
6352          if (hex.length === 3 || hex.length === 4) {
6353            red = parseInt(hex[0] + hex[0], 16);
6354            green = parseInt(hex[1] + hex[1], 16);
6355            blue = parseInt(hex[2] + hex[2], 16);
6356            if (hex.length === 4) {
6357              alpha = parseInt(hex[3] + hex[3], 16) / 255;
6358            }
6359          } else if (hex.length === 6 || hex.length === 8) {
6360            red = parseInt(hex.substring(0, 2), 16);
6361            green = parseInt(hex.substring(2, 4), 16);
6362            blue = parseInt(hex.substring(4, 6), 16);
6363            if (hex.length === 8) {
6364              alpha = parseInt(hex.substring(6, 8), 16) / 255;
6365            }
6366          }
6367        } else if (cleanColor.startsWith("rgba")) {
6368          const rgbaValues = cleanColor.match(/rgba\(([^)]+)\)/)[1].split(",");
6369          red = parseInt(rgbaValues[0], 10);
6370          green = parseInt(rgbaValues[1], 10);
6371          blue = parseInt(rgbaValues[2], 10);
6372          alpha = parseFloat(rgbaValues[3]);
6373        } else if (cleanColor.startsWith("rgb")) {
6374          const rgbValues = cleanColor.match(/rgb\(([^)]+)\)/)[1].split(",");
6375          red = parseInt(rgbValues[0], 10);
6376          green = parseInt(rgbValues[1], 10);
6377          blue = parseInt(rgbValues[2], 10);
6378        } else if (cleanColor.startsWith("hsla")) {
6379          const hslaValues = cleanColor.match(/hsla\(([^)]+)\)/)[1].split(",");
6380          const h = parseFloat(hslaValues[0]);
6381          const s = parseFloat(hslaValues[1].replace("%", "")) / 100;
6382          const l = parseFloat(hslaValues[2].replace("%", "")) / 100;
6383          alpha = parseFloat(hslaValues[3]);
6384          const C = (1 - Math.abs(2 * l - 1)) * s;
6385          const X = C * (1 - Math.abs(h / 60 % 2 - 1));
6386          const m = l - C / 2;
6387          let R;
6388          let G;
6389          let B;
6390          if (h >= 0 && h < 60) {
6391            R = C;
6392            G = X;
6393            B = 0;
6394          } else if (h >= 60 && h < 120) {
6395            R = X;
6396            G = C;
6397            B = 0;
6398          } else if (h >= 120 && h < 180) {
6399            R = 0;
6400            G = C;
6401            B = X;
6402          } else if (h >= 180 && h < 240) {
6403            R = 0;
6404            G = X;
6405            B = C;
6406          } else if (h >= 240 && h < 300) {
6407            R = X;
6408            G = 0;
6409            B = C;
6410          } else {
6411            R = C;
6412            G = 0;
6413            B = X;
6414          }
6415          red = Math.round((R + m) * 255);
6416          green = Math.round((G + m) * 255);
6417          blue = Math.round((B + m) * 255);
6418        } else if (cleanColor.startsWith("hsl")) {
6419          const hslValues = cleanColor.match(/hsl\(([^)]+)\)/)[1].split(",");
6420          const h = parseFloat(hslValues[0]);
6421          const s = parseFloat(hslValues[1].replace("%", "")) / 100;
6422          const l = parseFloat(hslValues[2].replace("%", "")) / 100;
6423          const C = (1 - Math.abs(2 * l - 1)) * s;
6424          const X = C * (1 - Math.abs(h / 60 % 2 - 1));
6425          const m = l - C / 2;
6426          let R;
6427          let G;
6428          let B;
6429          if (h >= 0 && h < 60) {
6430            R = C;
6431            G = X;
6432            B = 0;
6433          } else if (h >= 60 && h < 120) {
6434            R = X;
6435            G = C;
6436            B = 0;
6437          } else if (h >= 120 && h < 180) {
6438            R = 0;
6439            G = C;
6440            B = X;
6441          } else if (h >= 180 && h < 240) {
6442            R = 0;
6443            G = X;
6444            B = C;
6445          } else if (h >= 240 && h < 300) {
6446            R = X;
6447            G = 0;
6448            B = C;
6449          } else {
6450            R = C;
6451            G = 0;
6452            B = X;
6453          }
6454          red = Math.round((R + m) * 255);
6455          green = Math.round((G + m) * 255);
6456          blue = Math.round((B + m) * 255);
6457        }
6458        if (Number.isNaN(red) || Number.isNaN(green) || Number.isNaN(blue)) {
6459          throw new Error(`Invalid color in [ix2/shared/utils/normalizeColor.js] '${inputColor}'`);
6460        }
6461        return {
6462          red,
6463          green,
6464          blue,
6465          alpha
6466        };
6467      }
6468    }
6469  });
6470
6471  
6471// packages/systems/ix2/plugins/IX2Variable.js
6472  var require_IX2Variable = __commonJS({
6473    "packages/systems/ix2/plugins/IX2Variable.js"(exports) {
6474      "use strict";
6475      Object.defineProperty(exports, "__esModule", {
6476        value: true
6477      });
6478      function _export(target, all) {
6479        for (var name in all)
6480          Object.defineProperty(target, name, {
6481            enumerable: true,
6482            get: all[name]
6483          });
6484      }
6485      _export(exports, {
6486        clearPlugin: function() {
6487          return clearPlugin2;
6488        },
6489        createPluginInstance: function() {
6490          return createPluginInstance3;
6491        },
6492        getPluginConfig: function() {
6493          return getPluginConfig2;
6494        },
6495        getPluginDestination: function() {
6496          return getPluginDestination2;
6497        },
6498        getPluginDuration: function() {
6499          return getPluginDuration3;
6500        },
6501        getPluginOrigin: function() {
6502          return getPluginOrigin2;
6503        },
6504        renderPlugin: function() {
6505          return renderPlugin2;
6506        }
6507      });
6508      var _normalizeColor = require_normalizeColor();
6509      var getPluginConfig2 = (actionItemConfig, key) => {
6510        return actionItemConfig.value[key];
6511      };
6512      var getPluginDuration3 = () => {
6513        return null;
6514      };
6515      var getPluginOrigin2 = (refState2, actionItem) => {
6516        if (refState2) {
6517          return refState2;
6518        }
6519        const destination = actionItem.config.value;
6520        const objectId = actionItem.config.target.objectId;
6521        const computedValue = getComputedStyle(document.documentElement).getPropertyValue(objectId);
6522        if (destination.size != null) {
6523          return {
6524            size: parseInt(computedValue, 10)
6525          };
6526        }
6527        if (destination.red != null && destination.green != null && destination.blue != null) {
6528          return (0, _normalizeColor.normalizeColor)(computedValue);
6529        }
6530      };
6531      var getPluginDestination2 = (actionItemConfig) => {
6532        return actionItemConfig.value;
6533      };
6534      var createPluginInstance3 = () => {
6535        return null;
6536      };
6537      var renderPlugin2 = (_, refState2, actionItem) => {
6538        const objectId = actionItem.config.target.objectId;
6539        const unit = actionItem.config.value.unit;
6540        const { PLUGIN_VARIABLE: props } = refState2;
6541        const { size: size2, red, green, blue, alpha } = props;
6542        let value;
6543        if (size2 != null) {
6544          value = size2 + unit;
6545        }
6546        if (red != null && blue != null && green != null && alpha != null) {
6547          value = `rgba(${red}, ${green}, ${blue}, ${alpha})`;
6548        }
6549        if (value != null) {
6550          document.documentElement.style.setProperty(objectId, value);
6551        }
6552      };
6553      var clearPlugin2 = (ref, actionItem) => {
6554        const objectId = actionItem.config.target.objectId;
6555        document.documentElement.style.removeProperty(objectId);
6556      };
6557    }
6558  });
6559
6560  
6560// packages/systems/ix2/plugins/index.js
6561  var require_plugins = __commonJS({
6562    "packages/systems/ix2/plugins/index.js"(exports) {
6563      "use strict";
6564      Object.defineProperty(exports, "__esModule", {
6565        value: true
6566      });
6567      Object.defineProperty(exports, "pluginMethodMap", {
6568        enumerable: true,
6569        get: function() {
6570          return pluginMethodMap2;
6571        }
6572      });
6573      var _sharedconstants = (init_shared_constants(), __toCommonJS(shared_constants_exports));
6574      var _IX2Lottie = /* @__PURE__ */ _interop_require_wildcard(require_IX2Lottie());
6575      var _IX2Spline = /* @__PURE__ */ _interop_require_wildcard(require_IX2Spline());
6576      var _IX2Rive = /* @__PURE__ */ _interop_require_wildcard(require_IX2Rive());
6577      var _IX2Variable = /* @__PURE__ */ _interop_require_wildcard(require_IX2Variable());
6578      function _getRequireWildcardCache(nodeInterop) {
6579        if (typeof WeakMap !== "function")
6580          return null;
6581        var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
6582        var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
6583        return (_getRequireWildcardCache = function(nodeInterop2) {
6584          return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
6585        })(nodeInterop);
6586      }
6587      function _interop_require_wildcard(obj, nodeInterop) {
6588        if (!nodeInterop && obj && obj.__esModule) {
6589          return obj;
6590        }
6591        if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
6592          return {
6593            default: obj
6594          };
6595        }
6596        var cache = _getRequireWildcardCache(nodeInterop);
6597        if (cache && cache.has(obj)) {
6598          return cache.get(obj);
6599        }
6600        var newObj = {
6601          __proto__: null
6602        };
6603        var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
6604        for (var key in obj) {
6605          if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
6606            var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
6607            if (desc && (desc.get || desc.set)) {
6608              Object.defineProperty(newObj, key, desc);
6609            } else {
6610              newObj[key] = obj[key];
6611            }
6612          }
6613        }
6614        newObj.default = obj;
6615        if (cache) {
6616          cache.set(obj, newObj);
6617        }
6618        return newObj;
6619      }
6620      var pluginMethodMap2 = /* @__PURE__ */ new Map([
6621        [
6622          _sharedconstants.ActionTypeConsts.PLUGIN_LOTTIE,
6623          {
6624            ..._IX2Lottie
6625          }
6626        ],
6627        [
6628          _sharedconstants.ActionTypeConsts.PLUGIN_SPLINE,
6629          {
6630            ..._IX2Spline
6631          }
6632        ],
6633        [
6634          _sharedconstants.ActionTypeConsts.PLUGIN_RIVE,
6635          {
6636            ..._IX2Rive
6637          }
6638        ],
6639        [
6640          _sharedconstants.ActionTypeConsts.PLUGIN_VARIABLE,
6641          {
6642            ..._IX2Variable
6643          }
6644        ]
6645      ]);
6646    }
6647  });
6648
6649  
6649// packages/systems/ix2/shared/logic/IX2VanillaPlugins.ts
6650  var IX2VanillaPlugins_exports = {};
6651  __export(IX2VanillaPlugins_exports, {
6652    clearPlugin: () => clearPlugin,
6653    createPluginInstance: () => createPluginInstance,
6654    getPluginConfig: () => getPluginConfig,
6655    getPluginDestination: () => getPluginDestination,
6656    getPluginDuration: () => getPluginDuration,
6657    getPluginOrigin: () => getPluginOrigin,
6658    isPluginType: () => isPluginType,
6659    renderPlugin: () => renderPlugin
6660  });
6661  function isPluginType(actionTypeId) {
6662    return import_plugins.pluginMethodMap.has(actionTypeId);
6663  }
6664  var import_plugins, pluginMethod, getPluginConfig, getPluginOrigin, getPluginDuration, getPluginDestination, createPluginInstance, renderPlugin, clearPlugin;
6665  var init_IX2VanillaPlugins = __esm({
6666    "packages/systems/ix2/shared/logic/IX2VanillaPlugins.ts"() {
6667      "use strict";
6668      init_IX2BrowserSupport();
6669      import_plugins = __toESM(require_plugins());
6670      pluginMethod = (methodName) => (actionTypeId) => {
6671        if (!IS_BROWSER_ENV) {
6672          return () => null;
6673        }
6674        const plugin = import_plugins.pluginMethodMap.get(actionTypeId);
6675        if (!plugin) {
6676          throw new Error(`IX2 no plugin configured for: ${actionTypeId}`);
6677        }
6678        const method = plugin[methodName];
6679        if (!method) {
6680          throw new Error(`IX2 invalid plugin method: ${methodName}`);
6681        }
6682        return method;
6683      };
6684      getPluginConfig = pluginMethod("getPluginConfig");
6685      getPluginOrigin = pluginMethod("getPluginOrigin");
6686      getPluginDuration = pluginMethod("getPluginDuration");
6687      getPluginDestination = pluginMethod("getPluginDestination");
6688      createPluginInstance = pluginMethod("createPluginInstance");
6689      renderPlugin = pluginMethod("renderPlugin");
6690      clearPlugin = pluginMethod("clearPlugin");
6691    }
6692  });
6693
6694  
vendor: 312 bytes, lines 6694-6704
6694// node_modules/lodash/defaultTo.js
6695  var require_defaultTo = __commonJS({
6696    "node_modules/lodash/defaultTo.js"(exports, module) {
6697      function defaultTo2(value, defaultValue) {
6698        return value == null || value !== value ? defaultValue : value;
6699      }
6700      module.exports = defaultTo2;
6701    }
6702  });
6703
6704  
vendor: 570 bytes, lines 6704-6721
6704// node_modules/lodash/_arrayReduce.js
6705  var require_arrayReduce = __commonJS({
6706    "node_modules/lodash/_arrayReduce.js"(exports, module) {
6707      function arrayReduce(array, iteratee, accumulator, initAccum) {
6708        var index = -1, length = array == null ? 0 : array.length;
6709        if (initAccum && length) {
6710          accumulator = array[++index];
6711        }
6712        while (++index < length) {
6713          accumulator = iteratee(accumulator, array[index], index, array);
6714        }
6715        return accumulator;
6716      }
6717      module.exports = arrayReduce;
6718    }
6719  });
6720
6721  
vendor: 645 bytes, lines 6721-6740
6721// node_modules/lodash/_createBaseFor.js
6722  var require_createBaseFor = __commonJS({
6723    "node_modules/lodash/_createBaseFor.js"(exports, module) {
6724      function createBaseFor(fromRight) {
6725        return function(object, iteratee, keysFunc) {
6726          var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
6727          while (length--) {
6728            var key = props[fromRight ? length : ++index];
6729            if (iteratee(iterable[key], key, iterable) === false) {
6730              break;
6731            }
6732          }
6733          return object;
6734        };
6735      }
6736      module.exports = createBaseFor;
6737    }
6738  });
6739
6740  
vendor: 264 bytes, lines 6740-6749
6740// node_modules/lodash/_baseFor.js
6741  var require_baseFor = __commonJS({
6742    "node_modules/lodash/_baseFor.js"(exports, module) {
6743      var createBaseFor = require_createBaseFor();
6744      var baseFor = createBaseFor();
6745      module.exports = baseFor;
6746    }
6747  });
6748
6749  
vendor: 372 bytes, lines 6749-6761
6749// node_modules/lodash/_baseForOwn.js
6750  var require_baseForOwn = __commonJS({
6751    "node_modules/lodash/_baseForOwn.js"(exports, module) {
6752      var baseFor = require_baseFor();
6753      var keys = require_keys();
6754      function baseForOwn(object, iteratee) {
6755        return object && baseFor(object, iteratee, keys);
6756      }
6757      module.exports = baseForOwn;
6758    }
6759  });
6760
6761  
vendor: 868 bytes, lines 6761-6786
6761// node_modules/lodash/_createBaseEach.js
6762  var require_createBaseEach = __commonJS({
6763    "node_modules/lodash/_createBaseEach.js"(exports, module) {
6764      var isArrayLike = require_isArrayLike();
6765      function createBaseEach(eachFunc, fromRight) {
6766        return function(collection, iteratee) {
6767          if (collection == null) {
6768            return collection;
6769          }
6770          if (!isArrayLike(collection)) {
6771            return eachFunc(collection, iteratee);
6772          }
6773          var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection);
6774          while (fromRight ? index-- : ++index < length) {
6775            if (iteratee(iterable[index], index, iterable) === false) {
6776              break;
6777            }
6778          }
6779          return collection;
6780        };
6781      }
6782      module.exports = createBaseEach;
6783    }
6784  });
6785
6786  
vendor: 327 bytes, lines 6786-6796
6786// node_modules/lodash/_baseEach.js
6787  var require_baseEach = __commonJS({
6788    "node_modules/lodash/_baseEach.js"(exports, module) {
6789      var baseForOwn = require_baseForOwn();
6790      var createBaseEach = require_createBaseEach();
6791      var baseEach = createBaseEach(baseForOwn);
6792      module.exports = baseEach;
6793    }
6794  });
6795
6796  
vendor: 502 bytes, lines 6796-6809
6796// node_modules/lodash/_baseReduce.js
6797  var require_baseReduce = __commonJS({
6798    "node_modules/lodash/_baseReduce.js"(exports, module) {
6799      function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
6800        eachFunc(collection, function(value, index, collection2) {
6801          accumulator = initAccum ? (initAccum = false, value) : iteratee(accumulator, value, index, collection2);
6802        });
6803        return accumulator;
6804      }
6805      module.exports = baseReduce;
6806    }
6807  });
6808
6809  
vendor: 655 bytes, lines 6809-6825
6809// node_modules/lodash/reduce.js
6810  var require_reduce = __commonJS({
6811    "node_modules/lodash/reduce.js"(exports, module) {
6812      var arrayReduce = require_arrayReduce();
6813      var baseEach = require_baseEach();
6814      var baseIteratee = require_baseIteratee();
6815      var baseReduce = require_baseReduce();
6816      var isArray = require_isArray();
6817      function reduce2(collection, iteratee, accumulator) {
6818        var func = isArray(collection) ? arrayReduce : baseReduce, initAccum = arguments.length < 3;
6819        return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach);
6820      }
6821      module.exports = reduce2;
6822    }
6823  });
6824
6825  
vendor: 873 bytes, lines 6825-6849
6825// node_modules/lodash/findLastIndex.js
6826  var require_findLastIndex = __commonJS({
6827    "node_modules/lodash/findLastIndex.js"(exports, module) {
6828      var baseFindIndex = require_baseFindIndex();
6829      var baseIteratee = require_baseIteratee();
6830      var toInteger = require_toInteger();
6831      var nativeMax = Math.max;
6832      var nativeMin = Math.min;
6833      function findLastIndex(array, predicate, fromIndex) {
6834        var length = array == null ? 0 : array.length;
6835        if (!length) {
6836          return -1;
6837        }
6838        var index = length - 1;
6839        if (fromIndex !== void 0) {
6840          index = toInteger(fromIndex);
6841          index = fromIndex < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);
6842        }
6843        return baseFindIndex(array, baseIteratee(predicate, 3), index, true);
6844      }
6845      module.exports = findLastIndex;
6846    }
6847  });
6848
6849  
vendor: 324 bytes, lines 6849-6859
6849// node_modules/lodash/findLast.js
6850  var require_findLast = __commonJS({
6851    "node_modules/lodash/findLast.js"(exports, module) {
6852      var createFind = require_createFind();
6853      var findLastIndex = require_findLastIndex();
6854      var findLast2 = createFind(findLastIndex);
6855      module.exports = findLast2;
6856    }
6857  });
6858
6859  
6859// packages/systems/ix2/shared/logic/shallowEqual.ts
6860  function is(x, y) {
6861    if (x === y) {
6862      return x !== 0 || y !== 0 || 1 / x === 1 / y;
6863    }
6864    return x !== x && y !== y;
6865  }
6866  function shallowEqual(objA, objB) {
6867    if (is(objA, objB)) {
6868      return true;
6869    }
6870    if (typeof objA !== "object" || objA === null || typeof objB !== "object" || objB === null) {
6871      return false;
6872    }
6873    const keysA = Object.keys(objA);
6874    const keysB = Object.keys(objB);
6875    if (keysA.length !== keysB.length) {
6876      return false;
6877    }
6878    for (let i = 0; i < keysA.length; i++) {
6879      if (!Object.hasOwn(
6880        objB,
6881        // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'PropertyKey'.
6882        keysA[i]
6883      ) || // @ts-expect-error - TS2538 - Type 'undefined' cannot be used as an index type. | TS2538 - Type 'undefined' cannot be used as an index type.
6884      !is(objA[keysA[i]], objB[keysA[i]])) {
6885        return false;
6886      }
6887    }
6888    return true;
6889  }
6890  var shallowEqual_default;
6891  var init_shallowEqual = __esm({
6892    "packages/systems/ix2/shared/logic/shallowEqual.ts"() {
6893      "use strict";
6894      shallowEqual_default = shallowEqual;
6895    }
6896  });
6897
6898  
6898// packages/systems/ix2/shared/logic/IX2VanillaUtils.ts
6899  var IX2VanillaUtils_exports = {};
6900  __export(IX2VanillaUtils_exports, {
6901    cleanupHTMLElement: () => cleanupHTMLElement,
6902    clearAllStyles: () => clearAllStyles,
6903    clearObjectCache: () => clearObjectCache,
6904    getActionListProgress: () => getActionListProgress,
6905    getAffectedElements: () => getAffectedElements,
6906    getComputedStyle: () => getComputedStyle2,
6907    getDestinationValues: () => getDestinationValues,
6908    getElementId: () => getElementId,
6909    getInstanceId: () => getInstanceId,
6910    getInstanceOrigin: () => getInstanceOrigin,
6911    getItemConfigByKey: () => getItemConfigByKey,
6912    getMaxDurationItemIndex: () => getMaxDurationItemIndex,
6913    getNamespacedParameterId: () => getNamespacedParameterId,
6914    getRenderType: () => getRenderType,
6915    getStyleProp: () => getStyleProp,
6916    mediaQueriesEqual: () => mediaQueriesEqual,
6917    observeStore: () => observeStore,
6918    reduceListToGroup: () => reduceListToGroup,
6919    reifyState: () => reifyState,
6920    renderHTMLElement: () => renderHTMLElement,
6921    shallowEqual: () => shallowEqual_default,
6922    shouldAllowMediaQuery: () => shouldAllowMediaQuery,
6923    shouldNamespaceEventParameter: () => shouldNamespaceEventParameter,
6924    stringifyTarget: () => stringifyTarget
6925  });
6926  function clearObjectCache() {
6927    objectCache.clear();
6928  }
6929  function getInstanceId() {
6930    return "i" + instanceCount++;
6931  }
6932  function getElementId(ixElements3, ref) {
6933    for (const key in ixElements3) {
6934      const ixEl = ixElements3[key];
6935      if (ixEl && ixEl.ref === ref) {
6936        return ixEl.id;
6937      }
6938    }
6939    return "e" + elementCount++;
6940  }
6941  function reifyState({
6942    events,
6943    actionLists,
6944    site
6945  } = {}) {
6946    const eventTypeMap = (0, import_reduce.default)(
6947      events,
6948      (result, event) => {
6949        const { eventTypeId } = event;
6950        if (!result[eventTypeId]) {
6951          result[eventTypeId] = {};
6952        }
6953        result[eventTypeId][event.id] = event;
6954        return result;
6955      },
6956      {}
6957    );
6958    let mediaQueries = site && site.mediaQueries;
6959    let mediaQueryKeys = [];
6960    if (mediaQueries) {
6961      mediaQueryKeys = mediaQueries.map((mq) => mq.key);
6962    } else {
6963      mediaQueries = [];
6964      console.warn(`IX2 missing mediaQueries in site data`);
6965    }
6966    return {
6967      ixData: {
6968        events,
6969        actionLists,
6970        eventTypeMap,
6971        mediaQueries,
6972        mediaQueryKeys
6973      }
6974    };
6975  }
6976  function observeStore({
6977    // @ts-expect-error - TS7031 - Binding element 'store' implicitly has an 'any' type.
6978    store,
6979    // @ts-expect-error - TS7031 - Binding element 'select' implicitly has an 'any' type.
6980    select,
6981    // @ts-expect-error - TS7031 - Binding element 'onChange' implicitly has an 'any' type.
6982    onChange,
6983    comparator = strictEqual
6984  }) {
6985    const { getState, subscribe } = store;
6986    const unsubscribe = subscribe(handleChange);
6987    let currentState = select(getState());
6988    function handleChange() {
6989      const nextState = select(getState());
6990      if (nextState == null) {
6991        unsubscribe();
6992        return;
6993      }
6994      if (!comparator(nextState, currentState)) {
6995        currentState = nextState;
6996        onChange(currentState, store);
6997      }
6998    }
6999    return unsubscribe;
7000  }
7001  function normalizeTarget(target) {
7002    const type = typeof target;
7003    if (type === "string") {
7004      return { id: target };
7005    } else if (target != null && type === "object") {
7006      const { id, objectId, selector, selectorGuids, appliesTo, useEventTarget } = target;
7007      return { id, objectId, selector, selectorGuids, appliesTo, useEventTarget };
7008    }
7009    return {};
7010  }
7011  function getAffectedElements({
7012    config,
7013    event,
7014    eventTarget,
7015    elementRoot,
7016    elementApi
7017  }) {
7018    if (!elementApi) {
7019      throw new Error("IX2 missing elementApi");
7020    }
7021    const { targets } = config;
7022    if (Array.isArray(targets) && targets.length > 0) {
7023      return targets.reduce(
7024        (accumulator, target2) => accumulator.concat(
7025          getAffectedElements({
7026            config: { target: target2 },
7027            event,
7028            eventTarget,
7029            elementRoot,
7030            elementApi
7031          })
7032        ),
7033        []
7034      );
7035    }
7036    const {
7037      getValidDocument: getValidDocument2,
7038      getQuerySelector: getQuerySelector2,
7039      queryDocument: queryDocument2,
7040      getChildElements: getChildElements2,
7041      getSiblingElements: getSiblingElements2,
7042      matchSelector: matchSelector2,
7043      elementContains: elementContains2,
7044      isSiblingNode: isSiblingNode2
7045    } = elementApi;
7046    const { target } = config;
7047    if (!target) {
7048      return [];
7049    }
7050    const {
7051      id,
7052      objectId,
7053      selector,
7054      selectorGuids,
7055      appliesTo,
7056      useEventTarget
7057    } = normalizeTarget(target);
7058    if (objectId) {
7059      const ref = objectCache.has(objectId) ? objectCache.get(objectId) : objectCache.set(objectId, {}).get(objectId);
7060      return [ref];
7061    }
7062    if (appliesTo === EventAppliesTo.PAGE) {
7063      const doc = getValidDocument2(id);
7064      return doc ? [doc] : [];
7065    }
7066    const overrides = event?.action?.config?.affectedElements ?? {};
7067    const override = overrides[id || selector] || {};
7068    const validOverride = Boolean(override.id || override.selector);
7069    let limitAffectedElements;
7070    let baseSelector;
7071    let finalSelector;
7072    const eventTargetSelector = event && getQuerySelector2(normalizeTarget(event.target));
7073    if (validOverride) {
7074      limitAffectedElements = override.limitAffectedElements;
7075      baseSelector = eventTargetSelector;
7076      finalSelector = getQuerySelector2(override);
7077    } else {
7078      baseSelector = finalSelector = getQuerySelector2({
7079        id,
7080        selector,
7081        selectorGuids
7082      });
7083    }
7084    if (event && useEventTarget) {
7085      const eventTargets = eventTarget && (finalSelector || useEventTarget === true) ? [eventTarget] : queryDocument2(eventTargetSelector);
7086      if (finalSelector) {
7087        if (useEventTarget === PARENT2) {
7088          return queryDocument2(finalSelector).filter(
7089            (parentElement) => eventTargets.some(
7090              (targetElement) => elementContains2(parentElement, targetElement)
7091            )
7092          );
7093        }
7094        if (useEventTarget === CHILDREN2) {
7095          return queryDocument2(finalSelector).filter(
7096            (childElement) => eventTargets.some(
7097              (targetElement) => elementContains2(targetElement, childElement)
7098            )
7099          );
7100        }
7101        if (useEventTarget === SIBLINGS2) {
7102          return queryDocument2(finalSelector).filter(
7103            (siblingElement) => eventTargets.some(
7104              (targetElement) => isSiblingNode2(targetElement, siblingElement)
7105            )
7106          );
7107        }
7108      }
7109      return eventTargets;
7110    }
7111    if (baseSelector == null || finalSelector == null) {
7112      return [];
7113    }
7114    if (IS_BROWSER_ENV && elementRoot) {
7115      return queryDocument2(finalSelector).filter(
7116        (element) => elementRoot.contains(element)
7117      );
7118    }
7119    if (limitAffectedElements === CHILDREN2) {
7120      return queryDocument2(baseSelector, finalSelector);
7121    } else if (limitAffectedElements === IMMEDIATE_CHILDREN2) {
7122      return getChildElements2(queryDocument2(baseSelector)).filter(
7123        matchSelector2(finalSelector)
7124      );
7125    } else if (limitAffectedElements === SIBLINGS2) {
7126      return getSiblingElements2(queryDocument2(baseSelector)).filter(
7127        matchSelector2(finalSelector)
7128      );
7129    } else {
7130      return queryDocument2(finalSelector);
7131    }
7132  }
7133  function getComputedStyle2({ element, actionItem }) {
7134    if (!IS_BROWSER_ENV) {
7135      return {};
7136    }
7137    const { actionTypeId } = actionItem;
7138    switch (actionTypeId) {
7139      case STYLE_SIZE2:
7140      case STYLE_BACKGROUND_COLOR:
7141      case STYLE_BORDER:
7142      case STYLE_TEXT_COLOR:
7143      case GENERAL_DISPLAY:
7144        return window.getComputedStyle(element);
7145      default:
7146        return {};
7147    }
7148  }
7149  function getInstanceOrigin(element, refState2 = {}, computedStyle = {}, actionItem, elementApi) {
7150    const { getStyle: getStyle2 }
7150 = elementApi;
7151    const { actionTypeId } = actionItem;
7152    if (isPluginType(actionTypeId)) {
7153      return getPluginOrigin(actionTypeId)(refState2[actionTypeId], actionItem);
7154    }
7155    switch (actionItem.actionTypeId) {
7156      case TRANSFORM_MOVE2:
7157      case TRANSFORM_SCALE2:
7158      case TRANSFORM_ROTATE2:
7159      case TRANSFORM_SKEW2: {
7160        return (
7161          // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type '"TRANSFORM_MOVE" | "TRANSFORM_SCALE" | "TRANSFORM_ROTATE" | "TRANSFORM_SKEW"' can't be used to index type '{}'.
7162          refState2[actionItem.actionTypeId] || transformDefaults[actionItem.actionTypeId]
7163        );
7164      }
7165      case STYLE_FILTER2:
7166        return getFilterDefaults(
7167          // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type '"STYLE_FILTER"' can't be used to index type '{}'.
7168          refState2[actionItem.actionTypeId],
7169          actionItem.config.filters
7170        );
7171      case STYLE_FONT_VARIATION2:
7172        return getFontVariationDefaults(
7173          // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type '"STYLE_FONT_VARIATION"' can't be used to index type '{}'.
7174          refState2[actionItem.actionTypeId],
7175          actionItem.config.fontVariations
7176        );
7177      case STYLE_OPACITY:
7178        return { value: (0, import_defaultTo.default)(parseFloat(getStyle2(element, OPACITY2)), 1) };
7179      case STYLE_SIZE2: {
7180        const inlineWidth = getStyle2(element, WIDTH2);
7181        const inlineHeight = getStyle2(element, HEIGHT2);
7182        let widthValue;
7183        let heightValue;
7184        if (actionItem.config.widthUnit === AUTO2) {
7185          widthValue = pxValueRegex.test(inlineWidth) ? parseFloat(inlineWidth) : (
7186            // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
7187            parseFloat(computedStyle.width)
7188          );
7189        } else {
7190          widthValue = (0, import_defaultTo.default)(
7191            parseFloat(inlineWidth),
7192            // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
7193            parseFloat(computedStyle.width)
7194          );
7195        }
7196        if (actionItem.config.heightUnit === AUTO2) {
7197          heightValue = pxValueRegex.test(inlineHeight) ? parseFloat(inlineHeight) : (
7198            // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
7199            parseFloat(computedStyle.height)
7200          );
7201        } else {
7202          heightValue = (0, import_defaultTo.default)(
7203            parseFloat(inlineHeight),
7204            // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
7205            parseFloat(computedStyle.height)
7206          );
7207        }
7208        return {
7209          widthValue,
7210          heightValue
7211        };
7212      }
7213      case STYLE_BACKGROUND_COLOR:
7214      case STYLE_BORDER:
7215      case STYLE_TEXT_COLOR:
7216        return parseColor({
7217          element,
7218          actionTypeId: actionItem.actionTypeId,
7219          computedStyle,
7220          getStyle: getStyle2
7221        });
7222      case GENERAL_DISPLAY:
7223        return {
7224          // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
7225          value: (0, import_defaultTo.default)(getStyle2(element, DISPLAY2), computedStyle.display)
7226        };
7227      case OBJECT_VALUE:
7228        return refState2[actionItem.actionTypeId] || { value: 0 };
7229      default: {
7230        return;
7231      }
7232    }
7233  }
7234  function getDestinationValues({
7235    element,
7236    actionItem,
7237    elementApi
7238  }) {
7239    if (isPluginType(actionItem.actionTypeId)) {
7240      return getPluginDestination(actionItem.actionTypeId)(actionItem.config);
7241    }
7242    switch (actionItem.actionTypeId) {
7243      case TRANSFORM_MOVE2:
7244      case TRANSFORM_SCALE2:
7245      case TRANSFORM_ROTATE2:
7246      case TRANSFORM_SKEW2: {
7247        const { xValue, yValue, zValue } = actionItem.config;
7248        return { xValue, yValue, zValue };
7249      }
7250      case STYLE_SIZE2: {
7251        const { getStyle: getStyle2, setStyle: setStyle2, getProperty: getProperty2 } = elementApi;
7252        const { widthUnit, heightUnit } = actionItem.config;
7253        let { widthValue, heightValue } = actionItem.config;
7254        if (!IS_BROWSER_ENV) {
7255          return { widthValue, heightValue };
7256        }
7257        if (widthUnit === AUTO2) {
7258          const temp = getStyle2(element, WIDTH2);
7259          setStyle2(element, WIDTH2, "");
7260          widthValue = getProperty2(element, "offsetWidth");
7261          setStyle2(element, WIDTH2, temp);
7262        }
7263        if (heightUnit === AUTO2) {
7264          const temp = getStyle2(element, HEIGHT2);
7265          setStyle2(element, HEIGHT2, "");
7266          heightValue = getProperty2(element, "offsetHeight");
7267          setStyle2(element, HEIGHT2, temp);
7268        }
7269        return { widthValue, heightValue };
7270      }
7271      case STYLE_BACKGROUND_COLOR:
7272      case STYLE_BORDER:
7273      case STYLE_TEXT_COLOR: {
7274        const { rValue, gValue, bValue, aValue, globalSwatchId } = actionItem.config;
7275        if (globalSwatchId && globalSwatchId.startsWith("--")) {
7276          const { getStyle: getStyle2 }
7276 = elementApi;
7277          const value = getStyle2(element, globalSwatchId);
7278          const normalizedValue = (0, import_normalizeColor.normalizeColor)(value);
7279          return {
7280            rValue: normalizedValue.red,
7281            gValue: normalizedValue.green,
7282            bValue: normalizedValue.blue,
7283            aValue: normalizedValue.alpha
7284          };
7285        }
7286        return { rValue, gValue, bValue, aValue };
7287      }
7288      case STYLE_FILTER2: {
7289        return actionItem.config.filters.reduce(
7290          reduceFilters,
7291          {}
7292        );
7293      }
7294      case STYLE_FONT_VARIATION2: {
7295        return actionItem.config.fontVariations.reduce(
7296          reduceFontVariations,
7297          {}
7298        );
7299      }
7300      default: {
7301        const { value } = actionItem.config;
7302        return { value };
7303      }
7304    }
7305  }
7306  function getRenderType(actionTypeId) {
7307    if (/^TRANSFORM_/.test(actionTypeId)) {
7308      return RENDER_TRANSFORM2;
7309    }
7310    if (/^STYLE_/.test(actionTypeId)) {
7311      return RENDER_STYLE2;
7312    }
7313    if (/^GENERAL_/.test(actionTypeId)) {
7314      return RENDER_GENERAL2;
7315    }
7316    if (/^PLUGIN_/.test(actionTypeId)) {
7317      return RENDER_PLUGIN2;
7318    }
7319  }
7320  function getStyleProp(renderType, actionTypeId) {
7321    return renderType === RENDER_STYLE2 ? actionTypeId.replace("STYLE_", "").toLowerCase() : null;
7322  }
7323  function renderHTMLElement(element, refState2, actionState, eventId, actionItem, styleProp, elementApi, renderType, pluginInstance) {
7324    switch (renderType) {
7325      case RENDER_TRANSFORM2: {
7326        return renderTransform(
7327          element,
7328          refState2,
7329          actionState,
7330          actionItem,
7331          elementApi
7332        );
7333      }
7334      case RENDER_STYLE2: {
7335        return renderStyle(
7336          element,
7337          refState2,
7338          actionState,
7339          actionItem,
7340          styleProp,
7341          elementApi
7342        );
7343      }
7344      case RENDER_GENERAL2: {
7345        return renderGeneral(element, actionItem, elementApi);
7346      }
7347      case RENDER_PLUGIN2: {
7348        const { actionTypeId } = actionItem;
7349        if (isPluginType(actionTypeId)) {
7350          return renderPlugin(actionTypeId)(pluginInstance, refState2, actionItem);
7351        }
7352      }
7353    }
7354  }
7355  function renderTransform(element, refState2, actionState, actionItem, elementApi) {
7356    const newTransform = transformKeys.map((actionTypeId) => {
7357      const defaults = transformDefaults[actionTypeId];
7358      const {
7359        xValue = defaults.xValue,
7360        yValue = defaults.yValue,
7361        zValue = defaults.zValue,
7362        xUnit = "",
7363        yUnit = "",
7364        zUnit = ""
7365      } = refState2[actionTypeId] || {};
7366      switch (actionTypeId) {
7367        case TRANSFORM_MOVE2:
7368          return `${TRANSLATE_3D2}(${xValue}${xUnit}, ${yValue}${yUnit}, ${zValue}${zUnit})`;
7369        case TRANSFORM_SCALE2:
7370          return `${SCALE_3D2}(${xValue}${xUnit}, ${yValue}${yUnit}, ${zValue}${zUnit})`;
7371        case TRANSFORM_ROTATE2:
7372          return `${ROTATE_X2}(${xValue}${xUnit}) ${ROTATE_Y2}(${yValue}${yUnit}) ${ROTATE_Z2}(${zValue}${zUnit})`;
7373        case TRANSFORM_SKEW2:
7374          return `${SKEW2}(${xValue}${xUnit}, ${yValue}${yUnit})`;
7375        default:
7376          return "";
7377      }
7378    }).join(" ");
7379    const { setStyle: setStyle2 } = elementApi;
7380    addWillChange(element, TRANSFORM_PREFIXED, elementApi);
7381    setStyle2(element, TRANSFORM_PREFIXED, newTransform);
7382    if (hasDefined3dTransform(actionItem, actionState)) {
7383      setStyle2(element, TRANSFORM_STYLE_PREFIXED, PRESERVE_3D2);
7384    }
7385  }
7386  function renderFilter(element, actionState, actionItemConfig, elementApi) {
7387    const filterValue = (0, import_reduce.default)(
7388      actionState,
7389      (result, value, type) => `${result} ${type}(${value}${getFilterUnit(type, actionItemConfig)})`,
7390      ""
7391    );
7392    const { setStyle: setStyle2 } = elementApi;
7393    addWillChange(element, FILTER2, elementApi);
7394    setStyle2(element, FILTER2, filterValue);
7395  }
7396  function renderFontVariation(element, actionState, actionItemConfig, elementApi) {
7397    const fontVariationValue = (0, import_reduce.default)(
7398      actionState,
7399      (result, value, type) => {
7400        result.push(`"${type}" ${value}`);
7401        return result;
7402      },
7403      []
7404    ).join(", ");
7405    const { setStyle: setStyle2 }
7405 = elementApi;
7406    addWillChange(element, FONT_VARIATION_SETTINGS2, elementApi);
7407    setStyle2(element, FONT_VARIATION_SETTINGS2, fontVariationValue);
7408  }
7409  function hasDefined3dTransform({ actionTypeId }, { xValue, yValue, zValue }) {
7410    return actionTypeId === TRANSFORM_MOVE2 && zValue !== void 0 || // SCALE_Z
7411    actionTypeId === TRANSFORM_SCALE2 && zValue !== void 0 || // ROTATE_X or ROTATE_Y
7412    actionTypeId === TRANSFORM_ROTATE2 && (xValue !== void 0 || yValue !== void 0);
7413  }
7414  function getFirstMatch(regex, value) {
7415    const match = regex.exec(value);
7416    return match ? match[1] : "";
7417  }
7418  function parseColor({ element, actionTypeId, computedStyle, getStyle: getStyle2 }) {
7419    const prop = colorStyleProps[actionTypeId];
7420    const inlineValue = getStyle2(element, prop);
7421    const value = rgbValidRegex.test(inlineValue) ? inlineValue : computedStyle[prop];
7422    const matches = getFirstMatch(rgbMatchRegex, value).split(COMMA_DELIMITER2);
7423    return {
7424      // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
7425      rValue: (0, import_defaultTo.default)(parseInt(matches[0], 10), 255),
7426      // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
7427      gValue: (0, import_defaultTo.default)(parseInt(matches[1], 10), 255),
7428      // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
7429      bValue: (0, import_defaultTo.default)(parseInt(matches[2], 10), 255),
7430      // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
7431      aValue: (0, import_defaultTo.default)(parseFloat(matches[3]), 1)
7432    };
7433  }
7434  function renderStyle(element, refState2, actionState, actionItem, styleProp, elementApi) {
7435    const { setStyle: setStyle2 } = elementApi;
7436    switch (actionItem.actionTypeId) {
7437      case STYLE_SIZE2: {
7438        let { widthUnit = "", heightUnit = "" } = actionItem.config;
7439        const { widthValue, heightValue } = actionState;
7440        if (widthValue !== void 0) {
7441          if (widthUnit === AUTO2) {
7442            widthUnit = "px";
7443          }
7444          addWillChange(element, WIDTH2, elementApi);
7445          setStyle2(element, WIDTH2, widthValue + widthUnit);
7446        }
7447        if (heightValue !== void 0) {
7448          if (heightUnit === AUTO2) {
7449            heightUnit = "px";
7450          }
7451          addWillChange(element, HEIGHT2, elementApi);
7452          setStyle2(element, HEIGHT2, heightValue + heightUnit);
7453        }
7454        break;
7455      }
7456      case STYLE_FILTER2: {
7457        renderFilter(element, actionState, actionItem.config, elementApi);
7458        break;
7459      }
7460      case STYLE_FONT_VARIATION2: {
7461        renderFontVariation(element, actionState, actionItem.config, elementApi);
7462        break;
7463      }
7464      case STYLE_BACKGROUND_COLOR:
7465      case STYLE_BORDER:
7466      case STYLE_TEXT_COLOR: {
7467        const prop = colorStyleProps[actionItem.actionTypeId];
7468        const rValue = Math.round(actionState.rValue);
7469        const gValue = Math.round(actionState.gValue);
7470        const bValue = Math.round(actionState.bValue);
7471        const aValue = actionState.aValue;
7472        addWillChange(element, prop, elementApi);
7473        setStyle2(
7474          element,
7475          prop,
7476          aValue >= 1 ? `rgb(${rValue},${gValue},${bValue})` : `rgba(${rValue},${gValue},${bValue},${aValue})`
7477        );
7478        break;
7479      }
7480      default: {
7481        const { unit = "" } = actionItem.config;
7482        addWillChange(element, styleProp, elementApi);
7483        setStyle2(element, styleProp, actionState.value + unit);
7484        break;
7485      }
7486    }
7487  }
7488  function renderGeneral(element, actionItem, elementApi) {
7489    const { setStyle: setStyle2 } = elementApi;
7490    switch (actionItem.actionTypeId) {
7491      case GENERAL_DISPLAY: {
7492        const { value } = actionItem.config;
7493        if (value === FLEX2 && IS_BROWSER_ENV) {
7494          setStyle2(element, DISPLAY2, FLEX_PREFIXED);
7495        } else {
7496          setStyle2(element, DISPLAY2, value);
7497        }
7498        return;
7499      }
7500    }
7501  }
7502  function addWillChange(element, prop, elementApi) {
7503    if (!IS_BROWSER_ENV) {
7504      return;
7505    }
7506    const validProp = willChangeProps[prop];
7507    if (!validProp) {
7508      return;
7509    }
7510    const { getStyle: getStyle2, setStyle: setStyle2 } = elementApi;
7511    const value = getStyle2(element, WILL_CHANGE2);
7512    if (!value) {
7513      setStyle2(element, WILL_CHANGE2, validProp);
7514      return;
7515    }
7516    const values = value.split(COMMA_DELIMITER2).map(trim);
7517    if (values.indexOf(validProp) === -1) {
7518      setStyle2(
7519        element,
7520        WILL_CHANGE2,
7521        values.concat(validProp).join(COMMA_DELIMITER2)
7522      );
7523    }
7524  }
7525  function removeWillChange(element, prop, elementApi) {
7526    if (!IS_BROWSER_ENV) {
7527      return;
7528    }
7529    const validProp = willChangeProps[prop];
7530    if (!validProp) {
7531      return;
7532    }
7533    const { getStyle: getStyle2, setStyle: setStyle2 } = elementApi;
7534    const value = getStyle2(element, WILL_CHANGE2);
7535    if (!value || value.indexOf(validProp) === -1) {
7536      return;
7537    }
7538    setStyle2(
7539      element,
7540      WILL_CHANGE2,
7541      value.split(COMMA_DELIMITER2).map(trim).filter((v) => v !== validProp).join(COMMA_DELIMITER2)
7542    );
7543  }
7544  function clearAllStyles({ store, elementApi }) {
7545    const { ixData: ixData2 } = store.getState();
7546    const { events = {}, actionLists = {} } = ixData2;
7547    Object.keys(events).forEach((eventId) => {
7548      const event = events[eventId];
7549      const { config } = event.action;
7550      const { actionListId } = config;
7551      const actionList = actionLists[actionListId];
7552      if (actionList) {
7553        clearActionListStyles({ actionList, event, elementApi });
7554      }
7555    });
7556    Object.keys(actionLists).forEach((actionListId) => {
7557      clearActionListStyles({ actionList: actionLists[actionListId], elementApi });
7558    });
7559  }
7560  function clearActionListStyles({ actionList = {}, event, elementApi }) {
7561    const { actionItemGroups, continuousParameterGroups } = actionList;
7562    actionItemGroups && // @ts-expect-error - TS7006 - Parameter 'actionGroup' implicitly has an 'any' type.
7563    actionItemGroups.forEach((actionGroup) => {
7564      clearActionGroupStyles({ actionGroup, event, elementApi });
7565    });
7566    continuousParameterGroups && // @ts-expect-error - TS7006 - Parameter 'paramGroup' implicitly has an 'any' type.
7567    continuousParameterGroups.forEach((paramGroup) => {
7568      const { continuousActionGroups } = paramGroup;
7569      continuousActionGroups.forEach((actionGroup) => {
7570        clearActionGroupStyles({ actionGroup, event, elementApi });
7571      });
7572    });
7573  }
7574  function clearActionGroupStyles({ actionGroup, event, elementApi }) {
7575    const { actionItems } = actionGroup;
7576    actionItems.forEach((actionItem) => {
7577      const { actionTypeId, config } = actionItem;
7578      let clearElement;
7579      if (isPluginType(actionTypeId)) {
7580        clearElement = (ref) => clearPlugin(actionTypeId)(ref, actionItem);
7581      } else {
7582        clearElement = processElementByType({
7583          effect: clearStyleProp,
7584          actionTypeId,
7585          elementApi
7586        });
7587      }
7588      getAffectedElements({ config, event, elementApi }).forEach(clearElement);
7589    });
7590  }
7591  function cleanupHTMLElement(element, actionItem, elementApi) {
7592    const { setStyle: setStyle2, getStyle: getStyle2 } = elementApi;
7593    const { actionTypeId } = actionItem;
7594    if (actionTypeId === STYLE_SIZE2) {
7595      const { config } = actionItem;
7596      if (config.widthUnit === AUTO2) {
7597        setStyle2(element, WIDTH2, "");
7598      }
7599      if (config.heightUnit === AUTO2) {
7600        setStyle2(element, HEIGHT2, "");
7601      }
7602    }
7603    if (getStyle2(element, WILL_CHANGE2)) {
7604      processElementByType({ effect: removeWillChange, actionTypeId, elementApi })(
7605        element
7606      );
7607    }
7608  }
7609  function clearStyleProp(element, prop, elementApi) {
7610    const { setStyle: setStyle2 } = elementApi;
7611    removeWillChange(element, prop, elementApi);
7612    setStyle2(element, prop, "");
7613    if (prop === TRANSFORM_PREFIXED) {
7614      setStyle2(element, TRANSFORM_STYLE_PREFIXED, "");
7615    }
7616  }
7617  function getMaxDurationItemIndex(actionItems) {
7618    let maxDuration = 0;
7619    let resultIndex = 0;
7620    actionItems.forEach((actionItem, index) => {
7621      const { config } = actionItem;
7622      const total = config.delay + config.duration;
7623      if (total >= maxDuration) {
7624        maxDuration = total;
7625        resultIndex = index;
7626      }
7627    });
7628    return resultIndex;
7629  }
7630  function getActionListProgress(actionList, instance) {
7631    const { actionItemGroups, useFirstGroupAsInitialState } = actionList;
7632    const { actionItem: instanceItem, verboseTimeElapsed = 0 } = instance;
7633    let totalDuration = 0;
7634    let elapsedDuration = 0;
7635    actionItemGroups.forEach((group, index) => {
7636      if (useFirstGroupAsInitialState && index === 0) {
7637        return;
7638      }
7639      const { actionItems } = group;
7640      const carrierItem = actionItems[getMaxDurationItemIndex(actionItems)];
7641      const { config, actionTypeId } = carrierItem;
7642      if (instanceItem.id === carrierItem.id) {
7643        elapsedDuration = totalDuration + verboseTimeElapsed;
7644      }
7645      const duration = getRenderType(actionTypeId) === RENDER_GENERAL2 ? 0 : config.duration;
7646      totalDuration += config.delay + duration;
7647    });
7648    return totalDuration > 0 ? optimizeFloat(elapsedDuration / totalDuration) : 0;
7649  }
7650  function reduceListToGroup({
7651    actionList,
7652    actionItemId,
7653    rawData
7654  }) {
7655    const { actionItemGroups, continuousParameterGroups } = actionList;
7656    const newActionItems = [];
7657    const takeItemUntilMatch = (actionItem) => {
7658      newActionItems.push(
7659        (0, import_timm4.mergeIn)(actionItem, ["config"], {
7660          delay: 0,
7661          duration: 0
7662        })
7663      );
7664      return actionItem.id === actionItemId;
7665    };
7666    actionItemGroups && actionItemGroups.some(({ actionItems }) => {
7667      return actionItems.some(takeItemUntilMatch);
7668    });
7669    continuousParameterGroups && continuousParameterGroups.some(
7670      (paramGroup) => {
7671        const { continuousActionGroups } = paramGroup;
7672        return continuousActionGroups.some(
7673          ({ actionItems }) => {
7674            return actionItems.some(takeItemUntilMatch);
7675          }
7676        );
7677      }
7678    );
7679    return (0, import_timm4.setIn)(rawData, ["actionLists"], {
7680      [actionList.id]: {
7681        id: actionList.id,
7682        actionItemGroups: [
7683          {
7684            actionItems: newActionItems
7685          }
7686        ]
7687      }
7688    });
7689  }
7690  function shouldNamespaceEventParameter(eventTypeId, { basedOn }) {
7691    return eventTypeId === EventTypeConsts.SCROLLING_IN_VIEW && (basedOn === EventBasedOn.ELEMENT || basedOn == null) || eventTypeId === EventTypeConsts.MOUSE_MOVE && basedOn === EventBasedOn.ELEMENT;
7692  }
7693  function getNamespacedParameterId(eventStateKey, continuousParameterGroupId) {
7694    const namespacedParameterId = eventStateKey + COLON_DELIMITER2 + continuousParameterGroupId;
7695    return namespacedParameterId;
7696  }
7697  function shouldAllowMediaQuery(mediaQueries, mediaQueryKey) {
7698    if (mediaQueryKey == null) {
7699      return true;
7700    }
7701    return mediaQueries.indexOf(mediaQueryKey) !== -1;
7702  }
7703  function mediaQueriesEqual(listA, listB) {
7704    return shallowEqual_default(listA && listA.sort(), listB && listB.sort());
7705  }
7706  function stringifyTarget(target) {
7707    if (typeof target === "string") {
7708      return target;
7709    }
7710    if (target.pluginElement && target.objectId) {
7711      return target.pluginElement + BAR_DELIMITER2 + target.objectId;
7712    }
7713    if (target.objectId) {
7714      return target.objectId;
7715    }
7716    const { id = "", selector = "", useEventTarget = "" } = target;
7717    return id + BAR_DELIMITER2 + selector + BAR_DELIMITER2 + useEventTarget;
7718  }
7719  var import_defaultTo, import_reduce, import_findLast, import_timm4, import_normalizeColor, BACKGROUND2, TRANSFORM2, TRANSLATE_3D2, SCALE_3D2, ROTATE_X2, ROTATE_Y2, ROTATE_Z2, SKEW2, PRESERVE_3D2, FLEX2, OPACITY2, FILTER2, FONT_VARIATION_SETTINGS2, WIDTH2, HEIGHT2, BACKGROUND_COLOR2, BORDER_COLOR2, COLOR2, CHILDREN2, IMMEDIATE_CHILDREN2, SIBLINGS2, PARENT2, DISPLAY2, WILL_CHANGE2, AUTO2, COMMA_DELIMITER2, COLON_DELIMITER2, BAR_DELIMITER2, RENDER_TRANSFORM2, RENDER_GENERAL2, RENDER_STYLE2, RENDER_PLUGIN2, TRANSFORM_MOVE2, TRANSFORM_SCALE2, TRANSFORM_ROTATE2, TRANSFORM_SKEW2, STYLE_OPACITY, STYLE_FILTER2, STYLE_FONT_VARIATION2, STYLE_SIZE2, STYLE_BACKGROUND_COLOR, STYLE_BORDER, STYLE_TEXT_COLOR, GENERAL_DISPLAY, OBJECT_VALUE, trim, colorStyleProps, willChangeProps, objectCache, instanceCount, elementCount, strictEqual, pxValueRegex, getFilterDefaults, getFontVariationDefaults, reduceFilters, reduceFontVariations, getItemConfigByKey, transformDefaults, filterDefaults, fontVariationDefaults, getFilterUnit, transformKeys, paramCapture, rgbValidRegex, rgbMatchRegex, processElementByType;
7720  var init_IX2VanillaUtils = __esm({
7721    "packages/systems/ix2/shared/logic/IX2VanillaUtils.ts"() {
7722      "use strict";
7723      import_defaultTo = __toESM(require_defaultTo());
7724      import_reduce = __toESM(require_reduce());
7725      import_findLast = __toESM(require_findLast());
7726      import_timm4 = __toESM(require_timm());
7727      init_shared_constants();
7728      init_shallowEqual();
7729      init_IX2EasingUtils();
7730      import_normalizeColor = __toESM(require_normalizeColor());
7731      init_IX2VanillaPlugins();
7732      init_IX2BrowserSupport();
7733      ({
7734        BACKGROUND: BACKGROUND2,
7735        TRANSFORM: TRANSFORM2,
7736        TRANSLATE_3D: TRANSLATE_3D2,
7737        SCALE_3D: SCALE_3D2,
7738        ROTATE_X: ROTATE_X2,
7739        ROTATE_Y: ROTATE_Y2,
7740        ROTATE_Z: ROTATE_Z2,
7741        SKEW: SKEW2,
7742        PRESERVE_3D: PRESERVE_3D2,
7743        FLEX: FLEX2,
7744        OPACITY: OPACITY2,
7745        FILTER: FILTER2,
7746        FONT_VARIATION_SETTINGS: FONT_VARIATION_SETTINGS2,
7747        WIDTH: WIDTH2,
7748        HEIGHT: HEIGHT2,
7749        BACKGROUND_COLOR: BACKGROUND_COLOR2,
7750        BORDER_COLOR: BORDER_COLOR2,
7751        COLOR: COLOR2,
7752        CHILDREN: CHILDREN2,
7753        IMMEDIATE_CHILDREN: IMMEDIATE_CHILDREN2,
7754        SIBLINGS: SIBLINGS2,
7755        PARENT: PARENT2,
7756        DISPLAY: DISPLAY2,
7757        WILL_CHANGE: WILL_CHANGE2,
7758        AUTO: AUTO2,
7759        COMMA_DELIMITER: COMMA_DELIMITER2,
7760        COLON_DELIMITER: COLON_DELIMITER2,
7761        BAR_DELIMITER: BAR_DELIMITER2,
7762        RENDER_TRANSFORM: RENDER_TRANSFORM2,
7763        RENDER_GENERAL: RENDER_GENERAL2,
7764        RENDER_STYLE: RENDER_STYLE2,
7765        RENDER_PLUGIN: RENDER_PLUGIN2
7766      } = IX2EngineConstants_exports);
7767      ({
7768        TRANSFORM_MOVE: TRANSFORM_MOVE2,
7769        TRANSFORM_SCALE: TRANSFORM_SCALE2,
7770        TRANSFORM_ROTATE: TRANSFORM_ROTATE2,
7771        TRANSFORM_SKEW: TRANSFORM_SKEW2,
7772        STYLE_OPACITY,
7773        STYLE_FILTER: STYLE_FILTER2,
7774        STYLE_FONT_VARIATION: STYLE_FONT_VARIATION2,
7775        STYLE_SIZE: STYLE_SIZE2,
7776        STYLE_BACKGROUND_COLOR,
7777        STYLE_BORDER,
7778        STYLE_TEXT_COLOR,
7779        GENERAL_DISPLAY,
7780        OBJECT_VALUE
7781      } = ActionTypeConsts);
7782      trim = (v) => v.trim();
7783      colorStyleProps = Object.freeze({
7784        [STYLE_BACKGROUND_COLOR]: BACKGROUND_COLOR2,
7785        [STYLE_BORDER]: BORDER_COLOR2,
7786        [STYLE_TEXT_COLOR]: COLOR2
7787      });
7788      willChangeProps = Object.freeze({
7789        [TRANSFORM_PREFIXED]: TRANSFORM2,
7790        [BACKGROUND_COLOR2]: BACKGROUND2,
7791        [OPACITY2]: OPACITY2,
7792        [FILTER2]: FILTER2,
7793        [WIDTH2]: WIDTH2,
7794        [HEIGHT2]: HEIGHT2,
7795        [FONT_VARIATION_SETTINGS2]: FONT_VARIATION_SETTINGS2
7796      });
7797      objectCache = /* @__PURE__ */ new Map();
7798      instanceCount = 1;
7799      elementCount = 1;
7800      strictEqual = (a, b) => a === b;
7801      pxValueRegex = /px/;
7802      getFilterDefaults = (actionState, filters) => (
7803        // @ts-expect-error - TS7006 - Parameter 'result' implicitly has an 'any' type. | TS7006 - Parameter 'filter' implicitly has an 'any' type.
7804        filters.reduce((result, filter) => {
7805          if (result[filter.type] == null) {
7806            result[filter.type] = // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Readonly<{ blur: 0; 'hue-rotate': 0; invert: 0; grayscale: 0; saturate: 100; sepia: 0; contrast: 100; brightness: 100; }>'.
7807            filterDefaults[filter.type];
7808          }
7809          return result;
7810        }, actionState || {})
7811      );
7812      getFontVariationDefaults = (actionState, fontVariations) => fontVariations.reduce((result, fontVariation) => {
7813        if (result[fontVariation.type] == null) {
7814          result[fontVariation.type] = // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'Readonly<{ wght: 0; opsz: 0; wdth: 0; slnt: 0; }>'.
7815          fontVariationDefaults[fontVariation.type] || // @ts-expect-error - TS2339 - Property 'defaultValue' does not exist on type 'FontVariationItemConfigType'.
7816          fontVariation.defaultValue || 0;
7817        }
7818        return result;
7819      }, actionState || {});
7820      reduceFilters = (result, filter) => {
7821        if (filter) {
7822          result[filter.type] = filter.value || 0;
7823        }
7824        return result;
7825      };
7826      reduceFontVariations = (result, fontVariation) => {
7827        if (fontVariation) {
7828          result[fontVariation.type] = fontVariation.value || 0;
7829        }
7830        return result;
7831      };
7832      getItemConfigByKey = (actionTypeId, key, config) => {
7833        if (isPluginType(actionTypeId)) {
7834          return getPluginConfig(actionTypeId)(config, key);
7835        }
7836        switch (actionTypeId) {
7837          case STYLE_FILTER2: {
7838            const filter = (0, import_findLast.default)(config.filters, ({ type }) => type === key);
7839            return filter ? filter.value : 0;
7840          }
7841          case STYLE_FONT_VARIATION2: {
7842            const fontVariation = (0, import_findLast.default)(
7843              config.fontVariations,
7844              ({ type }) => type === key
7845            );
7846            return fontVariation ? fontVariation.value : 0;
7847          }
7848          default:
7849            return config[key];
7850        }
7851      };
7852      transformDefaults = {
7853        [TRANSFORM_MOVE2]: Object.freeze({
7854          xValue: 0,
7855          yValue: 0,
7856          zValue: 0
7857        }),
7858        [TRANSFORM_SCALE2]: Object.freeze({
7859          xValue: 1,
7860          yValue: 1,
7861          zValue: 1
7862        }),
7863        [TRANSFORM_ROTATE2]: Object.freeze({
7864          xValue: 0,
7865          yValue: 0,
7866          zValue: 0
7867        }),
7868        [TRANSFORM_SKEW2]: Object.freeze({
7869          xValue: 0,
7870          yValue: 0
7871        })
7872      };
7873      filterDefaults = Object.freeze({
7874        blur: 0,
7875        "hue-rotate": 0,
7876        invert: 0,
7877        grayscale: 0,
7878        saturate: 100,
7879        sepia: 0,
7880        contrast: 100,
7881        brightness: 100
7882      });
7883      fontVariationDefaults = Object.freeze({
7884        wght: 0,
7885        opsz: 0,
7886        wdth: 0,
7887        slnt: 0
7888      });
7889      getFilterUnit = (filterType, actionItemConfig) => {
7890        const filter = (0, import_findLast.default)(
7891          actionItemConfig.filters,
7892          ({ type }) => type === filterType
7893        );
7894        if (filter && filter.unit) {
7895          return filter.unit;
7896        }
7897        switch (filterType) {
7898          case "blur":
7899            return "px";
7900          case "hue-rotate":
7901            return "deg";
7902          default:
7903            return "%";
7904        }
7905      };
7906      transformKeys = Object.keys(transformDefaults);
7907      paramCapture = "\\(([^)]+)\\)";
7908      rgbValidRegex = /^rgb/;
7909      rgbMatchRegex = RegExp(`rgba?${paramCapture}`);
7910      processElementByType = ({
7911        effect,
7912        actionTypeId,
7913        elementApi
7914      }) => (
7915        // @ts-expect-error - TS7006 - Parameter 'element' implicitly has an 'any' type.
7916        (element) => {
7917          switch (actionTypeId) {
7918            case TRANSFORM_MOVE2:
7919            case TRANSFORM_SCALE2:
7920            case TRANSFORM_ROTATE2:
7921            case TRANSFORM_SKEW2:
7922              effect(element, TRANSFORM_PREFIXED, elementApi);
7923              break;
7924            case STYLE_FILTER2:
7925              effect(element, FILTER2, elementApi);
7926              break;
7927            case STYLE_FONT_VARIATION2:
7928              effect(element, FONT_VARIATION_SETTINGS2, elementApi);
7929              break;
7930            case STYLE_OPACITY:
7931              effect(element, OPACITY2, elementApi);
7932              break;
7933            case STYLE_SIZE2:
7934              effect(element, WIDTH2, elementApi);
7935              effect(element, HEIGHT2, elementApi);
7936              break;
7937            case STYLE_BACKGROUND_COLOR:
7938            case STYLE_BORDER:
7939            case STYLE_TEXT_COLOR:
7940              effect(element, colorStyleProps[actionTypeId], elementApi);
7941              break;
7942            case GENERAL_DISPLAY:
7943              effect(element, DISPLAY2, elementApi);
7944              break;
7945          }
7946        }
7947      );
7948    }
7949  });
7950
7951  
7951// packages/systems/ix2/shared/index.js
7952  var require_shared = __commonJS({
7953    "packages/systems/ix2/shared/index.js"(exports) {
7954      "use strict";
7955      Object.defineProperty(exports, "__esModule", {
7956        value: true
7957      });
7958      function _export(target, all) {
7959        for (var name in all)
7960          Object.defineProperty(target, name, {
7961            enumerable: true,
7962            get: all[name]
7963          });
7964      }
7965      _export(exports, {
7966        // IX2Actions,
7967        IX2BrowserSupport: function() {
7968          return _IX2BrowserSupport;
7969        },
7970        IX2EasingUtils: function() {
7971          return _IX2EasingUtils;
7972        },
7973        IX2Easings: function() {
7974          return _IX2Easings;
7975        },
7976        IX2ElementsReducer: function() {
7977          return _IX2ElementsReducer;
7978        },
7979        IX2VanillaPlugins: function() {
7980          return _IX2VanillaPlugins;
7981        },
7982        IX2VanillaUtils: function() {
7983          return _IX2VanillaUtils;
7984        }
7985      });
7986      var _IX2BrowserSupport = /* @__PURE__ */ _interop_require_wildcard((init_IX2BrowserSupport(), __toCommonJS(IX2BrowserSupport_exports)));
7987      var _IX2Easings = /* @__PURE__ */ _interop_require_wildcard((init_IX2Easings(), __toCommonJS(IX2Easings_exports)));
7988      var _IX2EasingUtils = /* @__PURE__ */ _interop_require_wildcard((init_IX2EasingUtils(), __toCommonJS(IX2EasingUtils_exports)));
7989      var _IX2ElementsReducer = /* @__PURE__ */ _interop_require_wildcard((init_IX2ElementsReducer(), __toCommonJS(IX2ElementsReducer_exports)));
7990      var _IX2VanillaPlugins = /* @__PURE__ */ _interop_require_wildcard((init_IX2VanillaPlugins(), __toCommonJS(IX2VanillaPlugins_exports)));
7991      var _IX2VanillaUtils = /* @__PURE__ */ _interop_require_wildcard((init_IX2VanillaUtils(), __toCommonJS(IX2VanillaUtils_exports)));
7992      function _getRequireWildcardCache(nodeInterop) {
7993        if (typeof WeakMap !== "function")
7994          return null;
7995        var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
7996        var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
7997        return (_getRequireWildcardCache = function(nodeInterop2) {
7998          return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
7999        })(nodeInterop);
8000      }
8001      function _interop_require_wildcard(obj, nodeInterop) {
8002        if (!nodeInterop && obj && obj.__esModule) {
8003          return obj;
8004        }
8005        if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
8006          return {
8007            default: obj
8008          };
8009        }
8010        var cache = _getRequireWildcardCache(nodeInterop);
8011        if (cache && cache.has(obj)) {
8012          return cache.get(obj);
8013        }
8014        var newObj = {
8015          __proto__: null
8016        };
8017        var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
8018        for (var key in obj) {
8019          if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
8020            var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
8021            if (desc && (desc.get || desc.set)) {
8022              Object.defineProperty(newObj, key, desc);
8023            } else {
8024              newObj[key] = obj[key];
8025            }
8026          }
8027        }
8028        newObj.default = obj;
8029        if (cache) {
8030          cache.set(obj, newObj);
8031        }
8032        return newObj;
8033      }
8034    }
8035  });
8036
8037  
8037// packages/systems/ix2/engine/reducers/IX2InstancesReducer.ts
8038  var import_shared, import_timm5, IX2_RAW_DATA_IMPORTED3, IX2_SESSION_STOPPED4, IX2_INSTANCE_ADDED3, IX2_INSTANCE_STARTED2, IX2_INSTANCE_REMOVED2, IX2_ANIMATION_FRAME_CHANGED3, optimizeFloat2, applyEasing2, createBezierEasing2, RENDER_GENERAL3, getItemConfigByKey2, getRenderType2, getStyleProp2, continuousInstance, timedInstance, ixInstances;
8039  var init_IX2InstancesReducer = __esm({
8040    "packages/systems/ix2/engine/reducers/IX2InstancesReducer.ts"() {
8041      "use strict";
8042      init_shared_constants();
8043      import_shared = __toESM(require_shared());
8044      import_timm5 = __toESM(require_timm());
8045      ({
8046        IX2_RAW_DATA_IMPORTED: IX2_RAW_DATA_IMPORTED3,
8047        IX2_SESSION_STOPPED: IX2_SESSION_STOPPED4,
8048        IX2_INSTANCE_ADDED: IX2_INSTANCE_ADDED3,
8049        IX2_INSTANCE_STARTED: IX2_INSTANCE_STARTED2,
8050        IX2_INSTANCE_REMOVED: IX2_INSTANCE_REMOVED2,
8051        IX2_ANIMATION_FRAME_CHANGED: IX2_ANIMATION_FRAME_CHANGED3
8052      } = IX2EngineActionTypes_exports);
8053      ({ optimizeFloat: optimizeFloat2, applyEasing: applyEasing2, createBezierEasing: createBezierEasing2 } = import_shared.IX2EasingUtils);
8054      ({ RENDER_GENERAL: RENDER_GENERAL3 } = IX2EngineConstants_exports);
8055      ({ getItemConfigByKey: getItemConfigByKey2, getRenderType: getRenderType2, getStyleProp: getStyleProp2 } = import_shared.IX2VanillaUtils);
8056      continuousInstance = (state, action) => {
8057        const {
8058          position: lastPosition,
8059          parameterId,
8060          actionGroups,
8061          destinationKeys,
8062          smoothing,
8063          restingValue,
8064          actionTypeId,
8065          customEasingFn,
8066          skipMotion,
8067          skipToValue
8068        } = state;
8069        const { parameters } = action.payload;
8070        let velocity = Math.max(1 - smoothing, 0.01);
8071        let paramValue = parameters[parameterId];
8072        if (paramValue == null) {
8073          velocity = 1;
8074          paramValue = restingValue;
8075        }
8076        const nextPosition = Math.max(paramValue, 0) || 0;
8077        const positionDiff = optimizeFloat2(nextPosition - lastPosition);
8078        const position = skipMotion ? skipToValue : optimizeFloat2(lastPosition + positionDiff * velocity);
8079        const keyframePosition = position * 100;
8080        if (position === lastPosition && state.current) {
8081          return state;
8082        }
8083        let fromActionItem;
8084        let toActionItem;
8085        let positionOffset;
8086        let positionRange;
8087        for (let i = 0, { length } = actionGroups; i < length; i++) {
8088          const { keyframe, actionItems } = actionGroups[i];
8089          if (i === 0) {
8090            fromActionItem = actionItems[0];
8091          }
8092          if (keyframePosition >= keyframe) {
8093            fromActionItem = actionItems[0];
8094            const nextGroup = actionGroups[i + 1];
8095            const hasNextItem = nextGroup && keyframePosition !== keyframe;
8096            toActionItem = hasNextItem ? nextGroup.actionItems[0] : null;
8097            if (hasNextItem) {
8098              positionOffset = keyframe / 100;
8099              positionRange = (nextGroup.keyframe - keyframe) / 100;
8100            }
8101          }
8102        }
8103        const current = {};
8104        if (fromActionItem && !toActionItem) {
8105          for (let i = 0, { length } = destinationKeys; i < length; i++) {
8106            const key = destinationKeys[i];
8107            current[key] = getItemConfigByKey2(
8108              actionTypeId,
8109              key,
8110              fromActionItem.config
8111            );
8112          }
8113        } else if (fromActionItem && toActionItem && positionOffset !== void 0 && positionRange !== void 0) {
8114          const localPosition = (position - positionOffset) / positionRange;
8115          const easing = fromActionItem.config.easing;
8116          const eased = applyEasing2(easing, localPosition, customEasingFn);
8117          for (let i = 0, { length } = destinationKeys; i < length; i++) {
8118            const key = destinationKeys[i];
8119            const fromVal = getItemConfigByKey2(
8120              actionTypeId,
8121              key,
8122              fromActionItem.config
8123            );
8124            const toVal = getItemConfigByKey2(actionTypeId, key, toActionItem.config);
8125            const diff = toVal - fromVal;
8126            const value = diff * eased + fromVal;
8127            current[key] = value;
8128          }
8129        }
8130        return (0, import_timm5.merge)(state, {
8131          position,
8132          current
8133        });
8134      };
8135      timedInstance = (state, action) => {
8136        const {
8137          active,
8138          origin,
8139          start,
8140          immediate,
8141          renderType,
8142          verbose,
8143          actionItem,
8144          destination,
8145          destinationKeys,
8146          pluginDuration,
8147          instanceDelay,
8148          customEasingFn,
8149          skipMotion
8150        } = state;
8151        const easing = actionItem.config.easing;
8152        let { duration, delay } = actionItem.config;
8153        if (pluginDuration != null) {
8154          duration = pluginDuration;
8155        }
8156        delay = instanceDelay != null ? instanceDelay : delay;
8157        if (renderType === RENDER_GENERAL3) {
8158          duration = 0;
8159        } else if (immediate || skipMotion) {
8160          duration = delay = 0;
8161        }
8162        const { now } = action.payload;
8163        if (active && origin) {
8164          const delta = now - (start + delay);
8165          if (verbose) {
8166            const verboseDelta = now - start;
8167            const verboseDuration = duration + delay;
8168            const verbosePosition = optimizeFloat2(
8169              Math.min(Math.max(0, verboseDelta / verboseDuration), 1)
8170            );
8171            state = (0, import_timm5.set)(
8172              state,
8173              "verboseTimeElapsed",
8174              verboseDuration * verbosePosition
8175            );
8176          }
8177          if (delta < 0) {
8178            return state;
8179          }
8180          const position = optimizeFloat2(Math.min(Math.max(0, delta / duration), 1));
8181          const eased = applyEasing2(easing, position, customEasingFn);
8182          const newProps = {};
8183          let current = null;
8184          if (destinationKeys.length) {
8185            current = destinationKeys.reduce((result, key) => {
8186              const destValue = destination[key];
8187              const originVal = parseFloat(origin[key]) || 0;
8188              const diff = parseFloat(destValue) - originVal;
8189              const value = diff * eased + originVal;
8190              result[key] = value;
8191              return result;
8192            }, {});
8193          }
8194          newProps.current = current;
8195          newProps.position = position;
8196          if (position === 1) {
8197            newProps.active = false;
8198            newProps.complete = true;
8199          }
8200          return (0, import_timm5.merge)(state, newProps);
8201        }
8202        return state;
8203      };
8204      ixInstances = (state = Object.freeze({}), action) => {
8205        switch (action.type) {
8206          case IX2_RAW_DATA_IMPORTED3: {
8207            return action.payload.ixInstances || Object.freeze({});
8208          }
8209          case IX2_SESSION_STOPPED4: {
8210            return Object.freeze({});
8211          }
8212          case IX2_INSTANCE_ADDED3: {
8213            const {
8214              instanceId,
8215              elementId,
8216              actionItem,
8217              eventId,
8218              eventTarget,
8219              eventStateKey,
8220              actionListId,
8221              groupIndex,
8222              isCarrier,
8223              origin,
8224              destination,
8225              immediate,
8226              verbose,
8227              continuous,
8228              parameterId,
8229              actionGroups,
8230              smoothing,
8231              restingValue,
8232              pluginInstance,
8233              pluginDuration,
8234              instanceDelay,
8235              skipMotion,
8236              skipToValue
8237            } = action.payload;
8238            const { actionTypeId } = actionItem;
8239            const renderType = getRenderType2(actionTypeId);
8240            const styleProp = getStyleProp2(renderType, actionTypeId);
8241            const destinationKeys = Object.keys(destination).filter(
8242              (key) => (
8243                // Skip null destination values
8244                destination[key] != null && // Skip string destination values
8245                typeof destination[key] !== "string"
8246              )
8247            );
8248            const { easing } = actionItem.config;
8249            return (0, import_timm5.set)(state, instanceId, {
8250              id: instanceId,
8251              elementId,
8252              active: false,
8253              position: 0,
8254              start: 0,
8255              origin,
8256              destination,
8257              destinationKeys,
8258              immediate,
8259              verbose,
8260              current: null,
8261              actionItem,
8262              actionTypeId,
8263              eventId,
8264              eventTarget,
8265              eventStateKey,
8266              actionListId,
8267              groupIndex,
8268              renderType,
8269              isCarrier,
8270              styleProp,
8271              continuous,
8272              parameterId,
8273              actionGroups,
8274              smoothing,
8275              restingValue,
8276              pluginInstance,
8277              pluginDuration,
8278              instanceDelay,
8279              skipMotion,
8280              skipToValue,
8281              customEasingFn: Array.isArray(easing) && easing.length === 4 ? (
8282                // @ts-expect-error - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'IX2EasingCustomType'.
8283                createBezierEasing2(easing)
8284              ) : void 0
8285            });
8286          }
8287          case IX2_INSTANCE_STARTED2: {
8288            const { instanceId, time } = action.payload;
8289            return (0, import_timm5.mergeIn)(state, [instanceId], {
8290              active: true,
8291              complete: false,
8292              start: time
8293            });
8294          }
8295          case IX2_INSTANCE_REMOVED2: {
8296            const { instanceId } = action.payload;
8297            if (!state[instanceId]) {
8298              return state;
8299            }
8300            const newState = {};
8301            const keys = Object.keys(state);
8302            const { length } = keys;
8303            for (let i = 0; i < length; i++) {
8304              const key = keys[i];
8305              if (key !== instanceId) {
8306                newState[key] = state[key];
8307              }
8308            }
8309            return newState;
8310          }
8311          case IX2_ANIMATION_FRAME_CHANGED3: {
8312            let newState = state;
8313            const keys = Object.keys(state);
8314            const { length } = keys;
8315            for (let i = 0; i < length; i++) {
8316              const key = keys[i];
8317              const instance = state[key];
8318              const reducer = instance.continuous ? continuousInstance : timedInstance;
8319              newState = (0, import_timm5.set)(newState, key, reducer(instance, action));
8320            }
8321            return newState;
8322          }
8323          default: {
8324            return state;
8325          }
8326        }
8327      };
8328    }
8329  });
8330
8331  
8331// packages/systems/ix2/engine/reducers/IX2ParametersReducer.ts
8332  var IX2_RAW_DATA_IMPORTED4, IX2_SESSION_STOPPED5, IX2_PARAMETER_CHANGED2, ixParameters;
8333  var init_IX2ParametersReducer = __esm({
8334    "packages/systems/ix2/engine/reducers/IX2ParametersReducer.ts"() {
8335      "use strict";
8336      init_shared_constants();
8337      ({ IX2_RAW_DATA_IMPORTED: IX2_RAW_DATA_IMPORTED4, IX2_SESSION_STOPPED: IX2_SESSION_STOPPED5, IX2_PARAMETER_CHANGED: IX2_PARAMETER_CHANGED2 } = IX2EngineActionTypes_exports);
8338      ixParameters = (state = {
8339        /*mutable flat state*/
8340      }, action) => {
8341        switch (action.type) {
8342          case IX2_RAW_DATA_IMPORTED4: {
8343            return (
8344              // @ts-expect-error - Further investigation is needed as looks like IX2_RAW_DATA_IMPORTED is never triggered with ixParameters
8345              action.payload.ixParameters || {
8346                /*mutable flat state*/
8347              }
8348            );
8349          }
8350          case IX2_SESSION_STOPPED5: {
8351            return {
8352              /*mutable flat state*/
8353            };
8354          }
8355          case IX2_PARAMETER_CHANGED2: {
8356            const { key, value } = action.payload;
8357            state[key] = value;
8358            return state;
8359          }
8360          default: {
8361            return state;
8362          }
8363        }
8364      };
8365    }
8366  });
8367
8368  
8368// packages/systems/ix2/engine/reducers/IX2Reducer.ts
8369  var IX2Reducer_exports = {};
8370  __export(IX2Reducer_exports, {
8371    default: () => IX2Reducer_default
8372  });
8373  var import_redux, import_shared2, ixElements2, IX2Reducer_default;
8374  var init_IX2Reducer = __esm({
8375    "packages/systems/ix2/engine/reducers/IX2Reducer.ts"() {
8376      "use strict";
8377      import_redux = __toESM(require_lib2());
8378      init_IX2DataReducer();
8379      init_IX2RequestReducer();
8380      init_IX2SessionReducer();
8381      import_shared2 = __toESM(require_shared());
8382      init_IX2InstancesReducer();
8383      init_IX2ParametersReducer();
8384      ({ ixElements: ixElements2 } = import_shared2.IX2ElementsReducer);
8385      IX2Reducer_default = (0, import_redux.combineReducers)({
8386        ixData,
8387        ixRequest,
8388        ixSession,
8389        ixElements: ixElements2,
8390        ixInstances,
8391        ixParameters
8392      });
8393    }
8394  });
8395
8396  
vendor: 510 bytes, lines 8396-8410
8396// node_modules/lodash/isString.js
8397  var require_isString = __commonJS({
8398    "node_modules/lodash/isString.js"(exports, module) {
8399      var baseGetTag = require_baseGetTag();
8400      var isArray = require_isArray();
8401      var isObjectLike = require_isObjectLike();
8402      var stringTag = "[object String]";
8403      function isString(value) {
8404        return typeof value == "string" || !isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag;
8405      }
8406      module.exports = isString;
8407    }
8408  });
8409
8410  
vendor: 279 bytes, lines 8410-8419
8410// node_modules/lodash/_asciiSize.js
8411  var require_asciiSize = __commonJS({
8412    "node_modules/lodash/_asciiSize.js"(exports, module) {
8413      var baseProperty = require_baseProperty();
8414      var asciiSize = baseProperty("length");
8415      module.exports = asciiSize;
8416    }
8417  });
8418
8419  
vendor: 728 bytes, lines 8419-8437
8419// node_modules/lodash/_hasUnicode.js
8420  var require_hasUnicode = __commonJS({
8421    "node_modules/lodash/_hasUnicode.js"(exports, module) {
8422      var rsAstralRange = "\\ud800-\\udfff";
8423      var rsComboMarksRange = "\\u0300-\\u036f";
8424      var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
8425      var rsComboSymbolsRange = "\\u20d0-\\u20ff";
8426      var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
8427      var rsVarRange = "\\ufe0e\\ufe0f";
8428      var rsZWJ = "\\u200d";
8429      var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]");
8430      function hasUnicode(string) {
8431        return reHasUnicode.test(string);
8432      }
8433      module.exports = hasUnicode;
8434    }
8435  });
8436
8437  
vendor: 1,579 bytes, lines 8437-8471
8437// node_modules/lodash/_unicodeSize.js
8438  var require_unicodeSize = __commonJS({
8439    "node_modules/lodash/_unicodeSize.js"(exports, module) {
8440      var rsAstralRange = "\\ud800-\\udfff";
8441      var rsComboMarksRange = "\\u0300-\\u036f";
8442      var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
8443      var rsComboSymbolsRange = "\\u20d0-\\u20ff";
8444      var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
8445      var rsVarRange = "\\ufe0e\\ufe0f";
8446      var rsAstral = "[" + rsAstralRange + "]";
8447      var rsCombo = "[" + rsComboRange + "]";
8448      var rsFitz = "\\ud83c[\\udffb-\\udfff]";
8449      var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")";
8450      var rsNonAstral = "[^" + rsAstralRange + "]";
8451      var rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}";
8452      var rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]";
8453      var rsZWJ = "\\u200d";
8454      var reOptMod = rsModifier + "?";
8455      var rsOptVar = "[" + rsVarRange + "]?";
8456      var rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*";
8457      var rsSeq = rsOptVar + reOptMod + rsOptJoin;
8458      var rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")";
8459      var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g");
8460      function unicodeSize(string) {
8461        var result = reUnicode.lastIndex = 0;
8462        while (reUnicode.test(string)) {
8463          ++result;
8464        }
8465        return result;
8466      }
8467      module.exports = unicodeSize;
8468    }
8469  });
8470
8471  
vendor: 444 bytes, lines 8471-8484
8471// node_modules/lodash/_stringSize.js
8472  var require_stringSize = __commonJS({
8473    "node_modules/lodash/_stringSize.js"(exports, module) {
8474      var asciiSize = require_asciiSize();
8475      var hasUnicode = require_hasUnicode();
8476      var unicodeSize = require_unicodeSize();
8477      function stringSize(string) {
8478        return hasUnicode(string) ? unicodeSize(string) : asciiSize(string);
8479      }
8480      module.exports = stringSize;
8481    }
8482  });
8483
8484  
vendor: 856 bytes, lines 8484-8511
8484// node_modules/lodash/size.js
8485  var require_size = __commonJS({
8486    "node_modules/lodash/size.js"(exports, module) {
8487      var baseKeys = require_baseKeys();
8488      var getTag = require_getTag();
8489      var isArrayLike = require_isArrayLike();
8490      var isString = require_isString();
8491      var stringSize = require_stringSize();
8492      var mapTag = "[object Map]";
8493      var setTag = "[object Set]";
8494      function size2(collection) {
8495        if (collection == null) {
8496          return 0;
8497        }
8498        if (isArrayLike(collection)) {
8499          return isString(collection) ? stringSize(collection) : collection.length;
8500        }
8501        var tag = getTag(collection);
8502        if (tag == mapTag || tag == setTag) {
8503          return collection.size;
8504        }
8505        return baseKeys(collection).length;
8506      }
8507      module.exports = size2;
8508    }
8509  });
8510
8511  
vendor: 841 bytes, lines 8511-8538
8511// node_modules/lodash/negate.js
8512  var require_negate = __commonJS({
8513    "node_modules/lodash/negate.js"(exports, module) {
8514      var FUNC_ERROR_TEXT = "Expected a function";
8515      function negate(predicate) {
8516        if (typeof predicate != "function") {
8517          throw new TypeError(FUNC_ERROR_TEXT);
8518        }
8519        return function() {
8520          var args = arguments;
8521          switch (args.length) {
8522            case 0:
8523              return !predicate.call(this);
8524            case 1:
8525              return !predicate.call(this, args[0]);
8526            case 2:
8527              return !predicate.call(this, args[0], args[1]);
8528            case 3:
8529              return !predicate.call(this, args[0], args[1], args[2]);
8530          }
8531          return !predicate.apply(this, args);
8532        };
8533      }
8534      module.exports = negate;
8535    }
8536  });
8537
8538  
vendor: 453 bytes, lines 8538-8554
8538// node_modules/lodash/_defineProperty.js
8539  var require_defineProperty = __commonJS({
8540    "node_modules/lodash/_defineProperty.js"(exports, module) {
8541      var getNative = require_getNative();
8542      var defineProperty = function() {
8543        try {
8544          var func = getNative(Object, "defineProperty");
8545          func({}, "", {});
8546          return func;
8547        } catch (e) {
8548        }
8549      }();
8550      module.exports = defineProperty;
8551    }
8552  });
8553
8554  
vendor: 609 bytes, lines 8554-8574
8554// node_modules/lodash/_baseAssignValue.js
8555  var require_baseAssignValue = __commonJS({
8556    "node_modules/lodash/_baseAssignValue.js"(exports, module) {
8557      var defineProperty = require_defineProperty();
8558      function baseAssignValue(object, key, value) {
8559        if (key == "__proto__" && defineProperty) {
8560          defineProperty(object, key, {
8561            "configurable": true,
8562            "enumerable": true,
8563            "value": value,
8564            "writable": true
8565          });
8566        } else {
8567          object[key] = value;
8568        }
8569      }
8570      module.exports = baseAssignValue;
8571    }
8572  });
8573
8574  
vendor: 637 bytes, lines 8574-8591
8574// node_modules/lodash/_assignValue.js
8575  var require_assignValue = __commonJS({
8576    "node_modules/lodash/_assignValue.js"(exports, module) {
8577      var baseAssignValue = require_baseAssignValue();
8578      var eq = require_eq();
8579      var objectProto = Object.prototype;
8580      var hasOwnProperty = objectProto.hasOwnProperty;
8581      function assignValue(object, key, value) {
8582        var objValue = object[key];
8583        if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) {
8584          baseAssignValue(object, key, value);
8585        }
8586      }
8587      module.exports = assignValue;
8588    }
8589  });
8590
8591  
vendor: 1,299 bytes, lines 8591-8626
8591// node_modules/lodash/_baseSet.js
8592  var require_baseSet = __commonJS({
8593    "node_modules/lodash/_baseSet.js"(exports, module) {
8594      var assignValue = require_assignValue();
8595      var castPath = require_castPath();
8596      var isIndex = require_isIndex();
8597      var isObject = require_isObject();
8598      var toKey = require_toKey();
8599      function baseSet(object, path, value, customizer) {
8600        if (!isObject(object)) {
8601          return object;
8602        }
8603        path = castPath(path, object);
8604        var index = -1, length = path.length, lastIndex = length - 1, nested = object;
8605        while (nested != null && ++index < length) {
8606          var key = toKey(path[index]), newValue = value;
8607          if (key === "__proto__" || key === "constructor" || key === "prototype") {
8608            return object;
8609          }
8610          if (index != lastIndex) {
8611            var objValue = nested[key];
8612            newValue = customizer ? customizer(objValue, key, nested) : void 0;
8613            if (newValue === void 0) {
8614              newValue = isObject(objValue) ? objValue : isIndex(path[index + 1]) ? [] : {};
8615            }
8616          }
8617          assignValue(nested, key, newValue);
8618          nested = nested[key];
8619        }
8620        return object;
8621      }
8622      module.exports = baseSet;
8623    }
8624  });
8625
8626  
vendor: 675 bytes, lines 8626-8646
8626// node_modules/lodash/_basePickBy.js
8627  var require_basePickBy = __commonJS({
8628    "node_modules/lodash/_basePickBy.js"(exports, module) {
8629      var baseGet = require_baseGet();
8630      var baseSet = require_baseSet();
8631      var castPath = require_castPath();
8632      function basePickBy(object, paths, predicate) {
8633        var index = -1, length = paths.length, result = {};
8634        while (++index < length) {
8635          var path = paths[index], value = baseGet(object, path);
8636          if (predicate(value, path)) {
8637            baseSet(result, castPath(path, object), value);
8638          }
8639        }
8640        return result;
8641      }
8642      module.exports = basePickBy;
8643    }
8644  });
8645
8646  
vendor: 693 bytes, lines 8646-8666
8646// node_modules/lodash/_getSymbolsIn.js
8647  var require_getSymbolsIn = __commonJS({
8648    "node_modules/lodash/_getSymbolsIn.js"(exports, module) {
8649      var arrayPush = require_arrayPush();
8650      var getPrototype = require_getPrototype();
8651      var getSymbols = require_getSymbols();
8652      var stubArray = require_stubArray();
8653      var nativeGetSymbols = Object.getOwnPropertySymbols;
8654      var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
8655        var result = [];
8656        while (object) {
8657          arrayPush(result, getSymbols(object));
8658          object = getPrototype(object);
8659        }
8660        return result;
8661      };
8662      module.exports = getSymbolsIn;
8663    }
8664  });
8665
8666  
vendor: 416 bytes, lines 8666-8682
8666// node_modules/lodash/_nativeKeysIn.js
8667  var require_nativeKeysIn = __commonJS({
8668    "node_modules/lodash/_nativeKeysIn.js"(exports, module) {
8669      function nativeKeysIn(object) {
8670        var result = [];
8671        if (object != null) {
8672          for (var key in Object(object)) {
8673            result.push(key);
8674          }
8675        }
8676        return result;
8677      }
8678      module.exports = nativeKeysIn;
8679    }
8680  });
8681
8682  
vendor: 804 bytes, lines 8682-8706
8682// node_modules/lodash/_baseKeysIn.js
8683  var require_baseKeysIn = __commonJS({
8684    "node_modules/lodash/_baseKeysIn.js"(exports, module) {
8685      var isObject = require_isObject();
8686      var isPrototype = require_isPrototype();
8687      var nativeKeysIn = require_nativeKeysIn();
8688      var objectProto = Object.prototype;
8689      var hasOwnProperty = objectProto.hasOwnProperty;
8690      function baseKeysIn(object) {
8691        if (!isObject(object)) {
8692          return nativeKeysIn(object);
8693        }
8694        var isProto = isPrototype(object), result = [];
8695        for (var key in object) {
8696          if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
8697            result.push(key);
8698          }
8699        }
8700        return result;
8701      }
8702      module.exports = baseKeysIn;
8703    }
8704  });
8705
8706  
vendor: 440 bytes, lines 8706-8719
8706// node_modules/lodash/keysIn.js
8707  var require_keysIn = __commonJS({
8708    "node_modules/lodash/keysIn.js"(exports, module) {
8709      var arrayLikeKeys = require_arrayLikeKeys();
8710      var baseKeysIn = require_baseKeysIn();
8711      var isArrayLike = require_isArrayLike();
8712      function keysIn(object) {
8713        return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
8714      }
8715      module.exports = keysIn;
8716    }
8717  });
8718
8719  
vendor: 442 bytes, lines 8719-8732
8719// node_modules/lodash/_getAllKeysIn.js
8720  var require_getAllKeysIn = __commonJS({
8721    "node_modules/lodash/_getAllKeysIn.js"(exports, module) {
8722      var baseGetAllKeys = require_baseGetAllKeys();
8723      var getSymbolsIn = require_getSymbolsIn();
8724      var keysIn = require_keysIn();
8725      function getAllKeysIn(object) {
8726        return baseGetAllKeys(object, keysIn, getSymbolsIn);
8727      }
8728      module.exports = getAllKeysIn;
8729    }
8730  });
8731
8732  
vendor: 737 bytes, lines 8732-8755
8732// node_modules/lodash/pickBy.js
8733  var require_pickBy = __commonJS({
8734    "node_modules/lodash/pickBy.js"(exports, module) {
8735      var arrayMap = require_arrayMap();
8736      var baseIteratee = require_baseIteratee();
8737      var basePickBy = require_basePickBy();
8738      var getAllKeysIn = require_getAllKeysIn();
8739      function pickBy(object, predicate) {
8740        if (object == null) {
8741          return {};
8742        }
8743        var props = arrayMap(getAllKeysIn(object), function(prop) {
8744          return [prop];
8745        });
8746        predicate = baseIteratee(predicate);
8747        return basePickBy(object, props, function(value, path) {
8748          return predicate(value, path[0]);
8749        });
8750      }
8751      module.exports = pickBy;
8752    }
8753  });
8754
8755  
vendor: 410 bytes, lines 8755-8768
8755// node_modules/lodash/omitBy.js
8756  var require_omitBy = __commonJS({
8757    "node_modules/lodash/omitBy.js"(exports, module) {
8758      var baseIteratee = require_baseIteratee();
8759      var negate = require_negate();
8760      var pickBy = require_pickBy();
8761      function omitBy2(object, predicate) {
8762        return pickBy(object, negate(baseIteratee(predicate)));
8763      }
8764      module.exports = omitBy2;
8765    }
8766  });
8767
8768  
vendor: 1,374 bytes, lines 8768-8808
8768// node_modules/lodash/isEmpty.js
8769  var require_isEmpty = __commonJS({
8770    "node_modules/lodash/isEmpty.js"(exports, module) {
8771      var baseKeys = require_baseKeys();
8772      var getTag = require_getTag();
8773      var isArguments = require_isArguments();
8774      var isArray = require_isArray();
8775      var isArrayLike = require_isArrayLike();
8776      var isBuffer = require_isBuffer();
8777      var isPrototype = require_isPrototype();
8778      var isTypedArray = require_isTypedArray();
8779      var mapTag = "[object Map]";
8780      var setTag = "[object Set]";
8781      var objectProto = Object.prototype;
8782      var hasOwnProperty = objectProto.hasOwnProperty;
8783      function isEmpty2(value) {
8784        if (value == null) {
8785          return true;
8786        }
8787        if (isArrayLike(value) && (isArray(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer(value) || isTypedArray(value) || isArguments(value))) {
8788          return !value.length;
8789        }
8790        var tag = getTag(value);
8791        if (tag == mapTag || tag == setTag) {
8792          return !value.size;
8793        }
8794        if (isPrototype(value)) {
8795          return !baseKeys(value).length;
8796        }
8797        for (var key in value) {
8798          if (hasOwnProperty.call(value, key)) {
8799            return false;
8800          }
8801        }
8802        return true;
8803      }
8804      module.exports = isEmpty2;
8805    }
8806  });
8807
8808  
vendor: 622 bytes, lines 8808-8826
8808// node_modules/lodash/mapValues.js
8809  var require_mapValues = __commonJS({
8810    "node_modules/lodash/mapValues.js"(exports, module) {
8811      var baseAssignValue = require_baseAssignValue();
8812      var baseForOwn = require_baseForOwn();
8813      var baseIteratee = require_baseIteratee();
8814      function mapValues2(object, iteratee) {
8815        var result = {};
8816        iteratee = baseIteratee(iteratee, 3);
8817        baseForOwn(object, function(value, key, object2) {
8818          baseAssignValue(result, key, iteratee(value, key, object2));
8819        });
8820        return result;
8821      }
8822      module.exports = mapValues2;
8823    }
8824  });
8825
8826  
vendor: 465 bytes, lines 8826-8842
8826// node_modules/lodash/_arrayEach.js
8827  var require_arrayEach = __commonJS({
8828    "node_modules/lodash/_arrayEach.js"(exports, module) {
8829      function arrayEach(array, iteratee) {
8830        var index = -1, length = array == null ? 0 : array.length;
8831        while (++index < length) {
8832          if (iteratee(array[index], index, array) === false) {
8833            break;
8834          }
8835        }
8836        return array;
8837      }
8838      module.exports = arrayEach;
8839    }
8840  });
8841
8842  
vendor: 344 bytes, lines 8842-8853
8842// node_modules/lodash/_castFunction.js
8843  var require_castFunction = __commonJS({
8844    "node_modules/lodash/_castFunction.js"(exports, module) {
8845      var identity = require_identity();
8846      function castFunction(value) {
8847        return typeof value == "function" ? value : identity;
8848      }
8849      module.exports = castFunction;
8850    }
8851  });
8852
8853  
vendor: 523 bytes, lines 8853-8868
8853// node_modules/lodash/forEach.js
8854  var require_forEach = __commonJS({
8855    "node_modules/lodash/forEach.js"(exports, module) {
8856      var arrayEach = require_arrayEach();
8857      var baseEach = require_baseEach();
8858      var castFunction = require_castFunction();
8859      var isArray = require_isArray();
8860      function forEach2(collection, iteratee) {
8861        var func = isArray(collection) ? arrayEach : baseEach;
8862        return func(collection, castFunction(iteratee));
8863      }
8864      module.exports = forEach2;
8865    }
8866  });
8867
8868  
vendor: 261 bytes, lines 8868-8879
8868// node_modules/lodash/now.js
8869  var require_now = __commonJS({
8870    "node_modules/lodash/now.js"(exports, module) {
8871      var root = require_root();
8872      var now = function() {
8873        return root.Date.now();
8874      };
8875      module.exports = now;
8876    }
8877  });
8878
8879  
vendor: 3,532 bytes, lines 8879-8973
8879// node_modules/lodash/debounce.js
8880  var require_debounce = __commonJS({
8881    "node_modules/lodash/debounce.js"(exports, module) {
8882      var isObject = require_isObject();
8883      var now = require_now();
8884      var toNumber = require_toNumber();
8885      var FUNC_ERROR_TEXT = "Expected a function";
8886      var nativeMax = Math.max;
8887      var nativeMin = Math.min;
8888      function debounce(func, wait, options) {
8889        var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
8890        if (typeof func != "function") {
8891          throw new TypeError(FUNC_ERROR_TEXT);
8892        }
8893        wait = toNumber(wait) || 0;
8894        if (isObject(options)) {
8895          leading = !!options.leading;
8896          maxing = "maxWait" in options;
8897          maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
8898          trailing = "trailing" in options ? !!options.trailing : trailing;
8899        }
8900        function invokeFunc(time) {
8901          var args = lastArgs, thisArg = lastThis;
8902          lastArgs = lastThis = void 0;
8903          lastInvokeTime = time;
8904          result = func.apply(thisArg, args);
8905          return result;
8906        }
8907        function leadingEdge(time) {
8908          lastInvokeTime = time;
8909          timerId = setTimeout(timerExpired, wait);
8910          return leading ? invokeFunc(time) : result;
8911        }
8912        function remainingWait(time) {
8913          var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
8914          return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
8915        }
8916        function shouldInvoke(time) {
8917          var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
8918          return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
8919        }
8920        function timerExpired() {
8921          var time = now();
8922          if (shouldInvoke(time)) {
8923            return trailingEdge(time);
8924          }
8925          timerId = setTimeout(timerExpired, remainingWait(time));
8926        }
8927        function trailingEdge(time) {
8928          timerId = void 0;
8929          if (trailing && lastArgs) {
8930            return invokeFunc(time);
8931          }
8932          lastArgs = lastThis = void 0;
8933          return result;
8934        }
8935        function cancel() {
8936          if (timerId !== void 0) {
8937            clearTimeout(timerId);
8938          }
8939          lastInvokeTime = 0;
8940          lastArgs = lastCallTime = lastThis = timerId = void 0;
8941        }
8942        function flush() {
8943          return timerId === void 0 ? result : trailingEdge(now());
8944        }
8945        function debounced() {
8946          var time = now(), isInvoking = shouldInvoke(time);
8947          lastArgs = arguments;
8948          lastThis = this;
8949          lastCallTime = time;
8950          if (isInvoking) {
8951            if (timerId === void 0) {
8952              return leadingEdge(lastCallTime);
8953            }
8954            if (maxing) {
8955              clearTimeout(timerId);
8956              timerId = setTimeout(timerExpired, wait);
8957              return invokeFunc(lastCallTime);
8958            }
8959          }
8960          if (timerId === void 0) {
8961            timerId = setTimeout(timerExpired, wait);
8962          }
8963          return result;
8964        }
8965        debounced.cancel = cancel;
8966        debounced.flush = flush;
8967        return debounced;
8968      }
8969      module.exports = debounce;
8970    }
8971  });
8972
8973  
vendor: 841 bytes, lines 8973-8998
8973// node_modules/lodash/throttle.js
8974  var require_throttle = __commonJS({
8975    "node_modules/lodash/throttle.js"(exports, module) {
8976      var debounce = require_debounce();
8977      var isObject = require_isObject();
8978      var FUNC_ERROR_TEXT = "Expected a function";
8979      function throttle2(func, wait, options) {
8980        var leading = true, trailing = true;
8981        if (typeof func != "function") {
8982          throw new TypeError(FUNC_ERROR_TEXT);
8983        }
8984        if (isObject(options)) {
8985          leading = "leading" in options ? !!options.leading : leading;
8986          trailing = "trailing" in options ? !!options.trailing : trailing;
8987        }
8988        return debounce(func, wait, {
8989          "leading": leading,
8990          "maxWait": wait,
8991          "trailing": trailing
8992        });
8993      }
8994      module.exports = throttle2;
8995    }
8996  });
8997
8998  
8998// packages/systems/ix2/engine/actions/IX2EngineActions.ts
8999  var IX2EngineActions_exports = {};
9000  __export(IX2EngineActions_exports, {
9001    actionListPlaybackChanged: () => actionListPlaybackChanged,
9002    animationFrameChanged: () => animationFrameChanged,
9003    clearRequested: () => clearRequested,
9004    elementStateChanged: () => elementStateChanged,
9005    eventListenerAdded: () => eventListenerAdded,
9006    eventStateChanged: () => eventStateChanged,
9007    instanceAdded: () => instanceAdded,
9008    instanceRemoved: () => instanceRemoved,
9009    instanceStarted: () => instanceStarted,
9010    mediaQueriesDefined: () => mediaQueriesDefined,
9011    parameterChanged: () => parameterChanged,
9012    playbackRequested: () => playbackRequested,
9013    previewRequested: () => previewRequested,
9014    rawDataImported: () => rawDataImported,
9015    sessionInitialized: () => sessionInitialized,
9016    sessionStarted: () => sessionStarted,
9017    sessionStopped: () => sessionStopped,
9018    stopRequested: () => stopRequested,
9019    testFrameRendered: () => testFrameRendered,
9020    viewportWidthChanged: () => viewportWidthChanged
9021  });
9022  var import_shared3, IX2_RAW_DATA_IMPORTED5, IX2_SESSION_INITIALIZED3, IX2_SESSION_STARTED3, IX2_SESSION_STOPPED6, IX2_PREVIEW_REQUESTED3, IX2_PLAYBACK_REQUESTED3, IX2_STOP_REQUESTED3, IX2_CLEAR_REQUESTED3, IX2_EVENT_LISTENER_ADDED3, IX2_TEST_FRAME_RENDERED3, IX2_EVENT_STATE_CHANGED3, IX2_ANIMATION_FRAME_CHANGED4, IX2_PARAMETER_CHANGED3, IX2_INSTANCE_ADDED4, IX2_INSTANCE_STARTED3, IX2_INSTANCE_REMOVED3, IX2_ELEMENT_STATE_CHANGED3, IX2_ACTION_LIST_PLAYBACK_CHANGED3, IX2_VIEWPORT_WIDTH_CHANGED3, IX2_MEDIA_QUERIES_DEFINED3, reifyState2, rawDataImported, sessionInitialized, sessionStarted, sessionStopped, previewRequested, playbackRequested, stopRequested, clearRequested, eventListenerAdded, testFrameRendered, eventStateChanged, animationFrameChanged, parameterChanged, instanceAdded, instanceStarted, instanceRemoved, elementStateChanged, actionListPlaybackChanged, viewportWidthChanged, mediaQueriesDefined;
9023  var init_IX2EngineActions = __esm({
9024    "packages/systems/ix2/engine/actions/IX2EngineActions.ts"() {
9025      "use strict";
9026      init_shared_constants();
9027      import_shared3 = __toESM(require_shared());
9028      ({
9029        IX2_RAW_DATA_IMPORTED: IX2_RAW_DATA_IMPORTED5,
9030        IX2_SESSION_INITIALIZED: IX2_SESSION_INITIALIZED3,
9031        IX2_SESSION_STARTED: IX2_SESSION_STARTED3,
9032        IX2_SESSION_STOPPED: IX2_SESSION_STOPPED6,
9033        IX2_PREVIEW_REQUESTED: IX2_PREVIEW_REQUESTED3,
9034        IX2_PLAYBACK_REQUESTED: IX2_PLAYBACK_REQUESTED3,
9035        IX2_STOP_REQUESTED: IX2_STOP_REQUESTED3,
9036        IX2_CLEAR_REQUESTED: IX2_CLEAR_REQUESTED3,
9037        IX2_EVENT_LISTENER_ADDED: IX2_EVENT_LISTENER_ADDED3,
9038        IX2_TEST_FRAME_RENDERED: IX2_TEST_FRAME_RENDERED3,
9039        IX2_EVENT_STATE_CHANGED: IX2_EVENT_STATE_CHANGED3,
9040        IX2_ANIMATION_FRAME_CHANGED: IX2_ANIMATION_FRAME_CHANGED4,
9041        IX2_PARAMETER_CHANGED: IX2_PARAMETER_CHANGED3,
9042        IX2_INSTANCE_ADDED: IX2_INSTANCE_ADDED4,
9043        IX2_INSTANCE_STARTED: IX2_INSTANCE_STARTED3,
9044        IX2_INSTANCE_REMOVED: IX2_INSTANCE_REMOVED3,
9045        IX2_ELEMENT_STATE_CHANGED: IX2_ELEMENT_STATE_CHANGED3,
9046        IX2_ACTION_LIST_PLAYBACK_CHANGED: IX2_ACTION_LIST_PLAYBACK_CHANGED3,
9047        IX2_VIEWPORT_WIDTH_CHANGED: IX2_VIEWPORT_WIDTH_CHANGED3,
9048        IX2_MEDIA_QUERIES_DEFINED: IX2_MEDIA_QUERIES_DEFINED3
9049      } = IX2EngineActionTypes_exports);
9050      ({ reifyState: reifyState2 } = import_shared3.IX2VanillaUtils);
9051      rawDataImported = (rawData) => ({
9052        type: IX2_RAW_DATA_IMPORTED5,
9053        payload: {
9054          ...reifyState2(rawData)
9055        }
9056      });
9057      sessionInitialized = ({
9058        hasBoundaryNodes,
9059        reducedMotion
9060      }) => ({
9061        type: IX2_SESSION_INITIALIZED3,
9062        payload: {
9063          hasBoundaryNodes,
9064          reducedMotion
9065        }
9066      });
9067      sessionStarted = () => ({
9068        type: IX2_SESSION_STARTED3
9069      });
9070      sessionStopped = () => ({
9071        type: IX2_SESSION_STOPPED6
9072      });
9073      previewRequested = ({
9074        rawData,
9075        defer
9076      }) => ({
9077        type: IX2_PREVIEW_REQUESTED3,
9078        payload: {
9079          defer,
9080          rawData
9081        }
9082      });
9083      playbackRequested = ({
9084        actionTypeId = ActionTypeConsts.GENERAL_START_ACTION,
9085        actionListId,
9086        actionItemId,
9087        eventId,
9088        allowEvents,
9089        immediate,
9090        testManual,
9091        verbose,
9092        rawData
9093      }) => ({
9094        type: IX2_PLAYBACK_REQUESTED3,
9095        payload: {
9096          actionTypeId,
9097          actionListId,
9098          actionItemId,
9099          testManual,
9100          eventId,
9101          allowEvents,
9102          immediate,
9103          verbose,
9104          rawData
9105        }
9106      });
9107      stopRequested = (actionListId) => ({
9108        type: IX2_STOP_REQUESTED3,
9109        payload: {
9110          actionListId
9111        }
9112      });
9113      clearRequested = () => ({
9114        type: IX2_CLEAR_REQUESTED3
9115      });
9116      eventListenerAdded = (target, listenerParams) => ({
9117        type: IX2_EVENT_LISTENER_ADDED3,
9118        payload: {
9119          target,
9120          listenerParams
9121        }
9122      });
9123      testFrameRendered = (step = 1) => ({
9124        type: IX2_TEST_FRAME_RENDERED3,
9125        payload: {
9126          step
9127        }
9128      });
9129      eventStateChanged = (stateKey, newState) => ({
9130        type: IX2_EVENT_STATE_CHANGED3,
9131        payload: {
9132          stateKey,
9133          newState
9134        }
9135      });
9136      animationFrameChanged = (now, parameters) => ({
9137        type: IX2_ANIMATION_FRAME_CHANGED4,
9138        payload: {
9139          now,
9140          parameters
9141        }
9142      });
9143      parameterChanged = (key, value) => ({
9144        type: IX2_PARAMETER_CHANGED3,
9145        payload: {
9146          key,
9147          value
9148        }
9149      });
9150      instanceAdded = (options) => ({
9151        type: IX2_INSTANCE_ADDED4,
9152        payload: {
9153          ...options
9154        }
9155      });
9156      instanceStarted = (instanceId, time) => ({
9157        type: IX2_INSTANCE_STARTED3,
9158        payload: {
9159          instanceId,
9160          time
9161        }
9162      });
9163      instanceRemoved = (instanceId) => ({
9164        type: IX2_INSTANCE_REMOVED3,
9165        payload: {
9166          instanceId
9167        }
9168      });
9169      elementStateChanged = (elementId, actionTypeId, current, actionItem) => ({
9170        type: IX2_ELEMENT_STATE_CHANGED3,
9171        payload: {
9172          elementId,
9173          actionTypeId,
9174          current,
9175          actionItem
9176        }
9177      });
9178      actionListPlaybackChanged = ({
9179        actionListId,
9180        isPlaying
9181      }) => ({
9182        type: IX2_ACTION_LIST_PLAYBACK_CHANGED3,
9183        payload: {
9184          actionListId,
9185          isPlaying
9186        }
9187      });
9188      viewportWidthChanged = ({
9189        width,
9190        mediaQueries
9191      }) => ({
9192        type: IX2_VIEWPORT_WIDTH_CHANGED3,
9193        payload: {
9194          width,
9195          mediaQueries
9196        }
9197      });
9198      mediaQueriesDefined = () => ({
9199        type: IX2_MEDIA_QUERIES_DEFINED3
9200      });
9201    }
9202  });
9203
9204  
9204// packages/systems/ix2/engine/logic/IX2BrowserApi.ts
9205  var IX2BrowserApi_exports = {};
9206  __export(IX2BrowserApi_exports, {
9207    elementContains: () => elementContains,
9208    getChildElements: () => getChildElements,
9209    getClosestElement: () => getClosestElement,
9210    getProperty: () => getProperty,
9211    getQuerySelector: () => getQuerySelector,
9212    getRefType: () => getRefType,
9213    getSiblingElements: () => getSiblingElements,
9214    getStyle: () => getStyle,
9215    getValidDocument: () => getValidDocument,
9216    isSiblingNode: () => isSiblingNode,
9217    matchSelector: () => matchSelector,
9218    queryDocument: () => queryDocument,
9219    setStyle: () => setStyle
9220  });
9221  function setStyle(element, prop, value) {
9222    element.style[prop] = value;
9223  }
9224  function getStyle(element, prop) {
9225    if (prop.startsWith("--")) {
9226      return window.getComputedStyle(document.documentElement).getPropertyValue(prop);
9227    }
9228    return element.style[prop];
9229  }
9230  function getProperty(element, prop) {
9231    return element[prop];
9232  }
9233  function matchSelector(selector) {
9234    return (element) => element[ELEMENT_MATCHES2](selector);
9235  }
9236  function getQuerySelector({
9237    id,
9238    selector
9239  }) {
9240    if (id) {
9241      let nodeId = id;
9242      if (id.indexOf(IX2_ID_DELIMITER2) !== -1) {
9243        const pair = id.split(IX2_ID_DELIMITER2);
9244        const pageId = pair[0];
9245        nodeId = pair[1];
9246        if (pageId !== document.documentElement.getAttribute(WF_PAGE2)) {
9247          return null;
9248        }
9249      }
9250      return `[data-w-id="${nodeId}"], [data-w-id^="${nodeId}_instance"]`;
9251    }
9252    return selector;
9253  }
9254  function getValidDocument(pageId) {
9255    if (pageId == null || pageId === document.documentElement.getAttribute(WF_PAGE2)) {
9256      return document;
9257    }
9258    return null;
9259  }
9260  function queryDocument(baseSelector, descendantSelector) {
9261    return Array.prototype.slice.call(
9262      document.querySelectorAll(
9263        descendantSelector ? baseSelector + " " + descendantSelector : baseSelector
9264      )
9265    );
9266  }
9267  function elementContains(parent, child) {
9268    return parent.contains(child);
9269  }
9270  function isSiblingNode(a, b) {
9271    return a !== b && a.parentNode === b.parentNode;
9272  }
9273  function getChildElements(sourceElements) {
9274    const childElements = [];
9275    for (let i = 0, { length } = sourceElements || []; i < length; i++) {
9276      const { children } = sourceElements[i];
9277      const { length: childCount } = children;
9278      if (!childCount) {
9279        continue;
9280      }
9281      for (let j = 0; j < childCount; j++) {
9282        childElements.push(children[j]);
9283      }
9284    }
9285    return childElements;
9286  }
9287  function getSiblingElements(sourceElements = []) {
9288    const elements = [];
9289    const parentCache = [];
9290    for (let i = 0, { length } = sourceElements; i < length; i++) {
9291      const { parentNode } = sourceElements[i];
9292      if (!parentNode || !parentNode.children || !parentNode.children.length) {
9293        continue;
9294      }
9295      if (parentCache.indexOf(parentNode) !== -1) {
9296        continue;
9297      }
9298      parentCache.push(parentNode);
9299      let el = parentNode.firstElementChild;
9300      while (el != null) {
9301        if (sourceElements.indexOf(el) === -1) {
9302          elements.push(el);
9303        }
9304        el = el.nextElementSibling;
9305      }
9306    }
9307    return elements;
9308  }
9309  function getRefType(ref) {
9310    if (ref != null && typeof ref == "object") {
9311      return ref instanceof Element ? HTML_ELEMENT3 : PLAIN_OBJECT3;
9312    }
9313    return null;
9314  }
9315  var import_shared4, ELEMENT_MATCHES2, IX2_ID_DELIMITER2, HTML_ELEMENT3, PLAIN_OBJECT3, WF_PAGE2, getClosestElement;
9316  var init_IX2BrowserApi = __esm({
9317    "packages/systems/ix2/engine/logic/IX2BrowserApi.ts"() {
9318      "use strict";
9319      import_shared4 = __toESM(require_shared());
9320      init_shared_constants();
9321      ({ ELEMENT_MATCHES: ELEMENT_MATCHES2 } = import_shared4.IX2BrowserSupport);
9322      ({ IX2_ID_DELIMITER: IX2_ID_DELIMITER2, HTML_ELEMENT: HTML_ELEMENT3, PLAIN_OBJECT: PLAIN_OBJECT3, WF_PAGE: WF_PAGE2 } = IX2EngineConstants_exports);
9323      getClosestElement = Element.prototype.closest ? (element, selector) => {
9324        if (!document.documentElement.contains(element)) {
9325          return null;
9326        }
9327        return element.closest(selector);
9328      } : (element, selector) => {
9329        if (!document.documentElement.contains(element)) {
9330          return null;
9331        }
9332        let el = element;
9333        do {
9334          if (el[ELEMENT_MATCHES2] && el[ELEMENT_MATCHES2](selector)) {
9335            return el;
9336          }
9337          el = el.parentNode;
9338        } while (el != null);
9339        return null;
9340      };
9341    }
9342  });
9343
9344  
vendor: 684 bytes, lines 9344-9369
9344// node_modules/lodash/_baseCreate.js
9345  var require_baseCreate = __commonJS({
9346    "node_modules/lodash/_baseCreate.js"(exports, module) {
9347      var isObject = require_isObject();
9348      var objectCreate = Object.create;
9349      var baseCreate = function() {
9350        function object() {
9351        }
9352        return function(proto) {
9353          if (!isObject(proto)) {
9354            return {};
9355          }
9356          if (objectCreate) {
9357            return objectCreate(proto);
9358          }
9359          object.prototype = proto;
9360          var result = new object();
9361          object.prototype = void 0;
9362          return result;
9363        };
9364      }();
9365      module.exports = baseCreate;
9366    }
9367  });
9368
9369  
vendor: 226 bytes, lines 9369-9378
9369// node_modules/lodash/_baseLodash.js
9370  var require_baseLodash = __commonJS({
9371    "node_modules/lodash/_baseLodash.js"(exports, module) {
9372      function baseLodash() {
9373      }
9374      module.exports = baseLodash;
9375    }
9376  });
9377
9378  
vendor: 635 bytes, lines 9378-9396
9378// node_modules/lodash/_LodashWrapper.js
9379  var require_LodashWrapper = __commonJS({
9380    "node_modules/lodash/_LodashWrapper.js"(exports, module) {
9381      var baseCreate = require_baseCreate();
9382      var baseLodash = require_baseLodash();
9383      function LodashWrapper(value, chainAll) {
9384        this.__wrapped__ = value;
9385        this.__actions__ = [];
9386        this.__chain__ = !!chainAll;
9387        this.__index__ = 0;
9388        this.__values__ = void 0;
9389      }
9390      LodashWrapper.prototype = baseCreate(baseLodash.prototype);
9391      LodashWrapper.prototype.constructor = LodashWrapper;
9392      module.exports = LodashWrapper;
9393    }
9394  });
9395
9396  
vendor: 559 bytes, lines 9396-9410
9396// node_modules/lodash/_isFlattenable.js
9397  var require_isFlattenable = __commonJS({
9398    "node_modules/lodash/_isFlattenable.js"(exports, module) {
9399      var Symbol2 = require_Symbol();
9400      var isArguments = require_isArguments();
9401      var isArray = require_isArray();
9402      var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
9403      function isFlattenable(value) {
9404        return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
9405      }
9406      module.exports = isFlattenable;
9407    }
9408  });
9409
9410  
vendor: 914 bytes, lines 9410-9437
9410// node_modules/lodash/_baseFlatten.js
9411  var require_baseFlatten = __commonJS({
9412    "node_modules/lodash/_baseFlatten.js"(exports, module) {
9413      var arrayPush = require_arrayPush();
9414      var isFlattenable = require_isFlattenable();
9415      function baseFlatten(array, depth, predicate, isStrict, result) {
9416        var index = -1, length = array.length;
9417        predicate || (predicate = isFlattenable);
9418        result || (result = []);
9419        while (++index < length) {
9420          var value = array[index];
9421          if (depth > 0 && predicate(value)) {
9422            if (depth > 1) {
9423              baseFlatten(value, depth - 1, predicate, isStrict, result);
9424            } else {
9425              arrayPush(result, value);
9426            }
9427          } else if (!isStrict) {
9428            result[result.length] = value;
9429          }
9430        }
9431        return result;
9432      }
9433      module.exports = baseFlatten;
9434    }
9435  });
9436
9437  
vendor: 368 bytes, lines 9437-9449
9437// node_modules/lodash/flatten.js
9438  var require_flatten = __commonJS({
9439    "node_modules/lodash/flatten.js"(exports, module) {
9440      var baseFlatten = require_baseFlatten();
9441      function flatten(array) {
9442        var length = array == null ? 0 : array.length;
9443        return length ? baseFlatten(array, 1) : [];
9444      }
9445      module.exports = flatten;
9446    }
9447  });
9448
9449  
vendor: 585 bytes, lines 9449-9469
9449// node_modules/lodash/_apply.js
9450  var require_apply = __commonJS({
9451    "node_modules/lodash/_apply.js"(exports, module) {
9452      function apply(func, thisArg, args) {
9453        switch (args.length) {
9454          case 0:
9455            return func.call(thisArg);
9456          case 1:
9457            return func.call(thisArg, args[0]);
9458          case 2:
9459            return func.call(thisArg, args[0], args[1]);
9460          case 3:
9461            return func.call(thisArg, args[0], args[1], args[2]);
9462        }
9463        return func.apply(thisArg, args);
9464      }
9465      module.exports = apply;
9466    }
9467  });
9468
9469  
vendor: 878 bytes, lines 9469-9494
9469// node_modules/lodash/_overRest.js
9470  var require_overRest = __commonJS({
9471    "node_modules/lodash/_overRest.js"(exports, module) {
9472      var apply = require_apply();
9473      var nativeMax = Math.max;
9474      function overRest(func, start, transform) {
9475        start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
9476        return function() {
9477          var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
9478          while (++index < length) {
9479            array[index] = args[start + index];
9480          }
9481          index = -1;
9482          var otherArgs = Array(start + 1);
9483          while (++index < start) {
9484            otherArgs[index] = args[index];
9485          }
9486          otherArgs[start] = transform(array);
9487          return apply(func, this, otherArgs);
9488        };
9489      }
9490      module.exports = overRest;
9491    }
9492  });
9493
9494  
vendor: 282 bytes, lines 9494-9506
9494// node_modules/lodash/constant.js
9495  var require_constant = __commonJS({
9496    "node_modules/lodash/constant.js"(exports, module) {
9497      function constant(value) {
9498        return function() {
9499          return value;
9500        };
9501      }
9502      module.exports = constant;
9503    }
9504  });
9505
9506  
vendor: 623 bytes, lines 9506-9524
9506// node_modules/lodash/_baseSetToString.js
9507  var require_baseSetToString = __commonJS({
9508    "node_modules/lodash/_baseSetToString.js"(exports, module) {
9509      var constant = require_constant();
9510      var defineProperty = require_defineProperty();
9511      var identity = require_identity();
9512      var baseSetToString = !defineProperty ? identity : function(func, string) {
9513        return defineProperty(func, "toString", {
9514          "configurable": true,
9515          "enumerable": false,
9516          "value": constant(string),
9517          "writable": true
9518        });
9519      };
9520      module.exports = baseSetToString;
9521    }
9522  });
9523
9524  
vendor: 714 bytes, lines 9524-9549
9524// node_modules/lodash/_shortOut.js
9525  var require_shortOut = __commonJS({
9526    "node_modules/lodash/_shortOut.js"(exports, module) {
9527      var HOT_COUNT = 800;
9528      var HOT_SPAN = 16;
9529      var nativeNow = Date.now;
9530      function shortOut(func) {
9531        var count = 0, lastCalled = 0;
9532        return function() {
9533          var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
9534          lastCalled = stamp;
9535          if (remaining > 0) {
9536            if (++count >= HOT_COUNT) {
9537              return arguments[0];
9538            }
9539          } else {
9540            count = 0;
9541          }
9542          return func.apply(void 0, arguments);
9543        };
9544      }
9545      module.exports = shortOut;
9546    }
9547  });
9548
9549  
vendor: 339 bytes, lines 9549-9559
9549// node_modules/lodash/_setToString.js
9550  var require_setToString = __commonJS({
9551    "node_modules/lodash/_setToString.js"(exports, module) {
9552      var baseSetToString = require_baseSetToString();
9553      var shortOut = require_shortOut();
9554      var setToString = shortOut(baseSetToString);
9555      module.exports = setToString;
9556    }
9557  });
9558
9559  
vendor: 419 bytes, lines 9559-9572
9559// node_modules/lodash/_flatRest.js
9560  var require_flatRest = __commonJS({
9561    "node_modules/lodash/_flatRest.js"(exports, module) {
9562      var flatten = require_flatten();
9563      var overRest = require_overRest();
9564      var setToString = require_setToString();
9565      function flatRest(func) {
9566        return setToString(overRest(func, void 0, flatten), func + "");
9567      }
9568      module.exports = flatRest;
9569    }
9570  });
9571
9572  
vendor: 264 bytes, lines 9572-9581
9572// node_modules/lodash/_metaMap.js
9573  var require_metaMap = __commonJS({
9574    "node_modules/lodash/_metaMap.js"(exports, module) {
9575      var WeakMap2 = require_WeakMap();
9576      var metaMap = WeakMap2 && new WeakMap2();
9577      module.exports = metaMap;
9578    }
9579  });
9580
9581  
vendor: 194 bytes, lines 9581-9590
9581// node_modules/lodash/noop.js
9582  var require_noop = __commonJS({
9583    "node_modules/lodash/noop.js"(exports, module) {
9584      function noop() {
9585      }
9586      module.exports = noop;
9587    }
9588  });
9589
9590  
vendor: 346 bytes, lines 9590-9602
9590// node_modules/lodash/_getData.js
9591  var require_getData = __commonJS({
9592    "node_modules/lodash/_getData.js"(exports, module) {
9593      var metaMap = require_metaMap();
9594      var noop = require_noop();
9595      var getData = !metaMap ? noop : function(func) {
9596        return metaMap.get(func);
9597      };
9598      module.exports = getData;
9599    }
9600  });
9601
9602  
vendor: 210 bytes, lines 9602-9610
9602// node_modules/lodash/_realNames.js
9603  var require_realNames = __commonJS({
9604    "node_modules/lodash/_realNames.js"(exports, module) {
9605      var realNames = {};
9606      module.exports = realNames;
9607    }
9608  });
9609
9610  
vendor: 724 bytes, lines 9610-9630
9610// node_modules/lodash/_getFuncName.js
9611  var require_getFuncName = __commonJS({
9612    "node_modules/lodash/_getFuncName.js"(exports, module) {
9613      var realNames = require_realNames();
9614      var objectProto = Object.prototype;
9615      var hasOwnProperty = objectProto.hasOwnProperty;
9616      function getFuncName(func) {
9617        var result = func.name + "", array = realNames[result], length = hasOwnProperty.call(realNames, result) ? array.length : 0;
9618        while (length--) {
9619          var data = array[length], otherFunc = data.func;
9620          if (otherFunc == null || otherFunc == func) {
9621            return data.name;
9622          }
9623        }
9624        return result;
9625      }
9626      module.exports = getFuncName;
9627    }
9628  });
9629
9630  
vendor: 721 bytes, lines 9630-9651
9630// node_modules/lodash/_LazyWrapper.js
9631  var require_LazyWrapper = __commonJS({
9632    "node_modules/lodash/_LazyWrapper.js"(exports, module) {
9633      var baseCreate = require_baseCreate();
9634      var baseLodash = require_baseLodash();
9635      var MAX_ARRAY_LENGTH = 4294967295;
9636      function LazyWrapper(value) {
9637        this.__wrapped__ = value;
9638        this.__actions__ = [];
9639        this.__dir__ = 1;
9640        this.__filtered__ = false;
9641        this.__iteratees__ = [];
9642        this.__takeCount__ = MAX_ARRAY_LENGTH;
9643        this.__views__ = [];
9644      }
9645      LazyWrapper.prototype = baseCreate(baseLodash.prototype);
9646      LazyWrapper.prototype.constructor = LazyWrapper;
9647      module.exports = LazyWrapper;
9648    }
9649  });
9650
9651  
vendor: 431 bytes, lines 9651-9666
9651// node_modules/lodash/_copyArray.js
9652  var require_copyArray = __commonJS({
9653    "node_modules/lodash/_copyArray.js"(exports, module) {
9654      function copyArray(source, array) {
9655        var index = -1, length = source.length;
9656        array || (array = Array(length));
9657        while (++index < length) {
9658          array[index] = source[index];
9659        }
9660        return array;
9661      }
9662      module.exports = copyArray;
9663    }
9664  });
9665
9666  
vendor: 732 bytes, lines 9666-9686
9666// node_modules/lodash/_wrapperClone.js
9667  var require_wrapperClone = __commonJS({
9668    "node_modules/lodash/_wrapperClone.js"(exports, module) {
9669      var LazyWrapper = require_LazyWrapper();
9670      var LodashWrapper = require_LodashWrapper();
9671      var copyArray = require_copyArray();
9672      function wrapperClone(wrapper) {
9673        if (wrapper instanceof LazyWrapper) {
9674          return wrapper.clone();
9675        }
9676        var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);
9677        result.__actions__ = copyArray(wrapper.__actions__);
9678        result.__index__ = wrapper.__index__;
9679        result.__values__ = wrapper.__values__;
9680        return result;
9681      }
9682      module.exports = wrapperClone;
9683    }
9684  });
9685
9686  
vendor: 1,036 bytes, lines 9686-9714
9686// node_modules/lodash/wrapperLodash.js
9687  var require_wrapperLodash = __commonJS({
9688    "node_modules/lodash/wrapperLodash.js"(exports, module) {
9689      var LazyWrapper = require_LazyWrapper();
9690      var LodashWrapper = require_LodashWrapper();
9691      var baseLodash = require_baseLodash();
9692      var isArray = require_isArray();
9693      var isObjectLike = require_isObjectLike();
9694      var wrapperClone = require_wrapperClone();
9695      var objectProto = Object.prototype;
9696      var hasOwnProperty = objectProto.hasOwnProperty;
9697      function lodash(value) {
9698        if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
9699          if (value instanceof LodashWrapper) {
9700            return value;
9701          }
9702          if (hasOwnProperty.call(value, "__wrapped__")) {
9703            return wrapperClone(value);
9704          }
9705        }
9706        return new LodashWrapper(value);
9707      }
9708      lodash.prototype = baseLodash.prototype;
9709      lodash.prototype.constructor = lodash;
9710      module.exports = lodash;
9711    }
9712  });
9713
9714  
vendor: 732 bytes, lines 9714-9736
9714// node_modules/lodash/_isLaziable.js
9715  var require_isLaziable = __commonJS({
9716    "node_modules/lodash/_isLaziable.js"(exports, module) {
9717      var LazyWrapper = require_LazyWrapper();
9718      var getData = require_getData();
9719      var getFuncName = require_getFuncName();
9720      var lodash = require_wrapperLodash();
9721      function isLaziable(func) {
9722        var funcName = getFuncName(func), other = lodash[funcName];
9723        if (typeof other != "function" || !(funcName in LazyWrapper.prototype)) {
9724          return false;
9725        }
9726        if (func === other) {
9727          return true;
9728        }
9729        var data = getData(other);
9730        return !!data && func === data[0];
9731      }
9732      module.exports = isLaziable;
9733    }
9734  });
9735
9736  
vendor: 2,285 bytes, lines 9736-9792
9736// node_modules/lodash/_createFlow.js
9737  var require_createFlow = __commonJS({
9738    "node_modules/lodash/_createFlow.js"(exports, module) {
9739      var LodashWrapper = require_LodashWrapper();
9740      var flatRest = require_flatRest();
9741      var getData = require_getData();
9742      var getFuncName = require_getFuncName();
9743      var isArray = require_isArray();
9744      var isLaziable = require_isLaziable();
9745      var FUNC_ERROR_TEXT = "Expected a function";
9746      var WRAP_CURRY_FLAG = 8;
9747      var WRAP_PARTIAL_FLAG = 32;
9748      var WRAP_ARY_FLAG = 128;
9749      var WRAP_REARG_FLAG = 256;
9750      function createFlow(fromRight) {
9751        return flatRest(function(funcs) {
9752          var length = funcs.length, index = length, prereq = LodashWrapper.prototype.thru;
9753          if (fromRight) {
9754            funcs.reverse();
9755          }
9756          while (index--) {
9757            var func = funcs[index];
9758            if (typeof func != "function") {
9759              throw new TypeError(FUNC_ERROR_TEXT);
9760            }
9761            if (prereq && !wrapper && getFuncName(func) == "wrapper") {
9762              var wrapper = new LodashWrapper([], true);
9763            }
9764          }
9765          index = wrapper ? index : length;
9766          while (++index < length) {
9767            func = funcs[index];
9768            var funcName = getFuncName(func), data = funcName == "wrapper" ? getData(func) : void 0;
9769            if (data && isLaziable(data[0]) && data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && !data[4].length && data[9] == 1) {
9770              wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
9771            } else {
9772              wrapper = func.length == 1 && isLaziable(func) ? wrapper[funcName]() : wrapper.thru(func);
9773            }
9774          }
9775          return function() {
9776            var args = arguments, value = args[0];
9777            if (wrapper && args.length == 1 && isArray(value)) {
9778              return wrapper.plant(value).value();
9779            }
9780            var index2 = 0, result = length ? funcs[index2].apply(this, args) : value;
9781            while (++index2 < length) {
9782              result = funcs[index2].call(this, result);
9783            }
9784            return result;
9785          };
9786        });
9787      }
9788      module.exports = createFlow;
9789    }
9790  });
9791
9792  
vendor: 240 bytes, lines 9792-9801
9792// node_modules/lodash/flow.js
9793  var require_flow = __commonJS({
9794    "node_modules/lodash/flow.js"(exports, module) {
9795      var createFlow = require_createFlow();
9796      var flow2 = createFlow();
9797      module.exports = flow2;
9798    }
9799  });
9800
9801  
vendor: 509 bytes, lines 9801-9819
9801// node_modules/lodash/_baseClamp.js
9802  var require_baseClamp = __commonJS({
9803    "node_modules/lodash/_baseClamp.js"(exports, module) {
9804      function baseClamp(number, lower, upper) {
9805        if (number === number) {
9806          if (upper !== void 0) {
9807            number = number <= upper ? number : upper;
9808          }
9809          if (lower !== void 0) {
9810            number = number >= lower ? number : lower;
9811          }
9812        }
9813        return number;
9814      }
9815      module.exports = baseClamp;
9816    }
9817  });
9818
9819  
vendor: 704 bytes, lines 9819-9843
9819// node_modules/lodash/clamp.js
9820  var require_clamp = __commonJS({
9821    "node_modules/lodash/clamp.js"(exports, module) {
9822      var baseClamp = require_baseClamp();
9823      var toNumber = require_toNumber();
9824      function clamp2(number, lower, upper) {
9825        if (upper === void 0) {
9826          upper = lower;
9827          lower = void 0;
9828        }
9829        if (upper !== void 0) {
9830          upper = toNumber(upper);
9831          upper = upper === upper ? upper : 0;
9832        }
9833        if (lower !== void 0) {
9834          lower = toNumber(lower);
9835          lower = lower === lower ? lower : 0;
9836        }
9837        return baseClamp(toNumber(number), lower, upper);
9838      }
9839      module.exports = clamp2;
9840    }
9841  });
9842
9843  
9843// packages/systems/ix2/engine/logic/IX2VanillaEvents.ts
9844  var import_flow, import_get, import_clamp, import_shared5, MOUSE_CLICK, MOUSE_SECOND_CLICK, MOUSE_DOWN, MOUSE_UP, MOUSE_OVER, MOUSE_OUT, DROPDOWN_CLOSE, DROPDOWN_OPEN, SLIDER_ACTIVE, SLIDER_INACTIVE, TAB_ACTIVE, TAB_INACTIVE, NAVBAR_CLOSE, NAVBAR_OPEN, MOUSE_MOVE, PAGE_SCROLL_DOWN, SCROLL_INTO_VIEW, SCROLL_OUT_OF_VIEW, PAGE_SCROLL_UP, SCROLLING_IN_VIEW, PAGE_FINISH, ECOMMERCE_CART_CLOSE, ECOMMERCE_CART_OPEN, PAGE_START, PAGE_SCROLL, COMPONENT_ACTIVE, COMPONENT_INACTIVE, COLON_DELIMITER3, getNamespacedParameterId2, composableFilter, isElement, containsElement, isOrContainsElement, getAutoStopEvent, hasAutoStopEvent, actionGroupCreator, withFilter, baseActionGroupOptions, baseActivityActionGroupOptions, SCROLL_EVENT_TYPES, MOUSE_OVER_OUT_TYPES, baseScrollActionGroupOptions, AUTO_STOP_DISABLED_EVENTS, getDocumentState, areBoxesIntersecting, isElementHovered, isElementVisible, whenComponentActiveChange, whenElementHoverChange, whenElementVisibiltyChange, whenScrollDirectionChange, pointIntersects, whenPageLoadFinish, whenPageLoadStart, whenClickCountChange, getComponentActiveOptions, getComponentInactiveOptions, scrollIntoOutOfViewOptions, MOUSE_OUT_ROUND_THRESHOLD, IX2VanillaEvents_default;
9845  var init_IX2VanillaEvents = __esm({
9846    "packages/systems/ix2/engine/logic/IX2VanillaEvents.ts"() {
9847      "use strict";
9848      import_flow = __toESM(require_flow());
9849      import_get = __toESM(require_get());
9850      import_clamp = __toESM(require_clamp());
9851      init_shared_constants();
9852      init_IX2VanillaEngine();
9853      init_IX2EngineActions();
9854      import_shared5 = __toESM(require_shared());
9855      ({
9856        MOUSE_CLICK,
9857        MOUSE_SECOND_CLICK,
9858        MOUSE_DOWN,
9859        MOUSE_UP,
9860        MOUSE_OVER,
9861        MOUSE_OUT,
9862        DROPDOWN_CLOSE,
9863        DROPDOWN_OPEN,
9864        SLIDER_ACTIVE,
9865        SLIDER_INACTIVE,
9866        TAB_ACTIVE,
9867        TAB_INACTIVE,
9868        NAVBAR_CLOSE,
9869        NAVBAR_OPEN,
9870        MOUSE_MOVE,
9871        PAGE_SCROLL_DOWN,
9872        SCROLL_INTO_VIEW,
9873        SCROLL_OUT_OF_VIEW,
9874        PAGE_SCROLL_UP,
9875        SCROLLING_IN_VIEW,
9876        PAGE_FINISH,
9877        ECOMMERCE_CART_CLOSE,
9878        ECOMMERCE_CART_OPEN,
9879        PAGE_START,
9880        PAGE_SCROLL
9881      } = EventTypeConsts);
9882      COMPONENT_ACTIVE = "COMPONENT_ACTIVE";
9883      COMPONENT_INACTIVE = "COMPONENT_INACTIVE";
9884      ({ COLON_DELIMITER: COLON_DELIMITER3 } = IX2EngineConstants_exports);
9885      ({ getNamespacedParameterId: getNamespacedParameterId2 } = import_shared5.IX2VanillaUtils);
9886      composableFilter = (predicate) => (options) => {
9887        if (typeof options === "object" && predicate(options)) {
9888          return true;
9889        }
9890        return options;
9891      };
9892      isElement = composableFilter(({ element, nativeEvent }) => {
9893        return element === nativeEvent.target;
9894      });
9895      containsElement = composableFilter(({ element, nativeEvent }) => {
9896        return element.contains(nativeEvent.target);
9897      });
9898      isOrContainsElement = (0, import_flow.default)([isElement, containsElement]);
9899      getAutoStopEvent = (store, autoStopEventId) => {
9900        if (autoStopEventId) {
9901          const { ixData: ixData2 } = store.getState();
9902          const { events } = ixData2;
9903          const eventToStop = events[autoStopEventId];
9904          if (eventToStop && !AUTO_STOP_DISABLED_EVENTS[eventToStop.eventTypeId]) {
9905            return eventToStop;
9906          }
9907        }
9908        return null;
9909      };
9910      hasAutoStopEvent = ({ store, event }) => {
9911        const { action: eventAction } = event;
9912        const { autoStopEventId } = eventAction.config;
9913        return Boolean(getAutoStopEvent(store, autoStopEventId));
9914      };
9915      actionGroupCreator = ({ store, event, element, eventStateKey }, state) => {
9916        const { action: eventAction, id: eventId } = event;
9917        const { actionListId, autoStopEventId } = eventAction.config;
9918        const eventToStop = getAutoStopEvent(store, autoStopEventId);
9919        if (eventToStop) {
9920          stopActionGroup({
9921            store,
9922            eventId: autoStopEventId,
9923            eventTarget: element,
9924            eventStateKey: autoStopEventId + COLON_DELIMITER3 + eventStateKey.split(COLON_DELIMITER3)[1],
9925            actionListId: (0, import_get.default)(eventToStop, "action.config.actionListId")
9926          });
9927        }
9928        stopActionGroup({
9929          store,
9930          eventId,
9931          eventTarget: element,
9932          eventStateKey,
9933          actionListId
9934        });
9935        startActionGroup({
9936          store,
9937          eventId,
9938          eventTarget: element,
9939          eventStateKey,
9940          actionListId
9941        });
9942        return state;
9943      };
9944      withFilter = (filter, handler) => (options, state) =>
9944 filter(options, state) === true ? handler(options, state) : state;
9945      baseActionGroupOptions = {
9946        handler: withFilter(isOrContainsElement, actionGroupCreator)
9947      };
9948      baseActivityActionGroupOptions = {
9949        ...baseActionGroupOptions,
9950        types: [COMPONENT_ACTIVE, COMPONENT_INACTIVE].join(" ")
9951      };
9952      SCROLL_EVENT_TYPES = [
9953        { target: window, types: "resize orientationchange", throttle: true },
9954        {
9955          target: document,
9956          types: "scroll wheel readystatechange IX2_PAGE_UPDATE",
9957          throttle: true
9958        }
9959      ];
9960      MOUSE_OVER_OUT_TYPES = "mouseover mouseout";
9961      baseScrollActionGroupOptions = {
9962        types: SCROLL_EVENT_TYPES
9963      };
9964      AUTO_STOP_DISABLED_EVENTS = {
9965        PAGE_START,
9966        PAGE_FINISH
9967      };
9968      getDocumentState = (() => {
9969        const supportOffset = window.pageXOffset !== void 0;
9970        const isCSS1Compat = document.compatMode === "CSS1Compat";
9971        const rootElement = isCSS1Compat ? document.documentElement : document.body;
9972        return () => ({
9973          scrollLeft: supportOffset ? window.pageXOffset : rootElement.scrollLeft,
9974          scrollTop: supportOffset ? window.pageYOffset : rootElement.scrollTop,
9975          // required to remove elasticity in Safari scrolling.
9976          stiffScrollTop: (0, import_clamp.default)(
9977            supportOffset ? window.pageYOffset : rootElement.scrollTop,
9978            0,
9979            rootElement.scrollHeight - window.innerHeight
9980          ),
9981          scrollWidth: rootElement.scrollWidth,
9982          scrollHeight: rootElement.scrollHeight,
9983          clientWidth: rootElement.clientWidth,
9984          clientHeight: rootElement.clientHeight,
9985          innerWidth: window.innerWidth,
9986          innerHeight: window.innerHeight
9987        });
9988      })();
9989      areBoxesIntersecting = (a, b) => !(a.left > b.right || a.right < b.left || a.top > b.bottom || a.bottom < b.top);
9990      isElementHovered = ({ element, nativeEvent }) => {
9991        const { type, target, relatedTarget } = nativeEvent;
9992        const containsTarget = element.contains(target);
9993        if (type === "mouseover" && containsTarget) {
9994          return true;
9995        }
9996        const containsRelated = element.contains(relatedTarget);
9997        if (type === "mouseout" && containsTarget && containsRelated) {
9998          return true;
9999        }
10000        return false;
10001      };
10002      isElementVisible = (options) => {
10003        const {
10004          element,
10005          event: { config }
10006        } = options;
10007        const { clientWidth, clientHeight } = getDocumentState();
10008        const scrollOffsetValue = config.scrollOffsetValue;
10009        const scrollOffsetUnit = config.scrollOffsetUnit;
10010        const isPX = scrollOffsetUnit === "PX";
10011        const offsetPadding = isPX ? scrollOffsetValue : clientHeight * (scrollOffsetValue || 0) / 100;
10012        return areBoxesIntersecting(element.getBoundingClientRect(), {
10013          left: 0,
10014          top: offsetPadding,
10015          right: clientWidth,
10016          bottom: clientHeight - offsetPadding
10017        });
10018      };
10019      whenComponentActiveChange = // @ts-expect-error - TS7006 - Parameter 'handler' implicitly has an 'any' type.
10020      (handler) => (options, oldState) => {
10021        const { type } = options.nativeEvent;
10022        const isActive = [COMPONENT_ACTIVE, COMPONENT_INACTIVE].indexOf(type) !== -1 ? type === COMPONENT_ACTIVE : oldState.isActive;
10023        const newState = {
10024          ...oldState,
10025          isActive
10026        };
10027        if (!oldState || newState.isActive !== oldState.isActive) {
10028          return handler(options, newState) || newState;
10029        }
10030        return newState;
10031      };
10032      whenElementHoverChange = (handler) => (options, oldState) => {
10033        const newState = {
10034          elementHovered: isElementHovered(options)
10035        };
10036        if (oldState ? newState.elementHovered !== oldState.elementHovered : newState.elementHovered) {
10037          return handler(options, newState) || newState;
10038        }
10039        return newState;
10040      };
10041      whenElementVisibiltyChange = (handler) => (options, oldState) => {
10042        const newState = {
10043          ...oldState,
10044          elementVisible: isElementVisible(options)
10045        };
10046        if (oldState ? newState.elementVisible !== oldState.elementVisible : newState.elementVisible) {
10047          return handler(options, newState) || newState;
10048        }
10049        return newState;
10050      };
10051      whenScrollDirectionChange = // @ts-expect-error - TS7006 - Parameter 'handler' implicitly has an 'any' type.
10052      (handler) => (options, oldState = {}) => {
10053        const {
10054          stiffScrollTop: scrollTop,
10055          scrollHeight,
10056          innerHeight
10057        } = getDocumentState();
10058        const {
10059          event: { config, eventTypeId }
10060        } = options;
10061        const { scrollOffsetValue, scrollOffsetUnit } = config;
10062        const isPX = scrollOffsetUnit === "PX";
10063        const scrollHeightBounds = scrollHeight - innerHeight;
10064        const percentTop = Number((scrollTop / scrollHeightBounds).toFixed(2));
10065        if (oldState && oldState.percentTop === percentTop) {
10066          return oldState;
10067        }
10068        const scrollTopPadding = (isPX ? scrollOffsetValue : innerHeight * (scrollOffsetValue || 0) / 100) / scrollHeightBounds;
10069        let scrollingDown;
10070        let scrollDirectionChanged;
10071        let anchorTop = 0;
10072        if (oldState) {
10073          scrollingDown = percentTop > oldState.percentTop;
10074          scrollDirectionChanged = oldState.scrollingDown !== scrollingDown;
10075          anchorTop = scrollDirectionChanged ? percentTop : oldState.anchorTop;
10076        }
10077        const inBounds = eventTypeId === PAGE_SCROLL_DOWN ? percentTop >= anchorTop + scrollTopPadding : percentTop <= anchorTop - scrollTopPadding;
10078        const newState = {
10079          ...oldState,
10080          percentTop,
10081          inBounds,
10082          anchorTop,
10083          scrollingDown
10084        };
10085        if (oldState && inBounds && // @ts-expect-error - TS2339 - Property 'inBounds' does not exist on type '{}'.
10086        (scrollDirectionChanged || newState.inBounds !== oldState.inBounds)) {
10087          return handler(options, newState) || newState;
10088        }
10089        return newState;
10090      };
10091      pointIntersects = (point, rect) => point.left > rect.left && point.left < rect.right && point.top > rect.top && point.top < rect.bottom;
10092      whenPageLoadFinish = (handler) => (options, oldState) => {
10093        const newState = {
10094          finished: document.readyState === "complete"
10095        };
10096        if (newState.finished && !(oldState && oldState.finshed)) {
10097          handler(options);
10098        }
10099        return newState;
10100      };
10101      whenPageLoadStart = (handler) => (options, oldState) => {
10102        const newState = {
10103          started: true
10104        };
10105        if (!oldState) {
10106          handler(options);
10107        }
10108        return newState;
10109      };
10110      whenClickCountChange = (handler) => (options, oldState = { clickCount: 0 }) => {
10111        const newState = {
10112          clickCount: oldState.clickCount % 2 + 1
10113        };
10114        if (newState.clickCount !== oldState.clickCount) {
10115          return handler(options, newState) || newState;
10116        }
10117        return newState;
10118      };
10119      getComponentActiveOptions = (allowNestedChildrenEvents = true) => ({
10120        ...baseActivityActionGroupOptions,
10121        handler: withFilter(
10122          allowNestedChildrenEvents ? isOrContainsElement : isElement,
10123          // @ts-expect-error - TS7006 - Parameter 'options' implicitly has an 'any' type. | TS7006 - Parameter 'state' implicitly has an 'any' type.
10124          whenComponentActiveChange((options, state) => {
10125            return state.isActive ? baseActionGroupOptions.handler(options, state) : state;
10126          })
10127        )
10128      });
10129      getComponentInactiveOptions = (allowNestedChildrenEvents = true) => ({
10130        ...baseActivityActionGroupOptions,
10131        handler: withFilter(
10132          allowNestedChildrenEvents ? isOrContainsElement : isElement,
10133          // @ts-expect-error - TS7006 - Parameter 'options' implicitly has an 'any' type. | TS7006 - Parameter 'state' implicitly has an 'any' type.
10134          whenComponentActiveChange((options, state) => {
10135            return !state.isActive ? baseActionGroupOptions.handler(options, state) : state;
10136          })
10137        )
10138      });
10139      scrollIntoOutOfViewOptions = {
10140        ...baseScrollActionGroupOptions,
10141        handler: whenElementVisibiltyChange((options, state) => {
10142          const { elementVisible } = state;
10143          const { event, store } = options;
10144          const { ixData: ixData2 } = store.getState();
10145          const { events } = ixData2;
10146          if (!events[event.action.config.autoStopEventId] && state.triggered) {
10147            return state;
10148          }
10149          if (event.eventTypeId === SCROLL_INTO_VIEW === elementVisible) {
10150            actionGroupCreator(options);
10151            return {
10152              ...state,
10153              triggered: true
10154            };
10155          } else {
10156            return state;
10157          }
10158        })
10159      };
10160      MOUSE_OUT_ROUND_THRESHOLD = 0.05;
10161      IX2VanillaEvents_default = {
10162        [SLIDER_ACTIVE]: getComponentActiveOptions(),
10163        [SLIDER_INACTIVE]: getComponentInactiveOptions(),
10164        [DROPDOWN_OPEN]: getComponentActiveOptions(),
10165        [DROPDOWN_CLOSE]: getComponentInactiveOptions(),
10166        // navbar elements may contain nested components in the menu. To prevent activity misfires, only listed for activity
10167        // events where the target is the navbar element, and ignore children that dispatch activitiy events.
10168        [NAVBAR_OPEN]: getComponentActiveOptions(false),
10169        [NAVBAR_CLOSE]: getComponentInactiveOptions(false),
10170        [TAB_ACTIVE]: getComponentActiveOptions(),
10171        [TAB_INACTIVE]: getComponentInactiveOptions(),
10172        [ECOMMERCE_CART_OPEN]: {
10173          types: "ecommerce-cart-open",
10174          handler: withFilter(isOrContainsElement, actionGroupCreator)
10175        },
10176        [ECOMMERCE_CART_CLOSE]: {
10177          types: "ecommerce-cart-close",
10178          handler: withFilter(isOrContainsElement, actionGroupCreator)
10179        },
10180        [MOUSE_CLICK]: {
10181          types: "click",
10182          handler: withFilter(
10183            isOrContainsElement,
10184            whenClickCountChange((options, { clickCount }) => {
10185              if (hasAutoStopEvent(options)) {
10186                clickCount === 1 && actionGroupCreator(options);
10187              } else {
10188                actionGroupCreator(options);
10189              }
10190            })
10191          )
10192        },
10193        [MOUSE_SECOND_CLICK]: {
10194          types: "click",
10195          handler: withFilter(
10196            isOrContainsElement,
10197            whenClickCountChange((options, { clickCount }) => {
10198              if (clickCount === 2) {
10199                actionGroupCreator(options);
10200              }
10201            })
10202          )
10203        },
10204        [MOUSE_DOWN]: {
10205          ...baseActionGroupOptions,
10206          types: "mousedown"
10207        },
10208        [MOUSE_UP]: {
10209          ...baseActionGroupOptions,
10210          types: "mouseup"
10211        },
10212        [MOUSE_OVER]: {
10213          types: MOUSE_OVER_OUT_TYPES,
10214          handler: withFilter(
10215            isOrContainsElement,
10216            whenElementHoverChange((options, state) => {
10217              if (state.elementHovered) {
10218                actionGroupCreator(options);
10219              }
10220            })
10221          )
10222        },
10223        [MOUSE_OUT]: {
10224          types: MOUSE_OVER_OUT_TYPES,
10225          handler: withFilter(
10226            isOrContainsElement,
10227            whenElementHoverChange((options, state) => {
10228              if (!state.elementHovered) {
10229                actionGroupCreator(options);
10230              }
10231            })
10232          )
10233        },
10234        [MOUSE_MOVE]: {
10235          types: "mousemove mouseout scroll",
10236          handler: ({ store, element, eventConfig, nativeEvent, eventStateKey }, state = { clientX: 0, clientY: 0, pageX: 0, pageY: 0 }) => {
10237            const {
10238              basedOn,
10239              selectedAxis,
10240              continuousParameterGroupId,
10241              reverse,
10242              restingState = 0
10243            } = eventConfig;
10244            const {
10245              clientX = state.clientX,
10246              clientY = state.clientY,
10247              pageX = state.pageX,
10248              pageY = state.pageY
10249            } = nativeEvent;
10250            const isXAxis = selectedAxis === "X_AXIS";
10251            const isMouseOut = nativeEvent.type === "mouseout";
10252            let value = restingState / 100;
10253            let namespacedParameterId = continuousParameterGroupId;
10254            let elementHovered = false;
10255            switch (basedOn) {
10256              case EventBasedOn.VIEWPORT: {
10257                value = isXAxis ? Math.min(clientX, window.innerWidth) / window.innerWidth : Math.min(clientY, window.innerHeight) / window.innerHeight;
10258                break;
10259              }
10260              case EventBasedOn.PAGE: {
10261                const { scrollLeft, scrollTop, scrollWidth, scrollHeight } = getDocumentState();
10262                value = isXAxis ? Math.min(scrollLeft + pageX, scrollWidth) / scrollWidth : Math.min(scrollTop + pageY, scrollHeight) / scrollHeight;
10263                break;
10264              }
10265              case EventBasedOn.ELEMENT:
10266              default: {
10267                namespacedParameterId = getNamespacedParameterId2(
10268                  eventStateKey,
10269                  continuousParameterGroupId
10270                );
10271                const isMouseEvent = nativeEvent.type.indexOf("mouse") === 0;
10272                if (isMouseEvent && isOrContainsElement({ element, nativeEvent }) !== true) {
10273                  break;
10274                }
10275                const rect = element.getBoundingClientRect();
10276                const { left, top, width, height } = rect;
10277                if (!isMouseEvent && !pointIntersects({ left: clientX, top: clientY }, rect)) {
10278                  break;
10279                }
10280                elementHovered = true;
10281                value = isXAxis ? (clientX - left) / width : (clientY - top) / height;
10282                break;
10283              }
10284            }
10285            if (isMouseOut && (value > 1 - MOUSE_OUT_ROUND_THRESHOLD || value < MOUSE_OUT_ROUND_THRESHOLD)) {
10286              value = Math.round(value);
10287            }
10288            if (basedOn !== EventBasedOn.ELEMENT || elementHovered || // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10289            // @ts-expect-error
10290            elementHovered !== state.elementHovered) {
10291              value = reverse ? 1 - value : value;
10292              store.dispatch(parameterChanged(namespacedParameterId, value));
10293            }
10294            return {
10295              elementHovered,
10296              clientX,
10297              clientY,
10298              pageX,
10299              pageY
10300            };
10301          }
10302        },
10303        [PAGE_SCROLL]: {
10304          types: SCROLL_EVENT_TYPES,
10305          // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10306          // @ts-expect-error
10307          handler: ({ store, eventConfig }) => {
10308            const { continuousParameterGroupId, reverse } = eventConfig;
10309            const { scrollTop, scrollHeight, clientHeight } = getDocumentState();
10310            let value = scrollTop / (scrollHeight - clientHeight);
10311            value = reverse ? 1 - value : value;
10312            store.dispatch(parameterChanged(continuousParameterGroupId, value));
10313          }
10314        },
10315        [SCROLLING_IN_VIEW]: {
10316          types: SCROLL_EVENT_TYPES,
10317          handler: ({ element, store, eventConfig, eventStateKey }, state = { scrollPercent: 0 }) => {
10318            const {
10319              scrollLeft,
10320              scrollTop,
10321              scrollWidth,
10322              scrollHeight,
10323              clientHeight: visibleHeight
10324            } = getDocumentState();
10325            const {
10326              basedOn,
10327              selectedAxis,
10328              continuousParameterGroupId,
10329              startsEntering,
10330              startsExiting,
10331              addEndOffset,
10332              addStartOffset,
10333              addOffsetValue = 0,
10334              endOffsetValue = 0
10335            } = eventConfig;
10336            const isXAxis = selectedAxis === "X_AXIS";
10337            if (basedOn === EventBasedOn.VIEWPORT) {
10338              const value = isXAxis ? scrollLeft / scrollWidth : scrollTop / scrollHeight;
10339              if (value !== state.scrollPercent) {
10340                store.dispatch(parameterChanged(continuousParameterGroupId, value));
10341              }
10342              return {
10343                scrollPercent: value
10344              };
10345            } else {
10346              const namespacedParameterId = getNamespacedParameterId2(
10347                eventStateKey,
10348                continuousParameterGroupId
10349              );
10350              const elementRect = element.getBoundingClientRect();
10351              let offsetStartPerc = (addStartOffset ? addOffsetValue : 0) / 100;
10352              let offsetEndPerc = (addEndOffset ? endOffsetValue : 0) / 100;
10353              offsetStartPerc = startsEntering ? offsetStartPerc : 1 - offsetStartPerc;
10354              offsetEndPerc = startsExiting ? offsetEndPerc : 1 - offsetEndPerc;
10355              const offsetElementTop = elementRect.top + Math.min(elementRect.height * offsetStartPerc, visibleHeight);
10356              const offsetElementBottom = elementRect.top + elementRect.height * offsetEndPerc;
10357              const offsetHeight = offsetElementBottom - offsetElementTop;
10358              const fixedScrollHeight = Math.min(
10359                visibleHeight + offsetHeight,
10360                scrollHeight
10361              );
10362              const fixedScrollTop = Math.min(
10363                Math.max(0, visibleHeight - offsetElementTop),
10364                fixedScrollHeight
10365              );
10366              const fixedScrollPerc = fixedScrollTop / fixedScrollHeight;
10367              if (fixedScrollPerc !== state.scrollPercent) {
10368                store.dispatch(
10369                  parameterChanged(namespacedParameterId, fixedScrollPerc)
10370                );
10371              }
10372              return {
10373                scrollPercent: fixedScrollPerc
10374              };
10375            }
10376          }
10377        },
10378        [SCROLL_INTO_VIEW]: scrollIntoOutOfViewOptions,
10379        [SCROLL_OUT_OF_VIEW]: scrollIntoOutOfViewOptions,
10380        [PAGE_SCROLL_DOWN]: {
10381          ...baseScrollActionGroupOptions,
10382          // @ts-expect-error - TS7006 - Parameter 'options' implicitly has an 'any' type. | TS7006 - Parameter 'state' implicitly has an 'any' type.
10383          handler: whenScrollDirectionChange((options, state) => {
10384            if (state.scrollingDown) {
10385              actionGroupCreator(options);
10386            }
10387          })
10388        },
10389        [PAGE_SCROLL_UP]: {
10390          ...baseScrollActionGroupOptions,
10391          // @ts-expect-error - TS7006 - Parameter 'options' implicitly has an 'any' type. | TS7006 - Parameter 'state' implicitly has an 'any' type.
10392          handler: whenScrollDirectionChange((options, state) => {
10393            if (!state.scrollingDown) {
10394              actionGroupCreator(options);
10395            }
10396          })
10397        },
10398        [PAGE_FINISH]: {
10399          types: "readystatechange IX2_PAGE_UPDATE",
10400          handler: withFilter(isElement, whenPageLoadFinish(actionGroupCreator))
10401        },
10402        [PAGE_START]: {
10403          types: "readystatechange IX2_PAGE_UPDATE",
10404          handler: withFilter(isElement, whenPageLoadStart(actionGroupCreator))
10405        }
10406      };
10407    }
10408  });
10409
10410  
10410// packages/systems/ix2/engine/logic/IX2VanillaEngine.ts
10411  var IX2VanillaEngine_exports = {};
10412  __export(IX2VanillaEngine_exports, {
10413    observeRequests: () => observeRequests,
10414    startActionGroup: () => startActionGroup,
10415    startEngine: () => startEngine,
10416    stopActionGroup: () => stopActionGroup,
10417    stopAllActionGroups: () => stopAllActionGroups,
10418    stopEngine: () => stopEngine
10419  });
10420  function observeRequests(store) {
10421    observeStore2({
10422      store,
10423      select: ({
10424        ixRequest: ixRequest2
10425      }) => ixRequest2.preview,
10426      onChange: handlePreviewRequest
10427    });
10428    observeStore2({
10429      store,
10430      select: ({
10431        ixRequest: ixRequest2
10432      }) => ixRequest2.playback,
10433      onChange: handlePlaybackRequest
10434    });
10435    observeStore2({
10436      store,
10437      select: ({
10438        ixRequest: ixRequest2
10439      }) => ixRequest2.stop,
10440      onChange: handleStopRequest
10441    });
10442    observeStore2({
10443      store,
10444      select: ({
10445        ixRequest: ixRequest2
10446      }) => ixRequest2.clear,
10447      onChange: handleClearRequest
10448    });
10449  }
10450  function observeMediaQueryChange(store) {
10451    observeStore2({
10452      store,
10453      select: ({
10454        ixSession: ixSession2
10455      }) => ixSession2.mediaQueryKey,
10456      onChange: () => {
10457        stopEngine(store);
10458        clearAllStyles2({ store, elementApi: IX2BrowserApi_exports });
10459        startEngine({ store, allowEvents: true });
10460        dispatchPageUpdateEvent();
10461      }
10462    });
10463  }
10464  function observeOneRenderTick(store, onTick) {
10465    const unsubscribe = observeStore2({
10466      store,
10467      select: ({
10468        ixSession: ixSession2
10469      }) => ixSession2.tick,
10470      // @ts-expect-error - TS7006 - Parameter 'tick' implicitly has an 'any' type.
10471      onChange: (tick) => {
10472        onTick(tick);
10473        unsubscribe();
10474      }
10475    });
10476  }
10477  function handlePreviewRequest({ rawData, defer }, store) {
10478    const start = () => {
10479      startEngine({ store, rawData, allowEvents: true });
10480      dispatchPageUpdateEvent();
10481    };
10482    defer ? setTimeout(start, 0) : start();
10483  }
10484  function dispatchPageUpdateEvent() {
10485    document.dispatchEvent(new CustomEvent("IX2_PAGE_UPDATE"));
10486  }
10487  function handlePlaybackRequest(playback, store) {
10488    const {
10489      actionTypeId,
10490      actionListId,
10491      actionItemId,
10492      eventId,
10493      allowEvents,
10494      immediate,
10495      testManual,
10496      verbose = true
10497    } = playback;
10498    let { rawData } = playback;
10499    if (actionListId && actionItemId && rawData && immediate) {
10500      const actionList = rawData.actionLists[actionListId];
10501      if (actionList) {
10502        rawData = reduceListToGroup2({
10503          actionList,
10504          actionItemId,
10505          rawData
10506        });
10507      }
10508    }
10509    startEngine({ store, rawData, allowEvents, testManual });
10510    if (actionListId && actionTypeId === ActionTypeConsts.GENERAL_START_ACTION || isQuickEffect(actionTypeId)) {
10511      stopActionGroup({ store, actionListId });
10512      renderInitialGroup({ store, actionListId, eventId });
10513      const started = startActionGroup({
10514        store,
10515        eventId,
10516        actionListId,
10517        immediate,
10518        verbose
10519      });
10520      if (verbose && started) {
10521        store.dispatch(
10522          actionListPlaybackChanged({ actionListId, isPlaying: !immediate })
10523        );
10524      }
10525    }
10526  }
10527  function handleStopRequest({ actionListId }, store) {
10528    if (actionListId) {
10529      stopActionGroup({ store, actionListId });
10530    } else {
10531      stopAllActionGroups({ store });
10532    }
10533    stopEngine(store);
10534  }
10535  function handleClearRequest(state, store) {
10536    stopEngine(store);
10537    clearAllStyles2({ store, elementApi: IX2BrowserApi_exports });
10538  }
10539  function startEngine({
10540    store,
10541    rawData,
10542    allowEvents,
10543    testManual
10544  }) {
10545    const { ixSession: ixSession2 } = store.getState();
10546    if (rawData) {
10547      store.dispatch(rawDataImported(rawData));
10548    }
10549    if (!ixSession2.active) {
10550      store.dispatch(
10551        sessionInitialized({
10552          hasBoundaryNodes: Boolean(document.querySelector(BOUNDARY_SELECTOR2)),
10553          reducedMotion: document.body.hasAttribute("data-wf-ix-vacation") && window.matchMedia("(prefers-reduced-motion)").matches
10554        })
10555      );
10556      if (allowEvents) {
10557        bindEvents(store);
10558        addDocumentClass();
10559        if (store.getState().ixSession.hasDefinedMediaQueries) {
10560          observeMediaQueryChange(store);
10561        }
10562      }
10563      store.dispatch(sessionStarted());
10564      startRenderLoop(store, testManual);
10565    }
10566  }
10567  function addDocumentClass() {
10568    const { documentElement } = document;
10569    if (documentElement.className.indexOf(W_MOD_IX2) === -1) {
10570      documentElement.className += ` ${W_MOD_IX2}`;
10571    }
10572  }
10573  function startRenderLoop(store, testManual) {
10574    const handleFrame = (now) => {
10575      const { ixSession: ixSession2, ixParameters: ixParameters2 } = store.getState();
10576      if (ixSession2.active) {
10577        store.dispatch(animationFrameChanged(now, ixParameters2));
10578        if (testManual) {
10579          observeOneRenderTick(store, handleFrame);
10580        } else {
10581          requestAnimationFrame(handleFrame);
10582        }
10583      }
10584    };
10585    handleFrame(window.performance.now());
10586  }
10587  function stopEngine(store) {
10588    const { ixSession: ixSession2 } = store.getState();
10589    if (ixSession2.active) {
10590      const { eventListeners } = ixSession2;
10591      eventListeners.forEach(clearEventListener);
10592      clearObjectCache2();
10593      store.dispatch(sessionStopped());
10594    }
10595  }
10596  function clearEventListener({ target, listenerParams }) {
10597    target.removeEventListener.apply(target, listenerParams);
10598  }
10599  function createGroupInstances({
10600    // @ts-expect-error - TS7031 - Binding element 'store' implicitly has an 'any' type.
10601    store,
10602    // @ts-expect-error - TS7031 - Binding element 'eventStateKey' implicitly has an 'any' type.
10603    eventStateKey,
10604    // @ts-expect-error - TS7031 - Binding element 'eventTarget' implicitly has an 'any' type.
10605    eventTarget,
10606    // @ts-expect-error - TS7031 - Binding element 'eventId' implicitly has an 'any' type.
10607    eventId,
10608    // @ts-expect-error - TS7031 - Binding element 'eventConfig' implicitly has an 'any' type.
10609    eventConfig,
10610    // @ts-expect-error - TS7031 - Binding element 'actionListId' implicitly has an 'any' type.
10611    actionListId,
10612    // @ts-expect-error - TS7031 - Binding element 'parameterGroup' implicitly has an 'any' type.
10613    parameterGroup,
10614    // @ts-expect-error - TS7031 - Binding element 'smoothing' implicitly has an 'any' type.
10615    smoothing,
10616    // @ts-expect-error - TS7031 - Binding element 'restingValue' implicitly has an 'any' type.
10617    restingValue
10618  }) {
10619    const { ixData: ixData2, ixSession: ixSession2 } = store.getState();
10620    const { events } = ixData2;
10621    const event = events[eventId];
10622    const { eventTypeId } = event;
10623    const targetCache = {};
10624    const instanceActionGroups = {};
10625    const instanceConfigs = [];
10626    const { continuousActionGroups } = parameterGroup;
10627    let { id: parameterId } = parameterGroup;
10628    if (shouldNamespaceEventParameter2(eventTypeId, eventConfig)) {
10629      parameterId = getNamespacedParameterId3(eventStateKey, parameterId);
10630    }
10631    const eventElementRoot = ixSession2.hasBoundaryNodes && eventTarget ? getClosestElement(eventTarget, BOUNDARY_SELECTOR2) : null;
10632    continuousActionGroups.forEach((actionGroup) => {
10633      const { keyframe, actionItems } = actionGroup;
10634      actionItems.forEach((actionItem) => {
10635        const { actionTypeId } = actionItem;
10636        const { target } = actionItem.config;
10637        if (!target) {
10638          return;
10639        }
10640        const elementRoot = target.boundaryMode ? eventElementRoot : null;
10641        const key = stringifyTarget2(target) + COLON_DELIMITER4 + actionTypeId;
10642        instanceActionGroups[key] = appendActionItem(
10643          instanceActionGroups[key],
10644          keyframe,
10645          actionItem
10646        );
10647        if (!targetCache[key]) {
10648          targetCache[key] = true;
10649          const { config } = actionItem;
10650          getAffectedElements2({
10651            config,
10652            event,
10653            eventTarget,
10654            elementRoot,
10655            elementApi: IX2BrowserApi_exports
10656          }
10656).forEach((element) => {
10657            instanceConfigs.push({ element, key });
10658          });
10659        }
10660      });
10661    });
10662    instanceConfigs.forEach(({ element, key }) => {
10663      const actionGroups = instanceActionGroups[key];
10664      const actionItem = (0, import_get2.default)(actionGroups, `[0].actionItems[0]`, {});
10665      const { actionTypeId } = actionItem;
10666      const shouldUsePlugin = (
10667        // If it's targeted by class, don't query the element by pluginElementId
10668        actionTypeId === ActionTypeConsts.PLUGIN_RIVE ? (actionItem.config?.target?.selectorGuids || []).length === 0 : isPluginType2(actionTypeId)
10669      );
10670      const pluginInstance = shouldUsePlugin ? createPluginInstance2(actionTypeId)(element, actionItem) : null;
10671      const destination = getDestinationValues2(
10672        { element, actionItem, elementApi: IX2BrowserApi_exports },
10673        // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10674        // @ts-expect-error
10675        pluginInstance
10676      );
10677      createInstance({
10678        store,
10679        element,
10680        eventId,
10681        actionListId,
10682        actionItem,
10683        destination,
10684        continuous: true,
10685        parameterId,
10686        actionGroups,
10687        smoothing,
10688        restingValue,
10689        pluginInstance
10690      });
10691    });
10692  }
10693  function appendActionItem(actionGroups = [], keyframe, actionItem) {
10694    const newActionGroups = [...actionGroups];
10695    let groupIndex;
10696    newActionGroups.some((group, index) => {
10697      if (group.keyframe === keyframe) {
10698        groupIndex = index;
10699        return true;
10700      }
10701      return false;
10702    });
10703    if (groupIndex == null) {
10704      groupIndex = newActionGroups.length;
10705      newActionGroups.push({
10706        keyframe,
10707        actionItems: []
10708      });
10709    }
10710    newActionGroups[groupIndex].actionItems.push(actionItem);
10711    return newActionGroups;
10712  }
10713  function bindEvents(store) {
10714    const { ixData: ixData2 } = store.getState();
10715    const { eventTypeMap } = ixData2;
10716    updateViewportWidth(store);
10717    (0, import_forEach.default)(eventTypeMap, (events, key) => {
10718      const logic = IX2VanillaEvents_default[key];
10719      if (!logic) {
10720        console.warn(`IX2 event type not configured: ${key}`);
10721        return;
10722      }
10723      bindEventType({
10724        // @ts-expect-error - TS7031 - Binding element 'logic' implicitly has an 'any' type.
10725        logic,
10726        store,
10727        events
10728      });
10729    });
10730    const { ixSession: ixSession2 } = store.getState();
10731    if (ixSession2.eventListeners.length) {
10732      bindResizeEvents(store);
10733    }
10734  }
10735  function bindResizeEvents(store) {
10736    const handleResize = () => {
10737      updateViewportWidth(store);
10738    };
10739    WINDOW_RESIZE_EVENTS.forEach((type) => {
10740      window.addEventListener(type, handleResize);
10741      store.dispatch(eventListenerAdded(window, [type, handleResize]));
10742    });
10743    handleResize();
10744  }
10745  function updateViewportWidth(store) {
10746    const { ixSession: ixSession2, ixData: ixData2 } = store.getState();
10747    const width = window.innerWidth;
10748    if (width !== ixSession2.viewportWidth) {
10749      const { mediaQueries } = ixData2;
10750      store.dispatch(viewportWidthChanged({ width, mediaQueries }));
10751    }
10752  }
10753  function bindEventType({ logic, store, events }) {
10754    injectBehaviorCSSFixes(events);
10755    const { types: eventTypes, handler: eventHandler } = logic;
10756    const { ixData: ixData2 } = store.getState();
10757    const { actionLists } = ixData2;
10758    const eventTargets = mapFoundValues(events, getAffectedForEvent);
10759    if (!(0, import_size.default)(eventTargets)) {
10760      return;
10761    }
10762    (0, import_forEach.default)(eventTargets, (elements, key) => {
10763      const event = events[key];
10764      const {
10765        action: eventAction,
10766        id: eventId,
10767        mediaQueries = ixData2.mediaQueryKeys
10768      } = event;
10769      const { actionListId } = eventAction.config;
10770      if (!mediaQueriesEqual2(mediaQueries, ixData2.mediaQueryKeys)) {
10771        store.dispatch(mediaQueriesDefined());
10772      }
10773      if (eventAction.actionTypeId === ActionTypeConsts.GENERAL_CONTINUOUS_ACTION) {
10774        const configs = Array.isArray(event.config) ? event.config : [event.config];
10775        configs.forEach((eventConfig) => {
10776          const { continuousParameterGroupId } = eventConfig;
10777          const paramGroups = (0, import_get2.default)(
10778            actionLists,
10779            `${actionListId}.continuousParameterGroups`,
10780            []
10781          );
10782          const parameterGroup = (0, import_find2.default)(
10783            paramGroups,
10784            ({ id }) => id === continuousParameterGroupId
10785          );
10786          const smoothing = (eventConfig.smoothing || 0) / 100;
10787          const restingValue = (eventConfig.restingState || 0) / 100;
10788          if (!parameterGroup) {
10789            return;
10790          }
10791          elements.forEach((eventTarget, index) => {
10792            const eventStateKey = eventId + COLON_DELIMITER4 + index;
10793            createGroupInstances({
10794              store,
10795              eventStateKey,
10796              eventTarget,
10797              eventId,
10798              eventConfig,
10799              actionListId,
10800              parameterGroup,
10801              smoothing,
10802              restingValue
10803            });
10804          });
10805        });
10806      }
10807      if (eventAction.actionTypeId === ActionTypeConsts.GENERAL_START_ACTION || isQuickEffect(eventAction.actionTypeId)) {
10808        renderInitialGroup({ store, actionListId, eventId });
10809      }
10810    });
10811    const handleEvent = (nativeEvent) => {
10812      const { ixSession: ixSession2 } = store.getState();
10813      forEachEventTarget(eventTargets, (element, eventId, eventStateKey) => {
10814        const event = events[eventId];
10815        const oldState = ixSession2.eventState[eventStateKey];
10816        const { action: eventAction, mediaQueries = ixData2.mediaQueryKeys } = event;
10817        if (!shouldAllowMediaQuery2(mediaQueries, ixSession2.mediaQueryKey)) {
10818          return;
10819        }
10820        const handleEventWithConfig = (eventConfig = {}) => {
10821          const newState = eventHandler(
10822            {
10823              store,
10824              element,
10825              event,
10826              eventConfig,
10827              nativeEvent,
10828              eventStateKey
10829            },
10830            oldState
10831          );
10832          if (!shallowEqual2(newState, oldState)) {
10833            store.dispatch(eventStateChanged(eventStateKey, newState));
10834          }
10835        };
10836        if (eventAction.actionTypeId === ActionTypeConsts.GENERAL_CONTINUOUS_ACTION) {
10837          const configs = Array.isArray(event.config) ? event.config : [event.config];
10838          configs.forEach(handleEventWithConfig);
10839        } else {
10840          handleEventWithConfig();
10841        }
10842      });
10843    };
10844    const handleEventThrottled = (0, import_throttle.default)(handleEvent, THROTTLED_EVENT_WAIT);
10845    const addListeners = ({
10846      target = document,
10847      // @ts-expect-error - TS7031 - Binding element 'types' implicitly has an 'any' type.
10848      types,
10849      // @ts-expect-error - TS7031 - Binding element 'shouldThrottle' implicitly has an 'any' type.
10850      throttle: shouldThrottle
10851    }) => {
10852      types.split(" ").filter(Boolean).forEach((type) => {
10853        const handlerFunc = shouldThrottle ? handleEventThrottled : handleEvent;
10854        target.addEventListener(type, handlerFunc);
10855        store.dispatch(eventListenerAdded(target, [type, handlerFunc]));
10856      });
10857    };
10858    if (Array.isArray(eventTypes)) {
10859      eventTypes.forEach(addListeners);
10860    } else if (typeof eventTypes === "string") {
10861      addListeners(logic);
10862    }
10863  }
10864  function injectBehaviorCSSFixes(events) {
10865    if (!IS_MOBILE_SAFARI) {
10866      return;
10867    }
10868    const injectedSelectors = {};
10869    let cssText = "";
10870    for (const eventId in events) {
10871      const { eventTypeId, target } = events[eventId];
10872      const selector = getQuerySelector(target);
10873      if (injectedSelectors[selector]) {
10874        continue;
10875      }
10876      if (eventTypeId === EventTypeConsts.MOUSE_CLICK || eventTypeId === EventTypeConsts.MOUSE_SECOND_CLICK) {
10877        injectedSelectors[selector] = true;
10878        cssText += selector + "{cursor: pointer;touch-action: manipulation;}";
10879      }
10880    }
10881    if (cssText) {
10882      const style = document.createElement("style");
10883      style.textContent = cssText;
10884      document.body.appendChild(style);
10885    }
10886  }
10887  function renderInitialGroup({
10888    store,
10889    actionListId,
10890    eventId
10891  }) {
10892    const { ixData: ixData2, ixSession: ixSession2 } = store.getState();
10893    const { actionLists, events } = ixData2;
10894    const event = events[eventId];
10895    const actionList = actionLists[actionListId];
10896    if (actionList && actionList.useFirstGroupAsInitialState) {
10897      const initialStateItems = (0, import_get2.default)(
10898        actionList,
10899        "actionItemGroups[0].actionItems",
10900        []
10901      );
10902      const mediaQueries = (0, import_get2.default)(event, "mediaQueries", ixData2.mediaQueryKeys);
10903      if (!shouldAllowMediaQuery2(mediaQueries, ixSession2.mediaQueryKey)) {
10904        return;
10905      }
10906      initialStateItems.forEach((actionItem) => {
10907        const { config: itemConfig, actionTypeId } = actionItem;
10908        const config = (
10909          // When useEventTarget is explicitly true, use event target/targets to query elements
10910          // However, skip this condition when objectId is defined
10911          // @ts-expect-error - Property 'target' does not exist on type 'never'.
10912          itemConfig?.target?.useEventTarget === true && // @ts-expect-error - Property 'target' does not exist on type 'never'.
10913          itemConfig?.target?.objectId == null ? (
10914            // @ts-expect-error - TS18048 - 'event' is possibly 'undefined'.
10915            { target: event.target, targets: event.targets }
10916          ) : itemConfig
10917        );
10918        const itemElements = getAffectedElements2({ config, event, elementApi: IX2BrowserApi_exports });
10919        const shouldUsePlugin = isPluginType2(actionTypeId);
10920        itemElements.forEach((element) => {
10921          const pluginInstance = shouldUsePlugin ? createPluginInstance2(actionTypeId)(element, actionItem) : null;
10922          createInstance({
10923            destination: getDestinationValues2(
10924              { element, actionItem, elementApi: IX2BrowserApi_exports },
10925              // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10926              // @ts-expect-error
10927              pluginInstance
10928            ),
10929            immediate: true,
10930            store,
10931            element,
10932            eventId,
10933            actionItem,
10934            actionListId,
10935            pluginInstance
10936          });
10937        });
10938      });
10939    }
10940  }
10941  function stopAllActionGroups({ store }) {
10942    const { ixInstances: ixInstances2 } = store.getState();
10943    (0, import_forEach.default)(ixInstances2, (instance) => {
10944      if (!instance.continuous) {
10945        const { actionListId, verbose } = instance;
10946        removeInstance(instance, store);
10947        if (verbose) {
10948          store.dispatch(
10949            actionListPlaybackChanged({ actionListId, isPlaying: false })
10950          );
10951        }
10952      }
10953    });
10954  }
10955  function stopActionGroup({
10956    // @ts-expect-error - TS7031 - Binding element 'store' implicitly has an 'any' type.
10957    store,
10958    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10959    // @ts-expect-error
10960    eventId,
10961    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10962    // @ts-expect-error
10963    eventTarget,
10964    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10965    // @ts-expect-error
10966    eventStateKey,
10967    // @ts-expect-error - TS7031 - Binding element 'actionListId' implicitly has an 'any' type.
10968    actionListId
10969  }) {
10970    const { ixInstances: ixInstances2, ixSession: ixSession2 } = store.getState();
10971    const eventElementRoot = ixSession2.hasBoundaryNodes && eventTarget ? getClosestElement(eventTarget, BOUNDARY_SELECTOR2) : null;
10972    (0, import_forEach.default)(ixInstances2, (instance) => {
10973      const boundaryMode = (0, import_get2.default)(instance, "actionItem.config.target.boundaryMode");
10974      const validEventKey = eventStateKey ? instance.eventStateKey === eventStateKey : true;
10975      if (instance.actionListId === actionListId && instance.eventId === eventId && validEventKey) {
10976        if (eventElementRoot && boundaryMode && !elementContains(eventElementRoot, instance.element)) {
10977          return;
10978        }
10979        removeInstance(instance, store);
10980        if (instance.verbose) {
10981          store.dispatch(
10982            actionListPlaybackChanged({ actionListId, isPlaying: false })
10983          );
10984        }
10985      }
10986    });
10987  }
10988  function startActionGroup({
10989    // @ts-expect-error - TS7031 - Binding element 'store' implicitly has an 'any' type.
10990    store,
10991    // @ts-expect-error - TS7031 - Binding element 'eventId' implicitly has an 'any' type.
10992    eventId,
10993    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10994    // @ts-expect-error
10995    eventTarget,
10996    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10997    // @ts-expect-error
10998    eventStateKey,
10999    // @ts-expect-error - TS7031 - Binding element 'actionListId' implicitly has an 'any' type.
11000    actionListId,
11001    groupIndex = 0,
11002    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11003    // @ts-expect-error
11004    immediate,
11005    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11006    // @ts-expect-error
11007    verbose
11008  }) {
11009    const { ixData: ixData2, ixSession: ixSession2 } = store.getState();
11010    const { events } = ixData2;
11011    const event = events[eventId] || {};
11012    const { mediaQueries = ixData2.mediaQueryKeys } = event;
11013    const actionList = (0, import_get2.default)(ixData2, `actionLists.${actionListId}`, {});
11014    const { actionItemGroups, useFirstGroupAsInitialState } = actionList;
11015    if (!actionItemGroups || !actionItemGroups.length) {
11016      return false;
11017    }
11018    if (groupIndex >= actionItemGroups.length && (0, import_get2.default)(event, "config.loop")) {
11019      groupIndex = 0;
11020    }
11021    if (groupIndex === 0 && useFirstGroupAsInitialState) {
11022      groupIndex++;
11023    }
11024    const isFirstGroup = groupIndex === 0 || groupIndex === 1 && useFirstGroupAsInitialState;
11025    const instanceDelay = isFirstGroup && isQuickEffect(event.action?.actionTypeId) ? event.config.delay : void 0;
11026    const actionItems = (0, import_get2.default)(actionItemGroups, [groupIndex, "actionItems"], []);
11027    if (!actionItems.length) {
11028      return false;
11029    }
11030    if (!shouldAllowMediaQuery2(mediaQueries, ixSession2.mediaQueryKey)) {
11031      return false;
11032    }
11033    const eventElementRoot = ixSession2.hasBoundaryNodes && eventTarget ? getClosestElement(eventTarget, BOUNDARY_SELECTOR2) : null;
11034    const carrierIndex = getMaxDurationItemIndex2(actionItems);
11035    let groupStartResult = false;
11036    actionItems.forEach((actionItem, actionIndex) => {
11037      const { config, actionTypeId } = actionItem;
11038      const shouldUsePlugin = isPluginType2(actionTypeId);
11039      const { target } = config;
11040      if (!target) {
11041        return;
11042      }
11043      const elementRoot = target.boundaryMode ? eventElementRoot : null;
11044      const elements = getAffectedElements2({
11045        config,
11046        event,
11047        eventTarget,
11048        elementRoot,
11049        elementApi: IX2BrowserApi_exports
11050      });
11051      elements.forEach((element, elementIndex) => {
11052        const pluginInstance = shouldUsePlugin ? createPluginInstance2(actionTypeId)(element, actionItem) : null;
11053        const pluginDuration = shouldUsePlugin ? getPluginDuration2(actionTypeId)(element, actionItem) : null;
11054        groupStartResult = true;
11055        const isCarrier = carrierIndex === actionIndex && elementIndex === 0;
11056        const computedStyle = getComputedStyle3({ element, actionItem });
11057        const destination = getDestinationValues2(
11058          { element, actionItem, elementApi: IX2BrowserApi_exports },
11059          // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11060          // @ts-expect-error
11061          pluginInstance
11062        );
11063        createInstance({
11064          store,
11065          element,
11066          actionItem,
11067          eventId,
11068          eventTarget,
11069          eventStateKey,
11070          actionListId,
11071          groupIndex,
11072          isCarrier,
11073          computedStyle,
11074          destination,
11075          immediate,
11076          verbose,
11077          pluginInstance,
11078          pluginDuration,
11079          instanceDelay
11080        });
11081      });
11082    });
11083    return groupStartResult;
11084  }
11085  function createInstance(options) {
11086    const { store, computedStyle, ...rest } = options;
11087    const {
11088      element,
11089      actionItem,
11090      immediate,
11091      pluginInstance,
11092      continuous,
11093      restingValue,
11094      eventId
11095    } = rest;
11096    const autoStart = !continuous;
11097    const instanceId = getInstanceId2();
11098    const { ixElements: ixElements3, ixSession: ixSession2, ixData: ixData2 } = store.getState();
11099    const elementId = getElementId2(ixElements3, element);
11100    const { refState: refState2 } = ixElements3[elementId] || {};
11101    const refType = getRefType(element);
11102    const skipMotion = (
11103      // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{ readonly TRANSFORM_MOVE: true; readonly TRANSFORM_SCALE: true; readonly TRANSFORM_ROTATE: true; readonly TRANSFORM_SKEW: true; readonly STYLE_SIZE: true; readonly STYLE_FILTER: true; readonly STYLE_FONT_VARIATION: true; }'.
11104      ixSession2.reducedMotion && ReducedMotionTypes[actionItem.actionTypeId]
11105    );
11106    let skipToValue;
11107    if (skipMotion && continuous) {
11108      switch (ixData2.events[eventId]?.eventTypeId) {
11109        case EventTypeConsts.MOUSE_MOVE:
11110        case EventTypeConsts.MOUSE_MOVE_IN_VIEWPORT:
11111          skipToValue = restingValue;
11112          break;
11113        default:
11114          skipToValue = 0.5;
11115          break;
11116      }
11117    }
11118    const origin = getInstanceOrigin2(
11119      element,
11120      refState2,
11121      computedStyle,
11122      actionItem,
11123      IX2BrowserApi_exports,
11124      // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11125      // @ts-expect-error
11126      pluginInstance
11127    );
11128    store.dispatch(
11129      instanceAdded({
11130        instanceId,
11131        elementId,
11132        origin,
11133        refType,
11134        skipMotion,
11135        skipToValue,
11136        ...rest
11137      })
11138    );
11139    dispatchCustomEvent(document.body, "ix2-animation-started", instanceId);
11140    if (immediate) {
11141      renderImmediateInstance(store, instanceId);
11142      return;
11143    }
11144    observeStore2({
11145      store,
11146      // @ts-expect-error - TS7031 - Binding element 'ixInstances' implicitly has an 'any' type.
11147      select: ({ ixInstances: ixInstances2 }) => ixInstances2[instanceId],
11148      onChange: handleInstanceChange
11149    });
11150    if (autoStart) {
11151      store.dispatch(instanceStarted(instanceId, ixSession2.tick));
11152    }
11153  }
11154  function removeInstance(instance, store) {
11155    dispatchCustomEvent(document.body, "ix2-animation-stopping", {
11156      instanceId: instance.id,
11157      state: store.getState()
11158    });
11159    const { elementId, actionItem } = instance;
11160    const { ixElements: ixElements3 } = store.getState();
11161    const { ref, refType } = ixElements3[elementId] || {};
11162    if (refType === HTML_ELEMENT4) {
11163      cleanupHTMLElement2(ref, actionItem, IX2BrowserApi_exports);
11164    }
11165    store.dispatch(instanceRemoved(instance.id));
11166  }
11167  function dispatchCustomEvent(element, eventName, detail) {
11168    const event = document.createEvent("CustomEvent");
11169    event.initCustomEvent(eventName, true, true, detail);
11170    element.dispatchEvent(event);
11171  }
11172  function renderImmediateInstance(store, instanceId) {
11173    const { ixParameters: ixParameters2 } = store.getState();
11174    store.dispatch(instanceStarted(instanceId, 0));
11175    store.dispatch(animationFrameChanged(performance.now(), ixParameters2));
11176    const { ixInstances: ixInstances2 } = store.getState();
11177    handleInstanceChange(ixInstances2[instanceId], store);
11178  }
11179  function handleInstanceChange(instance, store) {
11180    const {
11181      active,
11182      continuous,
11183      complete,
11184      elementId,
11185      actionItem,
11186      actionTypeId,
11187      renderType,
11188      current,
11189      groupIndex,
11190      eventId,
11191      eventTarget,
11192      eventStateKey,
11193      actionListId,
11194      isCarrier,
11195      styleProp,
11196      verbose,
11197      pluginInstance
11198    } = instance;
11199    const { ixData: ixData2, ixSession: ixSession2 } = store.getState();
11200    const { events } = ixData2;
11201    const event = events && events[eventId] ? events[eventId] : {};
11202    const { mediaQueries = ixData2.mediaQueryKeys } = event;
11203    if (!shouldAllowMediaQuery2(mediaQueries, ixSession2.mediaQueryKey)) {
11204      return;
11205    }
11206    if (continuous || active || complete) {
11207      if (current || renderType === RENDER_GENERAL4 && complete) {
11208        store.dispatch(
11209          elementStateChanged(elementId, actionTypeId, current, actionItem)
11210        );
11211        const { ixElements: ixElements3 } = store.getState();
11212        const { ref, refType, refState: refState2 } = ixElements3[elementId] || {};
11213        const actionState = refState2 && refState2[actionTypeId];
11214        if (refType === HTML_ELEMENT4 || isPluginType2(actionTypeId)) {
11215          renderHTMLElement2(
11216            ref,
11217            refState2,
11218            actionState,
11219            eventId,
11220            actionItem,
11221            styleProp,
11222            IX2BrowserApi_exports,
11223            renderType,
11224            pluginInstance
11225          );
11226        }
11227      }
11228      if (complete) {
11229        if (isCarrier) {
11230          const started = startActionGroup({
11231            store,
11232            eventId,
11233            eventTarget,
11234            eventStateKey,
11235            actionListId,
11236            groupIndex: groupIndex + 1,
11237            verbose
11238          });
11239          if (verbose && !started) {
11240            store.dispatch(
11241              actionListPlaybackChanged({ actionListId, isPlaying: false })
11242            );
11243          }
11244        }
11245        removeInstance(instance, store);
11246      }
11247    }
11248  }
11249  var import_find2, import_get2, import_size, import_omitBy, import_isEmpty, import_mapValues, import_forEach, import_throttle, import_shared6, QuickEffectsIdList, isQuickEffect, COLON_DELIMITER4, BOUNDARY_SELECTOR2, HTML_ELEMENT4, RENDER_GENERAL4, W_MOD_IX2, getAffectedElements2, getElementId2, getDestinationValues2, observeStore2, getInstanceId2, renderHTMLElement2, clearAllStyles2, getMaxDurationItemIndex2, getComputedStyle3, getInstanceOrigin2, reduceListToGroup2, shouldNamespaceEventParameter2, getNamespacedParameterId3, shouldAllowMediaQuery2, cleanupHTMLElement2, clearObjectCache2, stringifyTarget2, mediaQueriesEqual2, shallowEqual2, isPluginType2, createPluginInstance2, getPluginDuration2, ua, IS_MOBILE_SAFARI, THROTTLED_EVENT_WAIT, WINDOW_RESIZE_EVENTS, mapFoundValues, forEachEventTarget, getAffectedForEvent;
11250  var init_IX2VanillaEngine = __esm({
11251    "packages/systems/ix2/engine/logic/IX2VanillaEngine.ts"() {
11252      "use strict";
11253      import_find2 = __toESM(require_find());
11254      import_get2 = __toESM(require_get());
11255      import_size = __toESM(require_size());
11256      import_omitBy = __toESM(require_omitBy());
11257      import_isEmpty = __toESM(require_isEmpty());
11258      import_mapValues = __toESM(require_mapValues());
11259      import_forEach = __toESM(require_forEach());
11260      import_throttle = __toESM(require_throttle());
11261      init_shared_constants();
11262      import_shared6 = __toESM(require_shared());
11263      init_IX2EngineActions();
11264      init_IX2BrowserApi();
11265      init_IX2VanillaEvents();
11266      QuickEffectsIdList = Object.keys(QuickEffectIds);
11267      isQuickEffect = (actionTypeId) => QuickEffectsIdList.includes(actionTypeId);
11268      ({
11269        COLON_DELIMITER: COLON_DELIMITER4,
11270        BOUNDARY_SELECTOR: BOUNDARY_SELECTOR2,
11271        HTML_ELEMENT: HTML_ELEMENT4,
11272        RENDER_GENERAL: RENDER_GENERAL4,
11273        W_MOD_IX: W_MOD_IX2
11274      } = IX2EngineConstants_exports);
11275      ({
11276        getAffectedElements: getAffectedElements2,
11277        getElementId: getElementId2,
11278        getDestinationValues: getDestinationValues2,
11279        observeStore: observeStore2,
11280        getInstanceId: getInstanceId2,
11281        renderHTMLElement: renderHTMLElement2,
11282        clearAllStyles: clearAllStyles2,
11283        getMaxDurationItemIndex: getMaxDurationItemIndex2,
11284        getComputedStyle: getComputedStyle3,
11285        getInstanceOrigin: getInstanceOrigin2,
11286        reduceListToGroup: reduceListToGroup2,
11287        shouldNamespaceEventParameter: shouldNamespaceEventParameter2,
11288        getNamespacedParameterId: getNamespacedParameterId3,
11289        shouldAllowMediaQuery: shouldAllowMediaQuery2,
11290        cleanupHTMLElement: cleanupHTMLElement2,
11291        clearObjectCache: clearObjectCache2,
11292        stringifyTarget: stringifyTarget2,
11293        mediaQueriesEqual: mediaQueriesEqual2,
11294        shallowEqual: shallowEqual2
11295      } = import_shared6.IX2VanillaUtils);
11296      ({ isPluginType: isPluginType2, createPluginInstance: createPluginInstance2, getPluginDuration: getPluginDuration2 } = import_shared6.IX2VanillaPlugins);
11297      ua = navigator.userAgent;
11298      IS_MOBILE_SAFARI = ua.match(/iPad/i) || ua.match(/iPhone/);
11299      THROTTLED_EVENT_WAIT = 12;
11300      WINDOW_RESIZE_EVENTS = ["resize", "orientationchange"];
11301      mapFoundValues = (object, iteratee) => (0, import_omitBy.default)((0, import_mapValues.default)(object, iteratee), import_isEmpty.default);
11302      forEachEventTarget = (eventTargets, eventCallback) => {
11303        (0, import_forEach.default)(eventTargets, (elements, eventId) => {
11304          elements.forEach((element, index) => {
11305            const eventStateKey = eventId + COLON_DELIMITER4 + index;
11306            eventCallback(element, eventId, eventStateKey);
11307          });
11308        });
11309      };
11310      getAffectedForEvent = (event) => {
11311        const config = { target: event.target, targets: event.targets };
11312        return getAffectedElements2({ config, elementApi: IX2BrowserApi_exports });
11313      };
11314    }
11315  });
11316
11317  
11317// packages/systems/ix2/engine/index.js
11318  var require_engine = __commonJS({
11319    "packages/systems/ix2/engine/index.js"(exports) {
11320      "use strict";
11321      Object.defineProperty(exports, "__esModule", {
11322        value: true
11323      });
11324      function _export(target, all) {
11325        for (var name in all)
11326          Object.defineProperty(target, name, {
11327            enumerable: true,
11328            get: all[name]
11329          });
11330      }
11331      _export(exports, {
11332        actions: function() {
11333          return _IX2EngineActions;
11334        },
11335        destroy: function() {
11336          return destroy;
11337        },
11338        init: function() {
11339          return init;
11340        },
11341        setEnv: function() {
11342          return setEnv;
11343        },
11344        store: function() {
11345          return store;
11346        }
11347      });
11348      var _redux = require_lib2();
11349      var _IX2Reducer = /* @__PURE__ */ _interop_require_default((init_IX2Reducer(), __toCommonJS(IX2Reducer_exports)));
11350      var _IX2VanillaEngine = (init_IX2VanillaEngine(), __toCommonJS(IX2VanillaEngine_exports
11350));
11351      var _IX2EngineActions = /* @__PURE__ */ _interop_require_wildcard((init_IX2EngineActions(), __toCommonJS(IX2EngineActions_exports)));
11352      function _interop_require_default(obj) {
11353        return obj && obj.__esModule ? obj : {
11354          default: obj
11355        };
11356      }
11357      function _getRequireWildcardCache(nodeInterop) {
11358        if (typeof WeakMap !== "function")
11359          return null;
11360        var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
11361        var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
11362        return (_getRequireWildcardCache = function(nodeInterop2) {
11363          return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
11364        })(nodeInterop);
11365      }
11366      function _interop_require_wildcard(obj, nodeInterop) {
11367        if (!nodeInterop && obj && obj.__esModule) {
11368          return obj;
11369        }
11370        if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
11371          return {
11372            default: obj
11373          };
11374        }
11375        var cache = _getRequireWildcardCache(nodeInterop);
11376        if (cache && cache.has(obj)) {
11377          return cache.get(obj);
11378        }
11379        var newObj = {
11380          __proto__: null
11381        };
11382        var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
11383        for (var key in obj) {
11384          if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
11385            var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
11386            if (desc && (desc.get || desc.set)) {
11387              Object.defineProperty(newObj, key, desc);
11388            } else {
11389              newObj[key] = obj[key];
11390            }
11391          }
11392        }
11393        newObj.default = obj;
11394        if (cache) {
11395          cache.set(obj, newObj);
11396        }
11397        return newObj;
11398      }
11399      var store = (0, _redux.createStore)(_IX2Reducer.default);
11400      function setEnv(env) {
11401        if (env()) {
11402          (0, _IX2VanillaEngine.observeRequests)(store);
11403        }
11404      }
11405      function init(rawData) {
11406        destroy();
11407        (0, _IX2VanillaEngine.startEngine)({
11408          store,
11409          rawData,
11410          allowEvents: true
11411        });
11412      }
11413      function destroy() {
11414        (0, _IX2VanillaEngine.stopEngine)(store);
11415      }
11416    }
11417  });
11418
11419  
11419// packages/shared/render/plugins/BaseSiteModules/webflow-ix2.js
11420  var require_webflow_ix2 = __commonJS({
11421    "packages/shared/render/plugins/BaseSiteModules/webflow-ix2.js"(exports, module) {
11422      "use strict";
11423      var Webflow = require_webflow_lib();
11424      var ix2 = require_engine();
11425      ix2.setEnv(Webflow.env);
11426      Webflow.define("ix2", module.exports = function() {
11427        return ix2;
11428      });
11429    }
11430  });
11431
11432  
11432// packages/shared/render/plugins/BaseSiteModules/webflow-links.js
11433  var require_webflow_links = __commonJS({
11434    "packages/shared/render/plugins/BaseSiteModules/webflow-links.js"(exports, module) {
11435      "use strict";
11436      var Webflow = require_webflow_lib();
11437      Webflow.define("links", module.exports = function($, _) {
11438        var api = {};
11439        var $win = $(window);
11440        var designer;
11441        var inApp = Webflow.env();
11442        var location = window.location;
11443        var tempLink = document.createElement("a");
11444        var linkCurrent = "w--current";
11445        var indexPage = /index\.(html|php)$/;
11446        var dirList = /\/$/;
11447        var anchors;
11448        var slug;
11449        api.ready = api.design = api.preview = init;
11450        function init() {
11451          designer = inApp && Webflow.env("design");
11452          slug = Webflow.env("slug") || location.pathname || "";
11453          Webflow.scroll.off(scroll);
11454          anchors = [];
11455          var links = document.links;
11456          for (var i = 0; i < links.length; ++i) {
11457            select(links[i]);
11458          }
11459          if (anchors.length) {
11460            Webflow.scroll.on(scroll);
11461            scroll();
11462          }
11463        }
11464        function select(link) {
11465          if (link.getAttribute("hreflang")) {
11466            return;
11467          }
11468          var href = designer && link.getAttribute("href-disabled") || link.getAttribute("href");
11469          tempLink.href = href;
11470          if (href.indexOf(":") >= 0) {
11471            return;
11472          }
11473          var $link = $(link);
11474          if (tempLink.hash.length > 1 && tempLink.host + tempLink.pathname === location.host + location.pathname) {
11475            if (!/^#[a-zA-Z0-9\-\_]+$/.test(tempLink.hash)) {
11476              return;
11477            }
11478            var $section = $(tempLink.hash);
11479            $section.length && anchors.push({
11480              link: $link,
11481              sec: $section,
11482              active: false
11483            });
11484            return;
11485          }
11486          if (href === "#" || href === "") {
11487            return;
11488          }
11489          var match = tempLink.href === location.href || href === slug || indexPage.test(href) && dirList.test(slug);
11490          setClass($link, linkCurrent, match);
11491        }
11492        function scroll() {
11493          var viewTop = $win.scrollTop();
11494          var viewHeight = $win.height();
11495          _.each(anchors, function(anchor) {
11496            if (anchor.link.attr("hreflang")) {
11497              return;
11498            }
11499            var $link = anchor.link;
11500            var $section = anchor.sec;
11501            var top = $section.offset().top;
11502            var height = $section.outerHeight();
11503            var offset = viewHeight * 0.5;
11504            var active = $section.is(":visible") && top + height - offset >= viewTop && top + offset <= viewTop + viewHeight;
11505            if (anchor.active === active) {
11506              return;
11507            }
11508            anchor.active = active;
11509            setClass($link, linkCurrent, active);
11510          });
11511        }
11512        function setClass($elem, className, add) {
11513          var exists = $elem.hasClass(className);
11514          if (add && exists) {
11515            return;
11516          }
11517          if (!add && !exists) {
11518            return;
11519          }
11520          add ? $elem.addClass(className) : $elem.removeClass(className);
11521        }
11522        return api;
11523      });
11524    }
11525  });
11526
11527  
11527// packages/shared/render/plugins/BaseSiteModules/webflow-scroll.js
11528  var require_webflow_scroll = __commonJS({
11529    "packages/shared/render/plugins/BaseSiteModules/webflow-scroll.js"(exports, module) {
11530      "use strict";
11531      var Webflow = require_webflow_lib();
11532      Webflow.define("scroll", module.exports = function($) {
11533        var NS_EVENTS = {
11534          WF_CLICK_EMPTY: "click.wf-empty-link",
11535          WF_CLICK_SCROLL: "click.wf-scroll"
11536        };
11537        var loc = window.location;
11538        var history = inIframe() ? null : window.history;
11539        var $win = $(window);
11540        var $doc = $(document);
11541        var $body = $(document.body);
11542        var animate = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) {
11543          window.setTimeout(fn, 15);
11544        };
11545        var rootTag = Webflow.env("editor") ? ".w-editor-body" : "body";
11546        var headerSelector = "header, " + rootTag + " > .header, " + rootTag + " > .w-nav:not([data-no-scroll])";
11547        var emptyHrefSelector = 'a[href="#"]';
11548        var localHrefSelector = 'a[href*="#"]:not(.w-tab-link):not(' + emptyHrefSelector + ")";
11549        var scrollTargetOutlineCSS = '.wf-force-outline-none[tabindex="-1"]:focus{outline:none;}';
11550        var focusStylesEl = document.createElement("style");
11551        focusStylesEl.appendChild(document.createTextNode(scrollTargetOutlineCSS));
11552        function inIframe() {
11553          try {
11554            return Boolean(window.frameElement);
11555          } catch (e) {
11556            return true;
11557          }
11558        }
11559        var validHash = /^#[a-zA-Z0-9][\w:.-]*$/;
11560        function linksToCurrentPage(link) {
11561          return validHash.test(link.hash) && link.host + link.pathname === loc.host + loc.pathname;
11562        }
11563        const reducedMotionMediaQuery = typeof window.matchMedia === "function" && window.matchMedia("(prefers-reduced-motion: reduce)");
11564        function reducedMotionEnabled() {
11565          return document.body.getAttribute("data-wf-scroll-motion") === "none" || reducedMotionMediaQuery.matches;
11566        }
11567        function setFocusable($el, action) {
11568          var initialTabindex;
11569          switch (action) {
11570            case "add":
11571              initialTabindex = $el.attr("tabindex");
11572              if (initialTabindex) {
11573                $el.attr("data-wf-tabindex-swap", initialTabindex);
11574              } else {
11575                $el.attr("tabindex", "-1");
11576              }
11577              break;
11578            case "remove":
11579              initialTabindex = $el.attr("data-wf-tabindex-swap");
11580              if (initialTabindex) {
11581                $el.attr("tabindex", initialTabindex);
11582                $el.removeAttr("data-wf-tabindex-swap");
11583              } else {
11584                $el.removeAttr("tabindex");
11585              }
11586              break;
11587          }
11588          $el.toggleClass("wf-force-outline-none", action === "add");
11589        }
11590        function validateScroll(evt) {
11591          var target = evt.currentTarget;
11592          if (
11593            // Bail if in Designer
11594            Webflow.env("design") || // Ignore links being used by jQuery mobile
11595            window.$.mobile && /(?:^|\s)ui-link(?:$|\s)/.test(target.className)
11596          ) {
11597            return;
11598          }
11599          var hash = linksToCurrentPage(target) ? target.hash : "";
11600          if (hash === "")
11601            return;
11602          var $el = $(hash);
11603          if (!$el.length) {
11604            return;
11605          }
11606          if (evt) {
11607            evt.preventDefault();
11608            evt.stopPropagation();
11609          }
11610          updateHistory(hash, evt);
11611          window.setTimeout(function() {
11612            scroll($el, function setFocus() {
11613              setFocusable($el, "add");
11614              $el.get(0).focus({
11615                preventScroll: true
11616              });
11617              setFocusable($el, "remove");
11618            });
11619          }, evt ? 0 : 300);
11620        }
11621        function updateHistory(hash) {
11622          if (loc.hash !== hash && history && history.pushState && // Navigation breaks Chrome when the protocol is `file:`.
11623          !(Webflow.env.chrome && loc.protocol === "file:")) {
11624            var oldHash = history.state && history.state.hash;
11625            if (oldHash !== hash) {
11626              history.pushState({
11627                hash
11628              }, "", hash);
11629            }
11630          }
11631        }
11632        function scroll($targetEl, cb) {
11633          var start = $win.scrollTop();
11634          var end = calculateScrollEndPosition($targetEl);
11635          if (start === end)
11636            return;
11637          var duration = calculateScrollDuration($targetEl, start, end);
11638          var clock = Date.now();
11639          var step = function() {
11640            var elapsed = Date.now() - clock;
11641            window.scroll(0, getY(start, end, elapsed, duration));
11642            if (elapsed <= duration) {
11643              animate(step);
11644            } else if (typeof cb === "function") {
11645              cb();
11646            }
11647          };
11648          animate(step);
11649        }
11650        function calculateScrollEndPosition($targetEl) {
11651          var $header = $(headerSelector);
11652          var offsetY = $header.css("position") === "fixed" ? $header.outerHeight() : 0;
11653          var end = $targetEl.offset().top - offsetY;
11654          if ($targetEl.data("scroll") === "mid") {
11655            var available = $win.height() - offsetY;
11656            var elHeight = $targetEl.outerHeight();
11657            if (elHeight < available) {
11658              end -= Math.round((available - elHeight) / 2);
11659            }
11660          }
11661          return end;
11662        }
11663        function calculateScrollDuration($targetEl, start, end) {
11664          if (reducedMotionEnabled())
11665            return 0;
11666          var mult = 1;
11667          $body.add($targetEl).each(function(_, el) {
11668            var time = parseFloat(el.getAttribute("data-scroll-time"));
11669            if (!isNaN(time) && time >= 0) {
11670              mult = time;
11671            }
11672          });
11673          return (472.143 * Math.log(Math.abs(start - end) + 125) - 2e3) * mult;
11674        }
11675        function getY(start, end, elapsed, duration) {
11676          if (elapsed > duration) {
11677            return end;
11678          }
11679          return start + (end - start) * ease2(elapsed / duration);
11680        }
11681        function ease2(t) {
11682          return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;
11683        }
11684        function ready() {
11685          var { WF_CLICK_EMPTY, WF_CLICK_SCROLL } = NS_EVENTS;
11686          $doc.on(WF_CLICK_SCROLL, localHrefSelector, validateScroll);
11687          $doc.on(WF_CLICK_EMPTY, emptyHrefSelector, function(e) {
11688            e.preventDefault();
11689          });
11690          document.head.insertBefore(focusStylesEl, document.head.firstChild);
11691        }
11692        return {
11693          ready
11694        };
11695      });
11696    }
11697  });
11698
11699  
11699// packages/shared/render/plugins/BaseSiteModules/webflow-touch.js
11700  var require_webflow_touch = __commonJS({
11701    "packages/shared/render/plugins/BaseSiteModules/webflow-touch.js"(exports, module) {
11702      "use strict";
11703      var Webflow = require_webflow_lib();
11704      Webflow.define("touch", module.exports = function($) {
11705        var api = {};
11706        var getSelection = window.getSelection;
11707        $.event.special.tap = {
11708          bindType: "click",
11709          delegateType: "click"
11710        };
11711        api.init = function(el) {
11712          el = typeof el === "string" ? $(el).get(0) : el;
11713          return el ? new Touch(el) : null;
11714        };
11715        function Touch(el) {
11716          var active = false;
11717          var useTouch = false;
11718          var thresholdX = Math.min(Math.round(window.innerWidth * 0.04), 40);
11719          var startX;
11720          var lastX;
11721          el.addEventListener("touchstart", start, false);
11722          el.addEventListener("touchmove", move, false);
11723          el.addEventListener("touchend", end, false);
11724          el.addEventListener("touchcancel", cancel, false);
11725          el.addEventListener("mousedown", start, false);
11726          el.addEventListener("mousemove", move, false);
11727          el.addEventListener("mouseup", end, false);
11728          el.addEventListener("mouseout", cancel, false);
11729          function start(evt) {
11730            var touches = evt.touches;
11731            if (touches && touches.length > 1) {
11732              return;
11733            }
11734            active = true;
11735            if (touches) {
11736              useTouch = true;
11737              startX = touches[0].clientX;
11738            } else {
11739              startX = evt.clientX;
11740            }
11741            lastX = startX;
11742          }
11743          function move(evt) {
11744            if (!active) {
11745              return;
11746            }
11747            if (useTouch && evt.type === "mousemove") {
11748              evt.preventDefault();
11749              evt.stopPropagation();
11750              return;
11751            }
11752            var touches = evt.touches;
11753            var x = touches ? touches[0].clientX : evt.clientX;
11754            var velocityX = x - lastX;
11755            lastX = x;
11756            if (Math.abs(velocityX) > thresholdX && getSelection && String(getSelection()) === "") {
11757              triggerEvent("swipe", evt, {
11758                direction: velocityX > 0 ? "right" : "left"
11759              });
11760              cancel();
11761            }
11762          }
11763          function end(evt) {
11764            if (!active) {
11765              return;
11766            }
11767            active = false;
11768            if (useTouch && evt.type === "mouseup") {
11769              evt.preventDefault();
11770              evt.stopPropagation();
11771              useTouch = false;
11772              return;
11773            }
11774          }
11775          function cancel() {
11776            active = false;
11777          }
11778          function destroy() {
11779            el.removeEventListener("touchstart", start, false);
11780            el.removeEventListener("touchmove", move, false);
11781            el.removeEventListener("touchend", end, false);
11782            el.removeEventListener("touchcancel", cancel, false);
11783            el.removeEventListener("mousedown", start, false);
11784            el.removeEventListener("mousemove", move, false);
11785            el.removeEventListener("mouseup", end, false);
11786            el.removeEventListener("mouseout", cancel, false);
11787            el = null;
11788          }
11789          this.destroy = destroy;
11790        }
11791        function triggerEvent(type, evt, data) {
11792          var newEvent = $.Event(type, {
11793            originalEvent: evt
11794          });
11795          $(evt.target).trigger(newEvent, data);
11796        }
11797        api.instance = api.init(document);
11798        return api;
11799      });
11800    }
11801  });
11802
11803  
11803// packages/shared/render/plugins/Form/webflow-forms.js
11804  var require_webflow_forms = __commonJS({
11805    "packages/shared/render/plugins/Form/webflow-forms.js"(exports, module) {
11806      "use strict";
11807      var Webflow = require_webflow_lib();
11808      var renderTurnstileCaptcha = (siteKey, formElement, cb, errorCallback) => {
11809        const captchaContainer = document.createElement("div");
11810        formElement.appendChild(captchaContainer);
11811        turnstile.render(captchaContainer, {
11812          sitekey: siteKey,
11813          callback: function(token) {
11814            cb(token);
11815          },
11816          "error-callback": function() {
11817            errorCallback();
11818          }
11819        });
11820      };
11821      Webflow.define("forms", module.exports = function($, _) {
11822        const TURNSTILE_LOADED_EVENT = "TURNSTILE_LOADED";
11823        var api = {};
11824        var $doc = $(document);
11825        var $forms;
11826        var loc = window.location;
11827        var retro = window.XDomainRequest && !window.atob;
11828        var namespace = ".w-form";
11829        var siteId;
11830        var emailField = /e(-)?mail/i;
11831        var emailValue = /^\S+@\S+$/;
11832        var alert = window.alert;
11833        var inApp = Webflow.env();
11834        var listening;
11835        var formUrl;
11836        var signFileUrl;
11837        const turnstileSiteKey = $doc.find("[data-turnstile-sitekey]").data("turnstile-sitekey");
11838        let turnstileScript;
11839        var chimpRegex = /list-manage[1-9]?.com/i;
11840        var disconnected = _.debounce(function() {
11841          alert("Oops! This page has improperly configured forms. Please contact your website administrator to fix this issue.");
11842        }, 100);
11843        api.ready = api.design = api.preview = function() {
11844          loadTurnstileScript();
11845          init();
11846          if (!inApp && !listening) {
11847            addListeners();
11848          }
11849        };
11850        function init() {
11851          siteId = $("html").attr("data-wf-site");
11852          formUrl = "https://webflow.com/api/v1/form/" + siteId;
11853          if (retro && formUrl.indexOf("https://webflow.com") >= 0) {
11854            formUrl = formUrl.replace("https://webflow.com", "https://formdata.webflow.com");
11855          }
11856          signFileUrl = `${formUrl}/signFile`;
11857          $forms = $(namespace + " form");
11858          if (!$forms.length) {
11859            return;
11860          }
11861          $forms.each(build);
11862        }
11863        function loadTurnstileScript() {
11864          if (turnstileSiteKey) {
11865            turnstileScript = document.createElement("script");
11866            turnstileScript.src = "https://challenges.cloudflare.com/turnstile/v0/api.js";
11867            document.head.appendChild(turnstileScript);
11868            turnstileScript.onload = () => {
11869              $doc.trigger(TURNSTILE_LOADED_EVENT);
11870            };
11871          }
11872        }
11873        function build(i, el) {
11874          var $el = $(el);
11875          var data = $.data(el, namespace);
11876          if (!data) {
11877            data = $.data(el, namespace, {
11878              form: $el
11879            });
11880          }
11881          reset(data);
11882          var wrap = $el.closest("div.w-form");
11883          data.done = wrap.find("> .w-form-done");
11884          data.fail = wrap.find("> .w-form-fail");
11885          data.fileUploads = wrap.find(".w-file-upload");
11886          data.fileUploads.each(function(j) {
11887            initFileUpload(j, data);
11888          });
11889          if (turnstileSiteKey) {
11890            data.wait = false;
11891            disableBtn(data);
11892            $doc.on(typeof turnstile !== "undefined" ? "ready" : TURNSTILE_LOADED_EVENT, function() {
11893              renderTurnstileCaptcha(turnstileSiteKey, el, (token) => {
11894                data.turnstileToken = token;
11895                reset(data);
11896              }, () => {
11897                disableBtn(data);
11898              });
11899            });
11900          }
11901          var formName = data.form.attr("aria-label") || data.form.attr("data-name") || "Form";
11902          if (!data.done.attr("aria-label")) {
11903            data.form.attr("aria-label", formName);
11904          }
11905          data.done.attr("tabindex", "-1");
11906          data.done.attr("role", "region");
11907          if (!data.done.attr("aria-label")) {
11908            data.done.attr("aria-label", formName + " success");
11909          }
11910          data.fail.attr("tabindex", "-1");
11911          data.fail.attr("role", "region");
11912          if (!data.fail.attr("aria-label")) {
11913            data.fail.attr("aria-label", formName + " failure");
11914          }
11915          var action = data.action = $el.attr("action");
11916          data.handler = null;
11917          data.redirect = $el.attr("data-redirect");
11918          if (chimpRegex.test(action)) {
11919            data.handler = submitMailChimp;
11920            return;
11921          }
11922          if (action) {
11923            return;
11924          }
11925          if (siteId) {
11926            data.handler = true ? exportedSubmitWebflow : (() => {
11927              const hostedSubmitHandler = null.default;
11928              return hostedSubmitHandler(reset, loc, Webflow, collectEnterpriseTrackingCookies, preventDefault, findFields, alert, findFileUploads, disableBtn, siteId, afterSubmit, $, formUrl);
11929            })();
11930            return;
11931          }
11932          disconnected();
11933        }
11934        function addListeners() {
11935          listening = true;
11936          $doc.on("submit", namespace + " form", function(evt) {
11937            var data = $.data(this, namespace);
11938            if (data.handler) {
11939              data.evt = evt;
11940              data.handler(data);
11941            }
11942          });
11943          const CHECKBOX_CLASS_NAME = ".w-checkbox-input";
11944          const RADIO_INPUT_CLASS_NAME = ".w-radio-input";
11945          const CHECKED_CLASS = "w--redirected-checked";
11946          const FOCUSED_CLASS = "w--redirected-focus";
11947          const FOCUSED_VISIBLE_CLASS = "w--redirected-focus-visible";
11948          const focusVisibleSelectors = ":focus-visible, [data-wf-focus-visible]";
11949          const CUSTOM_CONTROLS = [
11950            [
11951              "checkbox",
11952              CHECKBOX_CLASS_NAME
11953            ],
11954            [
11955              "radio",
11956              RADIO_INPUT_CLASS_NAME
11957            ]
11958          ];
11959          $doc.on("change", namespace + ` form input[type="checkbox"]:not(` + CHECKBOX_CLASS_NAME + ")", (evt) => {
11960            $(evt.target).siblings(CHECKBOX_CLASS_NAME).toggleClass(CHECKED_CLASS);
11961          });
11962          $doc.on("change", namespace + ` form input[type="radio"]`, (evt) => {
11963            $(`input[name="${evt.target.name}"]:not(${CHECKBOX_CLASS_NAME})`).map((i, el) => $(el).siblings(RADIO_INPUT_CLASS_NAME).removeClass(CHECKED_CLASS));
11964            const $target = $(evt.target);
11965            if (!$target.hasClass("w-radio-input")) {
11966              $target.siblings(RADIO_INPUT_CLASS_NAME).addClass(CHECKED_CLASS);
11967            }
11968          });
11969          CUSTOM_CONTROLS.forEach(([controlType, customControlClassName]) => {
11970            $doc.on("focus", namespace + ` form input[type="${controlType}"]:not(` + customControlClassName + ")", (evt) => {
11971              $(evt.target).siblings(customControlClassName).addClass(FOCUSED_CLASS);
11972              $(evt.target).filter(focusVisibleSelectors).siblings(customControlClassName).addClass(FOCUSED_VISIBLE_CLASS);
11973            });
11974            $doc.on("blur", namespace + ` form input[type="${controlType}"]:not(` + customControlClassName + ")", (evt) => {
11975              $(evt.target).siblings(customControlClassName).removeClass(`${FOCUSED_CLASS} ${FOCUSED_VISIBLE_CLASS}`);
11976            });
11977          });
11978        }
11979        function reset(data) {
11980          var btn = data.btn = data.form.find(':input[type="submit"]');
11981          data.wait = data.btn.attr("data-wait") || null;
11982          data.success = false;
11983          btn.prop("disabled", Boolean(turnstileSiteKey && !data.turnstileToken));
11984          data.label && btn.val(data.label);
11985        }
11986        function disableBtn(data) {
11987          var btn = data.btn;
11988          var wait = data.wait;
11989          btn.prop("disabled", true);
11990          if (wait) {
11991            data.label = btn.val();
11992            btn.val(wait);
11993          }
11994        }
11995        function findFields(form, result) {
11996          var status = null;
11997          result = result || {};
11998          form.find(':input:not([type="submit"]):not([type="file"])').each(function(i, el) {
11999            var field = $(el);
12000            var type = field.attr("type");
12001            var name = field.attr("data-name") || field.attr("name") || "Field " + (i + 1);
12002            name = encodeURIComponent(name);
12003            var value = field.val();
12004            if (type === "checkbox") {
12005              value = field.is(":checked");
12006            } else if (type === "radio") {
12007              if (result[name] === null || typeof result[name] === "string") {
12008                return;
12009              }
12010              value = form.find('input[name="' + field.attr("name") + '"]:checked').val() || null;
12011            }
12012            if (typeof value === "string") {
12013              value = $.trim(value);
12014            }
12015            result[name] = value;
12016            status = status || getStatus(field, type, name, value);
12017          });
12018          return status;
12019        }
12020        function findFileUploads(form) {
12021          var result = {};
12022          form.find(':input[type="file"]').each(function(i, el) {
12023            var field = $(el);
12024            var name = field.attr("data-name") || field.attr("name") || "File " + (i + 1);
12025            var value = field.attr("data-value");
12026            if (typeof value === "string") {
12027              value = $.trim(value);
12028            }
12029            result[name] = value;
12030          });
12031          return result;
12032        }
12033        const trackingCookieNameMap = {
12034          _mkto_trk: "marketo"
12035        };
12036        function collectEnterpriseTrackingCookies() {
12037          const cookies = document.cookie.split("; ").reduce(function(acc, cookie) {
12038            const splitCookie = cookie.split("=");
12039            const name = splitCookie[0];
12040            if (name in trackingCookieNameMap) {
12041              const mappedName = trackingCookieNameMap[name];
12042              const value = splitCookie.slice(1).join("=");
12043              acc[mappedName] = value;
12044            }
12045            return acc;
12046          }, {});
12047          return cookies;
12048        }
12049        function getStatus(field, type, name, value) {
12050          var status = null;
12051          if (type === "password") {
12052            status = "Passwords cannot be submitted.";
12053          } else if (field.attr("required")) {
12054            if (!value) {
12055              status = "Please fill out the required field: " + name;
12056            } else if (emailField.test(field.attr("type"))) {
12057              if (!emailValue.test(value)) {
12058                status = "Please enter a valid email address for: " + name;
12059              }
12060            }
12061          } else if (name === "g-recaptcha-response" && !value) {
12062            status = "Please confirm you\u2019re not a robot.";
12063          }
12064          return status;
12065        }
12066        function exportedSubmitWebflow(data) {
12067          preventDefault(data);
12068          afterSubmit(data);
12069        }
12070        function submitMailChimp(data) {
12071          reset(data);
12072          var form = data.form;
12073          var payload = {};
12074          if (/^https/.test(loc.href) && !/^https/.test(data.action)) {
12075            form.attr("method", "post");
12076            return;
12077          }
12078          preventDefault(data);
12079          var status = findFields(form, payload);
12080          if (status) {
12081            return alert(status);
12082          }
12083          disableBtn(data);
12084          var fullName;
12085          _.each(payload, function(value, key) {
12086            if (emailField.test(key)) {
12087              payload.EMAIL = value;
12088            }
12089            if (/^((full[ _-]?)?name)$/i.test(key)) {
12090              fullName = value;
12091            }
12092            if (/^(first[ _-]?name)$/i.test(key)) {
12093              payload.FNAME = value;
12094            }
12095            if (/^(last[ _-]?name)$/i.test(key)) {
12096              payload.LNAME = value;
12097            }
12098          });
12099          if (fullName && !payload.FNAME) {
12100            fullName = fullName.split(" ");
12101            payload.FNAME = fullName[0];
12102            payload.LNAME = payload.LNAME || fullName[1];
12103          }
12104          var url = data.action.replace("/post?", "/post-json?") + "&c=?";
12105          var userId = url.indexOf("u=") + 2;
12106          userId = url.substring(userId, url.indexOf("&", userId));
12107          var listId = url.indexOf("id=") + 3;
12108          listId = url.substring(listId, url.indexOf("&", listId));
12109          payload["b_" + userId + "_" + listId] = "";
12110          $.ajax({
12111            url,
12112            data: payload,
12113            dataType: "jsonp"
12114          }).done(function(resp) {
12115            data.success = resp.result === "success" || /already/.test(resp.msg);
12116            if (!data.success) {
12117              console.info("MailChimp error: " + resp.msg);
12118            }
12119            afterSubmit(data);
12120          }).fail(function() {
12121            afterSubmit(data);
12122          });
12123        }
12124        function afterSubmit(data) {
12125          var form = data.form;
12126          var redirect = data.redirect;
12127          var success = data.success;
12128          if (success && redirect) {
12129            Webflow.location(redirect);
12130            return;
12131          }
12132          data.done.toggle(success);
12133          data.fail.toggle(!success);
12134          if (success) {
12135            data.done.focus();
12136          } else {
12137            data.fail.focus();
12138          }
12139          form.toggle(!success);
12140          reset(data);
12141        }
12142        function preventDefault(data) {
12143          data.evt && data.evt.preventDefault();
12144          data.evt = null;
12145        }
12146        function initFileUpload(i, form) {
12147          if (!form.fileUploads || !form.fileUploads[i]) {
12148            return;
12149          }
12150          var file;
12151          var $el = $(form.fileUploads[i]);
12152          var $defaultWrap = $el.find("> .w-file-upload-default");
12153          var $uploadingWrap = $el.find("> .w-file-upload-uploading");
12154          var $successWrap = $el.find("> .w-file-upload-success");
12155          var $errorWrap = $el.find("> .w-file-upload-error");
12156          var $input = $defaultWrap.find(".w-file-upload-input");
12157          var $label = $defaultWrap.find(".w-file-upload-label");
12158          var $labelChildren = $label.children();
12159          var $errorMsgEl = $errorWrap.find(".w-file-upload-error-msg");
12160          var $fileEl = $successWrap.find(".w-file-upload-file");
12161          var $removeEl = $successWrap.find(".w-file-remove-link");
12162          var $fileNameEl = $fileEl.find(".w-file-upload-file-name");
12163          var sizeErrMsg = $errorMsgEl.attr("data-w-size-error");
12164          var typeErrMsg = $errorMsgEl.attr("data-w-type-error");
12165          var genericErrMsg = $errorMsgEl.attr("data-w-generic-error");
12166          if (!inApp) {
12167            $label.on("click keydown", function(e) {
12168              if (e.type === "keydown" && e.which !== 13 && e.which !== 32) {
12169                return;
12170              }
12171              e.preventDefault();
12172              $input.click();
12173            });
12174          }
12175          $label.find(".w-icon-file-upload-icon").attr("aria-hidden", "true");
12176          $removeEl.find(".w-icon-file-upload-remove").attr("aria-hidden", "true");
12177          if (!inApp) {
12178            $removeEl.on("click keydown", function(e) {
12179              if (e.type === "keydown") {
12180                if (e.which !== 13 && e.which !== 32) {
12181                  return;
12182                }
12183                e.preventDefault();
12184              }
12185              $input.removeAttr("data-value");
12186              $input.val("");
12187              $fileNameEl.html("");
12188              $defaultWrap.toggle(true);
12189              $successWrap.toggle(false);
12190              $label.focus();
12191            });
12192            $input.on("change", function(e) {
12193              file = e.target && e.target.files && e.target.files[0];
12194              if (!file) {
12195                return;
12196              }
12197              $defaultWrap.toggle(false);
12198              $errorWrap.toggle(false);
12199              $uploadingWrap.toggle(true);
12200              $uploadingWrap.focus();
12201              $fileNameEl.text(file.name);
12202              if (!isUploading()) {
12203                disableBtn(form);
12204              }
12205              form.fileUploads[i].uploading = true;
12206              signFile(file, afterSign);
12207            });
12208            var height = $label.outerHeight();
12209            $input.height(height);
12210            $input.width(1);
12211          } else {
12212            $input.on("click", function(e) {
12213              e.preventDefault();
12214            });
12215            $label.on("click", function(e) {
12216              e.preventDefault();
12217            });
12218            $labelChildren.on("click", function(e) {
12219              e.preventDefault();
12220            });
12221          }
12222          function parseError(err) {
12223            var errorMsg = err.responseJSON && err.responseJSON.msg;
12224            var userError = genericErrMsg;
12225            if (typeof errorMsg === "string" && errorMsg.indexOf("InvalidFileTypeError") === 0) {
12226              userError = typeErrMsg;
12227            } else if (typeof errorMsg === "string" && errorMsg.indexOf("MaxFileSizeError") === 0) {
12228              userError = sizeErrMsg;
12229            }
12230            $errorMsgEl.text(userError);
12231            $input.removeAttr("data-value");
12232            $input.val("");
12233            $uploadingWrap.toggle(false);
12234            $defaultWrap.toggle(true);
12235            $errorWrap.toggle(true);
12236            $errorWrap.focus();
12237            form.fileUploads[i].uploading = false;
12238            if (!isUploading()) {
12239              reset(form);
12240            }
12241          }
12242          function afterSign(err, data) {
12243            if (err) {
12244              return parseError(err);
12245            }
12246            var fileName = data.fileName;
12247            var postData = data.postData;
12248            var fileId = data.fileId;
12249            var s3Url = data.s3Url;
12250            $input.attr("data-value", fileId);
12251            uploadS3(s3Url, postData, file, fileName, afterUpload);
12252          }
12253          function afterUpload(err) {
12254            if (err) {
12255              return parseError(err);
12256            }
12257            $uploadingWrap.toggle(false);
12258            $successWrap.css("display", "inline-block");
12259            $successWrap.focus();
12260            form.fileUploads[i].uploading = false;
12261            if (!isUploading()) {
12262              reset(form);
12263            }
12264          }
12265          function isUploading() {
12266            var uploads = form.fileUploads && form.fileUploads.toArray() || [];
12267            return uploads.some(function(value) {
12268              return value.uploading;
12269            });
12270          }
12271        }
12272        function signFile(file, cb) {
12273          var payload = new URLSearchParams({
12274            name: file.name,
12275            size: file.size
12276          });
12277          $.ajax({
12278            type: "GET",
12279            url: `${signFileUrl}?${payload}`,
12280            crossDomain: true
12281          }).done(function(data) {
12282            cb(null, data);
12283          }).fail(function(err) {
12284            cb(err);
12285          });
12286        }
12287        function uploadS3(url, data, file, fileName, cb) {
12288          var formData = new FormData();
12289          for (var k in data) {
12290            formData.append(k, data[k]);
12291          }
12292          formData.append("file", file, fileName);
12293          $.ajax({
12294            type: "POST",
12295            url,
12296            data: formData,
12297            processData: false,
12298            contentType: false
12299          }).done(function() {
12300            cb(null);
12301          }).fail(function(err) {
12302            cb(err);
12303          });
12304        }
12305        return api;
12306      });
12307    }
12308  });
12309
12310  
12310// packages/shared/render/plugins/Navbar/webflow-navbar.js
12311  var require_webflow_navbar = __commonJS({
12312    "packages/shared/render/plugins/Navbar/webflow-navbar.js"(exports, module) {
12313      "use strict";
12314      var Webflow = require_webflow_lib();
12315      var IXEvents = require_webflow_ix2_events();
12316      var KEY_CODES = {
12317        ARROW_LEFT: 37,
12318        ARROW_UP: 38,
12319        ARROW_RIGHT: 39,
12320        ARROW_DOWN: 40,
12321        ESCAPE: 27,
12322        SPACE: 32,
12323        ENTER: 13,
12324        HOME: 36,
12325        END: 35
12326      };
12327      Webflow.define("navbar", module.exports = function($, _) {
12328        var api = {};
12329        var tram = $.tram;
12330        var $win = $(window);
12331        var $doc = $(document);
12332        var debounce = _.debounce;
12333        var $body;
12334        var $navbars;
12335        var designer;
12336        var inEditor;
12337        var inApp = Webflow.env();
12338        var overlay = '<div class="w-nav-overlay" data-wf-ignore />';
12339        var namespace = ".w-nav";
12340        var navbarOpenedButton = "w--open";
12341        var navbarOpenedDropdown = "w--nav-dropdown-open";
12342        var navbarOpenedDropdownToggle = "w--nav-dropdown-toggle-open";
12343        var navbarOpenedDropdownList = "w--nav-dropdown-list-open";
12344        var navbarOpenedLink = "w--nav-link-open";
12345        var ix = IXEvents.triggers;
12346        var menuSibling = $();
12347        api.ready = api.design = api.preview = init;
12348        api.destroy = function() {
12349          menuSibling = $();
12350          removeListeners();
12351          if ($navbars && $navbars.length) {
12352            $navbars.each(teardown);
12353          }
12354        };
12355        function init() {
12356          designer = inApp && Webflow.env("design");
12357          inEditor = Webflow.env("editor");
12358          $body = $(document.body);
12359          $navbars = $doc.find(namespace);
12360          if (!$navbars.length) {
12361            return;
12362          }
12363          $navbars.each(build);
12364          removeListeners();
12365          addListeners();
12366        }
12367        function removeListeners() {
12368          Webflow.resize.off(resizeAll);
12369        }
12370        function addListeners() {
12371          Webflow.resize.on(resizeAll);
12372        }
12373        function resizeAll() {
12374          $navbars.each(resize);
12375        }
12376        function build(i, el) {
12377          var $el = $(el);
12378          var data = $.data(el, namespace);
12379          if (!data) {
12380            data = $.data(el, namespace, {
12381              open: false,
12382              el: $el,
12383              config: {},
12384              selectedIdx: -1
12385            });
12386          }
12387          data.menu = $el.find(".w-nav-menu");
12388          data.links = data.menu.find(".w-nav-link");
12389          data.dropdowns = data.menu.find(".w-dropdown");
12390          data.dropdownToggle = data.menu.find(".w-dropdown-toggle");
12391          data.dropdownList = data.menu.find(".w-dropdown-list");
12392          data.button = $el.find(".w-nav-button");
12393          data.container = $el.find(".w-container");
12394          data.overlayContainerId = "w-nav-overlay-" + i;
12395          data.outside = outside(data);
12396          var navBrandLink = $el.find(".w-nav-brand");
12397          if (navBrandLink && navBrandLink.attr("href") === "/" && navBrandLink.attr("aria-label") == null) {
12398            navBrandLink.attr("aria-label", "home");
12399          }
12400          data.button.attr("style", "-webkit-user-select: text;");
12401          if (data.button.attr("aria-label") == null) {
12402            data.button.attr("aria-label", "menu");
12403          }
12404          data.button.attr("role", "button");
12405          data.button.attr("tabindex", "0");
12406          data.button.attr("aria-controls", data.overlayContainerId);
12407          data.button.attr("aria-haspopup", "menu");
12408          data.button.attr("aria-expanded", "false");
12409          data.el.off(namespace);
12410          data.button.off(namespace);
12411          data.menu.off(namespace);
12412          configure(data);
12413          if (designer) {
12414            removeOverlay(data);
12415            data.el.on("setting" + namespace, handler(data));
12416          } else {
12417            addOverlay(data);
12418            data.button.on("click" + namespace, toggle(data));
12419            data.menu.on("click" + namespace, "a", navigate(data));
12420            data.button.on("keydown" + namespace, makeToggleButtonKeyboardHandler(data));
12421            data.el.on("keydown" + namespace, makeLinksKeyboardHandler(data));
12422          }
12423          resize(i, el);
12424        }
12425        function teardown(i, el) {
12426          var data = $.data(el, namespace);
12427          if (data) {
12428            removeOverlay(data);
12429            $.removeData(el, namespace);
12430          }
12431        }
12432        function removeOverlay(data) {
12433          if (!data.overlay) {
12434            return;
12435          }
12436          close(data, true);
12437          data.overlay.remove();
12438          data.overlay = null;
12439        }
12440        function addOverlay(data) {
12441          if (data.overlay) {
12442            return;
12443          }
12444          data.overlay = $(overlay).appendTo(data.el);
12445          data.overlay.attr("id", data.overlayContainerId);
12446          data.parent = data.menu.parent();
12447          close(data, true);
12448        }
12449        function configure(data) {
12450          var config = {};
12451          var old = data.config || {};
12452          var animation = config.animation = data.el.attr("data-animation") || "default";
12453          config.animOver = /^over/.test(animation);
12454          config.animDirect = /left$/.test(animation) ? -1 : 1;
12455          if (old.animation !== animation) {
12456            data.open && _.defer(reopen, data);
12457          }
12458          config.easing = data.el.attr("data-easing") || "ease";
12459          config.easing2 = data.el.attr("data-easing2") || "ease";
12460          var duration = data.el.attr("data-duration");
12461          config.duration = duration != null ? Number(duration) : 400;
12462          config.docHeight = data.el.attr("data-doc-height");
12463          data.config = config;
12464        }
12465        function handler(data) {
12466          return function(evt, options) {
12467            options = options || {};
12468            var winWidth = $win.width();
12469            configure(data);
12470            options.open === true && open(data, true);
12471            options.open === false && close(data, true);
12472            data.open && _.defer(function() {
12473              if (winWidth !== $win.width()) {
12474                reopen(data);
12475              }
12476            });
12477          };
12478        }
12479        function makeToggleButtonKeyboardHandler(data) {
12480          return function(evt) {
12481            switch (evt.keyCode) {
12482              case KEY_CODES.SPACE:
12483              case KEY_CODES.ENTER: {
12484                toggle(data)();
12485                evt.preventDefault();
12486                return evt.stopPropagation();
12487              }
12488              case KEY_CODES.ESCAPE: {
12489                close(data);
12490                evt.preventDefault();
12491                return evt.stopPropagation();
12492              }
12493              case KEY_CODES.ARROW_RIGHT:
12494              case KEY_CODES.ARROW_DOWN:
12495              case KEY_CODES.HOME:
12496              case KEY_CODES.END: {
12497                if (!data.open) {
12498                  evt.preventDefault();
12499                  return evt.stopPropagation();
12500                }
12501                if (evt.keyCode === KEY_CODES.END) {
12502                  data.selectedIdx = data.links.length - 1;
12503                } else {
12504                  data.selectedIdx = 0;
12505                }
12506                focusSelectedLink(data);
12507                evt.preventDefault();
12508                return evt.stopPropagation();
12509              }
12510            }
12511          };
12512        }
12513        function makeLinksKeyboardHandler(data) {
12514          return function(evt) {
12515            if (!data.open) {
12516              return;
12517            }
12518            data.selectedIdx = data.links.index(document.activeElement);
12519            switch (evt.keyCode) {
12520              case KEY_CODES.HOME:
12521              case KEY_CODES.END: {
12522                if (evt.keyCode === KEY_CODES.END) {
12523                  data.selectedIdx = data.links.length - 1;
12524                } else {
12525                  data.selectedIdx = 0;
12526                }
12527                focusSelectedLink(data);
12528                evt.preventDefault();
12529                return evt.stopPropagation();
12530              }
12531              case KEY_CODES.ESCAPE: {
12532                close(data);
12533                data.button.focus();
12534                evt.preventDefault();
12535                return evt.stopPropagation();
12536              }
12537              case KEY_CODES.ARROW_LEFT:
12538              case KEY_CODES.ARROW_UP: {
12539                data.selectedIdx = Math.max(-1, data.selectedIdx 
12539- 1);
12540                focusSelectedLink(data);
12541                evt.preventDefault();
12542                return evt.stopPropagation();
12543              }
12544              case KEY_CODES.ARROW_RIGHT:
12545              case KEY_CODES.ARROW_DOWN: {
12546                data.selectedIdx = Math.min(data.links.length - 1, data.selectedIdx + 1);
12547                focusSelectedLink(data);
12548                evt.preventDefault();
12549                return evt.stopPropagation();
12550              }
12551            }
12552          };
12553        }
12554        function focusSelectedLink(data) {
12555          if (data.links[data.selectedIdx]) {
12556            var selectedElement = data.links[data.selectedIdx];
12557            selectedElement.focus();
12558            navigate(selectedElement);
12559          }
12560        }
12561        function reopen(data) {
12562          if (!data.open) {
12563            return;
12564          }
12565          close(data, true);
12566          open(data, true);
12567        }
12568        function toggle(data) {
12569          return debounce(function() {
12570            data.open ? close(data) : open(data);
12571          });
12572        }
12573        function navigate(data) {
12574          return function(evt) {
12575            var link = $(this);
12576            var href = link.attr("href");
12577            if (!Webflow.validClick(evt.currentTarget)) {
12578              evt.preventDefault();
12579              return;
12580            }
12581            if (href && href.indexOf("#") === 0 && data.open) {
12582              close(data);
12583            }
12584          };
12585        }
12586        function outside(data) {
12587          if (data.outside) {
12588            $doc.off("click" + namespace, data.outside);
12589          }
12590          return function(evt) {
12591            var $target = $(evt.target);
12592            if (inEditor && $target.closest(".w-editor-bem-EditorOverlay").length) {
12593              return;
12594            }
12595            outsideDebounced(data, $target);
12596          };
12597        }
12598        var outsideDebounced = debounce(function(data, $target) {
12599          if (!data.open) {
12600            return;
12601          }
12602          var menu = $target.closest(".w-nav-menu");
12603          if (!data.menu.is(menu)) {
12604            close(data);
12605          }
12606        });
12607        function resize(i, el) {
12608          var data = $.data(el, namespace);
12609          var collapsed = data.collapsed = data.button.css("display") !== "none";
12610          if (data.open && !collapsed && !designer) {
12611            close(data, true);
12612          }
12613          if (data.container.length) {
12614            var updateEachMax = updateMax(data);
12615            data.links.each(updateEachMax);
12616            data.dropdowns.each(updateEachMax);
12617          }
12618          if (data.open) {
12619            setOverlayHeight(data);
12620          }
12621        }
12622        var maxWidth = "max-width";
12623        function updateMax(data) {
12624          var containMax = data.container.css(maxWidth);
12625          if (containMax === "none") {
12626            containMax = "";
12627          }
12628          return function(i, link) {
12629            link = $(link);
12630            link.css(maxWidth, "");
12631            if (link.css(maxWidth) === "none") {
12632              link.css(maxWidth, containMax);
12633            }
12634          };
12635        }
12636        function addMenuOpen(i, el) {
12637          el.setAttribute("data-nav-menu-open", "");
12638        }
12639        function removeMenuOpen(i, el) {
12640          el.removeAttribute("data-nav-menu-open");
12641        }
12642        function open(data, immediate) {
12643          if (data.open) {
12644            return;
12645          }
12646          data.open = true;
12647          data.menu.each(addMenuOpen);
12648          data.links.addClass(navbarOpenedLink);
12649          data.dropdowns.addClass(navbarOpenedDropdown);
12650          data.dropdownToggle.addClass(navbarOpenedDropdownToggle);
12651          data.dropdownList.addClass(navbarOpenedDropdownList);
12652          data.button.addClass(navbarOpenedButton);
12653          var config = data.config;
12654          var animation = config.animation;
12655          if (animation === "none" || !tram.support.transform || config.duration <= 0) {
12656            immediate = true;
12657          }
12658          var bodyHeight = setOverlayHeight(data);
12659          var menuHeight = data.menu.outerHeight(true);
12660          var menuWidth = data.menu.outerWidth(true);
12661          var navHeight = data.el.height();
12662          var navbarEl = data.el[0];
12663          resize(0, navbarEl);
12664          ix.intro(0, navbarEl);
12665          Webflow.redraw.up();
12666          if (!designer) {
12667            $doc.on("click" + namespace, data.outside);
12668          }
12669          if (immediate) {
12670            complete();
12671            return;
12672          }
12673          var transConfig = "transform " + config.duration + "ms " + config.easing;
12674          if (data.overlay) {
12675            menuSibling = data.menu.prev();
12676            data.overlay.show().append(data.menu);
12677          }
12678          if (config.animOver) {
12679            tram(data.menu).add(transConfig).set({
12680              x: config.animDirect * menuWidth,
12681              height: bodyHeight
12682            }).start({
12683              x: 0
12684            }).then(complete);
12685            data.overlay && data.overlay.width(menuWidth);
12686            return;
12687          }
12688          var offsetY = navHeight + menuHeight;
12689          tram(data.menu).add(transConfig).set({
12690            y: -offsetY
12691          }).start({
12692            y: 0
12693          }).then(complete);
12694          function complete() {
12695            data.button.attr("aria-expanded", "true");
12696          }
12697        }
12698        function setOverlayHeight(data) {
12699          var config = data.config;
12700          var bodyHeight = config.docHeight ? $doc.height() : $body.height();
12701          if (config.animOver) {
12702            data.menu.height(bodyHeight);
12703          } else if (data.el.css("position") !== "fixed") {
12704            bodyHeight -= data.el.outerHeight(true);
12705          }
12706          data.overlay && data.overlay.height(bodyHeight);
12707          return bodyHeight;
12708        }
12709        function close(data, immediate) {
12710          if (!data.open) {
12711            return;
12712          }
12713          data.open = false;
12714          data.button.removeClass(navbarOpenedButton);
12715          var config = data.config;
12716          if (config.animation === "none" || !tram.support.transform || config.duration <= 0) {
12717            immediate = true;
12718          }
12719          ix.outro(0, data.el[0]);
12720          $doc.off("click" + namespace, data.outside);
12721          if (immediate) {
12722            tram(data.menu).stop();
12723            complete();
12724            return;
12725          }
12726          var transConfig = "transform " + config.duration + "ms " + config.easing2;
12727          var menuHeight = data.menu.outerHeight(true);
12728          var menuWidth = data.menu.outerWidth(true);
12729          var navHeight = data.el.height();
12730          if (config.animOver) {
12731            tram(data.menu).add(transConfig).start({
12732              x: menuWidth * config.animDirect
12733            }).then(complete);
12734            return;
12735          }
12736          var offsetY = navHeight + menuHeight;
12737          tram(data.menu).add(transConfig).start({
12738            y: -offsetY
12739          }).then(complete);
12740          function complete() {
12741            data.menu.height("");
12742            tram(data.menu).set({
12743              x: 0,
12744              y: 0
12745            });
12746            data.menu.each(removeMenuOpen);
12747            data.links.removeClass(navbarOpenedLink);
12748            data.dropdowns.removeClass(navbarOpenedDropdown);
12749            data.dropdownToggle.removeClass(navbarOpenedDropdownToggle);
12750            data.dropdownList.removeClass(navbarOpenedDropdownList);
12751            if (data.overlay && data.overlay.children().length) {
12752              menuSibling.length ? data.menu.insertAfter(menuSibling) : data.menu.prependTo(data.parent);
12753              data.overlay.attr("style", "").hide();
12754            }
12755            data.el.triggerHandler("w-close");
12756            data.button.attr("aria-expanded", "false");
12757          }
12758        }
12759        return api;
12760      });
12761    }
12762  });
12763
12764  
12764// packages/shared/render/plugins/Slider/webflow-slider.js
12765  var require_webflow_slider = __commonJS({
12766    "packages/shared/render/plugins/Slider/webflow-slider.js"(exports, module) {
12767      "use strict";
12768      var Webflow = require_webflow_lib();
12769      var IXEvents = require_webflow_ix2_events();
12770      var KEY_CODES = {
12771        ARROW_LEFT: 37,
12772        ARROW_UP: 38,
12773        ARROW_RIGHT: 39,
12774        ARROW_DOWN: 40,
12775        SPACE: 32,
12776        ENTER: 13,
12777        HOME: 36,
12778        END: 35
12779      };
12780      var FOCUSABLE_SELECTOR = 'a[href], area[href], [role="button"], input, select, textarea, button, iframe, object, embed, *[tabindex], *[contenteditable]';
12781      Webflow.define("slider", module.exports = function($, _) {
12782        var api = {};
12783        var tram = $.tram;
12784        var $doc = $(document);
12785        var $sliders;
12786        var designer;
12787        var inApp = Webflow.env();
12788        var namespace = ".w-slider";
12789        var dot = '<div class="w-slider-dot" data-wf-ignore />';
12790        var ariaLiveLabelHtml = '<div aria-live="off" aria-atomic="true" class="w-slider-aria-label" data-wf-ignore />';
12791        var forceShow = "w-slider-force-show";
12792        var ix = IXEvents.triggers;
12793        var fallback;
12794        var inRedraw = false;
12795        api.ready = function() {
12796          designer = Webflow.env("design");
12797          init();
12798        };
12799        api.design = function() {
12800          designer = true;
12801          setTimeout(init, 1e3);
12802        };
12803        api.preview = function() {
12804          designer = false;
12805          init();
12806        };
12807        api.redraw = function() {
12808          inRedraw = true;
12809          init();
12810          inRedraw = false;
12811        };
12812        api.destroy = removeListeners;
12813        function init() {
12814          $sliders = $doc.find(namespace);
12815          if (!$sliders.length) {
12816            return;
12817          }
12818          $sliders.each(build);
12819          if (fallback) {
12820            return;
12821          }
12822          removeListeners();
12823          addListeners();
12824        }
12825        function removeListeners() {
12826          Webflow.resize.off(renderAll);
12827          Webflow.redraw.off(api.redraw);
12828        }
12829        function addListeners() {
12830          Webflow.resize.on(renderAll);
12831          Webflow.redraw.on(api.redraw);
12832        }
12833        function renderAll() {
12834          $sliders.filter(":visible").each(render);
12835        }
12836        function build(i, el) {
12837          var $el = $(el);
12838          var data = $.data(el, namespace);
12839          if (!data) {
12840            data = $.data(el, namespace, {
12841              index: 0,
12842              depth: 1,
12843              hasFocus: {
12844                keyboard: false,
12845                mouse: false
12846              },
12847              el: $el,
12848              config: {}
12849            });
12850          }
12851          data.mask = $el.children(".w-slider-mask");
12852          data.left = $el.children(".w-slider-arrow-left");
12853          data.right = $el.children(".w-slider-arrow-right");
12854          data.nav = $el.children(".w-slider-nav");
12855          data.slides = data.mask.children(".w-slide");
12856          data.slides.each(ix.reset);
12857          if (inRedraw) {
12858            data.maskWidth = 0;
12859          }
12860          if ($el.attr("role") === void 0) {
12861            $el.attr("role", "region");
12862          }
12863          if ($el.attr("aria-label") === void 0) {
12864            $el.attr("aria-label", "carousel");
12865          }
12866          var slideViewId = data.mask.attr("id");
12867          if (!slideViewId) {
12868            slideViewId = "w-slider-mask-" + i;
12869            data.mask.attr("id", slideViewId);
12870          }
12871          if (!designer && !data.ariaLiveLabel) {
12872            data.ariaLiveLabel = $(ariaLiveLabelHtml).appendTo(data.mask);
12873          }
12874          data.left.attr("role", "button");
12875          data.left.attr("tabindex", "0");
12876          data.left.attr("aria-controls", slideViewId);
12877          if (data.left.attr("aria-label") === void 0) {
12878            data.left.attr("aria-label", "previous slide");
12879          }
12880          data.right.attr("role", "button");
12881          data.right.attr("tabindex", "0");
12882          data.right.attr("aria-controls", slideViewId);
12883          if (data.right.attr("aria-label") === void 0) {
12884            data.right.attr("aria-label", "next slide");
12885          }
12886          if (!tram.support.transform) {
12887            data.left.hide();
12888            data.right.hide();
12889            data.nav.hide();
12890            fallback = true;
12891            return;
12892          }
12893          data.el.off(namespace);
12894          data.left.off(namespace);
12895          data.right.off(namespace);
12896          data.nav.off(namespace);
12897          configure(data);
12898          if (designer) {
12899            data.el.on("setting" + namespace, handler(data));
12900            stopTimer(data);
12901            data.hasTimer = false;
12902          } else {
12903            data.el.on("swipe" + namespace, handler(data));
12904            data.left.on("click" + namespace, previousFunction(data));
12905            data.right.on("click" + namespace, next(data));
12906            data.left.on("keydown" + namespace, keyboardSlideButtonsFunction(data, previousFunction));
12907            data.right.on("keydown" + namespace, keyboardSlideButtonsFunction(data, next));
12908            data.nav.on("keydown" + namespace, "> div", handler(data));
12909            if (data.config.autoplay && !data.hasTimer) {
12910              data.hasTimer = true;
12911              data.timerCount = 1;
12912              startTimer(data);
12913            }
12914            data.el.on("mouseenter" + namespace, hasFocus(data, true, "mouse"));
12915            data.el.on("focusin" + namespace, hasFocus(data, true, "keyboard"));
12916            data.el.on("mouseleave" + namespace, hasFocus(data, false, "mouse"));
12917            data.el.on("focusout" + namespace, hasFocus(data, false, "keyboard"));
12918          }
12919          data.nav.on("click" + namespace, "> div", handler(data));
12920          if (!inApp) {
12921            data.mask.contents().filter(function() {
12922              return this.nodeType === 3;
12923            }).remove();
12924          }
12925          var $elHidden = $el.filter(":hidden");
12926          $elHidden.addClass(forceShow);
12927          var $elHiddenParents = $el.parents(":hidden");
12928          $elHiddenParents.addClass(forceShow);
12929          if (!inRedraw) {
12930            render(i, el);
12931          }
12932          $elHidden.removeClass(forceShow);
12933          $elHiddenParents.removeClass(forceShow);
12934        }
12935        function configure(data) {
12936          var config = {};
12937          config.crossOver = 0;
12938          config.animation = data.el.attr("data-animation") || "slide";
12939          if (config.animation === "outin") {
12940            config.animation = "cross";
12941            config.crossOver = 0.5;
12942          }
12943          config.easing = data.el.attr("data-easing") || "ease";
12944          var duration = data.el.attr("data-duration");
12945          config.duration = duration != null ? parseInt(duration, 10) : 500;
12946          if (isAttrTrue(data.el.attr("data-infinite"))) {
12947            config.infinite = true;
12948          }
12949          if (isAttrTrue(data.el.attr("data-disable-swipe"))) {
12950            config.disableSwipe = true;
12951          }
12952          if (isAttrTrue(data.el.attr("data-hide-arrows"))) {
12953            config.hideArrows = true;
12954          } else if (data.config.hideArrows) {
12955            data.left.show();
12956            data.right.show();
12957          }
12958          if (isAttrTrue(data.el.attr("data-autoplay"))) {
12959            config.autoplay = true;
12960            config.delay = parseInt(data.el.attr("data-delay"), 10) || 2e3;
12961            config.timerMax = parseInt(data.el.attr("data-autoplay-limit"), 10);
12962            var touchEvents = "mousedown" + namespace + " touchstart" + namespace;
12963            if (!designer) {
12964              data.el.off(touchEvents).one(touchEvents, function() {
12965                stopTimer(data);
12966              });
12967            }
12968          }
12969          var arrowWidth = data.right.width();
12970          config.edge = arrowWidth ? arrowWidth + 40 : 100;
12971          data.config = config;
12972        }
12973        function isAttrTrue(value) {
12974          return value === "1" || value === "true";
12975        }
12976        function hasFocus(data, focusIn, eventType) {
12977          return function(evt) {
12978            if (!focusIn) {
12979              if ($.contains(data.el.get(0), evt.relatedTarget)) {
12980                return;
12981              }
12982              data.hasFocus[eventType] = focusIn;
12983              if (data.hasFocus.mouse && eventType === "keyboard" || data.hasFocus.keyboard && eventType === "mouse") {
12984                return;
12985              }
12986            } else {
12987              data.hasFocus[eventType] = focusIn;
12988            }
12989            if (focusIn) {
12990              data.ariaLiveLabel.attr("aria-live", "polite");
12991              if (data.hasTimer) {
12992                stopTimer(data);
12993              }
12994            } else {
12995              data.ariaLiveLabel.attr("aria-live", "off");
12996              if (data.hasTimer) {
12997                startTimer(data);
12998              }
12999            }
13000            return;
13001          };
13002        }
13003        function keyboardSlideButtonsFunction(data, directionFunction) {
13004          return function(evt) {
13005            switch (evt.keyCode) {
13006              case KEY_CODES.SPACE:
13007              case KEY_CODES.ENTER: {
13008                directionFunction(data)();
13009                evt.preventDefault();
13010                return evt.stopPropagation();
13011              }
13012            }
13013          };
13014        }
13015        function previousFunction(data) {
13016          return function() {
13017            change(data, {
13018              index: data.index - 1,
13019              vector: -1
13020            });
13021          };
13022        }
13023        function next(data) {
13024          return function() {
13025            change(data, {
13026              index: data.index + 1,
13027              vector: 1
13028            });
13029          };
13030        }
13031        function select(data, value) {
13032          var found = null;
13033          if (value === data.slides.length) {
13034            init();
13035            layout(data);
13036          }
13037          _.each(data.anchors, function(anchor, index) {
13038            $(anchor.els).each(function(i, el) {
13039              if ($(el).index() === value) {
13040                found = index;
13041              }
13042            });
13043          });
13044          if (found != null) {
13045            change(data, {
13046              index: found,
13047              immediate: true
13048            });
13049          }
13050        }
13051        function startTimer(data) {
13052          stopTimer(data);
13053          var config = data.config;
13054          var timerMax = config.timerMax;
13055          if (timerMax && data.timerCount++ > timerMax) {
13056            return;
13057          }
13058          data.timerId = window.setTimeout(function() {
13059            if (data.timerId == null || designer) {
13060              return;
13061            }
13062            next(data)();
13063            startTimer(data);
13064          }, config.delay);
13065        }
13066        function stopTimer(data) {
13067          window.clearTimeout(data.timerId);
13068          data.timerId = null;
13069        }
13070        function handler(data) {
13071          return function(evt, options) {
13072            options = options || {};
13073            var config = data.config;
13074            if (designer && evt.type === "setting") {
13075              if (options.select === "prev") {
13076                return previousFunction(data)();
13077              }
13078              if (options.select === "next") {
13079                return next(data)();
13080              }
13081              configure(data);
13082              layout(data);
13083              if (options.select == null) {
13084                return;
13085              }
13086              select(data, options.select);
13087              return;
13088            }
13089            if (evt.type === "swipe") {
13090              if (config.disableSwipe) {
13091                return;
13092              }
13093              if (Webflow.env("editor")) {
13094                return;
13095              }
13096              if (options.direction === "left") {
13097                return next(data)();
13098              }
13099              if (options.direction === "right") {
13100                return previousFunction(data)();
13101              }
13102              return;
13103            }
13104            if (data.nav.has(evt.target).length) {
13105              var index = $(evt.target).index();
13106              if (evt.type === "click") {
13107                change(data, {
13108                  index
13109                });
13110              }
13111              if (evt.type === "keydown") {
13112                switch (evt.keyCode) {
13113                  case KEY_CODES.ENTER:
13114                  case KEY_CODES.SPACE: {
13115                    change(data, {
13116                      index
13117                    });
13118                    evt.preventDefault();
13119                    break;
13120                  }
13121                  case KEY_CODES.ARROW_LEFT:
13122                  case KEY_CODES.ARROW_UP: {
13123                    focusDot(data.nav, Math.max(index - 1, 0));
13124                    evt.preventDefault();
13125                    break;
13126                  }
13127                  case KEY_CODES.ARROW_RIGHT:
13128                  case KEY_CODES.ARROW_DOWN: {
13129                    focusDot(data.nav, Math.min(index + 1, data.pages));
13130                    evt.preventDefault();
13131                    break;
13132                  }
13133                  case KEY_CODES.HOME: {
13134                    focusDot(data.nav, 0);
13135                    evt.preventDefault();
13136                    break;
13137                  }
13138                  case KEY_CODES.END: {
13139                    focusDot(data.nav, data.pages);
13140                    evt.preventDefault();
13141                    break;
13142                  }
13143                  default: {
13144                    return;
13145                  }
13146                }
13147              }
13148            }
13149          };
13150        }
13151        function focusDot($nav, index) {
13152          var $active = $nav.children().eq(index).focus();
13153          $nav.children().not($active);
13154        }
13155        function change(data, options) {
13156          options = options || {};
13157          var config = data.config;
13158          var anchors = data.anchors;
13159          data.previous = data.index;
13160          var index = options.index;
13161          var shift = {};
13162          if (index < 0) {
13163            index = anchors.length - 1;
13164            if (config.infinite) {
13165              shift.x = -data.endX;
13166              shift.from = 0;
13167              shift.to = anchors[0].width;
13168            }
13169          } else if (index >= anchors.length) {
13170            index = 0;
13171            if (config.infinite) {
13172              shift.x = anchors[anchors.length - 1].width;
13173              shift.from = -anchors[anchors.length - 1].x;
13174              shift.to = shift.from - shift.x;
13175            }
13176          }
13177          data.index = index;
13178          var $active = data.nav.children().eq(index).addClass("w-active").attr("aria-pressed", "true").attr("tabindex", "0");
13179          data.nav.children().not($active).removeClass("w-active").attr("aria-pressed", "false").attr("tabindex", "-1");
13180          if (config.hideArrows) {
13181            data.index === anchors.length - 1 ? data.right.hide() : data.right.show();
13182            data.index === 0 ? data.left.hide() : data.left.show();
13183          }
13184          var lastOffsetX = data.offsetX || 0;
13185          var offsetX = data.offsetX = -anchors[data.index].x;
13186          var resetConfig = {
13187            x: offsetX,
13188            opacity: 1,
13189            visibility: ""
13190          };
13191          var targets = $(anchors[data.index].els);
13192          var prevTargs = $(anchors[data.previous] && anchors[data.previous].els);
13193          var others = data.slides.not(targets);
13194          var animation = config.animation;
13195          var easing = config.easing;
13196          var duration = Math.round(config.duration);
13197          var vector = options.vector || (data.index > data.previous ? 1 : -1);
13198          var fadeRule = "opacity " + duration + "ms " + easing;
13199          var slideRule = "transform " + duration + "ms " + easing;
13200          targets.find(FOCUSABLE_SELECTOR).removeAttr("tabindex");
13201          targets.removeAttr("aria-hidden");
13202          targets.find("*").removeAttr("aria-hidden");
13203          others.find(FOCUSABLE_SELECTOR).attr("tabindex", "-1");
13204          others.attr("aria-hidden", "true");
13205          others.find("*").attr("aria-hidden", "true");
13206          if (!designer) {
13207            targets.each(ix.intro);
13208            others.each(ix.outro);
13209          }
13210          if (options.immediate && !inRedraw) {
13211            tram(targets).set(resetConfig);
13212            resetOthers();
13213            return;
13214          }
13215          if (data.index === data.previous) {
13216            return;
13217          }
13218          if (!designer) {
13219            data.ariaLiveLabel.text(`Slide ${index + 1} of ${anchors.length}.`);
13220          }
13221          if (animation === "cross") {
13222            var reduced = Math.round(duration - duration * config.crossOver);
13223            var wait = Math.round(duration - reduced);
13224            fadeRule = "opacity " + reduced + "ms " + easing;
13225            tram(prevTargs).set({
13226              visibility: ""
13227            }).add(fadeRule).start({
13228              opacity: 0
13229            });
13230            tram(targets).set({
13231              visibility: "",
13232              x: offsetX,
13233              opacity: 0,
13234              zIndex: data.depth++
13235            }).add(fadeRule).wait(wait).then({
13236              opacity: 1
13237            }).then(resetOthers);
13238            return;
13239          }
13240          if (animation === "fade") {
13241            tram(prevTargs).set({
13242              visibility: ""
13243            }).stop();
13244            tram(targets).set({
13245              visibility: "",
13246              x: offsetX,
13247              opacity: 0,
13248              zIndex: data.depth++
13249            }).add(fadeRule).start({
13250              opacity: 1
13251            }).then(resetOthers);
13252            return;
13253          }
13254          if (animation === "over") {
13255            resetConfig = {
13256              x: data.endX
13257            };
13258            tram(prevTargs).set({
13259              visibility: ""
13260            }).stop();
13261            tram(targets).set({
13262              visibility: "",
13263              zIndex: data.depth++,
13264              x: offsetX + anchors[data.index].width * vector
13265            }).add(slideRule).start({
13266              x: offsetX
13267            }).then(resetOthers);
13268            return;
13269          }
13270          if (config.infinite && shift.x) {
13271            tram(data.slides.not(prevTargs)).set({
13272              visibility: "",
13273              x: shift.x
13274            }).add(slideRule).start({
13275              x: offsetX
13276            });
13277            tram(prevTargs).set({
13278              visibility: "",
13279              x: shift.from
13280            }).add(slideRule).start({
13281              x: shift.to
13282            });
13283            data.shifted = prevTargs;
13284          } else {
13285            if (config.infinite && data.shifted) {
13286              tram(data.shifted).set({
13287                visibility: "",
13288                x: lastOffsetX
13289              });
13290              data.shifted = null;
13291            }
13292            tram(data.slides).set({
13293              visibility: ""
13294            }).add(slideRule).start({
13295              x: offsetX
13296            });
13297          }
13298          function resetOthers() {
13299            targets = $(anchors[data.index].els);
13300            others = data.slides.not(targets);
13301            if (animation !== "slide") {
13302              resetConfig.visibility = "hidden";
13303            }
13304            tram(others).set(resetConfig);
13305          }
13306        }
13307        function render(i, el) {
13308          var data = $.data(el, namespace);
13309          if (!data) {
13310            return;
13311          }
13312          if (maskChanged(data)) {
13313            return layout(data);
13314          }
13315          if (designer && slidesChanged(data)) {
13316            layout(data);
13317          }
13318        }
13319        function layout(data) {
13320          var pages = 1;
13321          var offset = 0;
13322          var anchor = 0;
13323          var width = 0;
13324          var maskWidth = data.maskWidth;
13325          var threshold = maskWidth - data.config.edge;
13326          if (threshold < 0) {
13327            threshold = 0;
13328          }
13329          data.anchors = [
13330            {
13331              els: [],
13332              x: 0,
13333              width: 0
13334            }
13335          ];
13336          data.slides.each(function(i, el) {
13337            if (anchor - offset > threshold) {
13338              pages++;
13339              offset += maskWidth;
13340              data.anchors[pages - 1] = {
13341                els: [],
13342                x: anchor,
13343                width: 0
13344              };
13345            }
13346            width = $(el).outerWidth(true);
13347            anchor += width;
13348            data.anchors[pages - 1].width += width;
13349            data.anchors[pages - 1].els.push(el);
13350            var ariaLabel = i + 1 + " of " + data.slides.length;
13351            $(el).attr("aria-label", ariaLabel);
13352            $(el).attr("role", "group");
13353          });
13354          data.endX = anchor;
13355          if (designer) {
13356            data.pages = null;
13357          }
13358          if (data.nav.length && data.pages !== pages) {
13359            data.pages = pages;
13360            buildNav(data);
13361          }
13362          var index = data.index;
13363          if (index >= pages) {
13364            index = pages - 1;
13365          }
13366          change(data, {
13367            immediate: true,
13368            index
13369          });
13370        }
13371        function buildNav(data) {
13372          var dots = [];
13373          var $dot;
13374          var spacing = data.el.attr("data-nav-spacing");
13375          if (spacing) {
13376            spacing = parseFloat(spacing) + "px";
13377          }
13378          for (var i = 0, len = data.pages; i < len; i++) {
13379            $dot = $(dot);
13380            $dot.attr("aria-label", "Show slide " + (i + 1) + " of " + len).attr("aria-pressed", "false").attr("role", "button").attr("tabindex", "-1");
13381            if (data.nav.hasClass("w-num")) {
13382              $dot.text(i + 1);
13383            }
13384            if (spacing != null) {
13385              $dot.css({
13386                "margin-left": spacing,
13387                "margin-right": spacing
13388              });
13389            }
13390            dots.push($dot);
13391          }
13392          data.nav.empty().append(dots);
13393        }
13394        function maskChanged(data) {
13395          var maskWidth = data.mask.width();
13396          if (data.maskWidth !== maskWidth) {
13397            data.maskWidth = maskWidth;
13398            return true;
13399          }
13400          return false;
13401        }
13402        function slidesChanged(data) {
13403          var slidesWidth = 0;
13404          data.slides.each(function(i, el) {
13405            slidesWidth += $(el).outerWidth(true);
13406          });
13407          if (data.slidesWidth !== slidesWidth) {
13408            data.slidesWidth = slidesWidth;
13409            return true;
13410          }
13411          return false;
13412        }
13413        return api;
13414      });
13415    }
13416  });
13417
13418  // <stdin>
13419  require_webflow_brand();
13420  require_webflow_focus_visible();
13421  require_webflow_focus();
13422  require_webflow_ix2_events();
13423  require_webflow_ix2();
13424  require_webflow_links();
13425  require_webflow_scroll();
13426  require_webflow_touch();
13427  require_webflow_forms();
13428  require_webflow_navbar();
13429  require_webflow_slider();
13430})();
13431/*!
13432* tram.js v0.8.2-global
13433* Cross-browser CSS3 transitions in JavaScript
13434* https://github.com/bkwld/tram
13435* MIT License
13436*/
13437/*!
13438 * Webflow._ (aka) Underscore.js 1.6.0 (custom build)
13439 *
13440 * http://underscorejs.org
13441 * (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
13442 * Underscore may be freely distributed under the MIT license.
13443 * @license MIT
13444 */
13445/*! Bundled license information:
13446
13447timm/lib/timm.js:
13448  (*!
13449   * Timm
13450   *
13451   * Immutability helpers with fast reads and acceptable writes.
13452   *
13453   * @copyright Guillermo Grau Panea 2016
13454   * @license MIT
13455   *)
13456*/
13457/**
13458 * ----------------------------------------------------------------------
13459 * Webflow: Interactions 2.0: Init
13460 */
13461Webflow.require('ix2').init(
13462{"events":{"e-3":{"id":"e-3","name":"","animationType":"custom","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a466c282dc8b73d8592150","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a466c282dc8b73d8592150","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":80,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1637942311879},"e-6":{"id":"e-6","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-4","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-7"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"26cf0fd2-fee1-df1b-195b-050e7baf71d9","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"26cf0fd2-fee1-df1b-195b-050e7baf71d9","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1687787948881},"e-8":{"id":"e-8","animationType":"custom","eventTypeId":"SLIDER_ACTIVE","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-5","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-9"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".slide","originalId":"0124e203-de89-6a0f-c437-40d0ad81f312","appliesTo":"CLASS"},"targets":[{"selector":".slide","originalId":"0124e203-de89-6a0f-c437-40d0ad81f312","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1551984235595},"e-9":{"id":"e-9","animationType":"custom","eventTypeId":"SLIDER_INACTIVE","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-6","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-8"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".slide","originalId":"0124e203-de89-6a0f-c437-40d0ad81f312","appliesTo":"CLASS"},"targets":[{"selector":".slide","originalId":"0124e203-de89-6a0f-c437-40d0ad81f312","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1551984235598}
13462,"e-12":{"id":"e-12","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a466c282dc8b73d8592152","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a466c282dc8b73d8592152","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1687962496722},"e-17":{"id":"e-17","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-8","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-18"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".menu_link","originalId":"79f68204-b82d-d3a5-b061-8f42bdd4c077","appliesTo":"CLASS"},"targets":[{"selector":".menu_link","originalId":"79f68204-b82d-d3a5-b061-8f42bdd4c077","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1687963210950},"e-19":{"id":"e-19","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-7","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-20"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".overflow-hidden","originalId":"64a466c282dc8b73d8592152|d502a2c8-a468-8e4d-9cca-ea32ac94a878","appliesTo":"CLASS"},"targets":[{"selector":".overflow-hidden","originalId":"64a466c282dc8b73d8592152|d502a2c8-a468-8e4d-9cca-ea32ac94a878","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1687963368264},"e-25":{"id":"e-25","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a466c282dc8b73d8592157","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a466c282dc8b73d8592157","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1687963797312},"e-32":{"id":"e-32","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-9","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-33"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".section","originalId":"64a466c282dc8b73d8592150|5131d4bc-11e2-6890-905f-45147bb02a61","appliesTo":"CLASS"},"targets":[{"selector":".section","originalId":"64a466c282dc8b73d8592150|5131d4bc-11e2-6890-905f-45147bb02a61","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":25,"scrollOffsetUnit":"%","delay":0.5,"direction":null,"effectIn":true},"createdOn":1687965103704},"e-34":{"id":"e-34","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"SLIDE_EFFECT","instant":false,"config":{"actionListId":"slideInBottom","autoStopEventId":"e-35"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".left-div","originalId":"64a466c282dc8b73d8592157|a8eb98bf-1721-62d1-fe0e-b6808fc8b3cc","appliesTo":"CLASS"},"targets":[{"selector":".left-div","originalId":"64a466c282dc8b73d8592157|a8eb98bf-1721-62d1-fe0e-b6808fc8b3cc","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":0,"direction":"BOTTOM","effectIn":true},"createdOn":1687974790579},"e-36":{"id":"e-36","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"SLIDE_EFFECT","instant":false,"config":{"actionListId":"slideInBottom","autoStopEventId":"e-37"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".right-div","originalId":"64a466c282dc8b73d8592157|a1a85f6f-8e5b-3ed4-5709
13462-cd5e5c97c31a","appliesTo":"CLASS"},"targets":[{"selector":".right-div","originalId":"64a466c282dc8b73d8592157|a1a85f6f-8e5b-3ed4-5709-cd5e5c97c31a","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":121,"direction":"BOTTOM","effectIn":true},"createdOn":1687974810420},"e-38":{"id":"e-38","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a466c282dc8b73d8592156","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a466c282dc8b73d8592156","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1688484349020},"e-39":{"id":"e-39","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-10","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-40"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".dropdown-wrapper","originalId":"1b2bb0cd-e494-d817-167a-1f49229c88df","appliesTo":"CLASS"},"targets":[{"selector":".dropdown-wrapper","originalId":"1b2bb0cd-e494-d817-167a-1f49229c88df","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1688485340743},"e-40":{"id":"e-40","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-11","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-39"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".dropdown-wrapper","originalId":"1b2bb0cd-e494-d817-167a-1f49229c88df","appliesTo":"CLASS"},"targets":[{"selector":".dropdown-wrapper","originalId":"1b2bb0cd-e494-d817-167a-1f49229c88df","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1688485340743},"e-41":{"id":"e-41","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a466c282dc8b73d8592153","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a466c282dc8b73d8592153","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1688486935689},"e-42":{"id":"e-42","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a466c282dc8b73d8592155","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a466c282dc8b73d8592155","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1688487079574},"e-43":{"id":"e-43","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a4671fb0145f1f9063dd3a","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a4671fb0145f1f9063dd3a","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1688495903290},"e-46":{"id":"e-46","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a47470e70024a5f4d810a0","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a47470e70024a5f4d810a0","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1688499312737},"e-47":{"id":"e-47","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a47480b3b7df67c23fb605","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a47480b3b7df67c23fb605","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1688499328296}
13462,"e-48":{"id":"e-48","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a474c70aa1b6a2af167725","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a474c70aa1b6a2af167725","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1688499399527},"e-49":{"id":"e-49","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a474de59dfac5b26f8bb15","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a474de59dfac5b26f8bb15","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1688499422920},"e-50":{"id":"e-50","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a474fd3be9c8348f8699aa","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a474fd3be9c8348f8699aa","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1688499453736},"e-51":{"id":"e-51","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a4751431991f4e73cf28da","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a4751431991f4e73cf28da","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1688499476559},"e-52":{"id":"e-52","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a4c43f3744c6efbbc417b5","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a4c43f3744c6efbbc417b5","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1688519743912},"e-53":{"id":"e-53","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64a4c45545f3ca854701bef6","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64a4c45545f3ca854701bef6","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1688519765649},"e-54":{"id":"e-54","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-12","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-55"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".dropdown-wrapper","originalId":"1b2bb0cd-e494-d817-167a-1f49229c88df","appliesTo":"CLASS"},"targets":[{"selector":".dropdown-wrapper","originalId":"1b2bb0cd-e494-d817-167a-1f49229c88df","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1688562516607},"e-55":{"id":"e-55","name":"","animationType":"custom","eventTypeId":"SCROLL_OUT_OF_V
13462IEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-11","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-54"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".dropdown-wrapper","originalId":"1b2bb0cd-e494-d817-167a-1f49229c88df","appliesTo":"CLASS"},"targets":[{"selector":".dropdown-wrapper","originalId":"1b2bb0cd-e494-d817-167a-1f49229c88df","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1688562516608},"e-56":{"id":"e-56","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-13","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-57"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".flex-cell","originalId":"61a05a12-85f7-b696-7f13-00598a163c5f","appliesTo":"CLASS"},"targets":[{"selector":".flex-cell","originalId":"61a05a12-85f7-b696-7f13-00598a163c5f","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1688578041630},"e-57":{"id":"e-57","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-14","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-56"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".flex-cell","originalId":"61a05a12-85f7-b696-7f13-00598a163c5f","appliesTo":"CLASS"},"targets":[{"selector":".flex-cell","originalId":"61a05a12-85f7-b696-7f13-00598a163c5f","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1688578041631},"e-58":{"id":"e-58","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-15","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-59"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"974974c7-ac6b-e224-7665-1479832f5149","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"974974c7-ac6b-e224-7665-1479832f5149","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1689002609286},"e-60":{"id":"e-60","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64ac244e6bd4d99a02a13fad","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64ac244e6bd4d99a02a13fad","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689003086492},"e-61":{"id":"e-61","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64ada500ee8840820db986b9","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64ada500ee8840820db986b9","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689101568309},"e-62":{"id":"e-62","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-16","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-63"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"9c0c1bf8-d750-71af-8f4f-4f624a00ce76","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"9c0c1bf8-d750-71af-8f4f-4f624a00ce76","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1689102627717},"e-64":{"id":"e-64","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adae9ed98e3d1fdf2e8701","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adae9ed98e3d1fdf2e8701","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":80,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104030839},"e-65":{"id":"e-65","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adaeb86240169a834fca6f","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adaeb86240169a834fca6f","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104056342},"e-66":{"id":"e-66","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adaef96240169a835026f9","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adaef96240169a835026f9","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104121900},"e-67":{"id":"e-67","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adaf05973f7dae955af902","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adaf05973f7dae955af902","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104133425},"e-68":{"id":"e-68","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adaf130db2a3e19c5100da","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adaf130db2a3e19c5100da","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104147209},"e-69":{"id":"e-69","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adaf22fe2176d49453c667","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adaf22fe2176d49453c667","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104162602},"e-70":{"id":"e-70","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adaf30f74001f931b946f9","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adaf30f74001f931b946f9","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104176643},"e-71":{"id":"e-71","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adaf5c6b6cd0f4ad499731","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adaf5c6b6cd0f4ad499731","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104221016},"e-72":{"id":"e-72","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adaf69ee8840820dc8e07b","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adaf69ee8840820dc8e07b","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104234060},"e-73":{"id":"e-73","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adaf7a414cac4bfcd5a7a6","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adaf7a414cac4bfcd5a7a6","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104250754}
13462,"e-74":{"id":"e-74","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adaf8653b6d5671df9bb20","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adaf8653b6d5671df9bb20","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104263386},"e-75":{"id":"e-75","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adafb87300cde5ab5a7139","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adafb87300cde5ab5a7139","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104312300},"e-76":{"id":"e-76","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adafc53962e5abccf337b3","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adafc53962e5abccf337b3","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104325802},"e-77":{"id":"e-77","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adafd3e34f67c83aa52c0b","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adafd3e34f67c83aa52c0b","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104339633},"e-78":{"id":"e-78","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adafe5655e693e4918bcc2","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adafe5655e693e4918bcc2","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104358046},"e-79":{"id":"e-79","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adaff1075c7ac4e3b73307","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adaff1075c7ac4e3b73307","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104369557},"e-80":{"id":"e-80","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64adafff53b6d5671dfa5a3c","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64adafff53b6d5671dfa5a3c","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689104383346},"e-81":{"id":"e-81","name":"","animationType":"preset","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-17","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-82"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".dropdown-wrapper","originalId":"45827416-07f2-a508-c031-0c8b261ccc54","appliesTo":"CLASS"},"targets":[{"selector":".dropdown-wrapper","originalId":"45827416-07f2-a508-c031-0c8b261ccc54","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1689104735009},"e-82":{"id":"e-82","name":"","animationType":"preset","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-18","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-81"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".dropdown-wrapper","originalId":"45827416-07f2-a508-c031-0c8b261ccc54","appliesTo":"CLASS"},"targets":[{"selector":".dropdown-wrapper","originalId":"45827416-07f2-a508-c031-0c8b261ccc54","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1689104735009},"e-83":{"id":"e-83","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-19","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-84"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".dropdown-wrapper","originalId":"45827416-07f2-a508-c031-0c8b261ccc54","appliesTo":"CLASS"},"targets":[{"selector":".dropdown-wrapper","originalId":"45827416-07f2-a508-c031-0c8b261ccc54","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1689104735009},"e-84":{"id":"e-84","name":"","animationType":"preset","eventTypeId":"SCROLL_OUT_OF_V
13462IEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-18","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-83"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".dropdown-wrapper","originalId":"45827416-07f2-a508-c031-0c8b261ccc54","appliesTo":"CLASS"},"targets":[{"selector":".dropdown-wrapper","originalId":"45827416-07f2-a508-c031-0c8b261ccc54","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1689104735009},"e-85":{"id":"e-85","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-20","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-86"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"45827416-07f2-a508-c031-0c8b261ccc59","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"45827416-07f2-a508-c031-0c8b261ccc59","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1689104735009},"e-87":{"id":"e-87","name":"","animationType":"preset","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-21","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-88"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".flex-cell","originalId":"64adae9ed98e3d1fdf2e8701|f11f297a-2ff3-3c4e-1b49-797bb0b68ae7","appliesTo":"CLASS"},"targets":[{"selector":".flex-cell","originalId":"64adae9ed98e3d1fdf2e8701|f11f297a-2ff3-3c4e-1b49-797bb0b68ae7","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1689105500859},"e-88":{"id":"e-88","name":"","animationType":"preset","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-22","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-87"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".flex-cell","originalId":"64adae9ed98e3d1fdf2e8701|f11f297a-2ff3-3c4e-1b49-797bb0b68ae7","appliesTo":"CLASS"},"targets":[{"selector":".flex-cell","originalId":"64adae9ed98e3d1fdf2e8701|f11f297a-2ff3-3c4e-1b49-797bb0b68ae7","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1689105500859},"e-89":{"id":"e-89","name":"","animationType":"preset","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-23","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-90"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".flex-cell","originalId":"64a466c282dc8b73d8592150|d0b24c8f-32df-cde4-247e-568c4ce1d1dd","appliesTo":"CLASS"},"targets":[{"selector":".flex-cell","originalId":"64a466c282dc8b73d8592150|d0b24c8f-32df-cde4-247e-568c4ce1d1dd","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1689105534791},"e-90":{"id":"e-90","name":"","animationType":"preset","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-24","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-89"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".flex-cell","originalId":"64a466c282dc8b73d8592150|d0b24c8f-32df-cde4-247e-568c4ce1d1dd","appliesTo":"CLASS"},"targets":[{"selector":".flex-cell","originalId":"64a466c282dc8b73d8592150|d0b24c8f-32df-cde4-247e-568c4ce1d1dd","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1689105534791},"e-91":{"id":"e-91","name":"","animationType":"preset","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-25","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-92"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".flex-cell","originalId":"64a466c282dc8b73d8592157|e03404af-0dff-5cc2-a0b8-e2a768523faa","appliesTo":"CLASS"},"targets":[{"selector":".flex-cell","originalId":"64a466c282dc8b73d8592157|e03404af-0dff-5cc2-a0b8-e2a768523faa","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1689105730217},"e-92":{"id":"e-92","name":"","animationType":"preset","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-26","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-91"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".flex-cell","originalId":"64a466c282dc8b73d8592157|e03404af-0dff-5cc2-a0b8-e2a768523faa","appliesTo":"CLASS"},"targets":[{"selector":".flex-cell","originalId":"64a466c282dc8b73d8592157|e03404af-0dff-5cc2-a0b8-e2a768523faa","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1689105730217},"e-93":{"id":"e-93","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-27","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-94"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"9f31509d-7cdb-fe29-b4bc-3a0a3e39338d","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"9f31509d-7cdb-fe29-b4bc-3a0a3e39338d","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1689106687346},"e-95":{"id":"e-95","name":"","animationType":"preset","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-28","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-96"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".flex-cell","originalId":"64adaeb86240169a834fca6f|f53e40c8-cb21-387f-6194-427c37f905a2","appliesTo":"CLASS"},"targets":[{"selector":".flex-cell","originalId":"64adaeb86240169a834fca6f|f53e40c8-cb21-387f-6194-427c37f905a2","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null}
13462,"createdOn":1689107211459},"e-96":{"id":"e-96","name":"","animationType":"preset","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-29","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-95"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".flex-cell","originalId":"64adaeb86240169a834fca6f|f53e40c8-cb21-387f-6194-427c37f905a2","appliesTo":"CLASS"},"targets":[{"selector":".flex-cell","originalId":"64adaeb86240169a834fca6f|f53e40c8-cb21-387f-6194-427c37f905a2","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1689107211459},"e-97":{"id":"e-97","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64aec6693d185f836d6f3023","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64aec6693d185f836d6f3023","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689175658052},"e-98":{"id":"e-98","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64aee888404faba854358a43","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64aee888404faba854358a43","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1689184392640},"e-99":{"id":"e-99","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-30","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-100"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"a0f71250-2b39-9c97-82bc-416c1a766edc","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"a0f71250-2b39-9c97-82bc-416c1a766edc","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1689185689626},"e-101":{"id":"e-101","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64fdaccec9c346c5a1ec4b03","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64fdaccec9c346c5a1ec4b03","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1694346447291},"e-102":{"id":"e-102","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"64fdad4a25f96a17e1ec2d98","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"64fdad4a25f96a17e1ec2d98","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1694346571200},"e-103":{"id":"e-103","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-27","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-104"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".btn-google","originalId":"64a466c282dc8b73d8592150|5a8e44e6-6b32-65cf-da9d-230e27151ce4","appliesTo":"CLASS"},"targets":[{"selector":".btn-google","originalId":"64a466c282dc8b73d8592150|5a8e44e6-6b32-65cf-da9d-230e27151ce4","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1697480439603},"e-105":{"id":"e-105","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"652eedaa3b5a6f0ac090fc45","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"652eedaa3b5a6f0ac090fc45","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1697574315252},"e-106":{"id":"e-106","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"652f170c845e49c75456eff5","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"652f170c845e49c75456eff5","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1697584908643},"e-107":{"id":"e-107","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-3","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"66708852532f8278c1d8ae72","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"66708852532f8278c1d8ae72","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-3-p","smoothing":51,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1718650962781}},"actionLists":{"a-3":{"id":"a-3","title":"Scroll Looping Text","continuousParameterGroups":[{"id":"a-3-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-3-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".looping-text-item-container","selectorGuids":["6177dd6e-b4dd-d666-6a14-4069816a2bc4"]},"xValue":0,"xUnit":"px","yUnit":"PX","zUnit":"PX"}},{"id":"a-3-n-5","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"id":"f421f9e9-32f0-2f11-b29a-e1bcf19a5fea"},"heightValue":40,"widthUnit":"PX","heightUnit":"px","locked":false}}]},{"keyframe":2,"actionItems":[{"id":"a-3-n-6","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"id":"f421f9e9-32f0-2f11-b29a-e1bcf19a5fea"},"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}}]},{"keyframe":100,"actionItems":[{"id":"a-3-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".looping-text-item-container","selectorGuids":["6177dd6e-b4dd-d666-6a14-4069816a2bc4"]},"xValue":500,"xUnit":"px","yUnit":"PX","zUnit":"PX"}}]}]}],"createdOn":1637942316745},"a-4":{"id":"a-4","title":"Hide Notice","actionItemGroups":[{"actionItems":[{"id":"a-4-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"PARENT","selector":".legal-notice","selectorGuids":["996d8b4a-9677-73c9-2f32-7bbb7bd98cda"]},"yValue":0,"xUnit":"PX","yUnit":"px","zUnit":"PX"}},{"id":"a-4-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"PARENT","selector":".legal-notice","selectorGuids":["996d8b4a-9677-73c9-2f32-7bbb7bd98cda"]},"value":1,"unit":""}}]},{"actionItems":[{"id":"a-4-n-3","actionTypeId":"TRANSFORM_MOVE","config":{"delay":500,"easing":"outQuart","duration":500,"target":{"useEventTarget":"PARENT","selector":".legal-notice","selectorGuids":["996d8b4a-9677-73c9-2f32-7bbb7bd98cda"]},"yValue":-100,"xUnit":"PX","yUnit":"%","zUnit":"PX"}},{"id":"a-4-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":500,"easing":"inQuart","duration":500,"target":{"useEventTarget":"PARENT","selector":".legal-notice","selectorGuids":["996d8b4a-9677-73c9-2f32-7bbb7bd98cda"]},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-4-n-5","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"PARENT","selector":".legal-notice","selectorGuids":["996d8b4a-9677-73c9-2f32-7bbb7bd98cda"]},"value":"none"}}]}],"useFirstGroupAsInitialState":true,"createdOn":1687787953287},"a-5":{"id":"a-5","title":"Slide In","actionItemGroups":[{"actionItems":[{"id":"a-5-n","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"easeIn","duration":5000,"target":{"useEventTarget":"CHILDREN","selector":".slide-img","selectorGuids":["76c1280c-c533-5c19-f651-6247467fd58d"]},"xValue":1.1,"yValue":1.1,"locked":true}}]}],"useFirstGroupAsInitialState":false,"createdOn":1551984238244},"a-6":{"id":"a-6","title":"Slide Out","actionItemGroups":[{"actionItems":[{"id":"a-6-n","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"easeOut","duration":1500,"target":{"useEventTarget":"CHILDREN","selector":".slide-img","selectorGuids":["76c1280c-c533-5c19-f651-6247467fd58d"]},"xValue":1,"yValue":1,"locked":true}}]},{"actionItems":[{"id":"a-6-n-2","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".slide-img","selectorGuids":["76c1280c-c533-5c19-f651-6247467fd58d"]},"xValue":1,"yValue":1,"locked":true}}]}],"useFirstGroupAsInitialState":false,"createdOn":1551984238244},"a-8":{"id":"a-8","title":"slow-fade-in 2","actionItemGroups":[{"actionItems":[{"id":"a-8-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":1000,"target":{"selector":".overflow-hidden","selectorGuids":["7d09ebb7-0600-1991-dc77-88093974c81d"]},"value":1,"unit":""}}]},{"actionItems":[{"id":"a-8-n","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":500,"target":{"selector":".overflow-hidden","selectorGuids":["7d09ebb7-0600-1991-dc77-88093974c81d"]},"value":0,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1687962383341},"a-7":{"id":"a-7","title":"slow-fade-in","actionItemGroups":[{"actionItems":[{"id":"a-7-n","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":500,"target":{"selector":".overflow-hidden","selectorGuids":["7d09ebb7-0600-1991-dc77-88093974c81d"]},"value":0,"unit":""}},{"id":"a-7-n-3","actionTypeId":"STYLE_FILTER","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".overflow-hidden","selectorGuids":["7d09ebb7-0600-1991-dc77-88093974c81d"]},"filters":[{"type":"blur","filterId":"ff92","value":5,"unit":"px"}]}}]},{"actionItems":[{"id":"a-7-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":250,"easing":"outQuart","duration":1000,"target":{"selector":".overflow-hidden","selectorGuids":["7d09ebb7-0600-1991-dc77-88093974c81d"]},"value":1,"unit":""}},{"id":"a-7-n-4","actionTypeId":"STYLE_FILTER","config":{"delay":250,"easing":"","duration":500,"target":{"selector":".overflow-hidden","selectorGuids":["7d09ebb7-0600-1991-dc77-88093974c81d"]},"filters":[{"type":"blur","filterId":"256d","value":0,"unit":"px"}]}}]}],"useFirstGroupAsInitialState":true,"createdOn":1687962383341},"a-9":{"id":"a-9","title":"Anim","actionItemGroups":[{"actionItems":[{"id":"a-9-n","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".anim","selectorGuids":["dc0d705c-b675-6e30-2478-5f501bd6da81"]},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-9-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".anim","selectorGuids":["dc0d705c-b675-6e30-2478-5f501bd6da81"]},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1687964179249},"a-10":{"id":"a-10","title":"Dropdown Open","actionItemGroups":[{"actionItems":[{"id":"a-10-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}},{"id":"a-10-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"value":0,"unit":""}},{"id":"a-10-n-7","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"value":"none"}}]},{"actionItems":[{"id":"a-10-n-2","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"inQuart","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}},{"id":"a-10-n-6","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"value":0,"unit":""}},{"id":"a-10-n-8","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"value":"flex"}}]},{"actionItems":[{"id":"a-10-n-3","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"inQuart","duration":250,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"widthUnit":"PX","heightUnit":"AUTO","locked":false}},{"id":"a-10-n-5","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1688485351529},"a-11":{"id":"a-11","title":"Dropdown Close","actionItemGroups":[{"actionItems":[{"id":"a-11-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"widthUnit":"PX","heightUnit":"AUTO","locked":false}},{"id":"a-11-n-3","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"value":1,"unit":""}}]},{"actionItems":[{"id":"a-11-n-2","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"inQuart","duration":250,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}},{"id":"a-11-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"value":0,"unit":""}}]}],"useFirstGroupAsInitialState":true,"cr
13462eatedOn":1688485351529},"a-12":{"id":"a-12","title":"Dropdown Close 2","actionItemGroups":[{"actionItems":[{"id":"a-12-n-2","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":0,"target":{"selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}}]}],"useFirstGroupAsInitialState":false,"createdOn":1688485351529},"a-13":{"id":"a-13","title":"Product Card","actionItemGroups":[{"actionItems":[{"id":"a-13-n","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":1,"yValue":1,"locked":true}},{"id":"a-13-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":1,"unit":""}}]},{"actionItems":[{"id":"a-13-n-2","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":0.97,"yValue":0.97,"locked":true}},{"id":"a-13-n-3","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":0.7,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1688578046743},"a-14":{"id":"a-14","title":"Product Card Out","actionItemGroups":[{"actionItems":[{"id":"a-14-n-3","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":1,"yValue":1,"locked":true}},{"id":"a-14-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":false,"createdOn":1688578046743},"a-15":{"id":"a-15","title":"Cookies Close 2","actionItemGroups":[{"actionItems":[{"id":"a-15-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":250,"easing":"","duration":250,"target":{"id":"99fb47b4-1246-fa59-d79e-27c4dc795085"},"yValue":100,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1682362714786},"a-16":{"id":"a-16","title":"Close","actionItemGroups":[{"actionItems":[{"id":"a-16-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}}]}],"useFirstGroupAsInitialState":true,"createdOn":1689102806515},"a-17":{"id":"a-17","title":"Dropdown Open 2","actionItemGroups":[{"actionItems":[{"id":"a-17-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}},{"id":"a-17-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"value":0,"unit":""}},{"id":"a-17-n-3","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"value":"none"}}]},{"actionItems":[{"id":"a-17-n-4","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"inQuart","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}},{"id":"a-17-n-5","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"value":0,"unit":""}},{"id":"a-17-n-6","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"value":"flex"}}]},{"actionItems":[{"id":"a-17-n-7","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"inQuart","duration":250,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"widthUnit":"PX","heightUnit":"AUTO","locked":false}},{"id":"a-17-n-8","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1688485351529},"a-18":{"id":"a-18","title":"Dropdown Close 3","actionItemGroups":[{"actionItems":[{"id":"a-18-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"widthUnit":"PX","heightUnit":"AUTO","locked":false}},{"id":"a-18-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"value":1,"unit":""}}]},{"actionItems":[{"id":"a-18-n-3","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"inQuart","duration":250,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}},{"id":"a-18-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"value":0,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1688485351529},"a-19":{"id":"a-19","title":"Dropdown Close 4","actionItemGroups":[{"actionItems":[{"id":"a-19-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":0,"target":{"selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}}]}],"useFirstGroupAsInitialState":false,"createdOn":1688485351529},"a-20":{"id":"a-20","title":"Close 2","actionItemGroups":[{"actionItems":[{"id":"a-20-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".dropdown-links-wrapper","selectorGuids":["b5d4f117-9ee1-c5f5-b565-cb70ca0fdfd3"]},"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}}]}],"useFirstGroupAsInitialState":true,"createdOn":1689102806515},"a-21":{"id":"a-21","title":"Product Card 2","actionItemGroups":[{"actionItems":[{"id":"a-21-n","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":1,"yValue":1,"locked":true}},{"id":"a-21-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":1,"unit":""}}]},{"actionItems":[{"id":"a-21-n-3","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":0.97,"yValue":0.97,"locked":true}},{"id":"a-21-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":0.7,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1688578046743},"a-22":{"id":"a-22","title":"Product Card Out 2","actionItemGroups":[{"actionItems":[{"id":"a-22-n","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":1,"yValue":1,"locked":true}},{"id":"a-22-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":false,"createdOn":1688578046743},"a-23":{"id":"a-23","title":"Product Card 3","actionItemGroups":[{"actionItems":[{"id":"a-23-n","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":1,"yValue":1,"locked":true}},{"id":"a-23-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":1,"unit":""}}]},{"actionItems":[{"id":"a-23-n-3","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":0.97,"yValue":0.97,"locked":true}},{"id":"a-23-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":0.7,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1688578046743},"a-24":{"id":"a-24","title":"Product Card Out 3","actionItemGroups":[{"actionItems":[{"id":"a-24-n","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":1,"yValue":1,"locked":true}},{"id":"a-24-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":false,"createdOn":1688578046743},"a-25":{"id":"a-25","title":"Product Card 4","actionItemGroups":[{"actionItems":[{"id":"a-25-n","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":1,"yValue":1,"locked":true}},{"id":"a-25-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":1,"unit":""}}]},{"actionItems":[{"id":"a-25-n-3","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":0.97,"yValue":0.97,"locked":true}},{"id":"a-25-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":0.7,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1688578046743},"a-26":{"id":"a-26","title":"Product Card Out 4","actionItemGroups":[{"actionItems":[{"id":"a-26-n","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":1,"yValue":1,"locked":true}},{"id":"a-26-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":false,"createdOn":1688578046743},"a-27":{"id":"a-27","title":"Cookies Close 3","actionItemGroups":[{"actionItems":[{"id":"a-27-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":250,"easing":"","duration":250,"target":{"useEventTarget":"PARENT","selector":".cw-cookieforwebflow.cookie-wrapper","selectorGuids":["8c022b78-c3b9-198b-c000-f30f8d004c1f","8
13462c022b78-c3b9-198b-c000-f30f8d004c25"]},"yValue":100,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1682362714786},"a-28":{"id":"a-28","title":"Product Card 5","actionItemGroups":[{"actionItems":[{"id":"a-28-n","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":1,"yValue":1,"locked":true}},{"id":"a-28-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":1,"unit":""}}]},{"actionItems":[{"id":"a-28-n-3","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":0.97,"yValue":0.97,"locked":true}},{"id":"a-28-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":0.7,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1688578046743},"a-29":{"id":"a-29","title":"Product Card Out 5","actionItemGroups":[{"actionItems":[{"id":"a-29-n","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"xValue":1,"yValue":1,"locked":true}},{"id":"a-29-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":250,"target":{"useEventTarget":"SIBLINGS","selector":".flex-cell","selectorGuids":["b49e43e0-1565-fbd0-0cc3-9269338d70ba"]},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":false,"createdOn":1688578046743},"a-30":{"id":"a-30","title":"Hide Notice 2","actionItemGroups":[{"actionItems":[{"id":"a-30-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"PARENT","selector":".legal-notice","selectorGuids":["996d8b4a-9677-73c9-2f32-7bbb7bd98cda"]},"yValue":0,"xUnit":"PX","yUnit":"px","zUnit":"PX"}},{"id":"a-30-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"PARENT","selector":".legal-notice","selectorGuids":["996d8b4a-9677-73c9-2f32-7bbb7bd98cda"]},"value":1,"unit":""}}]},{"actionItems":[{"id":"a-30-n-3","actionTypeId":"TRANSFORM_MOVE","config":{"delay":500,"easing":"outQuart","duration":500,"target":{"useEventTarget":"PARENT","selector":".legal-notice","selectorGuids":["996d8b4a-9677-73c9-2f32-7bbb7bd98cda"]},"yValue":-100,"xUnit":"PX","yUnit":"%","zUnit":"PX"}},{"id":"a-30-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":500,"easing":"inQuart","duration":500,"target":{"useEventTarget":"PARENT","selector":".legal-notice","selectorGuids":["996d8b4a-9677-73c9-2f32-7bbb7bd98cda"]},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-30-n-5","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"PARENT","selector":".legal-notice","selectorGuids":["996d8b4a-9677-73c9-2f32-7bbb7bd98cda"]},"value":"none"}}]}],"useFirstGroupAsInitialState":true,"createdOn":1687787953287},"slideInBottom":{"id":"slideInBottom","useFirstGroupAsInitialState":true,"actionItemGroups":[{"actionItems":[{"actionTypeId":"STYLE_OPACITY","config":{"delay":0,"duration":0,"target":{"id":"N/A","appliesTo":"TRIGGER_ELEMENT","useEventTarget":true},"value":0}}]},{"actionItems":[{"actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"duration":0,"target":{"id":"N/A","appliesTo":"TRIGGER_ELEMENT","useEventTarget":true},"xValue":0,"yValue":100,"xUnit":"PX","yUnit":"PX","zUnit":"PX"}}]},{"actionItems":[{"actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuart","duration":1000,"target":{"id":"N/A","appliesTo":"TRIGGER_ELEMENT","useEventTarget":true},"xValue":0,"yValue":0,"xUnit":"PX","yUnit":"PX","zUnit":"PX"}},{"actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":1000,"target":{"id":"N/A","appliesTo":"TRIGGER_ELEMENT","useEventTarget":true},"value":1}}]}]}},"site":{"mediaQueries":[{"key":"main","min":992,"max":10000},{"key":"medium","min":768,"max":991},{"key":"small","min":480,"max":767},{"key":"tiny","min":0,"max":479}]}}
13463);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.