
/*!
 * Webflow: Front-end site library
 * @license MIT
 * Inline scripts may access the api using an async handler:
 *   var Webflow = Webflow || [];
 *   Webflow.push(readyFunction);
 */

(() => {
  var __create = Object.create;
  var __defProp = Object.defineProperty;
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
  var __getOwnPropNames = Object.getOwnPropertyNames;
  var __getProtoOf = Object.getPrototypeOf;
  var __hasOwnProp = Object.prototype.hasOwnProperty;
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
  var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
    get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
  }) : x)(function(x) {
    if (typeof require !== "undefined")
      return require.apply(this, arguments);
    throw new Error('Dynamic require of "' + x + '" is not supported');
  });
  var __esm = (fn, res) => function __init() {
    return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
  };
  var __commonJS = (cb, mod) => function __require2() {
    return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
  };
  var __export = (target, all) => {
    for (var name in all)
      __defProp(target, name, { get: all[name], enumerable: true });
  };
  var __copyProps = (to, from, except, desc) => {
    if (from && typeof from === "object" || typeof from === "function") {
      for (let key of __getOwnPropNames(from))
        if (!__hasOwnProp.call(to, key) && key !== except)
          __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
    }
    return to;
  };
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
    // If the importer is in node compatibility mode or this is not an ESM
    // file that has been converted to a CommonJS file using a Babel-
    // compatible transform (i.e. "__esModule" has not been set), then set
    // "default" to the CommonJS "module.exports" for node compatibility.
    isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
    mod
  ));
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
  var __publicField = (obj, key, value) => {
    __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
    return value;
  };
  var __accessCheck = (obj, member, msg) => {
    if (!member.has(obj))
      throw TypeError("Cannot " + msg);
  };
  var __privateGet = (obj, member, getter) => {
    __accessCheck(obj, member, "read from private field");
    return getter ? getter.call(obj) : member.get(obj);
  };
  var __privateAdd = (obj, member, value) => {
    if (member.has(obj))
      throw TypeError("Cannot add the same private member more than once");
    member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
  };
  var __privateSet = (obj, member, value, setter) => {
    __accessCheck(obj, member, "write to private field");
    setter ? setter.call(obj, value) : member.set(obj, value);
    return value;
  };

  // packages/shared/render/plugins/BaseSiteModules/tram-min.js
  var require_tram_min = __commonJS({
    "packages/shared/render/plugins/BaseSiteModules/tram-min.js"() {
      "use strict";
      window.tram = function(a) {
        function b(a2, b2) {
          var c2 = new M.Bare();
          return c2.init(a2, b2);
        }
        function c(a2) {
          return a2.replace(/[A-Z]/g, function(a3) {
            return "-" + a3.toLowerCase();
          });
        }
        function d(a2) {
          var b2 = parseInt(a2.slice(1), 16), c2 = b2 >> 16 & 255, d2 = b2 >> 8 & 255, e2 = 255 & b2;
          return [
            c2,
            d2,
            e2
          ];
        }
        function e(a2, b2, c2) {
          return "#" + (1 << 24 | a2 << 16 | b2 << 8 | c2).toString(16).slice(1);
        }
        function f() {
        }
        function g(a2, b2) {
          j("Type warning: Expected: [" + a2 + "] Got: [" + typeof b2 + "] " + b2);
        }
        function h(a2, b2, c2) {
          j("Units do not match [" + a2 + "]: " + b2 + ", " + c2);
        }
        function i(a2, b2, c2) {
          if (void 0 !== b2 && (c2 = b2), void 0 === a2)
            return c2;
          var d2 = c2;
          return $2.test(a2) || !_.test(a2) ? d2 = parseInt(a2, 10) : _.test(a2) && (d2 = 1e3 * parseFloat(a2)), 0 > d2 && (d2 = 0), d2 === d2 ? d2 : c2;
        }
        function j(a2) {
          U.debug && window && window.console.warn(a2);
        }
        function k(a2) {
          for (var b2 = -1, c2 = a2 ? a2.length : 0, d2 = []; ++b2 < c2; ) {
            var e2 = a2[b2];
            e2 && d2.push(e2);
          }
          return d2;
        }
        var l = function(a2, b2, c2) {
          function d2(a3) {
            return "object" == typeof a3;
          }
          function e2(a3) {
            return "function" == typeof a3;
          }
          function f2() {
          }
          function g2(h2, i2) {
            function j2() {
              var a3 = new k2();
              return e2(a3.init) && a3.init.apply(a3, arguments), a3;
            }
            function k2() {
            }
            i2 === c2 && (i2 = h2, h2 = Object), j2.Bare = k2;
            var l2, m2 = f2[a2] = h2[a2], n2 = k2[a2] = j2[a2] = new f2();
            return n2.constructor = j2, j2.mixin = function(b3) {
              return k2[a2] = j2[a2] = g2(j2, b3)[a2], j2;
            }, j2.open = function(a3) {
              if (l2 = {}, e2(a3) ? l2 = a3.call(j2, n2, m2, j2, h2) : d2(a3) && (l2 = a3), d2(l2))
                for (var c3 in l2)
                  b2.call(l2, c3) && (n2[c3] = l2[c3]);
              return e2(n2.init) || (n2.init = h2), j2;
            }, j2.open(i2);
          }
          return g2;
        }("prototype", {}.hasOwnProperty), m = {
          ease: [
            "ease",
            function(a2, b2, c2, d2) {
              var e2 = (a2 /= d2) * a2, f2 = e2 * a2;
              return b2 + c2 * (-2.75 * f2 * e2 + 11 * e2 * e2 + -15.5 * f2 + 8 * e2 + 0.25 * a2);
            }
          ],
          "ease-in": [
            "ease-in",
            function(a2, b2, c2, d2) {
              var e2 = (a2 /= d2) * a2, f2 = e2 * a2;
              return b2 + c2 * (-1 * f2 * e2 + 3 * e2 * e2 + -3 * f2 + 2 * e2);
            }
          ],
          "ease-out": [
            "ease-out",
            function(a2, b2, c2, d2) {
              var e2 = (a2 /= d2) * a2, f2 = e2 * a2;
              return b2 + c2 * (0.3 * f2 * e2 + -1.6 * e2 * e2 + 2.2 * f2 + -1.8 * e2 + 1.9 * a2);
            }
          ],
          "ease-in-out": [
            "ease-in-out",
            function(a2, b2, c2, d2) {
              var e2 = (a2 /= d2) * a2, f2 = e2 * a2;
              return b2 + c2 * (2 * f2 * e2 + -5 * e2 * e2 + 2 * f2 + 2 * e2);
            }
          ],
          linear: [
            "linear",
            function(a2, b2, c2, d2) {
              return c2 * a2 / d2 + b2;
            }
          ],
          "ease-in-quad": [
            "cubic-bezier(0.550, 0.085, 0.680, 0.530)",
            function(a2, b2, c2, d2) {
              return c2 * (a2 /= d2) * a2 + b2;
            }
          ],
          "ease-out-quad": [
            "cubic-bezier(0.250, 0.460, 0.450, 0.940)",
            function(a2, b2, c2, d2) {
              return -c2 * (a2 /= d2) * (a2 - 2) + b2;
            }
          ],
          "ease-in-out-quad": [
            "cubic-bezier(0.455, 0.030, 0.515, 0.955)",
            function(a2, b2, c2, d2) {
              return (a2 /= d2 / 2) < 1 ? c2 / 2 * a2 * a2 + b2 : -c2 / 2 * (--a2 * (a2 - 2) - 1) + b2;
            }
          ],
          "ease-in-cubic": [
            "cubic-bezier(0.550, 0.055, 0.675, 0.190)",
            function(a2, b2, c2, d2) {
              return c2 * (a2 /= d2) * a2 * a2 + b2;
            }
          ],
          "ease-out-cubic": [
            "cubic-bezier(0.215, 0.610, 0.355, 1)",
            function(a2, b2, c2, d2) {
              return c2 * ((a2 = a2 / d2 - 1) * a2 * a2 + 1) + b2;
            }
          ],
          "ease-in-out-cubic": [
            "cubic-bezier(0.645, 0.045, 0.355, 1)",
            function(a2, b2, c2, d2) {
              return (a2 /= d2 / 2) < 1 ? c2 / 2 * a2 * a2 * a2 + b2 : c2 / 2 * ((a2 -= 2) * a2 * a2 + 2) + b2;
            }
          ],
          "ease-in-quart": [
            "cubic-bezier(0.895, 0.030, 0.685, 0.220)",
            function(a2, b2, c2, d2) {
              return c2 * (a2 /= d2) * a2 * a2 * a2 + b2;
            }
          ],
          "ease-out-quart": [
            "cubic-bezier(0.165, 0.840, 0.440, 1)",
            function(a2, b2, c2, d2) {
              return -c2 * ((a2 = a2 / d2 - 1) * a2 * a2 * a2 - 1) + b2;
            }
          ],
          "ease-in-out-quart": [
            "cubic-bezier(0.770, 0, 0.175, 1)",
            function(a2, b2, c2, d2) {
              return (a2 /= d2 / 2) < 1 ? c2 / 2 * a2 * a2 * a2 * a2 + b2 : -c2 / 2 * ((a2 -= 2) * a2 * a2 * a2 - 2) + b2;
            }
          ],
          "ease-in-quint": [
            "cubic-bezier(0.755, 0.050, 0.855, 0.060)",
            function(a2, b2, c2, d2) {
              return c2 * (a2 /= d2) * a2 * a2 * a2 * a2 + b2;
            }
          ],
          "ease-out-quint": [
            "cubic-bezier(0.230, 1, 0.320, 1)",
            function(a2, b2, c2, d2) {
              return c2 * ((a2 = a2 / d2 - 1) * a2 * a2 * a2 * a2 + 1) + b2;
            }
          ],
          "ease-in-out-quint": [
            "cubic-bezier(0.860, 0, 0.070, 1)",
            function(a2, b2, c2, d2) {
              return (a2 /= d2 / 2) < 1 ? c2 / 2 * a2 * a2 * a2 * a2 * a2 + b2 : c2 / 2 * ((a2 -= 2) * a2 * a2 * a2 * a2 + 2) + b2;
            }
          ],
          "ease-in-sine": [
            "cubic-bezier(0.470, 0, 0.745, 0.715)",
            function(a2, b2, c2, d2) {
              return -c2 * Math.cos(a2 / d2 * (Math.PI / 2)) + c2 + b2;
            }
          ],
          "ease-out-sine": [
            "cubic-bezier(0.390, 0.575, 0.565, 1)",
            function(a2, b2, c2, d2) {
              return c2 * Math.sin(a2 / d2 * (Math.PI / 2)) + b2;
            }
          ],
          "ease-in-out-sine": [
            "cubic-bezier(0.445, 0.050, 0.550, 0.950)",
            function(a2, b2, c2, d2) {
              return -c2 / 2 * (Math.cos(Math.PI * a2 / d2) - 1) + b2;
            }
          ],
          "ease-in-expo": [
            "cubic-bezier(0.950, 0.050, 0.795, 0.035)",
            function(a2, b2, c2, d2) {
              return 0 === a2 ? b2 : c2 * Math.pow(2, 10 * (a2 / d2 - 1)) + b2;
            }
          ],
          "ease-out-expo": [
            "cubic-bezier(0.190, 1, 0.220, 1)",
            function(a2, b2, c2, d2) {
              return a2 === d2 ? b2 + c2 : c2 * (-Math.pow(2, -10 * a2 / d2) + 1) + b2;
            }
          ],
          "ease-in-out-expo": [
            "cubic-bezier(1, 0, 0, 1)",
            function(a2, b2, c2, d2) {
              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;
            }
          ],
          "ease-in-circ": [
            "cubic-bezier(0.600, 0.040, 0.980, 0.335)",
            function(a2, b2, c2, d2) {
              return -c2 * (Math.sqrt(1 - (a2 /= d2) * a2) - 1) + b2;
            }
          ],
          "ease-out-circ": [
            "cubic-bezier(0.075, 0.820, 0.165, 1)",
            function(a2, b2, c2, d2) {
              return c2 * Math.sqrt(1 - (a2 = a2 / d2 - 1) * a2) + b2;
            }
          ],
          "ease-in-out-circ": [
            "cubic-bezier(0.785, 0.135, 0.150, 0.860)",
            function(a2, b2, c2, d2) {
              return (a2 /= d2 / 2) < 1 ? -c2 / 2 * (Math.sqrt(1 - a2 * a2) - 1) + b2 : c2 / 2 * (Math.sqrt(1 - (a2 -= 2) * a2) + 1) + b2;
            }
          ],
          "ease-in-back": [
            "cubic-bezier(0.600, -0.280, 0.735, 0.045)",
            function(a2, b2, c2, d2, e2) {
              return void 0 === e2 && (e2 = 1.70158), c2 * (a2 /= d2) * a2 * ((e2 + 1) * a2 - e2) + b2;
            }
          ],
          "ease-out-back": [
            "cubic-bezier(0.175, 0.885, 0.320, 1.275)",
            function(a2, b2, c2, d2, e2) {
              return void 0 === e2 && (e2 = 1.70158), c2 * ((a2 = a2 / d2 - 1) * a2 * ((e2 + 1) * a2 + e2) + 1) + b2;
            }
          ],
          "ease-in-out-back": [
            "cubic-bezier(0.680, -0.550, 0.265, 1.550)",
            function(a2, b2, c2, d2, e2) {
              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;
            }
          ]
        }, n = {
          "ease-in-back": "cubic-bezier(0.600, 0, 0.735, 0.045)",
          "ease-out-back": "cubic-bezier(0.175, 0.885, 0.320, 1)",
          "ease-in-out-back": "cubic-bezier(0.680, 0, 0.265, 1)"
        }, 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 = [
          "Webkit",
          "Moz",
          "O",
          "ms"
        ], E = [
          "-webkit-",
          "-moz-",
          "-o-",
          "-ms-"
        ], F = function(a2) {
          if (a2 in C.style)
            return {
              dom: a2,
              css: a2
            };
          var b2, c2, d2 = "", e2 = a2.split("-");
          for (b2 = 0; b2 < e2.length; b2++)
            d2 += e2[b2].charAt(0).toUpperCase() + e2[b2].slice(1);
          for (b2 = 0; b2 < D.length; b2++)
            if (c2 = D[b2] + d2, c2 in C.style)
              return {
                dom: c2,
                css: E[b2] + a2
              };
        }, G = b.support = {
          bind: Function.prototype.bind,
          transform: F("transform"),
          transition: F("transition"),
          backface: F("backface-visibility"),
          timing: F("transition-timing-function")
        };
        if (G.transition) {
          var H = G.timing.dom;
          if (C.style[H] = m["ease-in-back"][0], !C.style[H])
            for (var I in n)
              m[I][0] = n[I];
        }
        var J = b.frame = function() {
          var a2 = p.requestAnimationFrame || p.webkitRequestAnimationFrame || p.mozRequestAnimationFrame || p.oRequestAnimationFrame || p.msRequestAnimationFrame;
          return a2 && G.bind ? a2.bind(p) : function(a3) {
            p.setTimeout(a3, 16);
          };
        }(), K = b.now = function() {
          var a2 = p.performance, b2 = a2 && (a2.now || a2.webkitNow || a2.msNow || a2.mozNow);
          return b2 && G.bind ? b2.bind(a2) : Date.now || function() {
            return +/* @__PURE__ */ new Date();
          };
        }(), L = l(function(b2) {
          function d2(a2, b3) {
            var c2 = k(("" + a2).split(B)), d3 = c2[0];
            b3 = b3 || {};
            var e3 = Y[d3];
            if (!e3)
              return j("Unsupported property: " + d3);
            if (!b3.weak || !this.props[d3]) {
              var f3 = e3[0], g3 = this.props[d3];
              return g3 || (g3 = this.props[d3] = new f3.Bare()), g3.init(this.$el, c2, e3, b3), g3;
            }
          }
          function e2(a2, b3, c2) {
            if (a2) {
              var e3 = typeof a2;
              if (b3 || (this.timer && this.timer.destroy(), this.queue = [], this.active = false), "number" == e3 && b3)
                return this.timer = new S({
                  duration: a2,
                  context: this,
                  complete: h2
                }), void (this.active = true);
              if ("string" == e3 && b3) {
                switch (a2) {
                  case "hide":
                    o2.call(this);
                    break;
                  case "stop":
                    l2.call(this);
                    break;
                  case "redraw":
                    p2.call(this);
                    break;
                  default:
                    d2.call(this, a2, c2 && c2[1]);
                }
                return h2.call(this);
              }
              if ("function" == e3)
                return void a2.call(this, this);
              if ("object" == e3) {
                var f3 = 0;
                u2.call(this, a2, function(a3, b4) {
                  a3.span > f3 && (f3 = a3.span), a3.stop(), a3.animate(b4);
                }, function(a3) {
                  "wait" in a3 && (f3 = i(a3.wait, 0));
                }), t2.call(this), f3 > 0 && (this.timer = new S({
                  duration: f3,
                  context: this
                }), this.active = true, b3 && (this.timer.complete = h2));
                var g3 = this, j2 = false, k2 = {};
                J(function() {
                  u2.call(g3, a2, function(a3) {
                    a3.active && (j2 = true, k2[a3.name] = a3.nextStyle);
                  }), j2 && g3.$el.css(k2);
                });
              }
            }
          }
          function f2(a2) {
            a2 = i(a2, 0), this.active ? this.queue.push({
              options: a2
            }) : (this.timer = new S({
              duration: a2,
              context: this,
              complete: h2
            }), this.active = true);
          }
          function g2(a2) {
            return this.active ? (this.queue.push({
              options: a2,
              args: arguments
            }), void (this.timer.complete = h2)) : j("No active transition timer. Use start() or wait() before then().");
          }
          function h2() {
            if (this.timer && this.timer.destroy(), this.active = false, this.queue.length) {
              var a2 = this.queue.shift();
              e2.call(this, a2.options, true, a2.args);
            }
          }
          function l2(a2) {
            this.timer && this.timer.destroy(), this.queue = [], this.active = false;
            var b3;
            "string" == typeof a2 ? (b3 = {}, b3[a2] = 1) : b3 = "object" == typeof a2 && null != a2 ? a2 : this.props, u2.call(this, b3, v2), t2.call(this);
          }
          function m2(a2) {
            l2.call(this, a2), u2.call(this, a2, w2, x2);
          }
          function n2(a2) {
            "string" != typeof a2 && (a2 = "block"), this.el.style.display = a2;
          }
          function o2() {
            l2.call(this), this.el.style.display = "none";
          }
          function p2() {
            this.el.offsetHeight;
          }
          function r2() {
            l2.call(this), a.removeData(this.el, q), this.$el = this.el = null;
          }
          function t2() {
            var a2, b3, c2 = [];
            this.upstream && c2.push(this.upstream);
            for (a2 in this.props)
              b3 = this.props[a2], b3.active && c2.push(b3.string);
            c2 = c2.join(","), this.style !== c2 && (this.style = c2, this.el.style[G.transition.dom] = c2);
          }
          function u2(a2, b3, e3) {
            var f3, g3, h3, i2, j2 = b3 !== v2, k2 = {};
            for (f3 in a2)
              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));
            for (f3 in k2) {
              if (h3 = k2[f3], g3 = this.props[f3], !g3) {
                if (!j2)
                  continue;
                g3 = d2.call(this, f3);
              }
              b3.call(this, g3, h3);
            }
            e3 && i2 && e3.call(this, i2);
          }
          function v2(a2) {
            a2.stop();
          }
          function w2(a2, b3) {
            a2.set(b3);
          }
          function x2(a2) {
            this.$el.css(a2);
          }
          function y2(a2, c2) {
            b2[a2] = function() {
              return this.children ? A2.call(this, c2, arguments) : (this.el && c2.apply(this, arguments), this);
            };
          }
          function A2(a2, b3) {
            var c2, d3 = this.children.length;
            for (c2 = 0; d3 > c2; c2++)
              a2.apply(this.children[c2], b3);
            return this;
          }
          b2.init = function(b3) {
            if (this.$el = a(b3), this.el = this.$el[0], this.props = {}, this.queue = [], this.style = "", this.active = false, U.keepInherited && !U.fallback) {
              var c2 = W(this.el, "transition");
              c2 && !z.test(c2) && (this.upstream = c2);
            }
            G.backface && U.hideBackface && V(this.el, G.backface.css, "hidden");
          }, 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);
        }), M = l(L, function(b2) {
          function c2(b3, c3) {
            var d2 = a.data(b3, q) || a.data(b3, q, new L.Bare());
            return d2.el || d2.init(b3), c3 ? d2.start(c3) : d2;
          }
          b2.init = function(b3, d2) {
            var e2 = a(b3);
            if (!e2.length)
              return this;
            if (1 === e2.length)
              return c2(e2[0], d2);
            var f2 = [];
            return e2.each(function(a2, b4) {
              f2.push(c2(b4, d2));
            }), this.children = f2, this;
          };
        }), N = l(function(a2) {
          function b2() {
            var a3 = this.get();
            this.update("auto");
            var b3 = this.get();
            return this.update(a3), b3;
          }
          function c2(a3, b3, c3) {
            return void 0 !== b3 && (c3 = b3), a3 in m ? a3 : c3;
          }
          function d2(a3) {
            var b3 = /rgba?\((\d+),\s*(\d+),\s*(\d+)/.exec(a3);
            return (b3 ? e(b3[1], b3[2], b3[3]) : a3).replace(/#(\w)(\w)(\w)$/, "#$1$1$2$2$3$3");
          }
          var f2 = {
            duration: 500,
            ease: "ease",
            delay: 0
          };
          a2.init = function(a3, b3, d3, e2) {
            this.$el = a3, this.el = a3[0];
            var g2 = b3[0];
            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" : ""));
          }, a2.set = function(a3) {
            a3 = this.convert(a3, this.type), this.update(a3), this.redraw();
          }, a2.transition = function(a3) {
            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;
          }, a2.fallback = function(a3) {
            var c3 = this.el.style[this.name] || this.convert(this.get(), this.type);
            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({
              from: c3,
              to: a3,
              duration: this.duration,
              delay: this.delay,
              ease: this.ease,
              update: this.update,
              context: this
            });
          }, a2.get = function() {
            return W(this.el, this.name);
          }, a2.update = function(a3) {
            V(this.el, this.name, a3);
          }, a2.stop = function() {
            (this.active || this.nextStyle) && (this.active = false, this.nextStyle = null, V(this.el, this.name, this.get()));
            var a3 = this.tween;
            a3 && a3.context && a3.destroy();
          }, a2.convert = function(a3, b3) {
            if ("auto" == a3 && this.auto)
              return a3;
            var c3, e2 = "number" == typeof a3, f3 = "string" == typeof a3;
            switch (b3) {
              case t:
                if (e2)
                  return a3;
                if (f3 && "" === a3.replace(r, ""))
                  return +a3;
                c3 = "number(unitless)";
                break;
              case u:
                if (f3) {
                  if ("" === a3 && this.original)
                    return this.original;
                  if (b3.test(a3))
                    return "#" == a3.charAt(0) && 7 == a3.length ? a3 : d2(a3);
                }
                c3 = "hex or rgb string";
                break;
              case v:
                if (e2)
                  return a3 + this.unit;
                if (f3 && b3.test(a3))
                  return a3;
                c3 = "number(px) or string(unit)";
                break;
              case w:
                if (e2)
                  return a3 + this.unit;
                if (f3 && b3.test(a3))
                  return a3;
                c3 = "number(px) or string(unit or %)";
                break;
              case x:
                if (e2)
                  return a3 + this.angle;
                if (f3 && b3.test(a3))
                  return a3;
                c3 = "number(deg) or string(angle)";
                break;
              case y:
                if (e2)
                  return a3;
                if (f3 && w.test(a3))
                  return a3;
                c3 = "number(unitless) or string(unit or %)";
            }
            return g(c3, a3), a3;
          }, a2.redraw = function() {
            this.el.offsetHeight;
          };
        }), O = l(N, function(a2, b2) {
          a2.init = function() {
            b2.init.apply(this, arguments), this.original || (this.original = this.convert(this.get(), u));
          };
        }), P = l(N, function(a2, b2) {
          a2.init = function() {
            b2.init.apply(this, arguments), this.animate = this.fallback;
          }, a2.get = function() {
            return this.$el[this.name]();
          }, a2.update = function(a3) {
            this.$el[this.name](a3);
          };
        }), Q = l(N, function(a2, b2) {
          function c2(a3, b3) {
            var c3, d2, e2, f2, g2;
            for (c3 in a3)
              f2 = Z[c3], e2 = f2[0], d2 = f2[1] || c3, g2 = this.convert(a3[c3], e2), b3.call(this, d2, g2, e2);
          }
          a2.init = function() {
            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()));
          }, a2.set = function(a3) {
            c2.call(this, a3, function(a4, b3) {
              this.current[a4] = b3;
            }), V(this.el, this.name, this.style(this.current)), this.redraw();
          }, a2.transition = function(a3) {
            var b3 = this.values(a3);
            this.tween = new T({
              current: this.current,
              values: b3,
              duration: this.duration,
              delay: this.delay,
              ease: this.ease
            });
            var c3, d2 = {};
            for (c3 in this.current)
              d2[c3] = c3 in b3 ? b3[c3] : this.current[c3];
            this.active = true, this.nextStyle = this.style(d2);
          }, a2.fallback = function(a3) {
            var b3 = this.values(a3);
            this.tween = new T({
              current: this.current,
              values: b3,
              duration: this.duration,
              delay: this.delay,
              ease: this.ease,
              update: this.update,
              context: this
            });
          }, a2.update = function() {
            V(this.el, this.name, this.style(this.current));
          }, a2.style = function(a3) {
            var b3, c3 = "";
            for (b3 in a3)
              c3 += b3 + "(" + a3[b3] + ") ";
            return c3;
          }, a2.values = function(a3) {
            var b3, d2 = {};
            return c2.call(this, a3, function(a4, c3, e2) {
              d2[a4] = c3, void 0 === this.current[a4] && (b3 = 0, ~a4.indexOf("scale") && (b3 = 1), this.current[a4] = this.convert(b3, e2));
            }), d2;
          };
        }), R = l(function(b2) {
          function c2(a2) {
            1 === n2.push(a2) && J(g2);
          }
          function g2() {
            var a2, b3, c3, d2 = n2.length;
            if (d2)
              for (J(g2), b3 = K(), a2 = d2; a2--; )
                c3 = n2[a2], c3 && c3.render(b3);
          }
          function i2(b3) {
            var c3, d2 = a.inArray(b3, n2);
            d2 >= 0 && (c3 = n2.slice(d2 + 1), n2.length = d2, c3.length && (n2 = n2.concat(c3)));
          }
          function j2(a2) {
            return Math.round(a2 * o2) / o2;
          }
          function k2(a2, b3, c3) {
            return e(a2[0] + c3 * (b3[0] - a2[0]), a2[1] + c3 * (b3[1] - a2[1]), a2[2] + c3 * (b3[2] - a2[2]));
          }
          var l2 = {
            ease: m.ease[1],
            from: 0,
            to: 1
          };
          b2.init = function(a2) {
            this.duration = a2.duration || 0, this.delay = a2.delay || 0;
            var b3 = a2.ease || l2.ease;
            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;
            var c3 = a2.from, d2 = a2.to;
            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();
          }, b2.play = function() {
            this.active || (this.start || (this.start = K()), this.active = true, c2(this));
          }, b2.stop = function() {
            this.active && (this.active = false, i2(this));
          }, b2.render = function(a2) {
            var b3, c3 = a2 - this.start;
            if (this.delay) {
              if (c3 <= this.delay)
                return;
              c3 -= this.delay;
            }
            if (c3 < this.duration) {
              var d2 = this.ease(c3, 0, 1, this.duration);
              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);
            }
            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();
          }, b2.format = function(a2, b3) {
            if (b3 += "", a2 += "", "#" == a2.charAt(0))
              return this.startRGB = d(b3), this.endRGB = d(a2), this.endHex = a2, this.begin = 0, void (this.change = 1);
            if (!this.unit) {
              var c3 = b3.replace(r, ""), e2 = a2.replace(r, "");
              c3 !== e2 && h("tween", b3, a2), this.unit = c3;
            }
            b3 = parseFloat(b3), a2 = parseFloat(a2), this.begin = this.value = b3, this.change = a2 - b3;
          }, b2.destroy = function() {
            this.stop(), this.context = null, this.ease = this.update = this.complete = f;
          };
          var n2 = [], o2 = 1e3;
        }), S = l(R, function(a2) {
          a2.init = function(a3) {
            this.duration = a3.duration || 0, this.complete = a3.complete || f, this.context = a3.context, this.play();
          }, a2.render = function(a3) {
            var b2 = a3 - this.start;
            b2 < this.duration || (this.complete.call(this.context), this.destroy());
          };
        }), T = l(R, function(a2, b2) {
          a2.init = function(a3) {
            this.context = a3.context, this.update = a3.update, this.tweens = [], this.current = a3.current;
            var b3, c2;
            for (b3 in a3.values)
              c2 = a3.values[b3], this.current[b3] !== c2 && this.tweens.push(new R({
                name: b3,
                from: this.current[b3],
                to: c2,
                duration: a3.duration,
                delay: a3.delay,
                ease: a3.ease,
                autoplay: false
              }));
            this.play();
          }, a2.render = function(a3) {
            var b3, c2, d2 = this.tweens.length, e2 = false;
            for (b3 = d2; b3--; )
              c2 = this.tweens[b3], c2.context && (c2.render(a3), this.current[c2.name] = c2.value, e2 = true);
            return e2 ? void (this.update && this.update.call(this.context)) : this.destroy();
          }, a2.destroy = function() {
            if (b2.destroy.call(this), this.tweens) {
              var a3, c2 = this.tweens.length;
              for (a3 = c2; a3--; )
                this.tweens[a3].destroy();
              this.tweens = null, this.current = null;
            }
          };
        }), U = b.config = {
          debug: false,
          defaultUnit: "px",
          defaultAngle: "deg",
          keepInherited: false,
          hideBackface: false,
          perspective: "",
          fallback: !G.transition,
          agentTests: []
        };
        b.fallback = function(a2) {
          if (!G.transition)
            return U.fallback = true;
          U.agentTests.push("(" + a2 + ")");
          var b2 = new RegExp(U.agentTests.join("|"), "i");
          U.fallback = b2.test(navigator.userAgent);
        }, b.fallback("6.0.[2-5] Safari"), b.tween = function(a2) {
          return new R(a2);
        }, b.delay = function(a2, b2, c2) {
          return new S({
            complete: b2,
            duration: a2,
            context: c2
          });
        }, a.fn.tram = function(a2) {
          return b.call(null, this, a2);
        };
        var V = a.style, W = a.css, X = {
          transform: G.transform && G.transform.css
        }, Y = {
          color: [
            O,
            u
          ],
          background: [
            O,
            u,
            "background-color"
          ],
          "outline-color": [
            O,
            u
          ],
          "border-color": [
            O,
            u
          ],
          "border-top-color": [
            O,
            u
          ],
          "border-right-color": [
            O,
            u
          ],
          "border-bottom-color": [
            O,
            u
          ],
          "border-left-color": [
            O,
            u
          ],
          "border-width": [
            N,
            v
          ],
          "border-top-width": [
            N,
            v
          ],
          "border-right-width": [
            N,
            v
          ],
          "border-bottom-width": [
            N,
            v
          ],
          "border-left-width": [
            N,
            v
          ],
          "border-spacing": [
            N,
            v
          ],
          "letter-spacing": [
            N,
            v
          ],
          margin: [
            N,
            v
          ],
          "margin-top": [
            N,
            v
          ],
          "margin-right": [
            N,
            v
          ],
          "margin-bottom": [
            N,
            v
          ],
          "margin-left": [
            N,
            v
          ],
          padding: [
            N,
            v
          ],
          "padding-top": [
            N,
            v
          ],
          "padding-right": [
            N,
            v
          ],
          "padding-bottom": [
            N,
            v
          ],
          "padding-left": [
            N,
            v
          ],
          "outline-width": [
            N,
            v
          ],
          opacity: [
            N,
            t
          ],
          top: [
            N,
            w
          ],
          right: [
            N,
            w
          ],
          bottom: [
            N,
            w
          ],
          left: [
            N,
            w
          ],
          "font-size": [
            N,
            w
          ],
          "text-indent": [
            N,
            w
          ],
          "word-spacing": [
            N,
            w
          ],
          width: [
            N,
            w
          ],
          "min-width": [
            N,
            w
          ],
          "max-width": [
            N,
            w
          ],
          height: [
            N,
            w
          ],
          "min-height": [
            N,
            w
          ],
          "max-height": [
            N,
            w
          ],
          "line-height": [
            N,
            y
          ],
          "scroll-top": [
            P,
            t,
            "scrollTop"
          ],
          "scroll-left": [
            P,
            t,
            "scrollLeft"
          ]
        }, Z = {};
        G.transform && (Y.transform = [
          Q
        ], Z = {
          x: [
            w,
            "translateX"
          ],
          y: [
            w,
            "translateY"
          ],
          rotate: [
            x
          ],
          rotateX: [
            x
          ],
          rotateY: [
            x
          ],
          scale: [
            t
          ],
          scaleX: [
            t
          ],
          scaleY: [
            t
          ],
          skew: [
            x
          ],
          skewX: [
            x
          ],
          skewY: [
            x
          ]
        }), G.transform && G.backface && (Z.z = [
          w,
          "translateZ"
        ], Z.rotateZ = [
          x
        ], Z.scaleZ = [
          t
        ], Z.perspective = [
          v
        ]);
        var $2 = /ms/, _ = /s|\./;
        return a.tram = b;
      }(window.jQuery);
    }
  });

  // packages/shared/render/plugins/BaseSiteModules/underscore-custom.js
  var require_underscore_custom = __commonJS({
    "packages/shared/render/plugins/BaseSiteModules/underscore-custom.js"(exports, module2) {
      "use strict";
      var $2 = window.$;
      var tram = require_tram_min() && $2.tram;
      module2.exports = function() {
        var _ = {};
        _.VERSION = "1.6.0-Webflow";
        var breaker = {};
        var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
        var push = ArrayProto.push, slice3 = ArrayProto.slice, concat2 = ArrayProto.concat, toString3 = ObjProto.toString, hasOwnProperty9 = ObjProto.hasOwnProperty;
        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;
        var each = _.each = _.forEach = function(obj, iterator, context) {
          if (obj == null)
            return obj;
          if (nativeForEach && obj.forEach === nativeForEach) {
            obj.forEach(iterator, context);
          } else if (obj.length === +obj.length) {
            for (var i = 0, length = obj.length; i < length; i++) {
              if (iterator.call(context, obj[i], i, obj) === breaker)
                return;
            }
          } else {
            var keys = _.keys(obj);
            for (var i = 0, length = keys.length; i < length; i++) {
              if (iterator.call(context, obj[keys[i]], keys[i], obj) === breaker)
                return;
            }
          }
          return obj;
        };
        _.map = _.collect = function(obj, iterator, context) {
          var results = [];
          if (obj == null)
            return results;
          if (nativeMap && obj.map === nativeMap)
            return obj.map(iterator, context);
          each(obj, function(value, index, list) {
            results.push(iterator.call(context, value, index, list));
          });
          return results;
        };
        _.find = _.detect = function(obj, predicate, context) {
          var result2;
          any(obj, function(value, index, list) {
            if (predicate.call(context, value, index, list)) {
              result2 = value;
              return true;
            }
          });
          return result2;
        };
        _.filter = _.select = function(obj, predicate, context) {
          var results = [];
          if (obj == null)
            return results;
          if (nativeFilter && obj.filter === nativeFilter)
            return obj.filter(predicate, context);
          each(obj, function(value, index, list) {
            if (predicate.call(context, value, index, list))
              results.push(value);
          });
          return results;
        };
        var any = _.some = _.any = function(obj, predicate, context) {
          predicate || (predicate = _.identity);
          var result2 = false;
          if (obj == null)
            return result2;
          if (nativeSome && obj.some === nativeSome)
            return obj.some(predicate, context);
          each(obj, function(value, index, list) {
            if (result2 || (result2 = predicate.call(context, value, index, list)))
              return breaker;
          });
          return !!result2;
        };
        _.contains = _.include = function(obj, target) {
          if (obj == null)
            return false;
          if (nativeIndexOf && obj.indexOf === nativeIndexOf)
            return obj.indexOf(target) != -1;
          return any(obj, function(value) {
            return value === target;
          });
        };
        _.delay = function(func, wait) {
          var args = slice3.call(arguments, 2);
          return setTimeout(function() {
            return func.apply(null, args);
          }, wait);
        };
        _.defer = function(func) {
          return _.delay.apply(_, [
            func,
            1
          ].concat(slice3.call(arguments, 1)));
        };
        _.throttle = function(func) {
          var wait, args, context;
          return function() {
            if (wait)
              return;
            wait = true;
            args = arguments;
            context = this;
            tram.frame(function() {
              wait = false;
              func.apply(context, args);
            });
          };
        };
        _.debounce = function(func, wait, immediate) {
          var timeout, args, context, timestamp, result2;
          var later = function() {
            var last = _.now() - timestamp;
            if (last < wait) {
              timeout = setTimeout(later, wait - last);
            } else {
              timeout = null;
              if (!immediate) {
                result2 = func.apply(context, args);
                context = args = null;
              }
            }
          };
          return function() {
            context = this;
            args = arguments;
            timestamp = _.now();
            var callNow = immediate && !timeout;
            if (!timeout) {
              timeout = setTimeout(later, wait);
            }
            if (callNow) {
              result2 = func.apply(context, args);
              context = args = null;
            }
            return result2;
          };
        };
        _.defaults = function(obj) {
          if (!_.isObject(obj))
            return obj;
          for (var i = 1, length = arguments.length; i < length; i++) {
            var source = arguments[i];
            for (var prop in source) {
              if (obj[prop] === void 0)
                obj[prop] = source[prop];
            }
          }
          return obj;
        };
        _.keys = function(obj) {
          if (!_.isObject(obj))
            return [];
          if (nativeKeys)
            return nativeKeys(obj);
          var keys = [];
          for (var key in obj)
            if (_.has(obj, key))
              keys.push(key);
          return keys;
        };
        _.has = function(obj, key) {
          return hasOwnProperty9.call(obj, key);
        };
        _.isObject = function(obj) {
          return obj === Object(obj);
        };
        _.now = Date.now || function() {
          return (/* @__PURE__ */ new Date()).getTime();
        };
        _.templateSettings = {
          evaluate: /<%([\s\S]+?)%>/g,
          interpolate: /<%=([\s\S]+?)%>/g,
          escape: /<%-([\s\S]+?)%>/g
        };
        var noMatch = /(.)^/;
        var escapes = {
          "'": "'",
          "\\": "\\",
          "\r": "r",
          "\n": "n",
          "\u2028": "u2028",
          "\u2029": "u2029"
        };
        var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g;
        var escapeChar = function(match) {
          return "\\" + escapes[match];
        };
        var bareIdentifier = /^\s*(\w|\$)+\s*$/;
        _.template = function(text, settings, oldSettings) {
          if (!settings && oldSettings)
            settings = oldSettings;
          settings = _.defaults({}, settings, _.templateSettings);
          var matcher = RegExp([
            (settings.escape || noMatch).source,
            (settings.interpolate || noMatch).source,
            (settings.evaluate || noMatch).source
          ].join("|") + "|$", "g");
          var index = 0;
          var source = "__p+='";
          text.replace(matcher, function(match, escape5, interpolate, evaluate, offset) {
            source += text.slice(index, offset).replace(escapeRegExp, escapeChar);
            index = offset + match.length;
            if (escape5) {
              source += "'+\n((__t=(" + escape5 + "))==null?'':_.escape(__t))+\n'";
            } else if (interpolate) {
              source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
            } else if (evaluate) {
              source += "';\n" + evaluate + "\n__p+='";
            }
            return match;
          });
          source += "';\n";
          var argument = settings.variable;
          if (argument) {
            if (!bareIdentifier.test(argument))
              throw new Error("variable is not a bare identifier: " + argument);
          } else {
            source = "with(obj||{}){\n" + source + "}\n";
            argument = "obj";
          }
          source = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + source + "return __p;\n";
          var render;
          try {
            render = new Function(settings.variable || "obj", "_", source);
          } catch (e) {
            e.source = source;
            throw e;
          }
          var template = function(data) {
            return render.call(this, data, _);
          };
          template.source = "function(" + argument + "){\n" + source + "}";
          return template;
        };
        return _;
      }();
    }
  });

  // packages/shared/render/plugins/BaseSiteModules/webflow-lib.js
  var require_webflow_lib = __commonJS({
    "packages/shared/render/plugins/BaseSiteModules/webflow-lib.js"(exports, module2) {
      "use strict";
      var Webflow = {};
      var modules = {};
      var primary = [];
      var secondary = window.Webflow || [];
      var $2 = window.jQuery;
      var $win = $2(window);
      var $doc = $2(document);
      var isFunction3 = $2.isFunction;
      var _ = Webflow._ = require_underscore_custom();
      var tram = Webflow.tram = require_tram_min() && $2.tram;
      var domready = false;
      var destroyed = false;
      tram.config.hideBackface = false;
      tram.config.keepInherited = true;
      Webflow.define = function(name, factory, options) {
        if (modules[name]) {
          unbindModule(modules[name]);
        }
        var instance = modules[name] = factory($2, _, options) || {};
        bindModule(instance);
        return instance;
      };
      Webflow.require = function(name) {
        return modules[name];
      };
      function bindModule(module1) {
        if (Webflow.env()) {
          isFunction3(module1.design) && $win.on("__wf_design", module1.design);
          isFunction3(module1.preview) && $win.on("__wf_preview", module1.preview);
        }
        isFunction3(module1.destroy) && $win.on("__wf_destroy", module1.destroy);
        if (module1.ready && isFunction3(module1.ready)) {
          addReady(module1);
        }
      }
      function addReady(module1) {
        if (domready) {
          module1.ready();
          return;
        }
        if (_.contains(primary, module1.ready)) {
          return;
        }
        primary.push(module1.ready);
      }
      function unbindModule(module1) {
        isFunction3(module1.design) && $win.off("__wf_design", module1.design);
        isFunction3(module1.preview) && $win.off("__wf_preview", module1.preview);
        isFunction3(module1.destroy) && $win.off("__wf_destroy", module1.destroy);
        if (module1.ready && isFunction3(module1.ready)) {
          removeReady(module1);
        }
      }
      function removeReady(module1) {
        primary = _.filter(primary, function(readyFn) {
          return readyFn !== module1.ready;
        });
      }
      Webflow.push = function(ready) {
        if (domready) {
          isFunction3(ready) && ready();
          return;
        }
        secondary.push(ready);
      };
      Webflow.env = function(mode) {
        var designFlag = window.__wf_design;
        var inApp = typeof designFlag !== "undefined";
        if (!mode) {
          return inApp;
        }
        if (mode === "design") {
          return inApp && designFlag;
        }
        if (mode === "preview") {
          return inApp && !designFlag;
        }
        if (mode === "slug") {
          return inApp && window.__wf_slug;
        }
        if (mode === "editor") {
          return window.WebflowEditor;
        }
        if (mode === "test") {
          return window.__wf_test;
        }
        if (mode === "frame") {
          return window !== window.top;
        }
      };
      var userAgent = navigator.userAgent.toLowerCase();
      var touch = Webflow.env.touch = "ontouchstart" in window || window.DocumentTouch && document instanceof window.DocumentTouch;
      var chrome = Webflow.env.chrome = /chrome/.test(userAgent) && /Google/.test(navigator.vendor) && parseInt(userAgent.match(/chrome\/(\d+)\./)[1], 10);
      var ios = Webflow.env.ios = /(ipod|iphone|ipad)/.test(userAgent);
      Webflow.env.safari = /safari/.test(userAgent) && !chrome && !ios;
      var touchTarget;
      touch && $doc.on("touchstart mousedown", function(evt) {
        touchTarget = evt.target;
      });
      Webflow.validClick = touch ? function(clickTarget) {
        return clickTarget === touchTarget || $2.contains(clickTarget, touchTarget);
      } : function() {
        return true;
      };
      var resizeEvents = "resize.webflow orientationchange.webflow load.webflow";
      var scrollEvents = "scroll.webflow " + resizeEvents;
      Webflow.resize = eventProxy($win, resizeEvents);
      Webflow.scroll = eventProxy($win, scrollEvents);
      Webflow.redraw = eventProxy();
      function eventProxy(target, types) {
        var handlers = [];
        var proxy = {};
        proxy.up = _.throttle(function(evt) {
          _.each(handlers, function(h) {
            h(evt);
          });
        });
        if (target && types) {
          target.on(types, proxy.up);
        }
        proxy.on = function(handler) {
          if (typeof handler !== "function") {
            return;
          }
          if (_.contains(handlers, handler)) {
            return;
          }
          handlers.push(handler);
        };
        proxy.off = function(handler) {
          if (!arguments.length) {
            handlers = [];
            return;
          }
          handlers = _.filter(handlers, function(h) {
            return h !== handler;
          });
        };
        return proxy;
      }
      Webflow.location = function(url) {
        window.location = url;
      };
      if (Webflow.env()) {
        Webflow.location = function() {
        };
      }
      Webflow.ready = function() {
        domready = true;
        if (destroyed) {
          restoreModules();
        } else {
          _.each(primary, callReady);
        }
        _.each(secondary, callReady);
        Webflow.resize.up();
      };
      function callReady(readyFn) {
        isFunction3(readyFn) && readyFn();
      }
      function restoreModules() {
        destroyed = false;
        _.each(modules, bindModule);
      }
      var deferLoad;
      Webflow.load = function(handler) {
        deferLoad.then(handler);
      };
      function bindLoad() {
        if (deferLoad) {
          deferLoad.reject();
          $win.off("load", deferLoad.resolve);
        }
        deferLoad = new $2.Deferred();
        $win.on("load", deferLoad.resolve);
      }
      Webflow.destroy = function(options) {
        options = options || {};
        destroyed = true;
        $win.triggerHandler("__wf_destroy");
        if (options.domready != null) {
          domready = options.domready;
        }
        _.each(modules, unbindModule);
        Webflow.resize.off();
        Webflow.scroll.off();
        Webflow.redraw.off();
        primary = [];
        secondary = [];
        if (deferLoad.state() === "pending") {
          bindLoad();
        }
      };
      $2(Webflow.ready);
      bindLoad();
      module2.exports = window.Webflow = Webflow;
    }
  });

  // packages/shared/render/plugins/BaseSiteModules/webflow-brand.js
  var require_webflow_brand = __commonJS({
    "packages/shared/render/plugins/BaseSiteModules/webflow-brand.js"(exports, module2) {
      "use strict";
      var Webflow = require_webflow_lib();
      Webflow.define("brand", module2.exports = function($2) {
        var api = {};
        var doc = document;
        var $html = $2("html");
        var $body = $2("body");
        var namespace = ".w-webflow-badge";
        var location = window.location;
        var isPhantom = /PhantomJS/i.test(navigator.userAgent);
        var fullScreenEvents = "fullscreenchange webkitfullscreenchange mozfullscreenchange msfullscreenchange";
        var brandElement;
        api.ready = function() {
          var shouldBrand = $html.attr("data-wf-status");
          var publishedDomain = $html.attr("data-wf-domain") || "";
          if (/\.webflow\.io$/i.test(publishedDomain) && location.hostname !== publishedDomain) {
            shouldBrand = true;
          }
          if (shouldBrand && !isPhantom) {
            brandElement = brandElement || createBadge();
            ensureBrand();
            setTimeout(ensureBrand, 500);
            $2(doc).off(fullScreenEvents, onFullScreenChange).on(fullScreenEvents, onFullScreenChange);
          }
        };
        function onFullScreenChange() {
          var fullScreen = doc.fullScreen || doc.mozFullScreen || doc.webkitIsFullScreen || doc.msFullscreenElement || Boolean(doc.webkitFullscreenElement);
          $2(brandElement).attr("style", fullScreen ? "display: none !important;" : "");
        }
        function createBadge() {
          var $brand = $2('<a class="w-webflow-badge"></a>').attr("href", "https://webflow.com?utm_campaign=brandjs");
          var $logoArt = $2("<img>").attr("src", "https://d3e54v103j8qbb.cloudfront.net/img/webflow-badge-icon-d2.89e12c322e.svg").attr("alt", "").css({
            marginRight: "4px",
            width: "26px"
          });
          var $logoText = $2("<img>").attr("src", "https://d3e54v103j8qbb.cloudfront.net/img/webflow-badge-text-d2.c82cec3b78.svg").attr("alt", "Made in Webflow");
          $brand.append($logoArt, $logoText);
          return $brand[0];
        }
        function ensureBrand() {
          var found = $body.children(namespace);
          var match = found.length && found.get(0) === brandElement;
          var inEditor = Webflow.env("editor");
          if (match) {
            if (inEditor) {
              found.remove();
            }
            return;
          }
          if (found.length) {
            found.remove();
          }
          if (!inEditor) {
            $body.append(brandElement);
          }
        }
        return api;
      });
    }
  });

  // packages/shared/render/plugins/BaseSiteModules/webflow-edit.js
  var require_webflow_edit = __commonJS({
    "packages/shared/render/plugins/BaseSiteModules/webflow-edit.js"(exports, module2) {
      "use strict";
      var Webflow = require_webflow_lib();
      Webflow.define("edit", module2.exports = function($2, _, options) {
        options = options || {};
        if (Webflow.env("test") || Webflow.env("frame")) {
          if (!options.fixture && !inCypress()) {
            return {
              exit: 1
            };
          }
        }
        var api = {};
        var $win = $2(window);
        var $html = $2(document.documentElement);
        var location = document.location;
        var hashchange = "hashchange";
        var loaded;
        var loadEditor = options.load || load;
        var hasLocalStorage = false;
        try {
          hasLocalStorage = localStorage && localStorage.getItem && localStorage.getItem("WebflowEditor");
        } catch (e) {
        }
        if (hasLocalStorage) {
          loadEditor();
        } else if (location.search) {
          if (/[?&](edit)(?:[=&?]|$)/.test(location.search) || /\?edit$/.test(location.href)) {
            loadEditor();
          }
        } else {
          $win.on(hashchange, checkHash).triggerHandler(hashchange);
        }
        function checkHash() {
          if (loaded) {
            return;
          }
          if (/\?edit/.test(location.hash)) {
            loadEditor();
          }
        }
        function load() {
          loaded = true;
          window.WebflowEditor = true;
          $win.off(hashchange, checkHash);
          checkThirdPartyCookieSupport(function(thirdPartyCookiesSupported) {
            $2.ajax({
              url: cleanSlashes("https://editor-api.webflow.com/api/editor/view"),
              data: {
                siteId: $html.attr("data-wf-site")
              },
              xhrFields: {
                withCredentials: true
              },
              dataType: "json",
              crossDomain: true,
              success: success(thirdPartyCookiesSupported)
            });
          });
        }
        function success(thirdPartyCookiesSupported) {
          return function(data) {
            if (!data) {
              console.error("Could not load editor data");
              return;
            }
            data.thirdPartyCookiesSupported = thirdPartyCookiesSupported;
            getScript(prefix(data.scriptPath), function() {
              window.WebflowEditor(data);
            });
          };
        }
        function getScript(url, done) {
          $2.ajax({
            type: "GET",
            url,
            dataType: "script",
            cache: true
          }).then(done, error);
        }
        function error(jqXHR, textStatus, errorThrown) {
          console.error("Could not load editor script: " + textStatus);
          throw errorThrown;
        }
        function prefix(url) {
          return url.indexOf("//") >= 0 ? url : cleanSlashes("https://editor-api.webflow.com" + url);
        }
        function cleanSlashes(url) {
          return url.replace(/([^:])\/\//g, "$1/");
        }
        function checkThirdPartyCookieSupport(callback) {
          var iframe = window.document.createElement("iframe");
          iframe.src = "https://webflow.com/site/third-party-cookie-check.html";
          iframe.style.display = "none";
          iframe.sandbox = "allow-scripts allow-same-origin";
          var handleMessage = function(event) {
            if (event.data === "WF_third_party_cookies_unsupported") {
              cleanUpCookieCheckerIframe(iframe, handleMessage);
              callback(false);
            } else if (event.data === "WF_third_party_cookies_supported") {
              cleanUpCookieCheckerIframe(iframe, handleMessage);
              callback(true);
            }
          };
          iframe.onerror = function() {
            cleanUpCookieCheckerIframe(iframe, handleMessage);
            callback(false);
          };
          window.addEventListener("message", handleMessage, false);
          window.document.body.appendChild(iframe);
        }
        function cleanUpCookieCheckerIframe(iframe, listener) {
          window.removeEventListener("message", listener, false);
          iframe.remove();
        }
        return api;
      });
      function inCypress() {
        try {
          return window.top.__Cypress__;
        } catch (e) {
          return false;
        }
      }
    }
  });

  // packages/shared/render/plugins/BaseSiteModules/webflow-focus-visible.js
  var require_webflow_focus_visible = __commonJS({
    "packages/shared/render/plugins/BaseSiteModules/webflow-focus-visible.js"(exports, module2) {
      "use strict";
      var Webflow = require_webflow_lib();
      Webflow.define("focus-visible", module2.exports = function() {
        function applyFocusVisiblePolyfill(scope) {
          var hadKeyboardEvent = true;
          var hadFocusVisibleRecently = false;
          var hadFocusVisibleRecentlyTimeout = null;
          var inputTypesAllowlist = {
            text: true,
            search: true,
            url: true,
            tel: true,
            email: true,
            password: true,
            number: true,
            date: true,
            month: true,
            week: true,
            time: true,
            datetime: true,
            "datetime-local": true
          };
          function isValidFocusTarget(el) {
            if (el && el !== document && el.nodeName !== "HTML" && el.nodeName !== "BODY" && "classList" in el && "contains" in el.classList) {
              return true;
            }
            return false;
          }
          function focusTriggersKeyboardModality(el) {
            var type = el.type;
            var tagName = el.tagName;
            if (tagName === "INPUT" && inputTypesAllowlist[type] && !el.readOnly) {
              return true;
            }
            if (tagName === "TEXTAREA" && !el.readOnly) {
              return true;
            }
            if (el.isContentEditable) {
              return true;
            }
            return false;
          }
          function addFocusVisibleAttribute(el) {
            if (el.getAttribute("data-wf-focus-visible")) {
              return;
            }
            el.setAttribute("data-wf-focus-visible", "true");
          }
          function removeFocusVisibleAttribute(el) {
            if (!el.getAttribute("data-wf-focus-visible")) {
              return;
            }
            el.removeAttribute("data-wf-focus-visible");
          }
          function onKeyDown(e) {
            if (e.metaKey || e.altKey || e.ctrlKey) {
              return;
            }
            if (isValidFocusTarget(scope.activeElement)) {
              addFocusVisibleAttribute(scope.activeElement);
            }
            hadKeyboardEvent = true;
          }
          function onPointerDown() {
            hadKeyboardEvent = false;
          }
          function onFocus(e) {
            if (!isValidFocusTarget(e.target)) {
              return;
            }
            if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {
              addFocusVisibleAttribute(e.target);
            }
          }
          function onBlur(e) {
            if (!isValidFocusTarget(e.target)) {
              return;
            }
            if (e.target.hasAttribute("data-wf-focus-visible")) {
              hadFocusVisibleRecently = true;
              window.clearTimeout(hadFocusVisibleRecentlyTimeout);
              hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {
                hadFocusVisibleRecently = false;
              }, 100);
              removeFocusVisibleAttribute(e.target);
            }
          }
          function onVisibilityChange() {
            if (document.visibilityState === "hidden") {
              if (hadFocusVisibleRecently) {
                hadKeyboardEvent = true;
              }
              addInitialPointerMoveListeners();
            }
          }
          function addInitialPointerMoveListeners() {
            document.addEventListener("mousemove", onInitialPointerMove);
            document.addEventListener("mousedown", onInitialPointerMove);
            document.addEventListener("mouseup", onInitialPointerMove);
            document.addEventListener("pointermove", onInitialPointerMove);
            document.addEventListener("pointerdown", onInitialPointerMove);
            document.addEventListener("pointerup", onInitialPointerMove);
            document.addEventListener("touchmove", onInitialPointerMove);
            document.addEventListener("touchstart", onInitialPointerMove);
            document.addEventListener("touchend", onInitialPointerMove);
          }
          function removeInitialPointerMoveListeners() {
            document.removeEventListener("mousemove", onInitialPointerMove);
            document.removeEventListener("mousedown", onInitialPointerMove);
            document.removeEventListener("mouseup", onInitialPointerMove);
            document.removeEventListener("pointermove", onInitialPointerMove);
            document.removeEventListener("pointerdown", onInitialPointerMove);
            document.removeEventListener("pointerup", onInitialPointerMove);
            document.removeEventListener("touchmove", onInitialPointerMove);
            document.removeEventListener("touchstart", onInitialPointerMove);
            document.removeEventListener("touchend", onInitialPointerMove);
          }
          function onInitialPointerMove(e) {
            if (e.target.nodeName && e.target.nodeName.toLowerCase() === "html") {
              return;
            }
            hadKeyboardEvent = false;
            removeInitialPointerMoveListeners();
          }
          document.addEventListener("keydown", onKeyDown, true);
          document.addEventListener("mousedown", onPointerDown, true);
          document.addEventListener("pointerdown", onPointerDown, true);
          document.addEventListener("touchstart", onPointerDown, true);
          document.addEventListener("visibilitychange", onVisibilityChange, true);
          addInitialPointerMoveListeners();
          scope.addEventListener("focus", onFocus, true);
          scope.addEventListener("blur", onBlur, true);
        }
        function ready() {
          if (typeof document !== "undefined") {
            try {
              document.querySelector(":focus-visible");
            } catch (e) {
              applyFocusVisiblePolyfill(document);
            }
          }
        }
        return {
          ready
        };
      });
    }
  });

  // packages/shared/render/plugins/BaseSiteModules/webflow-focus.js
  var require_webflow_focus = __commonJS({
    "packages/shared/render/plugins/BaseSiteModules/webflow-focus.js"(exports, module2) {
      "use strict";
      var Webflow = require_webflow_lib();
      Webflow.define("focus", module2.exports = function() {
        var capturedEvents = [];
        var capturing = false;
        function captureEvent(e) {
          if (capturing) {
            e.preventDefault();
            e.stopPropagation();
            e.stopImmediatePropagation();
            capturedEvents.unshift(e);
          }
        }
        function isPolyfilledFocusEvent(e) {
          var el = e.target;
          var tag = el.tagName;
          return /^a$/i.test(tag) && el.href != null || // (A)
          /^(button|textarea)$/i.test(tag) && el.disabled !== true || // (B) (C)
          /^input$/i.test(tag) && /^(button|reset|submit|radio|checkbox)$/i.test(el.type) && !el.disabled || // (D)
          !/^(button|input|textarea|select|a)$/i.test(tag) && !Number.isNaN(Number.parseFloat(el.tabIndex)) || // (E)
          /^audio$/i.test(tag) || // (F)
          /^video$/i.test(tag) && el.controls === true;
        }
        function handler(e) {
          if (isPolyfilledFocusEvent(e)) {
            capturing = true;
            setTimeout(() => {
              capturing = false;
              e.target.focus();
              while (capturedEvents.length > 0) {
                var event = capturedEvents.pop();
                event.target.dispatchEvent(new MouseEvent(event.type, event));
              }
            }, 0);
          }
        }
        function ready() {
          if (typeof document !== "undefined" && document.body.hasAttribute("data-wf-focus-within") && Webflow.env.safari) {
            document.addEventListener("mousedown", handler, true);
            document.addEventListener("mouseup", captureEvent, true);
            document.addEventListener("click", captureEvent, true);
          }
        }
        return {
          ready
        };
      });
    }
  });

  // packages/shared/render/plugins/BaseSiteModules/webflow-ix-events.js
  var require_webflow_ix_events = __commonJS({
    "packages/shared/render/plugins/BaseSiteModules/webflow-ix-events.js"(exports, module2) {
      "use strict";
      var $2 = window.jQuery;
      var api = {};
      var eventQueue = [];
      var namespace = ".w-ix";
      var eventTriggers = {
        reset: function(i, el) {
          el.__wf_intro = null;
        },
        intro: function(i, el) {
          if (el.__wf_intro) {
            return;
          }
          el.__wf_intro = true;
          $2(el).triggerHandler(api.types.INTRO);
        },
        outro: function(i, el) {
          if (!el.__wf_intro) {
            return;
          }
          el.__wf_intro = null;
          $2(el).triggerHandler(api.types.OUTRO);
        }
      };
      api.triggers = {};
      api.types = {
        INTRO: "w-ix-intro" + namespace,
        OUTRO: "w-ix-outro" + namespace
      };
      api.init = function() {
        var count = eventQueue.length;
        for (var i = 0; i < count; i++) {
          var memo = eventQueue[i];
          memo[0](0, memo[1]);
        }
        eventQueue = [];
        $2.extend(api.triggers, eventTriggers);
      };
      api.async = function() {
        for (var key in eventTriggers) {
          var func = eventTriggers[key];
          if (!eventTriggers.hasOwnProperty(key)) {
            continue;
          }
          api.triggers[key] = function(i, el) {
            eventQueue.push([
              func,
              el
            ]);
          };
        }
      };
      api.async();
      module2.exports = api;
    }
  });

  // packages/shared/render/plugins/BaseSiteModules/webflow-ix2-events.js
  var require_webflow_ix2_events = __commonJS({
    "packages/shared/render/plugins/BaseSiteModules/webflow-ix2-events.js"(exports, module2) {
      "use strict";
      var IXEvents = require_webflow_ix_events();
      function dispatchCustomEvent2(element, eventName) {
        var event = document.createEvent("CustomEvent");
        event.initCustomEvent(eventName, true, true, null);
        element.dispatchEvent(event);
      }
      var $2 = window.jQuery;
      var api = {};
      var namespace = ".w-ix";
      var eventTriggers = {
        reset: function(i, el) {
          IXEvents.triggers.reset(i, el);
        },
        intro: function(i, el) {
          IXEvents.triggers.intro(i, el);
          dispatchCustomEvent2(el, "COMPONENT_ACTIVE");
        },
        outro: function(i, el) {
          IXEvents.triggers.outro(i, el);
          dispatchCustomEvent2(el, "COMPONENT_INACTIVE");
        }
      };
      api.triggers = {};
      api.types = {
        INTRO: "w-ix-intro" + namespace,
        OUTRO: "w-ix-outro" + namespace
      };
      $2.extend(api.triggers, eventTriggers);
      module2.exports = api;
    }
  });

  // node_modules/lodash/_freeGlobal.js
  var require_freeGlobal = __commonJS({
    "node_modules/lodash/_freeGlobal.js"(exports, module2) {
      var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
      module2.exports = freeGlobal;
    }
  });

  // node_modules/lodash/_root.js
  var require_root = __commonJS({
    "node_modules/lodash/_root.js"(exports, module2) {
      var freeGlobal = require_freeGlobal();
      var freeSelf = typeof self == "object" && self && self.Object === Object && self;
      var root2 = freeGlobal || freeSelf || Function("return this")();
      module2.exports = root2;
    }
  });

  // node_modules/lodash/_Symbol.js
  var require_Symbol = __commonJS({
    "node_modules/lodash/_Symbol.js"(exports, module2) {
      var root2 = require_root();
      var Symbol2 = root2.Symbol;
      module2.exports = Symbol2;
    }
  });

  // node_modules/lodash/_getRawTag.js
  var require_getRawTag = __commonJS({
    "node_modules/lodash/_getRawTag.js"(exports, module2) {
      var Symbol2 = require_Symbol();
      var objectProto = Object.prototype;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      var nativeObjectToString = objectProto.toString;
      var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
      function getRawTag(value) {
        var isOwn = hasOwnProperty9.call(value, symToStringTag), tag = value[symToStringTag];
        try {
          value[symToStringTag] = void 0;
          var unmasked = true;
        } catch (e) {
        }
        var result2 = nativeObjectToString.call(value);
        if (unmasked) {
          if (isOwn) {
            value[symToStringTag] = tag;
          } else {
            delete value[symToStringTag];
          }
        }
        return result2;
      }
      module2.exports = getRawTag;
    }
  });

  // node_modules/lodash/_objectToString.js
  var require_objectToString = __commonJS({
    "node_modules/lodash/_objectToString.js"(exports, module2) {
      var objectProto = Object.prototype;
      var nativeObjectToString = objectProto.toString;
      function objectToString(value) {
        return nativeObjectToString.call(value);
      }
      module2.exports = objectToString;
    }
  });

  // node_modules/lodash/_baseGetTag.js
  var require_baseGetTag = __commonJS({
    "node_modules/lodash/_baseGetTag.js"(exports, module2) {
      var Symbol2 = require_Symbol();
      var getRawTag = require_getRawTag();
      var objectToString = require_objectToString();
      var nullTag = "[object Null]";
      var undefinedTag = "[object Undefined]";
      var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
      function baseGetTag(value) {
        if (value == null) {
          return value === void 0 ? undefinedTag : nullTag;
        }
        return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
      }
      module2.exports = baseGetTag;
    }
  });

  // node_modules/lodash/_overArg.js
  var require_overArg = __commonJS({
    "node_modules/lodash/_overArg.js"(exports, module2) {
      function overArg(func, transform2) {
        return function(arg) {
          return func(transform2(arg));
        };
      }
      module2.exports = overArg;
    }
  });

  // node_modules/lodash/_getPrototype.js
  var require_getPrototype = __commonJS({
    "node_modules/lodash/_getPrototype.js"(exports, module2) {
      var overArg = require_overArg();
      var getPrototype = overArg(Object.getPrototypeOf, Object);
      module2.exports = getPrototype;
    }
  });

  // node_modules/lodash/isObjectLike.js
  var require_isObjectLike = __commonJS({
    "node_modules/lodash/isObjectLike.js"(exports, module2) {
      function isObjectLike2(value) {
        return value != null && typeof value == "object";
      }
      module2.exports = isObjectLike2;
    }
  });

  // node_modules/lodash/isPlainObject.js
  var require_isPlainObject = __commonJS({
    "node_modules/lodash/isPlainObject.js"(exports, module2) {
      var baseGetTag = require_baseGetTag();
      var getPrototype = require_getPrototype();
      var isObjectLike2 = require_isObjectLike();
      var objectTag = "[object Object]";
      var funcProto = Function.prototype;
      var objectProto = Object.prototype;
      var funcToString = funcProto.toString;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      var objectCtorString = funcToString.call(Object);
      function isPlainObject(value) {
        if (!isObjectLike2(value) || baseGetTag(value) != objectTag) {
          return false;
        }
        var proto = getPrototype(value);
        if (proto === null) {
          return true;
        }
        var Ctor = hasOwnProperty9.call(proto, "constructor") && proto.constructor;
        return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
      }
      module2.exports = isPlainObject;
    }
  });

  // node_modules/redux/node_modules/symbol-observable/lib/ponyfill.js
  var require_ponyfill = __commonJS({
    "node_modules/redux/node_modules/symbol-observable/lib/ponyfill.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      exports["default"] = symbolObservablePonyfill2;
      function symbolObservablePonyfill2(root2) {
        var result2;
        var _Symbol = root2.Symbol;
        if (typeof _Symbol === "function") {
          if (_Symbol.observable) {
            result2 = _Symbol.observable;
          } else {
            result2 = _Symbol("observable");
            _Symbol.observable = result2;
          }
        } else {
          result2 = "@@observable";
        }
        return result2;
      }
    }
  });

  // node_modules/redux/node_modules/symbol-observable/lib/index.js
  var require_lib = __commonJS({
    "node_modules/redux/node_modules/symbol-observable/lib/index.js"(exports, module2) {
      "use strict";
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      var _ponyfill = require_ponyfill();
      var _ponyfill2 = _interopRequireDefault(_ponyfill);
      function _interopRequireDefault(obj) {
        return obj && obj.__esModule ? obj : { "default": obj };
      }
      var root2;
      if (typeof self !== "undefined") {
        root2 = self;
      } else if (typeof window !== "undefined") {
        root2 = window;
      } else if (typeof global !== "undefined") {
        root2 = global;
      } else if (typeof module2 !== "undefined") {
        root2 = module2;
      } else {
        root2 = Function("return this")();
      }
      var result2 = (0, _ponyfill2["default"])(root2);
      exports["default"] = result2;
    }
  });

  // node_modules/redux/lib/createStore.js
  var require_createStore = __commonJS({
    "node_modules/redux/lib/createStore.js"(exports) {
      "use strict";
      exports.__esModule = true;
      exports.ActionTypes = void 0;
      exports["default"] = createStore;
      var _isPlainObject = require_isPlainObject();
      var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
      var _symbolObservable = require_lib();
      var _symbolObservable2 = _interopRequireDefault(_symbolObservable);
      function _interopRequireDefault(obj) {
        return obj && obj.__esModule ? obj : { "default": obj };
      }
      var ActionTypes = exports.ActionTypes = {
        INIT: "@@redux/INIT"
      };
      function createStore(reducer, preloadedState, enhancer) {
        var _ref2;
        if (typeof preloadedState === "function" && typeof enhancer === "undefined") {
          enhancer = preloadedState;
          preloadedState = void 0;
        }
        if (typeof enhancer !== "undefined") {
          if (typeof enhancer !== "function") {
            throw new Error("Expected the enhancer to be a function.");
          }
          return enhancer(createStore)(reducer, preloadedState);
        }
        if (typeof reducer !== "function") {
          throw new Error("Expected the reducer to be a function.");
        }
        var currentReducer = reducer;
        var currentState = preloadedState;
        var currentListeners = [];
        var nextListeners = currentListeners;
        var isDispatching = false;
        function ensureCanMutateNextListeners() {
          if (nextListeners === currentListeners) {
            nextListeners = currentListeners.slice();
          }
        }
        function getState() {
          return currentState;
        }
        function subscribe(listener) {
          if (typeof listener !== "function") {
            throw new Error("Expected listener to be a function.");
          }
          var isSubscribed = true;
          ensureCanMutateNextListeners();
          nextListeners.push(listener);
          return function unsubscribe() {
            if (!isSubscribed) {
              return;
            }
            isSubscribed = false;
            ensureCanMutateNextListeners();
            var index = nextListeners.indexOf(listener);
            nextListeners.splice(index, 1);
          };
        }
        function dispatch(action) {
          if (!(0, _isPlainObject2["default"])(action)) {
            throw new Error("Actions must be plain objects. Use custom middleware for async actions.");
          }
          if (typeof action.type === "undefined") {
            throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');
          }
          if (isDispatching) {
            throw new Error("Reducers may not dispatch actions.");
          }
          try {
            isDispatching = true;
            currentState = currentReducer(currentState, action);
          } finally {
            isDispatching = false;
          }
          var listeners = currentListeners = nextListeners;
          for (var i = 0; i < listeners.length; i++) {
            listeners[i]();
          }
          return action;
        }
        function replaceReducer(nextReducer) {
          if (typeof nextReducer !== "function") {
            throw new Error("Expected the nextReducer to be a function.");
          }
          currentReducer = nextReducer;
          dispatch({ type: ActionTypes.INIT });
        }
        function observable() {
          var _ref;
          var outerSubscribe = subscribe;
          return _ref = {
            /**
             * The minimal observable subscription method.
             * @param {Object} observer Any object that can be used as an observer.
             * The observer object should have a `next` method.
             * @returns {subscription} An object with an `unsubscribe` method that can
             * be used to unsubscribe the observable from the store, and prevent further
             * emission of values from the observable.
             */
            subscribe: function subscribe2(observer) {
              if (typeof observer !== "object") {
                throw new TypeError("Expected the observer to be an object.");
              }
              function observeState() {
                if (observer.next) {
                  observer.next(getState());
                }
              }
              observeState();
              var unsubscribe = outerSubscribe(observeState);
              return { unsubscribe };
            }
          }, _ref[_symbolObservable2["default"]] = function() {
            return this;
          }, _ref;
        }
        dispatch({ type: ActionTypes.INIT });
        return _ref2 = {
          dispatch,
          subscribe,
          getState,
          replaceReducer
        }, _ref2[_symbolObservable2["default"]] = observable, _ref2;
      }
    }
  });

  // node_modules/redux/lib/utils/warning.js
  var require_warning = __commonJS({
    "node_modules/redux/lib/utils/warning.js"(exports) {
      "use strict";
      exports.__esModule = true;
      exports["default"] = warning;
      function warning(message) {
        if (typeof console !== "undefined" && typeof console.error === "function") {
          console.error(message);
        }
        try {
          throw new Error(message);
        } catch (e) {
        }
      }
    }
  });

  // node_modules/redux/lib/combineReducers.js
  var require_combineReducers = __commonJS({
    "node_modules/redux/lib/combineReducers.js"(exports) {
      "use strict";
      exports.__esModule = true;
      exports["default"] = combineReducers2;
      var _createStore = require_createStore();
      var _isPlainObject = require_isPlainObject();
      var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
      var _warning = require_warning();
      var _warning2 = _interopRequireDefault(_warning);
      function _interopRequireDefault(obj) {
        return obj && obj.__esModule ? obj : { "default": obj };
      }
      function getUndefinedStateErrorMessage(key, action) {
        var actionType = action && action.type;
        var actionName = actionType && '"' + actionType.toString() + '"' || "an action";
        return "Given action " + actionName + ', reducer "' + key + '" returned undefined. To ignore an action, you must explicitly return the previous state.';
      }
      function assertReducerSanity(reducers) {
        Object.keys(reducers).forEach(function(key) {
          var reducer = reducers[key];
          var initialState5 = reducer(void 0, { type: _createStore.ActionTypes.INIT });
          if (typeof initialState5 === "undefined") {
            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.');
          }
          var type = "@@redux/PROBE_UNKNOWN_ACTION_" + Math.random().toString(36).substring(7).split("").join(".");
          if (typeof reducer(void 0, { type }) === "undefined") {
            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.");
          }
        });
      }
      function combineReducers2(reducers) {
        var reducerKeys = Object.keys(reducers);
        var finalReducers = {};
        for (var i = 0; i < reducerKeys.length; i++) {
          var key = reducerKeys[i];
          if (false) {
            if (typeof reducers[key] === "undefined") {
              (0, _warning2["default"])('No reducer provided for key "' + key + '"');
            }
          }
          if (typeof reducers[key] === "function") {
            finalReducers[key] = reducers[key];
          }
        }
        var finalReducerKeys = Object.keys(finalReducers);
        if (false) {
          var unexpectedKeyCache = {};
        }
        var sanityError;
        try {
          assertReducerSanity(finalReducers);
        } catch (e) {
          sanityError = e;
        }
        return function combination() {
          var state = arguments.length <= 0 || arguments[0] === void 0 ? {} : arguments[0];
          var action = arguments[1];
          if (sanityError) {
            throw sanityError;
          }
          if (false) {
            var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);
            if (warningMessage) {
              (0, _warning2["default"])(warningMessage);
            }
          }
          var hasChanged = false;
          var nextState = {};
          for (var i2 = 0; i2 < finalReducerKeys.length; i2++) {
            var key2 = finalReducerKeys[i2];
            var reducer = finalReducers[key2];
            var previousStateForKey = state[key2];
            var nextStateForKey = reducer(previousStateForKey, action);
            if (typeof nextStateForKey === "undefined") {
              var errorMessage = getUndefinedStateErrorMessage(key2, action);
              throw new Error(errorMessage);
            }
            nextState[key2] = nextStateForKey;
            hasChanged = hasChanged || nextStateForKey !== previousStateForKey;
          }
          return hasChanged ? nextState : state;
        };
      }
    }
  });

  // node_modules/redux/lib/bindActionCreators.js
  var require_bindActionCreators = __commonJS({
    "node_modules/redux/lib/bindActionCreators.js"(exports) {
      "use strict";
      exports.__esModule = true;
      exports["default"] = bindActionCreators;
      function bindActionCreator(actionCreator, dispatch) {
        return function() {
          return dispatch(actionCreator.apply(void 0, arguments));
        };
      }
      function bindActionCreators(actionCreators, dispatch) {
        if (typeof actionCreators === "function") {
          return bindActionCreator(actionCreators, dispatch);
        }
        if (typeof actionCreators !== "object" || actionCreators === null) {
          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"?');
        }
        var keys = Object.keys(actionCreators);
        var boundActionCreators = {};
        for (var i = 0; i < keys.length; i++) {
          var key = keys[i];
          var actionCreator = actionCreators[key];
          if (typeof actionCreator === "function") {
            boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);
          }
        }
        return boundActionCreators;
      }
    }
  });

  // node_modules/redux/lib/compose.js
  var require_compose = __commonJS({
    "node_modules/redux/lib/compose.js"(exports) {
      "use strict";
      exports.__esModule = true;
      exports["default"] = compose2;
      function compose2() {
        for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
          funcs[_key] = arguments[_key];
        }
        if (funcs.length === 0) {
          return function(arg) {
            return arg;
          };
        }
        if (funcs.length === 1) {
          return funcs[0];
        }
        var last = funcs[funcs.length - 1];
        var rest = funcs.slice(0, -1);
        return function() {
          return rest.reduceRight(function(composed, f) {
            return f(composed);
          }, last.apply(void 0, arguments));
        };
      }
    }
  });

  // node_modules/redux/lib/applyMiddleware.js
  var require_applyMiddleware = __commonJS({
    "node_modules/redux/lib/applyMiddleware.js"(exports) {
      "use strict";
      exports.__esModule = true;
      var _extends = Object.assign || function(target) {
        for (var i = 1; i < arguments.length; i++) {
          var source = arguments[i];
          for (var key in source) {
            if (Object.prototype.hasOwnProperty.call(source, key)) {
              target[key] = source[key];
            }
          }
        }
        return target;
      };
      exports["default"] = applyMiddleware;
      var _compose = require_compose();
      var _compose2 = _interopRequireDefault(_compose);
      function _interopRequireDefault(obj) {
        return obj && obj.__esModule ? obj : { "default": obj };
      }
      function applyMiddleware() {
        for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {
          middlewares[_key] = arguments[_key];
        }
        return function(createStore) {
          return function(reducer, preloadedState, enhancer) {
            var store = createStore(reducer, preloadedState, enhancer);
            var _dispatch = store.dispatch;
            var chain = [];
            var middlewareAPI = {
              getState: store.getState,
              dispatch: function dispatch(action) {
                return _dispatch(action);
              }
            };
            chain = middlewares.map(function(middleware) {
              return middleware(middlewareAPI);
            });
            _dispatch = _compose2["default"].apply(void 0, chain)(store.dispatch);
            return _extends({}, store, {
              dispatch: _dispatch
            });
          };
        };
      }
    }
  });

  // node_modules/redux/lib/index.js
  var require_lib2 = __commonJS({
    "node_modules/redux/lib/index.js"(exports) {
      "use strict";
      exports.__esModule = true;
      exports.compose = exports.applyMiddleware = exports.bindActionCreators = exports.combineReducers = exports.createStore = void 0;
      var _createStore = require_createStore();
      var _createStore2 = _interopRequireDefault(_createStore);
      var _combineReducers = require_combineReducers();
      var _combineReducers2 = _interopRequireDefault(_combineReducers);
      var _bindActionCreators = require_bindActionCreators();
      var _bindActionCreators2 = _interopRequireDefault(_bindActionCreators);
      var _applyMiddleware = require_applyMiddleware();
      var _applyMiddleware2 = _interopRequireDefault(_applyMiddleware);
      var _compose = require_compose();
      var _compose2 = _interopRequireDefault(_compose);
      var _warning = require_warning();
      var _warning2 = _interopRequireDefault(_warning);
      function _interopRequireDefault(obj) {
        return obj && obj.__esModule ? obj : { "default": obj };
      }
      if (false) {
        (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.");
      }
      exports.createStore = _createStore2["default"];
      exports.combineReducers = _combineReducers2["default"];
      exports.bindActionCreators = _bindActionCreators2["default"];
      exports.applyMiddleware = _applyMiddleware2["default"];
      exports.compose = _compose2["default"];
    }
  });

  // packages/systems/ix2/shared-constants/trigger-events.ts
  var EventTypeConsts, EventAppliesTo, EventBasedOn, EventContinuousMouseAxes, EventLimitAffectedElements, QuickEffectIds, QuickEffectDirectionConsts;
  var init_trigger_events = __esm({
    "packages/systems/ix2/shared-constants/trigger-events.ts"() {
      "use strict";
      EventTypeConsts = {
        NAVBAR_OPEN: "NAVBAR_OPEN",
        NAVBAR_CLOSE: "NAVBAR_CLOSE",
        TAB_ACTIVE: "TAB_ACTIVE",
        TAB_INACTIVE: "TAB_INACTIVE",
        SLIDER_ACTIVE: "SLIDER_ACTIVE",
        SLIDER_INACTIVE: "SLIDER_INACTIVE",
        DROPDOWN_OPEN: "DROPDOWN_OPEN",
        DROPDOWN_CLOSE: "DROPDOWN_CLOSE",
        MOUSE_CLICK: "MOUSE_CLICK",
        MOUSE_SECOND_CLICK: "MOUSE_SECOND_CLICK",
        MOUSE_DOWN: "MOUSE_DOWN",
        MOUSE_UP: "MOUSE_UP",
        MOUSE_OVER: "MOUSE_OVER",
        MOUSE_OUT: "MOUSE_OUT",
        MOUSE_MOVE: "MOUSE_MOVE",
        MOUSE_MOVE_IN_VIEWPORT: "MOUSE_MOVE_IN_VIEWPORT",
        SCROLL_INTO_VIEW: "SCROLL_INTO_VIEW",
        SCROLL_OUT_OF_VIEW: "SCROLL_OUT_OF_VIEW",
        SCROLLING_IN_VIEW: "SCROLLING_IN_VIEW",
        ECOMMERCE_CART_OPEN: "ECOMMERCE_CART_OPEN",
        ECOMMERCE_CART_CLOSE: "ECOMMERCE_CART_CLOSE",
        PAGE_START: "PAGE_START",
        PAGE_FINISH: "PAGE_FINISH",
        PAGE_SCROLL_UP: "PAGE_SCROLL_UP",
        PAGE_SCROLL_DOWN: "PAGE_SCROLL_DOWN",
        PAGE_SCROLL: "PAGE_SCROLL"
      };
      EventAppliesTo = {
        ELEMENT: "ELEMENT",
        CLASS: "CLASS",
        PAGE: "PAGE"
      };
      EventBasedOn = {
        ELEMENT: "ELEMENT",
        VIEWPORT: "VIEWPORT"
      };
      EventContinuousMouseAxes = {
        X_AXIS: "X_AXIS",
        Y_AXIS: "Y_AXIS"
      };
      EventLimitAffectedElements = {
        CHILDREN: "CHILDREN",
        SIBLINGS: "SIBLINGS",
        IMMEDIATE_CHILDREN: "IMMEDIATE_CHILDREN"
      };
      QuickEffectIds = {
        FADE_EFFECT: "FADE_EFFECT",
        SLIDE_EFFECT: "SLIDE_EFFECT",
        GROW_EFFECT: "GROW_EFFECT",
        SHRINK_EFFECT: "SHRINK_EFFECT",
        SPIN_EFFECT: "SPIN_EFFECT",
        FLY_EFFECT: "FLY_EFFECT",
        POP_EFFECT: "POP_EFFECT",
        FLIP_EFFECT: "FLIP_EFFECT",
        JIGGLE_EFFECT: "JIGGLE_EFFECT",
        PULSE_EFFECT: "PULSE_EFFECT",
        DROP_EFFECT: "DROP_EFFECT",
        BLINK_EFFECT: "BLINK_EFFECT",
        BOUNCE_EFFECT: "BOUNCE_EFFECT",
        FLIP_LEFT_TO_RIGHT_EFFECT: "FLIP_LEFT_TO_RIGHT_EFFECT",
        FLIP_RIGHT_TO_LEFT_EFFECT: "FLIP_RIGHT_TO_LEFT_EFFECT",
        RUBBER_BAND_EFFECT: "RUBBER_BAND_EFFECT",
        JELLO_EFFECT: "JELLO_EFFECT",
        GROW_BIG_EFFECT: "GROW_BIG_EFFECT",
        SHRINK_BIG_EFFECT: "SHRINK_BIG_EFFECT",
        PLUGIN_LOTTIE_EFFECT: "PLUGIN_LOTTIE_EFFECT"
      };
      QuickEffectDirectionConsts = {
        LEFT: "LEFT",
        RIGHT: "RIGHT",
        BOTTOM: "BOTTOM",
        TOP: "TOP",
        BOTTOM_LEFT: "BOTTOM_LEFT",
        BOTTOM_RIGHT: "BOTTOM_RIGHT",
        TOP_RIGHT: "TOP_RIGHT",
        TOP_LEFT: "TOP_LEFT",
        CLOCKWISE: "CLOCKWISE",
        COUNTER_CLOCKWISE: "COUNTER_CLOCKWISE"
      };
    }
  });

  // packages/systems/ix2/shared-constants/animation-actions.ts
  var ActionTypeConsts, ActionAppliesTo;
  var init_animation_actions = __esm({
    "packages/systems/ix2/shared-constants/animation-actions.ts"() {
      "use strict";
      ActionTypeConsts = {
        TRANSFORM_MOVE: "TRANSFORM_MOVE",
        TRANSFORM_SCALE: "TRANSFORM_SCALE",
        TRANSFORM_ROTATE: "TRANSFORM_ROTATE",
        TRANSFORM_SKEW: "TRANSFORM_SKEW",
        STYLE_OPACITY: "STYLE_OPACITY",
        STYLE_SIZE: "STYLE_SIZE",
        STYLE_FILTER: "STYLE_FILTER",
        STYLE_FONT_VARIATION: "STYLE_FONT_VARIATION",
        STYLE_BACKGROUND_COLOR: "STYLE_BACKGROUND_COLOR",
        STYLE_BORDER: "STYLE_BORDER",
        STYLE_TEXT_COLOR: "STYLE_TEXT_COLOR",
        OBJECT_VALUE: "OBJECT_VALUE",
        PLUGIN_LOTTIE: "PLUGIN_LOTTIE",
        PLUGIN_SPLINE: "PLUGIN_SPLINE",
        PLUGIN_VARIABLE: "PLUGIN_VARIABLE",
        GENERAL_DISPLAY: "GENERAL_DISPLAY",
        GENERAL_START_ACTION: "GENERAL_START_ACTION",
        GENERAL_CONTINUOUS_ACTION: "GENERAL_CONTINUOUS_ACTION",
        // TODO: Clean these up below because they're not used at this time
        GENERAL_COMBO_CLASS: "GENERAL_COMBO_CLASS",
        GENERAL_STOP_ACTION: "GENERAL_STOP_ACTION",
        GENERAL_LOOP: "GENERAL_LOOP",
        STYLE_BOX_SHADOW: "STYLE_BOX_SHADOW"
      };
      ActionAppliesTo = {
        ELEMENT: "ELEMENT",
        ELEMENT_CLASS: "ELEMENT_CLASS",
        TRIGGER_ELEMENT: "TRIGGER_ELEMENT"
      };
    }
  });

  // packages/systems/ix2/shared-constants/trigger-interactions.ts
  var InteractionTypeConsts;
  var init_trigger_interactions = __esm({
    "packages/systems/ix2/shared-constants/trigger-interactions.ts"() {
      "use strict";
      InteractionTypeConsts = {
        MOUSE_CLICK_INTERACTION: "MOUSE_CLICK_INTERACTION",
        MOUSE_HOVER_INTERACTION: "MOUSE_HOVER_INTERACTION",
        MOUSE_MOVE_INTERACTION: "MOUSE_MOVE_INTERACTION",
        SCROLL_INTO_VIEW_INTERACTION: "SCROLL_INTO_VIEW_INTERACTION",
        SCROLLING_IN_VIEW_INTERACTION: "SCROLLING_IN_VIEW_INTERACTION",
        MOUSE_MOVE_IN_VIEWPORT_INTERACTION: "MOUSE_MOVE_IN_VIEWPORT_INTERACTION",
        PAGE_IS_SCROLLING_INTERACTION: "PAGE_IS_SCROLLING_INTERACTION",
        PAGE_LOAD_INTERACTION: "PAGE_LOAD_INTERACTION",
        PAGE_SCROLLED_INTERACTION: "PAGE_SCROLLED_INTERACTION",
        NAVBAR_INTERACTION: "NAVBAR_INTERACTION",
        DROPDOWN_INTERACTION: "DROPDOWN_INTERACTION",
        ECOMMERCE_CART_INTERACTION: "ECOMMERCE_CART_INTERACTION",
        TAB_INTERACTION: "TAB_INTERACTION",
        SLIDER_INTERACTION: "SLIDER_INTERACTION"
      };
    }
  });

  // packages/systems/ix2/shared-constants/reduced-motion.ts
  var TRANSFORM_MOVE, TRANSFORM_SCALE, TRANSFORM_ROTATE, TRANSFORM_SKEW, STYLE_SIZE, STYLE_FILTER, STYLE_FONT_VARIATION, ReducedMotionTypes;
  var init_reduced_motion = __esm({
    "packages/systems/ix2/shared-constants/reduced-motion.ts"() {
      "use strict";
      init_animation_actions();
      ({
        TRANSFORM_MOVE,
        TRANSFORM_SCALE,
        TRANSFORM_ROTATE,
        TRANSFORM_SKEW,
        STYLE_SIZE,
        STYLE_FILTER,
        STYLE_FONT_VARIATION
      } = ActionTypeConsts);
      ReducedMotionTypes = {
        [TRANSFORM_MOVE]: true,
        [TRANSFORM_SCALE]: true,
        [TRANSFORM_ROTATE]: true,
        [TRANSFORM_SKEW]: true,
        [STYLE_SIZE]: true,
        [STYLE_FILTER]: true,
        [STYLE_FONT_VARIATION]: true
      };
    }
  });

  // packages/systems/ix2/shared-constants/IX2EngineActionTypes.ts
  var IX2EngineActionTypes_exports = {};
  __export(IX2EngineActionTypes_exports, {
    IX2_ACTION_LIST_PLAYBACK_CHANGED: () => IX2_ACTION_LIST_PLAYBACK_CHANGED,
    IX2_ANIMATION_FRAME_CHANGED: () => IX2_ANIMATION_FRAME_CHANGED,
    IX2_CLEAR_REQUESTED: () => IX2_CLEAR_REQUESTED,
    IX2_ELEMENT_STATE_CHANGED: () => IX2_ELEMENT_STATE_CHANGED,
    IX2_EVENT_LISTENER_ADDED: () => IX2_EVENT_LISTENER_ADDED,
    IX2_EVENT_STATE_CHANGED: () => IX2_EVENT_STATE_CHANGED,
    IX2_INSTANCE_ADDED: () => IX2_INSTANCE_ADDED,
    IX2_INSTANCE_REMOVED: () => IX2_INSTANCE_REMOVED,
    IX2_INSTANCE_STARTED: () => IX2_INSTANCE_STARTED,
    IX2_MEDIA_QUERIES_DEFINED: () => IX2_MEDIA_QUERIES_DEFINED,
    IX2_PARAMETER_CHANGED: () => IX2_PARAMETER_CHANGED,
    IX2_PLAYBACK_REQUESTED: () => IX2_PLAYBACK_REQUESTED,
    IX2_PREVIEW_REQUESTED: () => IX2_PREVIEW_REQUESTED,
    IX2_RAW_DATA_IMPORTED: () => IX2_RAW_DATA_IMPORTED,
    IX2_SESSION_INITIALIZED: () => IX2_SESSION_INITIALIZED,
    IX2_SESSION_STARTED: () => IX2_SESSION_STARTED,
    IX2_SESSION_STOPPED: () => IX2_SESSION_STOPPED,
    IX2_STOP_REQUESTED: () => IX2_STOP_REQUESTED,
    IX2_TEST_FRAME_RENDERED: () => IX2_TEST_FRAME_RENDERED,
    IX2_VIEWPORT_WIDTH_CHANGED: () => IX2_VIEWPORT_WIDTH_CHANGED
  });
  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;
  var init_IX2EngineActionTypes = __esm({
    "packages/systems/ix2/shared-constants/IX2EngineActionTypes.ts"() {
      "use strict";
      IX2_RAW_DATA_IMPORTED = "IX2_RAW_DATA_IMPORTED";
      IX2_SESSION_INITIALIZED = "IX2_SESSION_INITIALIZED";
      IX2_SESSION_STARTED = "IX2_SESSION_STARTED";
      IX2_SESSION_STOPPED = "IX2_SESSION_STOPPED";
      IX2_PREVIEW_REQUESTED = "IX2_PREVIEW_REQUESTED";
      IX2_PLAYBACK_REQUESTED = "IX2_PLAYBACK_REQUESTED";
      IX2_STOP_REQUESTED = "IX2_STOP_REQUESTED";
      IX2_CLEAR_REQUESTED = "IX2_CLEAR_REQUESTED";
      IX2_EVENT_LISTENER_ADDED = "IX2_EVENT_LISTENER_ADDED";
      IX2_EVENT_STATE_CHANGED = "IX2_EVENT_STATE_CHANGED";
      IX2_ANIMATION_FRAME_CHANGED = "IX2_ANIMATION_FRAME_CHANGED";
      IX2_PARAMETER_CHANGED = "IX2_PARAMETER_CHANGED";
      IX2_INSTANCE_ADDED = "IX2_INSTANCE_ADDED";
      IX2_INSTANCE_STARTED = "IX2_INSTANCE_STARTED";
      IX2_INSTANCE_REMOVED = "IX2_INSTANCE_REMOVED";
      IX2_ELEMENT_STATE_CHANGED = "IX2_ELEMENT_STATE_CHANGED";
      IX2_ACTION_LIST_PLAYBACK_CHANGED = "IX2_ACTION_LIST_PLAYBACK_CHANGED";
      IX2_VIEWPORT_WIDTH_CHANGED = "IX2_VIEWPORT_WIDTH_CHANGED";
      IX2_MEDIA_QUERIES_DEFINED = "IX2_MEDIA_QUERIES_DEFINED";
      IX2_TEST_FRAME_RENDERED = "IX2_TEST_FRAME_RENDERED";
    }
  });

  // packages/systems/ix2/shared-constants/IX2EngineConstants.ts
  var IX2EngineConstants_exports = {};
  __export(IX2EngineConstants_exports, {
    ABSTRACT_NODE: () => ABSTRACT_NODE,
    AUTO: () => AUTO,
    BACKGROUND: () => BACKGROUND,
    BACKGROUND_COLOR: () => BACKGROUND_COLOR,
    BAR_DELIMITER: () => BAR_DELIMITER,
    BORDER_COLOR: () => BORDER_COLOR,
    BOUNDARY_SELECTOR: () => BOUNDARY_SELECTOR,
    CHILDREN: () => CHILDREN,
    COLON_DELIMITER: () => COLON_DELIMITER,
    COLOR: () => COLOR,
    COMMA_DELIMITER: () => COMMA_DELIMITER,
    CONFIG_UNIT: () => CONFIG_UNIT,
    CONFIG_VALUE: () => CONFIG_VALUE,
    CONFIG_X_UNIT: () => CONFIG_X_UNIT,
    CONFIG_X_VALUE: () => CONFIG_X_VALUE,
    CONFIG_Y_UNIT: () => CONFIG_Y_UNIT,
    CONFIG_Y_VALUE: () => CONFIG_Y_VALUE,
    CONFIG_Z_UNIT: () => CONFIG_Z_UNIT,
    CONFIG_Z_VALUE: () => CONFIG_Z_VALUE,
    DISPLAY: () => DISPLAY,
    FILTER: () => FILTER,
    FLEX: () => FLEX,
    FONT_VARIATION_SETTINGS: () => FONT_VARIATION_SETTINGS,
    HEIGHT: () => HEIGHT,
    HTML_ELEMENT: () => HTML_ELEMENT,
    IMMEDIATE_CHILDREN: () => IMMEDIATE_CHILDREN,
    IX2_ID_DELIMITER: () => IX2_ID_DELIMITER,
    OPACITY: () => OPACITY,
    PARENT: () => PARENT,
    PLAIN_OBJECT: () => PLAIN_OBJECT,
    PRESERVE_3D: () => PRESERVE_3D,
    RENDER_GENERAL: () => RENDER_GENERAL,
    RENDER_PLUGIN: () => RENDER_PLUGIN,
    RENDER_STYLE: () => RENDER_STYLE,
    RENDER_TRANSFORM: () => RENDER_TRANSFORM,
    ROTATE_X: () => ROTATE_X,
    ROTATE_Y: () => ROTATE_Y,
    ROTATE_Z: () => ROTATE_Z,
    SCALE_3D: () => SCALE_3D,
    SCALE_X: () => SCALE_X,
    SCALE_Y: () => SCALE_Y,
    SCALE_Z: () => SCALE_Z,
    SIBLINGS: () => SIBLINGS,
    SKEW: () => SKEW,
    SKEW_X: () => SKEW_X,
    SKEW_Y: () => SKEW_Y,
    TRANSFORM: () => TRANSFORM,
    TRANSLATE_3D: () => TRANSLATE_3D,
    TRANSLATE_X: () => TRANSLATE_X,
    TRANSLATE_Y: () => TRANSLATE_Y,
    TRANSLATE_Z: () => TRANSLATE_Z,
    WF_PAGE: () => WF_PAGE,
    WIDTH: () => WIDTH,
    WILL_CHANGE: () => WILL_CHANGE,
    W_MOD_IX: () => W_MOD_IX,
    W_MOD_JS: () => W_MOD_JS
  });
  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;
  var init_IX2EngineConstants = __esm({
    "packages/systems/ix2/shared-constants/IX2EngineConstants.ts"() {
      "use strict";
      IX2_ID_DELIMITER = "|";
      WF_PAGE = "data-wf-page";
      W_MOD_JS = "w-mod-js";
      W_MOD_IX = "w-mod-ix";
      BOUNDARY_SELECTOR = ".w-dyn-item";
      CONFIG_X_VALUE = "xValue";
      CONFIG_Y_VALUE = "yValue";
      CONFIG_Z_VALUE = "zValue";
      CONFIG_VALUE = "value";
      CONFIG_X_UNIT = "xUnit";
      CONFIG_Y_UNIT = "yUnit";
      CONFIG_Z_UNIT = "zUnit";
      CONFIG_UNIT = "unit";
      TRANSFORM = "transform";
      TRANSLATE_X = "translateX";
      TRANSLATE_Y = "translateY";
      TRANSLATE_Z = "translateZ";
      TRANSLATE_3D = "translate3d";
      SCALE_X = "scaleX";
      SCALE_Y = "scaleY";
      SCALE_Z = "scaleZ";
      SCALE_3D = "scale3d";
      ROTATE_X = "rotateX";
      ROTATE_Y = "rotateY";
      ROTATE_Z = "rotateZ";
      SKEW = "skew";
      SKEW_X = "skewX";
      SKEW_Y = "skewY";
      OPACITY = "opacity";
      FILTER = "filter";
      FONT_VARIATION_SETTINGS = "font-variation-settings";
      WIDTH = "width";
      HEIGHT = "height";
      BACKGROUND_COLOR = "backgroundColor";
      BACKGROUND = "background";
      BORDER_COLOR = "borderColor";
      COLOR = "color";
      DISPLAY = "display";
      FLEX = "flex";
      WILL_CHANGE = "willChange";
      AUTO = "AUTO";
      COMMA_DELIMITER = ",";
      COLON_DELIMITER = ":";
      BAR_DELIMITER = "|";
      CHILDREN = "CHILDREN";
      IMMEDIATE_CHILDREN = "IMMEDIATE_CHILDREN";
      SIBLINGS = "SIBLINGS";
      PARENT = "PARENT";
      PRESERVE_3D = "preserve-3d";
      HTML_ELEMENT = "HTML_ELEMENT";
      PLAIN_OBJECT = "PLAIN_OBJECT";
      ABSTRACT_NODE = "ABSTRACT_NODE";
      RENDER_TRANSFORM = "RENDER_TRANSFORM";
      RENDER_GENERAL = "RENDER_GENERAL";
      RENDER_STYLE = "RENDER_STYLE";
      RENDER_PLUGIN = "RENDER_PLUGIN";
    }
  });

  // packages/systems/ix2/shared-constants/index.ts
  var shared_constants_exports = {};
  __export(shared_constants_exports, {
    ActionAppliesTo: () => ActionAppliesTo,
    ActionTypeConsts: () => ActionTypeConsts,
    EventAppliesTo: () => EventAppliesTo,
    EventBasedOn: () => EventBasedOn,
    EventContinuousMouseAxes: () => EventContinuousMouseAxes,
    EventLimitAffectedElements: () => EventLimitAffectedElements,
    EventTypeConsts: () => EventTypeConsts,
    IX2EngineActionTypes: () => IX2EngineActionTypes_exports,
    IX2EngineConstants: () => IX2EngineConstants_exports,
    InteractionTypeConsts: () => InteractionTypeConsts,
    QuickEffectDirectionConsts: () => QuickEffectDirectionConsts,
    QuickEffectIds: () => QuickEffectIds,
    ReducedMotionTypes: () => ReducedMotionTypes
  });
  var init_shared_constants = __esm({
    "packages/systems/ix2/shared-constants/index.ts"() {
      "use strict";
      init_trigger_events();
      init_animation_actions();
      init_trigger_interactions();
      init_reduced_motion();
      init_IX2EngineActionTypes();
      init_IX2EngineConstants();
      init_animation_actions();
      init_trigger_events();
    }
  });

  // packages/systems/ix2/engine/reducers/IX2DataReducer.ts
  var IX2_RAW_DATA_IMPORTED2, ixData;
  var init_IX2DataReducer = __esm({
    "packages/systems/ix2/engine/reducers/IX2DataReducer.ts"() {
      "use strict";
      init_shared_constants();
      ({ IX2_RAW_DATA_IMPORTED: IX2_RAW_DATA_IMPORTED2 } = IX2EngineActionTypes_exports);
      ixData = (state = Object.freeze(
        {}
      ), action) => {
        switch (action.type) {
          case IX2_RAW_DATA_IMPORTED2: {
            return action.payload.ixData || Object.freeze({});
          }
          default: {
            return state;
          }
        }
      };
    }
  });

  // node_modules/timm/lib/timm.js
  var require_timm = __commonJS({
    "node_modules/timm/lib/timm.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function(obj) {
        return typeof obj;
      } : function(obj) {
        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
      };
      exports.clone = clone;
      exports.addLast = addLast2;
      exports.addFirst = addFirst;
      exports.removeLast = removeLast;
      exports.removeFirst = removeFirst;
      exports.insert = insert;
      exports.removeAt = removeAt;
      exports.replaceAt = replaceAt;
      exports.getIn = getIn3;
      exports.set = set3;
      exports.setIn = setIn4;
      exports.update = update;
      exports.updateIn = updateIn;
      exports.merge = merge4;
      exports.mergeDeep = mergeDeep2;
      exports.mergeIn = mergeIn4;
      exports.omit = omit;
      exports.addDefaults = addDefaults;
      var INVALID_ARGS = "INVALID_ARGS";
      function throwStr(msg) {
        throw new Error(msg);
      }
      function getKeysAndSymbols(obj) {
        var keys = Object.keys(obj);
        if (Object.getOwnPropertySymbols) {
          return keys.concat(Object.getOwnPropertySymbols(obj));
        }
        return keys;
      }
      var hasOwnProperty9 = {}.hasOwnProperty;
      function clone(obj) {
        if (Array.isArray(obj))
          return obj.slice();
        var keys = getKeysAndSymbols(obj);
        var out = {};
        for (var i = 0; i < keys.length; i++) {
          var key = keys[i];
          out[key] = obj[key];
        }
        return out;
      }
      function doMerge(fAddDefaults, fDeep, first) {
        var out = first;
        !(out != null) && throwStr(false ? "At least one object should be provided to merge()" : INVALID_ARGS);
        var fChanged = false;
        for (var _len = arguments.length, rest = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
          rest[_key - 3] = arguments[_key];
        }
        for (var idx = 0; idx < rest.length; idx++) {
          var obj = rest[idx];
          if (obj == null)
            continue;
          var keys = getKeysAndSymbols(obj);
          if (!keys.length)
            continue;
          for (var j = 0; j <= keys.length; j++) {
            var key = keys[j];
            if (fAddDefaults && out[key] !== void 0)
              continue;
            var nextVal = obj[key];
            if (fDeep && isObject2(out[key]) && isObject2(nextVal)) {
              nextVal = doMerge(fAddDefaults, fDeep, out[key], nextVal);
            }
            if (nextVal === void 0 || nextVal === out[key])
              continue;
            if (!fChanged) {
              fChanged = true;
              out = clone(out);
            }
            out[key] = nextVal;
          }
        }
        return out;
      }
      function isObject2(o) {
        var type = typeof o === "undefined" ? "undefined" : _typeof(o);
        return o != null && (type === "object" || type === "function");
      }
      function addLast2(array, val) {
        if (Array.isArray(val))
          return array.concat(val);
        return array.concat([val]);
      }
      function addFirst(array, val) {
        if (Array.isArray(val))
          return val.concat(array);
        return [val].concat(array);
      }
      function removeLast(array) {
        if (!array.length)
          return array;
        return array.slice(0, array.length - 1);
      }
      function removeFirst(array) {
        if (!array.length)
          return array;
        return array.slice(1);
      }
      function insert(array, idx, val) {
        return array.slice(0, idx).concat(Array.isArray(val) ? val : [val]).concat(array.slice(idx));
      }
      function removeAt(array, idx) {
        if (idx >= array.length || idx < 0)
          return array;
        return array.slice(0, idx).concat(array.slice(idx + 1));
      }
      function replaceAt(array, idx, newItem) {
        if (array[idx] === newItem)
          return array;
        var len = array.length;
        var result2 = Array(len);
        for (var i = 0; i < len; i++) {
          result2[i] = array[i];
        }
        result2[idx] = newItem;
        return result2;
      }
      function getIn3(obj, path) {
        !Array.isArray(path) && throwStr(false ? "A path array should be provided when calling getIn()" : INVALID_ARGS);
        if (obj == null)
          return void 0;
        var ptr = obj;
        for (var i = 0; i < path.length; i++) {
          var key = path[i];
          ptr = ptr != null ? ptr[key] : void 0;
          if (ptr === void 0)
            return ptr;
        }
        return ptr;
      }
      function set3(obj, key, val) {
        var fallback = typeof key === "number" ? [] : {};
        var finalObj = obj == null ? fallback : obj;
        if (finalObj[key] === val)
          return finalObj;
        var obj2 = clone(finalObj);
        obj2[key] = val;
        return obj2;
      }
      function doSetIn(obj, path, val, idx) {
        var newValue = void 0;
        var key = path[idx];
        if (idx === path.length - 1) {
          newValue = val;
        } else {
          var nestedObj = isObject2(obj) && isObject2(obj[key]) ? obj[key] : typeof path[idx + 1] === "number" ? [] : {};
          newValue = doSetIn(nestedObj, path, val, idx + 1);
        }
        return set3(obj, key, newValue);
      }
      function setIn4(obj, path, val) {
        if (!path.length)
          return val;
        return doSetIn(obj, path, val, 0);
      }
      function update(obj, key, fnUpdate) {
        var prevVal = obj == null ? void 0 : obj[key];
        var nextVal = fnUpdate(prevVal);
        return set3(obj, key, nextVal);
      }
      function updateIn(obj, path, fnUpdate) {
        var prevVal = getIn3(obj, path);
        var nextVal = fnUpdate(prevVal);
        return setIn4(obj, path, nextVal);
      }
      function merge4(a, b, c, d, e, f) {
        for (var _len2 = arguments.length, rest = Array(_len2 > 6 ? _len2 - 6 : 0), _key2 = 6; _key2 < _len2; _key2++) {
          rest[_key2 - 6] = arguments[_key2];
        }
        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);
      }
      function mergeDeep2(a, b, c, d, e, f) {
        for (var _len3 = arguments.length, rest = Array(_len3 > 6 ? _len3 - 6 : 0), _key3 = 6; _key3 < _len3; _key3++) {
          rest[_key3 - 6] = arguments[_key3];
        }
        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);
      }
      function mergeIn4(a, path, b, c, d, e, f) {
        var prevVal = getIn3(a, path);
        if (prevVal == null)
          prevVal = {};
        var nextVal = void 0;
        for (var _len4 = arguments.length, rest = Array(_len4 > 7 ? _len4 - 7 : 0), _key4 = 7; _key4 < _len4; _key4++) {
          rest[_key4 - 7] = arguments[_key4];
        }
        if (rest.length) {
          nextVal = doMerge.call.apply(doMerge, [null, false, false, prevVal, b, c, d, e, f].concat(rest));
        } else {
          nextVal = doMerge(false, false, prevVal, b, c, d, e, f);
        }
        return setIn4(a, path, nextVal);
      }
      function omit(obj, attrs) {
        var omitList = Array.isArray(attrs) ? attrs : [attrs];
        var fDoSomething = false;
        for (var i = 0; i < omitList.length; i++) {
          if (hasOwnProperty9.call(obj, omitList[i])) {
            fDoSomething = true;
            break;
          }
        }
        if (!fDoSomething)
          return obj;
        var out = {};
        var keys = getKeysAndSymbols(obj);
        for (var _i = 0; _i < keys.length; _i++) {
          var key = keys[_i];
          if (omitList.indexOf(key) >= 0)
            continue;
          out[key] = obj[key];
        }
        return out;
      }
      function addDefaults(a, b, c, d, e, f) {
        for (var _len5 = arguments.length, rest = Array(_len5 > 6 ? _len5 - 6 : 0), _key5 = 6; _key5 < _len5; _key5++) {
          rest[_key5 - 6] = arguments[_key5];
        }
        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);
      }
      var timm = {
        clone,
        addLast: addLast2,
        addFirst,
        removeLast,
        removeFirst,
        insert,
        removeAt,
        replaceAt,
        getIn: getIn3,
        // eslint-disable-next-line object-shorthand
        set: set3,
        // so that flow doesn't complain
        setIn: setIn4,
        update,
        updateIn,
        merge: merge4,
        mergeDeep: mergeDeep2,
        mergeIn: mergeIn4,
        omit,
        addDefaults
      };
      exports.default = timm;
    }
  });

  // packages/systems/ix2/engine/reducers/IX2RequestReducer.ts
  var import_timm, IX2_PREVIEW_REQUESTED2, IX2_PLAYBACK_REQUESTED2, IX2_STOP_REQUESTED2, IX2_CLEAR_REQUESTED2, initialState, stateKeys, ixRequest;
  var init_IX2RequestReducer = __esm({
    "packages/systems/ix2/engine/reducers/IX2RequestReducer.ts"() {
      "use strict";
      init_shared_constants();
      import_timm = __toESM(require_timm());
      ({
        IX2_PREVIEW_REQUESTED: IX2_PREVIEW_REQUESTED2,
        IX2_PLAYBACK_REQUESTED: IX2_PLAYBACK_REQUESTED2,
        IX2_STOP_REQUESTED: IX2_STOP_REQUESTED2,
        IX2_CLEAR_REQUESTED: IX2_CLEAR_REQUESTED2
      } = IX2EngineActionTypes_exports);
      initialState = {
        preview: {},
        playback: {},
        stop: {},
        clear: {}
      };
      stateKeys = Object.create(null, {
        [IX2_PREVIEW_REQUESTED2]: { value: "preview" },
        [IX2_PLAYBACK_REQUESTED2]: { value: "playback" },
        [IX2_STOP_REQUESTED2]: { value: "stop" },
        [IX2_CLEAR_REQUESTED2]: { value: "clear" }
      });
      ixRequest = (state = initialState, action) => {
        if (action.type in stateKeys) {
          const key = [stateKeys[action.type]];
          return (0, import_timm.setIn)(state, [key], { ...action.payload });
        }
        return state;
      };
    }
  });

  // packages/systems/ix2/engine/reducers/IX2SessionReducer.ts
  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;
  var init_IX2SessionReducer = __esm({
    "packages/systems/ix2/engine/reducers/IX2SessionReducer.ts"() {
      "use strict";
      init_shared_constants();
      import_timm2 = __toESM(require_timm());
      ({
        IX2_SESSION_INITIALIZED: IX2_SESSION_INITIALIZED2,
        IX2_SESSION_STARTED: IX2_SESSION_STARTED2,
        IX2_TEST_FRAME_RENDERED: IX2_TEST_FRAME_RENDERED2,
        IX2_SESSION_STOPPED: IX2_SESSION_STOPPED2,
        IX2_EVENT_LISTENER_ADDED: IX2_EVENT_LISTENER_ADDED2,
        IX2_EVENT_STATE_CHANGED: IX2_EVENT_STATE_CHANGED2,
        IX2_ANIMATION_FRAME_CHANGED: IX2_ANIMATION_FRAME_CHANGED2,
        IX2_ACTION_LIST_PLAYBACK_CHANGED: IX2_ACTION_LIST_PLAYBACK_CHANGED2,
        IX2_VIEWPORT_WIDTH_CHANGED: IX2_VIEWPORT_WIDTH_CHANGED2,
        IX2_MEDIA_QUERIES_DEFINED: IX2_MEDIA_QUERIES_DEFINED2
      } = IX2EngineActionTypes_exports);
      initialState2 = {
        active: false,
        tick: 0,
        eventListeners: [],
        eventState: {},
        playbackState: {},
        viewportWidth: 0,
        mediaQueryKey: null,
        hasBoundaryNodes: false,
        hasDefinedMediaQueries: false,
        reducedMotion: false
      };
      TEST_FRAME_STEPS_SIZE = 20;
      ixSession = (state = initialState2, action) => {
        switch (action.type) {
          case IX2_SESSION_INITIALIZED2: {
            const { hasBoundaryNodes, reducedMotion } = action.payload;
            return (0, import_timm2.merge)(state, {
              hasBoundaryNodes,
              reducedMotion
            });
          }
          case IX2_SESSION_STARTED2: {
            return (0, import_timm2.set)(state, "active", true);
          }
          case IX2_TEST_FRAME_RENDERED2: {
            const {
              payload: { step = TEST_FRAME_STEPS_SIZE }
            } = action;
            return (0, import_timm2.set)(state, "tick", state.tick + step);
          }
          case IX2_SESSION_STOPPED2: {
            return initialState2;
          }
          case IX2_ANIMATION_FRAME_CHANGED2: {
            const {
              payload: { now }
            } = action;
            return (0, import_timm2.set)(state, "tick", now);
          }
          case IX2_EVENT_LISTENER_ADDED2: {
            const eventListeners = (0, import_timm2.addLast)(state.eventListeners, action.payload);
            return (0, import_timm2.set)(state, "eventListeners", eventListeners);
          }
          case IX2_EVENT_STATE_CHANGED2: {
            const { stateKey, newState } = action.payload;
            return (0, import_timm2.setIn)(state, ["eventState", stateKey], newState);
          }
          case IX2_ACTION_LIST_PLAYBACK_CHANGED2: {
            const { actionListId, isPlaying } = action.payload;
            return (0, import_timm2.setIn)(state, ["playbackState", actionListId], isPlaying);
          }
          case IX2_VIEWPORT_WIDTH_CHANGED2: {
            const { width, mediaQueries } = action.payload;
            const mediaQueryCount = mediaQueries.length;
            let mediaQueryKey = null;
            for (let i = 0; i < mediaQueryCount; i++) {
              const { key, min, max } = mediaQueries[i];
              if (width >= min && width <= max) {
                mediaQueryKey = key;
                break;
              }
            }
            return (0, import_timm2.merge)(state, {
              viewportWidth: width,
              mediaQueryKey
            });
          }
          case IX2_MEDIA_QUERIES_DEFINED2: {
            return (0, import_timm2.set)(state, "hasDefinedMediaQueries", true);
          }
          default: {
            return state;
          }
        }
      };
    }
  });

  // node_modules/lodash/_listCacheClear.js
  var require_listCacheClear = __commonJS({
    "node_modules/lodash/_listCacheClear.js"(exports, module2) {
      function listCacheClear() {
        this.__data__ = [];
        this.size = 0;
      }
      module2.exports = listCacheClear;
    }
  });

  // node_modules/lodash/eq.js
  var require_eq = __commonJS({
    "node_modules/lodash/eq.js"(exports, module2) {
      function eq(value, other) {
        return value === other || value !== value && other !== other;
      }
      module2.exports = eq;
    }
  });

  // node_modules/lodash/_assocIndexOf.js
  var require_assocIndexOf = __commonJS({
    "node_modules/lodash/_assocIndexOf.js"(exports, module2) {
      var eq = require_eq();
      function assocIndexOf(array, key) {
        var length = array.length;
        while (length--) {
          if (eq(array[length][0], key)) {
            return length;
          }
        }
        return -1;
      }
      module2.exports = assocIndexOf;
    }
  });

  // node_modules/lodash/_listCacheDelete.js
  var require_listCacheDelete = __commonJS({
    "node_modules/lodash/_listCacheDelete.js"(exports, module2) {
      var assocIndexOf = require_assocIndexOf();
      var arrayProto = Array.prototype;
      var splice = arrayProto.splice;
      function listCacheDelete(key) {
        var data = this.__data__, index = assocIndexOf(data, key);
        if (index < 0) {
          return false;
        }
        var lastIndex = data.length - 1;
        if (index == lastIndex) {
          data.pop();
        } else {
          splice.call(data, index, 1);
        }
        --this.size;
        return true;
      }
      module2.exports = listCacheDelete;
    }
  });

  // node_modules/lodash/_listCacheGet.js
  var require_listCacheGet = __commonJS({
    "node_modules/lodash/_listCacheGet.js"(exports, module2) {
      var assocIndexOf = require_assocIndexOf();
      function listCacheGet(key) {
        var data = this.__data__, index = assocIndexOf(data, key);
        return index < 0 ? void 0 : data[index][1];
      }
      module2.exports = listCacheGet;
    }
  });

  // node_modules/lodash/_listCacheHas.js
  var require_listCacheHas = __commonJS({
    "node_modules/lodash/_listCacheHas.js"(exports, module2) {
      var assocIndexOf = require_assocIndexOf();
      function listCacheHas(key) {
        return assocIndexOf(this.__data__, key) > -1;
      }
      module2.exports = listCacheHas;
    }
  });

  // node_modules/lodash/_listCacheSet.js
  var require_listCacheSet = __commonJS({
    "node_modules/lodash/_listCacheSet.js"(exports, module2) {
      var assocIndexOf = require_assocIndexOf();
      function listCacheSet(key, value) {
        var data = this.__data__, index = assocIndexOf(data, key);
        if (index < 0) {
          ++this.size;
          data.push([key, value]);
        } else {
          data[index][1] = value;
        }
        return this;
      }
      module2.exports = listCacheSet;
    }
  });

  // node_modules/lodash/_ListCache.js
  var require_ListCache = __commonJS({
    "node_modules/lodash/_ListCache.js"(exports, module2) {
      var listCacheClear = require_listCacheClear();
      var listCacheDelete = require_listCacheDelete();
      var listCacheGet = require_listCacheGet();
      var listCacheHas = require_listCacheHas();
      var listCacheSet = require_listCacheSet();
      function ListCache(entries) {
        var index = -1, length = entries == null ? 0 : entries.length;
        this.clear();
        while (++index < length) {
          var entry = entries[index];
          this.set(entry[0], entry[1]);
        }
      }
      ListCache.prototype.clear = listCacheClear;
      ListCache.prototype["delete"] = listCacheDelete;
      ListCache.prototype.get = listCacheGet;
      ListCache.prototype.has = listCacheHas;
      ListCache.prototype.set = listCacheSet;
      module2.exports = ListCache;
    }
  });

  // node_modules/lodash/_stackClear.js
  var require_stackClear = __commonJS({
    "node_modules/lodash/_stackClear.js"(exports, module2) {
      var ListCache = require_ListCache();
      function stackClear() {
        this.__data__ = new ListCache();
        this.size = 0;
      }
      module2.exports = stackClear;
    }
  });

  // node_modules/lodash/_stackDelete.js
  var require_stackDelete = __commonJS({
    "node_modules/lodash/_stackDelete.js"(exports, module2) {
      function stackDelete(key) {
        var data = this.__data__, result2 = data["delete"](key);
        this.size = data.size;
        return result2;
      }
      module2.exports = stackDelete;
    }
  });

  // node_modules/lodash/_stackGet.js
  var require_stackGet = __commonJS({
    "node_modules/lodash/_stackGet.js"(exports, module2) {
      function stackGet(key) {
        return this.__data__.get(key);
      }
      module2.exports = stackGet;
    }
  });

  // node_modules/lodash/_stackHas.js
  var require_stackHas = __commonJS({
    "node_modules/lodash/_stackHas.js"(exports, module2) {
      function stackHas(key) {
        return this.__data__.has(key);
      }
      module2.exports = stackHas;
    }
  });

  // node_modules/lodash/isObject.js
  var require_isObject = __commonJS({
    "node_modules/lodash/isObject.js"(exports, module2) {
      function isObject2(value) {
        var type = typeof value;
        return value != null && (type == "object" || type == "function");
      }
      module2.exports = isObject2;
    }
  });

  // node_modules/lodash/isFunction.js
  var require_isFunction = __commonJS({
    "node_modules/lodash/isFunction.js"(exports, module2) {
      var baseGetTag = require_baseGetTag();
      var isObject2 = require_isObject();
      var asyncTag = "[object AsyncFunction]";
      var funcTag = "[object Function]";
      var genTag = "[object GeneratorFunction]";
      var proxyTag = "[object Proxy]";
      function isFunction3(value) {
        if (!isObject2(value)) {
          return false;
        }
        var tag = baseGetTag(value);
        return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
      }
      module2.exports = isFunction3;
    }
  });

  // node_modules/lodash/_coreJsData.js
  var require_coreJsData = __commonJS({
    "node_modules/lodash/_coreJsData.js"(exports, module2) {
      var root2 = require_root();
      var coreJsData = root2["__core-js_shared__"];
      module2.exports = coreJsData;
    }
  });

  // node_modules/lodash/_isMasked.js
  var require_isMasked = __commonJS({
    "node_modules/lodash/_isMasked.js"(exports, module2) {
      var coreJsData = require_coreJsData();
      var maskSrcKey = function() {
        var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
        return uid ? "Symbol(src)_1." + uid : "";
      }();
      function isMasked(func) {
        return !!maskSrcKey && maskSrcKey in func;
      }
      module2.exports = isMasked;
    }
  });

  // node_modules/lodash/_toSource.js
  var require_toSource = __commonJS({
    "node_modules/lodash/_toSource.js"(exports, module2) {
      var funcProto = Function.prototype;
      var funcToString = funcProto.toString;
      function toSource(func) {
        if (func != null) {
          try {
            return funcToString.call(func);
          } catch (e) {
          }
          try {
            return func + "";
          } catch (e) {
          }
        }
        return "";
      }
      module2.exports = toSource;
    }
  });

  // node_modules/lodash/_baseIsNative.js
  var require_baseIsNative = __commonJS({
    "node_modules/lodash/_baseIsNative.js"(exports, module2) {
      var isFunction3 = require_isFunction();
      var isMasked = require_isMasked();
      var isObject2 = require_isObject();
      var toSource = require_toSource();
      var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
      var reIsHostCtor = /^\[object .+?Constructor\]$/;
      var funcProto = Function.prototype;
      var objectProto = Object.prototype;
      var funcToString = funcProto.toString;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      var reIsNative = RegExp(
        "^" + funcToString.call(hasOwnProperty9).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
      );
      function baseIsNative(value) {
        if (!isObject2(value) || isMasked(value)) {
          return false;
        }
        var pattern = isFunction3(value) ? reIsNative : reIsHostCtor;
        return pattern.test(toSource(value));
      }
      module2.exports = baseIsNative;
    }
  });

  // node_modules/lodash/_getValue.js
  var require_getValue = __commonJS({
    "node_modules/lodash/_getValue.js"(exports, module2) {
      function getValue(object, key) {
        return object == null ? void 0 : object[key];
      }
      module2.exports = getValue;
    }
  });

  // node_modules/lodash/_getNative.js
  var require_getNative = __commonJS({
    "node_modules/lodash/_getNative.js"(exports, module2) {
      var baseIsNative = require_baseIsNative();
      var getValue = require_getValue();
      function getNative(object, key) {
        var value = getValue(object, key);
        return baseIsNative(value) ? value : void 0;
      }
      module2.exports = getNative;
    }
  });

  // node_modules/lodash/_Map.js
  var require_Map = __commonJS({
    "node_modules/lodash/_Map.js"(exports, module2) {
      var getNative = require_getNative();
      var root2 = require_root();
      var Map2 = getNative(root2, "Map");
      module2.exports = Map2;
    }
  });

  // node_modules/lodash/_nativeCreate.js
  var require_nativeCreate = __commonJS({
    "node_modules/lodash/_nativeCreate.js"(exports, module2) {
      var getNative = require_getNative();
      var nativeCreate = getNative(Object, "create");
      module2.exports = nativeCreate;
    }
  });

  // node_modules/lodash/_hashClear.js
  var require_hashClear = __commonJS({
    "node_modules/lodash/_hashClear.js"(exports, module2) {
      var nativeCreate = require_nativeCreate();
      function hashClear() {
        this.__data__ = nativeCreate ? nativeCreate(null) : {};
        this.size = 0;
      }
      module2.exports = hashClear;
    }
  });

  // node_modules/lodash/_hashDelete.js
  var require_hashDelete = __commonJS({
    "node_modules/lodash/_hashDelete.js"(exports, module2) {
      function hashDelete(key) {
        var result2 = this.has(key) && delete this.__data__[key];
        this.size -= result2 ? 1 : 0;
        return result2;
      }
      module2.exports = hashDelete;
    }
  });

  // node_modules/lodash/_hashGet.js
  var require_hashGet = __commonJS({
    "node_modules/lodash/_hashGet.js"(exports, module2) {
      var nativeCreate = require_nativeCreate();
      var HASH_UNDEFINED = "__lodash_hash_undefined__";
      var objectProto = Object.prototype;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      function hashGet(key) {
        var data = this.__data__;
        if (nativeCreate) {
          var result2 = data[key];
          return result2 === HASH_UNDEFINED ? void 0 : result2;
        }
        return hasOwnProperty9.call(data, key) ? data[key] : void 0;
      }
      module2.exports = hashGet;
    }
  });

  // node_modules/lodash/_hashHas.js
  var require_hashHas = __commonJS({
    "node_modules/lodash/_hashHas.js"(exports, module2) {
      var nativeCreate = require_nativeCreate();
      var objectProto = Object.prototype;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      function hashHas(key) {
        var data = this.__data__;
        return nativeCreate ? data[key] !== void 0 : hasOwnProperty9.call(data, key);
      }
      module2.exports = hashHas;
    }
  });

  // node_modules/lodash/_hashSet.js
  var require_hashSet = __commonJS({
    "node_modules/lodash/_hashSet.js"(exports, module2) {
      var nativeCreate = require_nativeCreate();
      var HASH_UNDEFINED = "__lodash_hash_undefined__";
      function hashSet(key, value) {
        var data = this.__data__;
        this.size += this.has(key) ? 0 : 1;
        data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
        return this;
      }
      module2.exports = hashSet;
    }
  });

  // node_modules/lodash/_Hash.js
  var require_Hash = __commonJS({
    "node_modules/lodash/_Hash.js"(exports, module2) {
      var hashClear = require_hashClear();
      var hashDelete = require_hashDelete();
      var hashGet = require_hashGet();
      var hashHas = require_hashHas();
      var hashSet = require_hashSet();
      function Hash(entries) {
        var index = -1, length = entries == null ? 0 : entries.length;
        this.clear();
        while (++index < length) {
          var entry = entries[index];
          this.set(entry[0], entry[1]);
        }
      }
      Hash.prototype.clear = hashClear;
      Hash.prototype["delete"] = hashDelete;
      Hash.prototype.get = hashGet;
      Hash.prototype.has = hashHas;
      Hash.prototype.set = hashSet;
      module2.exports = Hash;
    }
  });

  // node_modules/lodash/_mapCacheClear.js
  var require_mapCacheClear = __commonJS({
    "node_modules/lodash/_mapCacheClear.js"(exports, module2) {
      var Hash = require_Hash();
      var ListCache = require_ListCache();
      var Map2 = require_Map();
      function mapCacheClear() {
        this.size = 0;
        this.__data__ = {
          "hash": new Hash(),
          "map": new (Map2 || ListCache)(),
          "string": new Hash()
        };
      }
      module2.exports = mapCacheClear;
    }
  });

  // node_modules/lodash/_isKeyable.js
  var require_isKeyable = __commonJS({
    "node_modules/lodash/_isKeyable.js"(exports, module2) {
      function isKeyable(value) {
        var type = typeof value;
        return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
      }
      module2.exports = isKeyable;
    }
  });

  // node_modules/lodash/_getMapData.js
  var require_getMapData = __commonJS({
    "node_modules/lodash/_getMapData.js"(exports, module2) {
      var isKeyable = require_isKeyable();
      function getMapData(map, key) {
        var data = map.__data__;
        return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
      }
      module2.exports = getMapData;
    }
  });

  // node_modules/lodash/_mapCacheDelete.js
  var require_mapCacheDelete = __commonJS({
    "node_modules/lodash/_mapCacheDelete.js"(exports, module2) {
      var getMapData = require_getMapData();
      function mapCacheDelete(key) {
        var result2 = getMapData(this, key)["delete"](key);
        this.size -= result2 ? 1 : 0;
        return result2;
      }
      module2.exports = mapCacheDelete;
    }
  });

  // node_modules/lodash/_mapCacheGet.js
  var require_mapCacheGet = __commonJS({
    "node_modules/lodash/_mapCacheGet.js"(exports, module2) {
      var getMapData = require_getMapData();
      function mapCacheGet(key) {
        return getMapData(this, key).get(key);
      }
      module2.exports = mapCacheGet;
    }
  });

  // node_modules/lodash/_mapCacheHas.js
  var require_mapCacheHas = __commonJS({
    "node_modules/lodash/_mapCacheHas.js"(exports, module2) {
      var getMapData = require_getMapData();
      function mapCacheHas(key) {
        return getMapData(this, key).has(key);
      }
      module2.exports = mapCacheHas;
    }
  });

  // node_modules/lodash/_mapCacheSet.js
  var require_mapCacheSet = __commonJS({
    "node_modules/lodash/_mapCacheSet.js"(exports, module2) {
      var getMapData = require_getMapData();
      function mapCacheSet(key, value) {
        var data = getMapData(this, key), size2 = data.size;
        data.set(key, value);
        this.size += data.size == size2 ? 0 : 1;
        return this;
      }
      module2.exports = mapCacheSet;
    }
  });

  // node_modules/lodash/_MapCache.js
  var require_MapCache = __commonJS({
    "node_modules/lodash/_MapCache.js"(exports, module2) {
      var mapCacheClear = require_mapCacheClear();
      var mapCacheDelete = require_mapCacheDelete();
      var mapCacheGet = require_mapCacheGet();
      var mapCacheHas = require_mapCacheHas();
      var mapCacheSet = require_mapCacheSet();
      function MapCache(entries) {
        var index = -1, length = entries == null ? 0 : entries.length;
        this.clear();
        while (++index < length) {
          var entry = entries[index];
          this.set(entry[0], entry[1]);
        }
      }
      MapCache.prototype.clear = mapCacheClear;
      MapCache.prototype["delete"] = mapCacheDelete;
      MapCache.prototype.get = mapCacheGet;
      MapCache.prototype.has = mapCacheHas;
      MapCache.prototype.set = mapCacheSet;
      module2.exports = MapCache;
    }
  });

  // node_modules/lodash/_stackSet.js
  var require_stackSet = __commonJS({
    "node_modules/lodash/_stackSet.js"(exports, module2) {
      var ListCache = require_ListCache();
      var Map2 = require_Map();
      var MapCache = require_MapCache();
      var LARGE_ARRAY_SIZE = 200;
      function stackSet(key, value) {
        var data = this.__data__;
        if (data instanceof ListCache) {
          var pairs = data.__data__;
          if (!Map2 || pairs.length < LARGE_ARRAY_SIZE - 1) {
            pairs.push([key, value]);
            this.size = ++data.size;
            return this;
          }
          data = this.__data__ = new MapCache(pairs);
        }
        data.set(key, value);
        this.size = data.size;
        return this;
      }
      module2.exports = stackSet;
    }
  });

  // node_modules/lodash/_Stack.js
  var require_Stack = __commonJS({
    "node_modules/lodash/_Stack.js"(exports, module2) {
      var ListCache = require_ListCache();
      var stackClear = require_stackClear();
      var stackDelete = require_stackDelete();
      var stackGet = require_stackGet();
      var stackHas = require_stackHas();
      var stackSet = require_stackSet();
      function Stack2(entries) {
        var data = this.__data__ = new ListCache(entries);
        this.size = data.size;
      }
      Stack2.prototype.clear = stackClear;
      Stack2.prototype["delete"] = stackDelete;
      Stack2.prototype.get = stackGet;
      Stack2.prototype.has = stackHas;
      Stack2.prototype.set = stackSet;
      module2.exports = Stack2;
    }
  });

  // node_modules/lodash/_setCacheAdd.js
  var require_setCacheAdd = __commonJS({
    "node_modules/lodash/_setCacheAdd.js"(exports, module2) {
      var HASH_UNDEFINED = "__lodash_hash_undefined__";
      function setCacheAdd(value) {
        this.__data__.set(value, HASH_UNDEFINED);
        return this;
      }
      module2.exports = setCacheAdd;
    }
  });

  // node_modules/lodash/_setCacheHas.js
  var require_setCacheHas = __commonJS({
    "node_modules/lodash/_setCacheHas.js"(exports, module2) {
      function setCacheHas(value) {
        return this.__data__.has(value);
      }
      module2.exports = setCacheHas;
    }
  });

  // node_modules/lodash/_SetCache.js
  var require_SetCache = __commonJS({
    "node_modules/lodash/_SetCache.js"(exports, module2) {
      var MapCache = require_MapCache();
      var setCacheAdd = require_setCacheAdd();
      var setCacheHas = require_setCacheHas();
      function SetCache(values2) {
        var index = -1, length = values2 == null ? 0 : values2.length;
        this.__data__ = new MapCache();
        while (++index < length) {
          this.add(values2[index]);
        }
      }
      SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
      SetCache.prototype.has = setCacheHas;
      module2.exports = SetCache;
    }
  });

  // node_modules/lodash/_arraySome.js
  var require_arraySome = __commonJS({
    "node_modules/lodash/_arraySome.js"(exports, module2) {
      function arraySome(array, predicate) {
        var index = -1, length = array == null ? 0 : array.length;
        while (++index < length) {
          if (predicate(array[index], index, array)) {
            return true;
          }
        }
        return false;
      }
      module2.exports = arraySome;
    }
  });

  // node_modules/lodash/_cacheHas.js
  var require_cacheHas = __commonJS({
    "node_modules/lodash/_cacheHas.js"(exports, module2) {
      function cacheHas(cache, key) {
        return cache.has(key);
      }
      module2.exports = cacheHas;
    }
  });

  // node_modules/lodash/_equalArrays.js
  var require_equalArrays = __commonJS({
    "node_modules/lodash/_equalArrays.js"(exports, module2) {
      var SetCache = require_SetCache();
      var arraySome = require_arraySome();
      var cacheHas = require_cacheHas();
      var COMPARE_PARTIAL_FLAG = 1;
      var COMPARE_UNORDERED_FLAG = 2;
      function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
        var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length;
        if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
          return false;
        }
        var arrStacked = stack.get(array);
        var othStacked = stack.get(other);
        if (arrStacked && othStacked) {
          return arrStacked == other && othStacked == array;
        }
        var index = -1, result2 = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : void 0;
        stack.set(array, other);
        stack.set(other, array);
        while (++index < arrLength) {
          var arrValue = array[index], othValue = other[index];
          if (customizer) {
            var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
          }
          if (compared !== void 0) {
            if (compared) {
              continue;
            }
            result2 = false;
            break;
          }
          if (seen) {
            if (!arraySome(other, function(othValue2, othIndex) {
              if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) {
                return seen.push(othIndex);
              }
            })) {
              result2 = false;
              break;
            }
          } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
            result2 = false;
            break;
          }
        }
        stack["delete"](array);
        stack["delete"](other);
        return result2;
      }
      module2.exports = equalArrays;
    }
  });

  // node_modules/lodash/_Uint8Array.js
  var require_Uint8Array = __commonJS({
    "node_modules/lodash/_Uint8Array.js"(exports, module2) {
      var root2 = require_root();
      var Uint8Array2 = root2.Uint8Array;
      module2.exports = Uint8Array2;
    }
  });

  // node_modules/lodash/_mapToArray.js
  var require_mapToArray = __commonJS({
    "node_modules/lodash/_mapToArray.js"(exports, module2) {
      function mapToArray(map) {
        var index = -1, result2 = Array(map.size);
        map.forEach(function(value, key) {
          result2[++index] = [key, value];
        });
        return result2;
      }
      module2.exports = mapToArray;
    }
  });

  // node_modules/lodash/_setToArray.js
  var require_setToArray = __commonJS({
    "node_modules/lodash/_setToArray.js"(exports, module2) {
      function setToArray(set3) {
        var index = -1, result2 = Array(set3.size);
        set3.forEach(function(value) {
          result2[++index] = value;
        });
        return result2;
      }
      module2.exports = setToArray;
    }
  });

  // node_modules/lodash/_equalByTag.js
  var require_equalByTag = __commonJS({
    "node_modules/lodash/_equalByTag.js"(exports, module2) {
      var Symbol2 = require_Symbol();
      var Uint8Array2 = require_Uint8Array();
      var eq = require_eq();
      var equalArrays = require_equalArrays();
      var mapToArray = require_mapToArray();
      var setToArray = require_setToArray();
      var COMPARE_PARTIAL_FLAG = 1;
      var COMPARE_UNORDERED_FLAG = 2;
      var boolTag = "[object Boolean]";
      var dateTag = "[object Date]";
      var errorTag = "[object Error]";
      var mapTag = "[object Map]";
      var numberTag = "[object Number]";
      var regexpTag = "[object RegExp]";
      var setTag = "[object Set]";
      var stringTag = "[object String]";
      var symbolTag = "[object Symbol]";
      var arrayBufferTag = "[object ArrayBuffer]";
      var dataViewTag = "[object DataView]";
      var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
      var symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
      function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
        switch (tag) {
          case dataViewTag:
            if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
              return false;
            }
            object = object.buffer;
            other = other.buffer;
          case arrayBufferTag:
            if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) {
              return false;
            }
            return true;
          case boolTag:
          case dateTag:
          case numberTag:
            return eq(+object, +other);
          case errorTag:
            return object.name == other.name && object.message == other.message;
          case regexpTag:
          case stringTag:
            return object == other + "";
          case mapTag:
            var convert = mapToArray;
          case setTag:
            var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
            convert || (convert = setToArray);
            if (object.size != other.size && !isPartial) {
              return false;
            }
            var stacked = stack.get(object);
            if (stacked) {
              return stacked == other;
            }
            bitmask |= COMPARE_UNORDERED_FLAG;
            stack.set(object, other);
            var result2 = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
            stack["delete"](object);
            return result2;
          case symbolTag:
            if (symbolValueOf) {
              return symbolValueOf.call(object) == symbolValueOf.call(other);
            }
        }
        return false;
      }
      module2.exports = equalByTag;
    }
  });

  // node_modules/lodash/_arrayPush.js
  var require_arrayPush = __commonJS({
    "node_modules/lodash/_arrayPush.js"(exports, module2) {
      function arrayPush(array, values2) {
        var index = -1, length = values2.length, offset = array.length;
        while (++index < length) {
          array[offset + index] = values2[index];
        }
        return array;
      }
      module2.exports = arrayPush;
    }
  });

  // node_modules/lodash/isArray.js
  var require_isArray = __commonJS({
    "node_modules/lodash/isArray.js"(exports, module2) {
      var isArray2 = Array.isArray;
      module2.exports = isArray2;
    }
  });

  // node_modules/lodash/_baseGetAllKeys.js
  var require_baseGetAllKeys = __commonJS({
    "node_modules/lodash/_baseGetAllKeys.js"(exports, module2) {
      var arrayPush = require_arrayPush();
      var isArray2 = require_isArray();
      function baseGetAllKeys(object, keysFunc, symbolsFunc) {
        var result2 = keysFunc(object);
        return isArray2(object) ? result2 : arrayPush(result2, symbolsFunc(object));
      }
      module2.exports = baseGetAllKeys;
    }
  });

  // node_modules/lodash/_arrayFilter.js
  var require_arrayFilter = __commonJS({
    "node_modules/lodash/_arrayFilter.js"(exports, module2) {
      function arrayFilter(array, predicate) {
        var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result2 = [];
        while (++index < length) {
          var value = array[index];
          if (predicate(value, index, array)) {
            result2[resIndex++] = value;
          }
        }
        return result2;
      }
      module2.exports = arrayFilter;
    }
  });

  // node_modules/lodash/stubArray.js
  var require_stubArray = __commonJS({
    "node_modules/lodash/stubArray.js"(exports, module2) {
      function stubArray() {
        return [];
      }
      module2.exports = stubArray;
    }
  });

  // node_modules/lodash/_getSymbols.js
  var require_getSymbols = __commonJS({
    "node_modules/lodash/_getSymbols.js"(exports, module2) {
      var arrayFilter = require_arrayFilter();
      var stubArray = require_stubArray();
      var objectProto = Object.prototype;
      var propertyIsEnumerable = objectProto.propertyIsEnumerable;
      var nativeGetSymbols = Object.getOwnPropertySymbols;
      var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
        if (object == null) {
          return [];
        }
        object = Object(object);
        return arrayFilter(nativeGetSymbols(object), function(symbol) {
          return propertyIsEnumerable.call(object, symbol);
        });
      };
      module2.exports = getSymbols;
    }
  });

  // node_modules/lodash/_baseTimes.js
  var require_baseTimes = __commonJS({
    "node_modules/lodash/_baseTimes.js"(exports, module2) {
      function baseTimes(n, iteratee) {
        var index = -1, result2 = Array(n);
        while (++index < n) {
          result2[index] = iteratee(index);
        }
        return result2;
      }
      module2.exports = baseTimes;
    }
  });

  // node_modules/lodash/_baseIsArguments.js
  var require_baseIsArguments = __commonJS({
    "node_modules/lodash/_baseIsArguments.js"(exports, module2) {
      var baseGetTag = require_baseGetTag();
      var isObjectLike2 = require_isObjectLike();
      var argsTag = "[object Arguments]";
      function baseIsArguments(value) {
        return isObjectLike2(value) && baseGetTag(value) == argsTag;
      }
      module2.exports = baseIsArguments;
    }
  });

  // node_modules/lodash/isArguments.js
  var require_isArguments = __commonJS({
    "node_modules/lodash/isArguments.js"(exports, module2) {
      var baseIsArguments = require_baseIsArguments();
      var isObjectLike2 = require_isObjectLike();
      var objectProto = Object.prototype;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      var propertyIsEnumerable = objectProto.propertyIsEnumerable;
      var isArguments = baseIsArguments(function() {
        return arguments;
      }()) ? baseIsArguments : function(value) {
        return isObjectLike2(value) && hasOwnProperty9.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
      };
      module2.exports = isArguments;
    }
  });

  // node_modules/lodash/stubFalse.js
  var require_stubFalse = __commonJS({
    "node_modules/lodash/stubFalse.js"(exports, module2) {
      function stubFalse() {
        return false;
      }
      module2.exports = stubFalse;
    }
  });

  // node_modules/lodash/isBuffer.js
  var require_isBuffer = __commonJS({
    "node_modules/lodash/isBuffer.js"(exports, module2) {
      var root2 = require_root();
      var stubFalse = require_stubFalse();
      var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
      var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
      var moduleExports = freeModule && freeModule.exports === freeExports;
      var Buffer2 = moduleExports ? root2.Buffer : void 0;
      var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
      var isBuffer = nativeIsBuffer || stubFalse;
      module2.exports = isBuffer;
    }
  });

  // node_modules/lodash/_isIndex.js
  var require_isIndex = __commonJS({
    "node_modules/lodash/_isIndex.js"(exports, module2) {
      var MAX_SAFE_INTEGER = 9007199254740991;
      var reIsUint = /^(?:0|[1-9]\d*)$/;
      function isIndex(value, length) {
        var type = typeof value;
        length = length == null ? MAX_SAFE_INTEGER : length;
        return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
      }
      module2.exports = isIndex;
    }
  });

  // node_modules/lodash/isLength.js
  var require_isLength = __commonJS({
    "node_modules/lodash/isLength.js"(exports, module2) {
      var MAX_SAFE_INTEGER = 9007199254740991;
      function isLength(value) {
        return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
      }
      module2.exports = isLength;
    }
  });

  // node_modules/lodash/_baseIsTypedArray.js
  var require_baseIsTypedArray = __commonJS({
    "node_modules/lodash/_baseIsTypedArray.js"(exports, module2) {
      var baseGetTag = require_baseGetTag();
      var isLength = require_isLength();
      var isObjectLike2 = require_isObjectLike();
      var argsTag = "[object Arguments]";
      var arrayTag = "[object Array]";
      var boolTag = "[object Boolean]";
      var dateTag = "[object Date]";
      var errorTag = "[object Error]";
      var funcTag = "[object Function]";
      var mapTag = "[object Map]";
      var numberTag = "[object Number]";
      var objectTag = "[object Object]";
      var regexpTag = "[object RegExp]";
      var setTag = "[object Set]";
      var stringTag = "[object String]";
      var weakMapTag = "[object WeakMap]";
      var arrayBufferTag = "[object ArrayBuffer]";
      var dataViewTag = "[object DataView]";
      var float32Tag = "[object Float32Array]";
      var float64Tag = "[object Float64Array]";
      var int8Tag = "[object Int8Array]";
      var int16Tag = "[object Int16Array]";
      var int32Tag = "[object Int32Array]";
      var uint8Tag = "[object Uint8Array]";
      var uint8ClampedTag = "[object Uint8ClampedArray]";
      var uint16Tag = "[object Uint16Array]";
      var uint32Tag = "[object Uint32Array]";
      var typedArrayTags = {};
      typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
      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;
      function baseIsTypedArray(value) {
        return isObjectLike2(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
      }
      module2.exports = baseIsTypedArray;
    }
  });

  // node_modules/lodash/_baseUnary.js
  var require_baseUnary = __commonJS({
    "node_modules/lodash/_baseUnary.js"(exports, module2) {
      function baseUnary(func) {
        return function(value) {
          return func(value);
        };
      }
      module2.exports = baseUnary;
    }
  });

  // node_modules/lodash/_nodeUtil.js
  var require_nodeUtil = __commonJS({
    "node_modules/lodash/_nodeUtil.js"(exports, module2) {
      var freeGlobal = require_freeGlobal();
      var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
      var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
      var moduleExports = freeModule && freeModule.exports === freeExports;
      var freeProcess = moduleExports && freeGlobal.process;
      var nodeUtil = function() {
        try {
          var types = freeModule && freeModule.require && freeModule.require("util").types;
          if (types) {
            return types;
          }
          return freeProcess && freeProcess.binding && freeProcess.binding("util");
        } catch (e) {
        }
      }();
      module2.exports = nodeUtil;
    }
  });

  // node_modules/lodash/isTypedArray.js
  var require_isTypedArray = __commonJS({
    "node_modules/lodash/isTypedArray.js"(exports, module2) {
      var baseIsTypedArray = require_baseIsTypedArray();
      var baseUnary = require_baseUnary();
      var nodeUtil = require_nodeUtil();
      var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
      var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
      module2.exports = isTypedArray;
    }
  });

  // node_modules/lodash/_arrayLikeKeys.js
  var require_arrayLikeKeys = __commonJS({
    "node_modules/lodash/_arrayLikeKeys.js"(exports, module2) {
      var baseTimes = require_baseTimes();
      var isArguments = require_isArguments();
      var isArray2 = require_isArray();
      var isBuffer = require_isBuffer();
      var isIndex = require_isIndex();
      var isTypedArray = require_isTypedArray();
      var objectProto = Object.prototype;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      function arrayLikeKeys(value, inherited) {
        var isArr = isArray2(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result2 = skipIndexes ? baseTimes(value.length, String) : [], length = result2.length;
        for (var key in value) {
          if ((inherited || hasOwnProperty9.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
          (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
          isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
          isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
          isIndex(key, length)))) {
            result2.push(key);
          }
        }
        return result2;
      }
      module2.exports = arrayLikeKeys;
    }
  });

  // node_modules/lodash/_isPrototype.js
  var require_isPrototype = __commonJS({
    "node_modules/lodash/_isPrototype.js"(exports, module2) {
      var objectProto = Object.prototype;
      function isPrototype(value) {
        var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
        return value === proto;
      }
      module2.exports = isPrototype;
    }
  });

  // node_modules/lodash/_nativeKeys.js
  var require_nativeKeys = __commonJS({
    "node_modules/lodash/_nativeKeys.js"(exports, module2) {
      var overArg = require_overArg();
      var nativeKeys = overArg(Object.keys, Object);
      module2.exports = nativeKeys;
    }
  });

  // node_modules/lodash/_baseKeys.js
  var require_baseKeys = __commonJS({
    "node_modules/lodash/_baseKeys.js"(exports, module2) {
      var isPrototype = require_isPrototype();
      var nativeKeys = require_nativeKeys();
      var objectProto = Object.prototype;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      function baseKeys(object) {
        if (!isPrototype(object)) {
          return nativeKeys(object);
        }
        var result2 = [];
        for (var key in Object(object)) {
          if (hasOwnProperty9.call(object, key) && key != "constructor") {
            result2.push(key);
          }
        }
        return result2;
      }
      module2.exports = baseKeys;
    }
  });

  // node_modules/lodash/isArrayLike.js
  var require_isArrayLike = __commonJS({
    "node_modules/lodash/isArrayLike.js"(exports, module2) {
      var isFunction3 = require_isFunction();
      var isLength = require_isLength();
      function isArrayLike(value) {
        return value != null && isLength(value.length) && !isFunction3(value);
      }
      module2.exports = isArrayLike;
    }
  });

  // node_modules/lodash/keys.js
  var require_keys = __commonJS({
    "node_modules/lodash/keys.js"(exports, module2) {
      var arrayLikeKeys = require_arrayLikeKeys();
      var baseKeys = require_baseKeys();
      var isArrayLike = require_isArrayLike();
      function keys(object) {
        return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
      }
      module2.exports = keys;
    }
  });

  // node_modules/lodash/_getAllKeys.js
  var require_getAllKeys = __commonJS({
    "node_modules/lodash/_getAllKeys.js"(exports, module2) {
      var baseGetAllKeys = require_baseGetAllKeys();
      var getSymbols = require_getSymbols();
      var keys = require_keys();
      function getAllKeys(object) {
        return baseGetAllKeys(object, keys, getSymbols);
      }
      module2.exports = getAllKeys;
    }
  });

  // node_modules/lodash/_equalObjects.js
  var require_equalObjects = __commonJS({
    "node_modules/lodash/_equalObjects.js"(exports, module2) {
      var getAllKeys = require_getAllKeys();
      var COMPARE_PARTIAL_FLAG = 1;
      var objectProto = Object.prototype;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
        var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
        if (objLength != othLength && !isPartial) {
          return false;
        }
        var index = objLength;
        while (index--) {
          var key = objProps[index];
          if (!(isPartial ? key in other : hasOwnProperty9.call(other, key))) {
            return false;
          }
        }
        var objStacked = stack.get(object);
        var othStacked = stack.get(other);
        if (objStacked && othStacked) {
          return objStacked == other && othStacked == object;
        }
        var result2 = true;
        stack.set(object, other);
        stack.set(other, object);
        var skipCtor = isPartial;
        while (++index < objLength) {
          key = objProps[index];
          var objValue = object[key], othValue = other[key];
          if (customizer) {
            var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
          }
          if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
            result2 = false;
            break;
          }
          skipCtor || (skipCtor = key == "constructor");
        }
        if (result2 && !skipCtor) {
          var objCtor = object.constructor, othCtor = other.constructor;
          if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
            result2 = false;
          }
        }
        stack["delete"](object);
        stack["delete"](other);
        return result2;
      }
      module2.exports = equalObjects;
    }
  });

  // node_modules/lodash/_DataView.js
  var require_DataView = __commonJS({
    "node_modules/lodash/_DataView.js"(exports, module2) {
      var getNative = require_getNative();
      var root2 = require_root();
      var DataView = getNative(root2, "DataView");
      module2.exports = DataView;
    }
  });

  // node_modules/lodash/_Promise.js
  var require_Promise = __commonJS({
    "node_modules/lodash/_Promise.js"(exports, module2) {
      var getNative = require_getNative();
      var root2 = require_root();
      var Promise3 = getNative(root2, "Promise");
      module2.exports = Promise3;
    }
  });

  // node_modules/lodash/_Set.js
  var require_Set = __commonJS({
    "node_modules/lodash/_Set.js"(exports, module2) {
      var getNative = require_getNative();
      var root2 = require_root();
      var Set2 = getNative(root2, "Set");
      module2.exports = Set2;
    }
  });

  // node_modules/lodash/_WeakMap.js
  var require_WeakMap = __commonJS({
    "node_modules/lodash/_WeakMap.js"(exports, module2) {
      var getNative = require_getNative();
      var root2 = require_root();
      var WeakMap2 = getNative(root2, "WeakMap");
      module2.exports = WeakMap2;
    }
  });

  // node_modules/lodash/_getTag.js
  var require_getTag = __commonJS({
    "node_modules/lodash/_getTag.js"(exports, module2) {
      var DataView = require_DataView();
      var Map2 = require_Map();
      var Promise3 = require_Promise();
      var Set2 = require_Set();
      var WeakMap2 = require_WeakMap();
      var baseGetTag = require_baseGetTag();
      var toSource = require_toSource();
      var mapTag = "[object Map]";
      var objectTag = "[object Object]";
      var promiseTag = "[object Promise]";
      var setTag = "[object Set]";
      var weakMapTag = "[object WeakMap]";
      var dataViewTag = "[object DataView]";
      var dataViewCtorString = toSource(DataView);
      var mapCtorString = toSource(Map2);
      var promiseCtorString = toSource(Promise3);
      var setCtorString = toSource(Set2);
      var weakMapCtorString = toSource(WeakMap2);
      var getTag = baseGetTag;
      if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise3 && getTag(Promise3.resolve()) != promiseTag || Set2 && getTag(new Set2()) != setTag || WeakMap2 && getTag(new WeakMap2()) != weakMapTag) {
        getTag = function(value) {
          var result2 = baseGetTag(value), Ctor = result2 == objectTag ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
          if (ctorString) {
            switch (ctorString) {
              case dataViewCtorString:
                return dataViewTag;
              case mapCtorString:
                return mapTag;
              case promiseCtorString:
                return promiseTag;
              case setCtorString:
                return setTag;
              case weakMapCtorString:
                return weakMapTag;
            }
          }
          return result2;
        };
      }
      module2.exports = getTag;
    }
  });

  // node_modules/lodash/_baseIsEqualDeep.js
  var require_baseIsEqualDeep = __commonJS({
    "node_modules/lodash/_baseIsEqualDeep.js"(exports, module2) {
      var Stack2 = require_Stack();
      var equalArrays = require_equalArrays();
      var equalByTag = require_equalByTag();
      var equalObjects = require_equalObjects();
      var getTag = require_getTag();
      var isArray2 = require_isArray();
      var isBuffer = require_isBuffer();
      var isTypedArray = require_isTypedArray();
      var COMPARE_PARTIAL_FLAG = 1;
      var argsTag = "[object Arguments]";
      var arrayTag = "[object Array]";
      var objectTag = "[object Object]";
      var objectProto = Object.prototype;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
        var objIsArr = isArray2(object), othIsArr = isArray2(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other);
        objTag = objTag == argsTag ? objectTag : objTag;
        othTag = othTag == argsTag ? objectTag : othTag;
        var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;
        if (isSameTag && isBuffer(object)) {
          if (!isBuffer(other)) {
            return false;
          }
          objIsArr = true;
          objIsObj = false;
        }
        if (isSameTag && !objIsObj) {
          stack || (stack = new Stack2());
          return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
        }
        if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
          var objIsWrapped = objIsObj && hasOwnProperty9.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty9.call(other, "__wrapped__");
          if (objIsWrapped || othIsWrapped) {
            var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
            stack || (stack = new Stack2());
            return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
          }
        }
        if (!isSameTag) {
          return false;
        }
        stack || (stack = new Stack2());
        return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
      }
      module2.exports = baseIsEqualDeep;
    }
  });

  // node_modules/lodash/_baseIsEqual.js
  var require_baseIsEqual = __commonJS({
    "node_modules/lodash/_baseIsEqual.js"(exports, module2) {
      var baseIsEqualDeep = require_baseIsEqualDeep();
      var isObjectLike2 = require_isObjectLike();
      function baseIsEqual(value, other, bitmask, customizer, stack) {
        if (value === other) {
          return true;
        }
        if (value == null || other == null || !isObjectLike2(value) && !isObjectLike2(other)) {
          return value !== value && other !== other;
        }
        return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
      }
      module2.exports = baseIsEqual;
    }
  });

  // node_modules/lodash/_baseIsMatch.js
  var require_baseIsMatch = __commonJS({
    "node_modules/lodash/_baseIsMatch.js"(exports, module2) {
      var Stack2 = require_Stack();
      var baseIsEqual = require_baseIsEqual();
      var COMPARE_PARTIAL_FLAG = 1;
      var COMPARE_UNORDERED_FLAG = 2;
      function baseIsMatch(object, source, matchData, customizer) {
        var index = matchData.length, length = index, noCustomizer = !customizer;
        if (object == null) {
          return !length;
        }
        object = Object(object);
        while (index--) {
          var data = matchData[index];
          if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {
            return false;
          }
        }
        while (++index < length) {
          data = matchData[index];
          var key = data[0], objValue = object[key], srcValue = data[1];
          if (noCustomizer && data[2]) {
            if (objValue === void 0 && !(key in object)) {
              return false;
            }
          } else {
            var stack = new Stack2();
            if (customizer) {
              var result2 = customizer(objValue, srcValue, key, object, source, stack);
            }
            if (!(result2 === void 0 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) : result2)) {
              return false;
            }
          }
        }
        return true;
      }
      module2.exports = baseIsMatch;
    }
  });

  // node_modules/lodash/_isStrictComparable.js
  var require_isStrictComparable = __commonJS({
    "node_modules/lodash/_isStrictComparable.js"(exports, module2) {
      var isObject2 = require_isObject();
      function isStrictComparable(value) {
        return value === value && !isObject2(value);
      }
      module2.exports = isStrictComparable;
    }
  });

  // node_modules/lodash/_getMatchData.js
  var require_getMatchData = __commonJS({
    "node_modules/lodash/_getMatchData.js"(exports, module2) {
      var isStrictComparable = require_isStrictComparable();
      var keys = require_keys();
      function getMatchData(object) {
        var result2 = keys(object), length = result2.length;
        while (length--) {
          var key = result2[length], value = object[key];
          result2[length] = [key, value, isStrictComparable(value)];
        }
        return result2;
      }
      module2.exports = getMatchData;
    }
  });

  // node_modules/lodash/_matchesStrictComparable.js
  var require_matchesStrictComparable = __commonJS({
    "node_modules/lodash/_matchesStrictComparable.js"(exports, module2) {
      function matchesStrictComparable(key, srcValue) {
        return function(object) {
          if (object == null) {
            return false;
          }
          return object[key] === srcValue && (srcValue !== void 0 || key in Object(object));
        };
      }
      module2.exports = matchesStrictComparable;
    }
  });

  // node_modules/lodash/_baseMatches.js
  var require_baseMatches = __commonJS({
    "node_modules/lodash/_baseMatches.js"(exports, module2) {
      var baseIsMatch = require_baseIsMatch();
      var getMatchData = require_getMatchData();
      var matchesStrictComparable = require_matchesStrictComparable();
      function baseMatches(source) {
        var matchData = getMatchData(source);
        if (matchData.length == 1 && matchData[0][2]) {
          return matchesStrictComparable(matchData[0][0], matchData[0][1]);
        }
        return function(object) {
          return object === source || baseIsMatch(object, source, matchData);
        };
      }
      module2.exports = baseMatches;
    }
  });

  // node_modules/lodash/isSymbol.js
  var require_isSymbol = __commonJS({
    "node_modules/lodash/isSymbol.js"(exports, module2) {
      var baseGetTag = require_baseGetTag();
      var isObjectLike2 = require_isObjectLike();
      var symbolTag = "[object Symbol]";
      function isSymbol(value) {
        return typeof value == "symbol" || isObjectLike2(value) && baseGetTag(value) == symbolTag;
      }
      module2.exports = isSymbol;
    }
  });

  // node_modules/lodash/_isKey.js
  var require_isKey = __commonJS({
    "node_modules/lodash/_isKey.js"(exports, module2) {
      var isArray2 = require_isArray();
      var isSymbol = require_isSymbol();
      var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
      var reIsPlainProp = /^\w*$/;
      function isKey(value, object) {
        if (isArray2(value)) {
          return false;
        }
        var type = typeof value;
        if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) {
          return true;
        }
        return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
      }
      module2.exports = isKey;
    }
  });

  // node_modules/lodash/memoize.js
  var require_memoize = __commonJS({
    "node_modules/lodash/memoize.js"(exports, module2) {
      var MapCache = require_MapCache();
      var FUNC_ERROR_TEXT = "Expected a function";
      function memoize2(func, resolver) {
        if (typeof func != "function" || resolver != null && typeof resolver != "function") {
          throw new TypeError(FUNC_ERROR_TEXT);
        }
        var memoized = function() {
          var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
          if (cache.has(key)) {
            return cache.get(key);
          }
          var result2 = func.apply(this, args);
          memoized.cache = cache.set(key, result2) || cache;
          return result2;
        };
        memoized.cache = new (memoize2.Cache || MapCache)();
        return memoized;
      }
      memoize2.Cache = MapCache;
      module2.exports = memoize2;
    }
  });

  // node_modules/lodash/_memoizeCapped.js
  var require_memoizeCapped = __commonJS({
    "node_modules/lodash/_memoizeCapped.js"(exports, module2) {
      var memoize2 = require_memoize();
      var MAX_MEMOIZE_SIZE = 500;
      function memoizeCapped(func) {
        var result2 = memoize2(func, function(key) {
          if (cache.size === MAX_MEMOIZE_SIZE) {
            cache.clear();
          }
          return key;
        });
        var cache = result2.cache;
        return result2;
      }
      module2.exports = memoizeCapped;
    }
  });

  // node_modules/lodash/_stringToPath.js
  var require_stringToPath = __commonJS({
    "node_modules/lodash/_stringToPath.js"(exports, module2) {
      var memoizeCapped = require_memoizeCapped();
      var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
      var reEscapeChar = /\\(\\)?/g;
      var stringToPath = memoizeCapped(function(string) {
        var result2 = [];
        if (string.charCodeAt(0) === 46) {
          result2.push("");
        }
        string.replace(rePropName, function(match, number, quote, subString) {
          result2.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
        });
        return result2;
      });
      module2.exports = stringToPath;
    }
  });

  // node_modules/lodash/_arrayMap.js
  var require_arrayMap = __commonJS({
    "node_modules/lodash/_arrayMap.js"(exports, module2) {
      function arrayMap(array, iteratee) {
        var index = -1, length = array == null ? 0 : array.length, result2 = Array(length);
        while (++index < length) {
          result2[index] = iteratee(array[index], index, array);
        }
        return result2;
      }
      module2.exports = arrayMap;
    }
  });

  // node_modules/lodash/_baseToString.js
  var require_baseToString = __commonJS({
    "node_modules/lodash/_baseToString.js"(exports, module2) {
      var Symbol2 = require_Symbol();
      var arrayMap = require_arrayMap();
      var isArray2 = require_isArray();
      var isSymbol = require_isSymbol();
      var INFINITY = 1 / 0;
      var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
      var symbolToString = symbolProto ? symbolProto.toString : void 0;
      function baseToString(value) {
        if (typeof value == "string") {
          return value;
        }
        if (isArray2(value)) {
          return arrayMap(value, baseToString) + "";
        }
        if (isSymbol(value)) {
          return symbolToString ? symbolToString.call(value) : "";
        }
        var result2 = value + "";
        return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2;
      }
      module2.exports = baseToString;
    }
  });

  // node_modules/lodash/toString.js
  var require_toString = __commonJS({
    "node_modules/lodash/toString.js"(exports, module2) {
      var baseToString = require_baseToString();
      function toString3(value) {
        return value == null ? "" : baseToString(value);
      }
      module2.exports = toString3;
    }
  });

  // node_modules/lodash/_castPath.js
  var require_castPath = __commonJS({
    "node_modules/lodash/_castPath.js"(exports, module2) {
      var isArray2 = require_isArray();
      var isKey = require_isKey();
      var stringToPath = require_stringToPath();
      var toString3 = require_toString();
      function castPath(value, object) {
        if (isArray2(value)) {
          return value;
        }
        return isKey(value, object) ? [value] : stringToPath(toString3(value));
      }
      module2.exports = castPath;
    }
  });

  // node_modules/lodash/_toKey.js
  var require_toKey = __commonJS({
    "node_modules/lodash/_toKey.js"(exports, module2) {
      var isSymbol = require_isSymbol();
      var INFINITY = 1 / 0;
      function toKey(value) {
        if (typeof value == "string" || isSymbol(value)) {
          return value;
        }
        var result2 = value + "";
        return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2;
      }
      module2.exports = toKey;
    }
  });

  // node_modules/lodash/_baseGet.js
  var require_baseGet = __commonJS({
    "node_modules/lodash/_baseGet.js"(exports, module2) {
      var castPath = require_castPath();
      var toKey = require_toKey();
      function baseGet(object, path) {
        path = castPath(path, object);
        var index = 0, length = path.length;
        while (object != null && index < length) {
          object = object[toKey(path[index++])];
        }
        return index && index == length ? object : void 0;
      }
      module2.exports = baseGet;
    }
  });

  // node_modules/lodash/get.js
  var require_get = __commonJS({
    "node_modules/lodash/get.js"(exports, module2) {
      var baseGet = require_baseGet();
      function get8(object, path, defaultValue) {
        var result2 = object == null ? void 0 : baseGet(object, path);
        return result2 === void 0 ? defaultValue : result2;
      }
      module2.exports = get8;
    }
  });

  // node_modules/lodash/_baseHasIn.js
  var require_baseHasIn = __commonJS({
    "node_modules/lodash/_baseHasIn.js"(exports, module2) {
      function baseHasIn(object, key) {
        return object != null && key in Object(object);
      }
      module2.exports = baseHasIn;
    }
  });

  // node_modules/lodash/_hasPath.js
  var require_hasPath = __commonJS({
    "node_modules/lodash/_hasPath.js"(exports, module2) {
      var castPath = require_castPath();
      var isArguments = require_isArguments();
      var isArray2 = require_isArray();
      var isIndex = require_isIndex();
      var isLength = require_isLength();
      var toKey = require_toKey();
      function hasPath(object, path, hasFunc) {
        path = castPath(path, object);
        var index = -1, length = path.length, result2 = false;
        while (++index < length) {
          var key = toKey(path[index]);
          if (!(result2 = object != null && hasFunc(object, key))) {
            break;
          }
          object = object[key];
        }
        if (result2 || ++index != length) {
          return result2;
        }
        length = object == null ? 0 : object.length;
        return !!length && isLength(length) && isIndex(key, length) && (isArray2(object) || isArguments(object));
      }
      module2.exports = hasPath;
    }
  });

  // node_modules/lodash/hasIn.js
  var require_hasIn = __commonJS({
    "node_modules/lodash/hasIn.js"(exports, module2) {
      var baseHasIn = require_baseHasIn();
      var hasPath = require_hasPath();
      function hasIn(object, path) {
        return object != null && hasPath(object, path, baseHasIn);
      }
      module2.exports = hasIn;
    }
  });

  // node_modules/lodash/_baseMatchesProperty.js
  var require_baseMatchesProperty = __commonJS({
    "node_modules/lodash/_baseMatchesProperty.js"(exports, module2) {
      var baseIsEqual = require_baseIsEqual();
      var get8 = require_get();
      var hasIn = require_hasIn();
      var isKey = require_isKey();
      var isStrictComparable = require_isStrictComparable();
      var matchesStrictComparable = require_matchesStrictComparable();
      var toKey = require_toKey();
      var COMPARE_PARTIAL_FLAG = 1;
      var COMPARE_UNORDERED_FLAG = 2;
      function baseMatchesProperty(path, srcValue) {
        if (isKey(path) && isStrictComparable(srcValue)) {
          return matchesStrictComparable(toKey(path), srcValue);
        }
        return function(object) {
          var objValue = get8(object, path);
          return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
        };
      }
      module2.exports = baseMatchesProperty;
    }
  });

  // node_modules/lodash/identity.js
  var require_identity = __commonJS({
    "node_modules/lodash/identity.js"(exports, module2) {
      function identity3(value) {
        return value;
      }
      module2.exports = identity3;
    }
  });

  // node_modules/lodash/_baseProperty.js
  var require_baseProperty = __commonJS({
    "node_modules/lodash/_baseProperty.js"(exports, module2) {
      function baseProperty(key) {
        return function(object) {
          return object == null ? void 0 : object[key];
        };
      }
      module2.exports = baseProperty;
    }
  });

  // node_modules/lodash/_basePropertyDeep.js
  var require_basePropertyDeep = __commonJS({
    "node_modules/lodash/_basePropertyDeep.js"(exports, module2) {
      var baseGet = require_baseGet();
      function basePropertyDeep(path) {
        return function(object) {
          return baseGet(object, path);
        };
      }
      module2.exports = basePropertyDeep;
    }
  });

  // node_modules/lodash/property.js
  var require_property = __commonJS({
    "node_modules/lodash/property.js"(exports, module2) {
      var baseProperty = require_baseProperty();
      var basePropertyDeep = require_basePropertyDeep();
      var isKey = require_isKey();
      var toKey = require_toKey();
      function property(path) {
        return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
      }
      module2.exports = property;
    }
  });

  // node_modules/lodash/_baseIteratee.js
  var require_baseIteratee = __commonJS({
    "node_modules/lodash/_baseIteratee.js"(exports, module2) {
      var baseMatches = require_baseMatches();
      var baseMatchesProperty = require_baseMatchesProperty();
      var identity3 = require_identity();
      var isArray2 = require_isArray();
      var property = require_property();
      function baseIteratee(value) {
        if (typeof value == "function") {
          return value;
        }
        if (value == null) {
          return identity3;
        }
        if (typeof value == "object") {
          return isArray2(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value);
        }
        return property(value);
      }
      module2.exports = baseIteratee;
    }
  });

  // node_modules/lodash/_createFind.js
  var require_createFind = __commonJS({
    "node_modules/lodash/_createFind.js"(exports, module2) {
      var baseIteratee = require_baseIteratee();
      var isArrayLike = require_isArrayLike();
      var keys = require_keys();
      function createFind(findIndexFunc) {
        return function(collection, predicate, fromIndex) {
          var iterable = Object(collection);
          if (!isArrayLike(collection)) {
            var iteratee = baseIteratee(predicate, 3);
            collection = keys(collection);
            predicate = function(key) {
              return iteratee(iterable[key], key, iterable);
            };
          }
          var index = findIndexFunc(collection, predicate, fromIndex);
          return index > -1 ? iterable[iteratee ? collection[index] : index] : void 0;
        };
      }
      module2.exports = createFind;
    }
  });

  // node_modules/lodash/_baseFindIndex.js
  var require_baseFindIndex = __commonJS({
    "node_modules/lodash/_baseFindIndex.js"(exports, module2) {
      function baseFindIndex(array, predicate, fromIndex, fromRight) {
        var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
        while (fromRight ? index-- : ++index < length) {
          if (predicate(array[index], index, array)) {
            return index;
          }
        }
        return -1;
      }
      module2.exports = baseFindIndex;
    }
  });

  // node_modules/lodash/_trimmedEndIndex.js
  var require_trimmedEndIndex = __commonJS({
    "node_modules/lodash/_trimmedEndIndex.js"(exports, module2) {
      var reWhitespace = /\s/;
      function trimmedEndIndex(string) {
        var index = string.length;
        while (index-- && reWhitespace.test(string.charAt(index))) {
        }
        return index;
      }
      module2.exports = trimmedEndIndex;
    }
  });

  // node_modules/lodash/_baseTrim.js
  var require_baseTrim = __commonJS({
    "node_modules/lodash/_baseTrim.js"(exports, module2) {
      var trimmedEndIndex = require_trimmedEndIndex();
      var reTrimStart = /^\s+/;
      function baseTrim(string) {
        return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string;
      }
      module2.exports = baseTrim;
    }
  });

  // node_modules/lodash/toNumber.js
  var require_toNumber = __commonJS({
    "node_modules/lodash/toNumber.js"(exports, module2) {
      var baseTrim = require_baseTrim();
      var isObject2 = require_isObject();
      var isSymbol = require_isSymbol();
      var NAN = 0 / 0;
      var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
      var reIsBinary = /^0b[01]+$/i;
      var reIsOctal = /^0o[0-7]+$/i;
      var freeParseInt = parseInt;
      function toNumber(value) {
        if (typeof value == "number") {
          return value;
        }
        if (isSymbol(value)) {
          return NAN;
        }
        if (isObject2(value)) {
          var other = typeof value.valueOf == "function" ? value.valueOf() : value;
          value = isObject2(other) ? other + "" : other;
        }
        if (typeof value != "string") {
          return value === 0 ? value : +value;
        }
        value = baseTrim(value);
        var isBinary = reIsBinary.test(value);
        return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
      }
      module2.exports = toNumber;
    }
  });

  // node_modules/lodash/toFinite.js
  var require_toFinite = __commonJS({
    "node_modules/lodash/toFinite.js"(exports, module2) {
      var toNumber = require_toNumber();
      var INFINITY = 1 / 0;
      var MAX_INTEGER = 17976931348623157e292;
      function toFinite(value) {
        if (!value) {
          return value === 0 ? value : 0;
        }
        value = toNumber(value);
        if (value === INFINITY || value === -INFINITY) {
          var sign = value < 0 ? -1 : 1;
          return sign * MAX_INTEGER;
        }
        return value === value ? value : 0;
      }
      module2.exports = toFinite;
    }
  });

  // node_modules/lodash/toInteger.js
  var require_toInteger = __commonJS({
    "node_modules/lodash/toInteger.js"(exports, module2) {
      var toFinite = require_toFinite();
      function toInteger(value) {
        var result2 = toFinite(value), remainder = result2 % 1;
        return result2 === result2 ? remainder ? result2 - remainder : result2 : 0;
      }
      module2.exports = toInteger;
    }
  });

  // node_modules/lodash/findIndex.js
  var require_findIndex = __commonJS({
    "node_modules/lodash/findIndex.js"(exports, module2) {
      var baseFindIndex = require_baseFindIndex();
      var baseIteratee = require_baseIteratee();
      var toInteger = require_toInteger();
      var nativeMax = Math.max;
      function findIndex(array, predicate, fromIndex) {
        var length = array == null ? 0 : array.length;
        if (!length) {
          return -1;
        }
        var index = fromIndex == null ? 0 : toInteger(fromIndex);
        if (index < 0) {
          index = nativeMax(length + index, 0);
        }
        return baseFindIndex(array, baseIteratee(predicate, 3), index);
      }
      module2.exports = findIndex;
    }
  });

  // node_modules/lodash/find.js
  var require_find = __commonJS({
    "node_modules/lodash/find.js"(exports, module2) {
      var createFind = require_createFind();
      var findIndex = require_findIndex();
      var find4 = createFind(findIndex);
      module2.exports = find4;
    }
  });

  // packages/systems/ix2/shared/logic/IX2BrowserSupport.ts
  var IX2BrowserSupport_exports = {};
  __export(IX2BrowserSupport_exports, {
    ELEMENT_MATCHES: () => ELEMENT_MATCHES,
    FLEX_PREFIXED: () => FLEX_PREFIXED,
    IS_BROWSER_ENV: () => IS_BROWSER_ENV,
    TRANSFORM_PREFIXED: () => TRANSFORM_PREFIXED,
    TRANSFORM_STYLE_PREFIXED: () => TRANSFORM_STYLE_PREFIXED,
    withBrowser: () => withBrowser
  });
  var import_find, IS_BROWSER_ENV, withBrowser, ELEMENT_MATCHES, FLEX_PREFIXED, TRANSFORM_PREFIXED, TRANSFORM_PREFIX, TRANSFORM_STYLE_PREFIXED;
  var init_IX2BrowserSupport = __esm({
    "packages/systems/ix2/shared/logic/IX2BrowserSupport.ts"() {
      "use strict";
      import_find = __toESM(require_find());
      IS_BROWSER_ENV = typeof window !== "undefined";
      withBrowser = (fn, fallback) => {
        if (IS_BROWSER_ENV) {
          return fn();
        }
        return fallback;
      };
      ELEMENT_MATCHES = withBrowser(() => {
        return (0, import_find.default)(
          [
            "matches",
            "matchesSelector",
            "mozMatchesSelector",
            "msMatchesSelector",
            "oMatchesSelector",
            "webkitMatchesSelector"
          ],
          (key) => key in Element.prototype
        );
      });
      FLEX_PREFIXED = withBrowser(() => {
        const el = document.createElement("i");
        const values2 = [
          "flex",
          "-webkit-flex",
          "-ms-flexbox",
          "-moz-box",
          "-webkit-box"
        ];
        const none = "";
        try {
          const { length } = values2;
          for (let i = 0; i < length; i++) {
            const value = values2[i];
            el.style.display = value;
            if (el.style.display === value) {
              return value;
            }
          }
          return none;
        } catch (err) {
          return none;
        }
      }, "flex");
      TRANSFORM_PREFIXED = withBrowser(() => {
        const el = document.createElement("i");
        if (el.style.transform == null) {
          const prefixes = ["Webkit", "Moz", "ms"];
          const suffix = "Transform";
          const { length } = prefixes;
          for (let i = 0; i < length; i++) {
            const prop = prefixes[i] + suffix;
            if (el.style[prop] !== void 0) {
              return prop;
            }
          }
        }
        return "transform";
      }, "transform");
      TRANSFORM_PREFIX = TRANSFORM_PREFIXED.split("transform")[0];
      TRANSFORM_STYLE_PREFIXED = TRANSFORM_PREFIX ? TRANSFORM_PREFIX + "TransformStyle" : "transformStyle";
    }
  });

  // node_modules/bezier-easing/src/index.js
  var require_src = __commonJS({
    "node_modules/bezier-easing/src/index.js"(exports, module2) {
      var NEWTON_ITERATIONS = 4;
      var NEWTON_MIN_SLOPE = 1e-3;
      var SUBDIVISION_PRECISION = 1e-7;
      var SUBDIVISION_MAX_ITERATIONS = 10;
      var kSplineTableSize = 11;
      var kSampleStepSize = 1 / (kSplineTableSize - 1);
      var float32ArraySupported = typeof Float32Array === "function";
      function A(aA1, aA2) {
        return 1 - 3 * aA2 + 3 * aA1;
      }
      function B(aA1, aA2) {
        return 3 * aA2 - 6 * aA1;
      }
      function C(aA1) {
        return 3 * aA1;
      }
      function calcBezier(aT, aA1, aA2) {
        return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;
      }
      function getSlope(aT, aA1, aA2) {
        return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);
      }
      function binarySubdivide(aX, aA, aB, mX1, mX2) {
        var currentX, currentT, i = 0;
        do {
          currentT = aA + (aB - aA) / 2;
          currentX = calcBezier(currentT, mX1, mX2) - aX;
          if (currentX > 0) {
            aB = currentT;
          } else {
            aA = currentT;
          }
        } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);
        return currentT;
      }
      function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
        for (var i = 0; i < NEWTON_ITERATIONS; ++i) {
          var currentSlope = getSlope(aGuessT, mX1, mX2);
          if (currentSlope === 0) {
            return aGuessT;
          }
          var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
          aGuessT -= currentX / currentSlope;
        }
        return aGuessT;
      }
      module2.exports = function bezier(mX1, mY1, mX2, mY2) {
        if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) {
          throw new Error("bezier x values must be in [0, 1] range");
        }
        var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);
        if (mX1 !== mY1 || mX2 !== mY2) {
          for (var i = 0; i < kSplineTableSize; ++i) {
            sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
          }
        }
        function getTForX(aX) {
          var intervalStart = 0;
          var currentSample = 1;
          var lastSample = kSplineTableSize - 1;
          for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {
            intervalStart += kSampleStepSize;
          }
          --currentSample;
          var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);
          var guessForT = intervalStart + dist * kSampleStepSize;
          var initialSlope = getSlope(guessForT, mX1, mX2);
          if (initialSlope >= NEWTON_MIN_SLOPE) {
            return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
          } else if (initialSlope === 0) {
            return guessForT;
          } else {
            return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
          }
        }
        return function BezierEasing3(x) {
          if (mX1 === mY1 && mX2 === mY2) {
            return x;
          }
          if (x === 0) {
            return 0;
          }
          if (x === 1) {
            return 1;
          }
          return calcBezier(getTForX(x), mY1, mY2);
        };
      };
    }
  });

  // packages/systems/ix2/shared/logic/IX2Easings.ts
  var IX2Easings_exports = {};
  __export(IX2Easings_exports, {
    bounce: () => bounce,
    bouncePast: () => bouncePast,
    ease: () => ease,
    easeIn: () => easeIn,
    easeInOut: () => easeInOut,
    easeOut: () => easeOut,
    inBack: () => inBack,
    inCirc: () => inCirc,
    inCubic: () => inCubic,
    inElastic: () => inElastic,
    inExpo: () => inExpo,
    inOutBack: () => inOutBack,
    inOutCirc: () => inOutCirc,
    inOutCubic: () => inOutCubic,
    inOutElastic: () => inOutElastic,
    inOutExpo: () => inOutExpo,
    inOutQuad: () => inOutQuad,
    inOutQuart: () => inOutQuart,
    inOutQuint: () => inOutQuint,
    inOutSine: () => inOutSine,
    inQuad: () => inQuad,
    inQuart: () => inQuart,
    inQuint: () => inQuint,
    inSine: () => inSine,
    outBack: () => outBack,
    outBounce: () => outBounce,
    outCirc: () => outCirc,
    outCubic: () => outCubic,
    outElastic: () => outElastic,
    outExpo: () => outExpo,
    outQuad: () => outQuad,
    outQuart: () => outQuart,
    outQuint: () => outQuint,
    outSine: () => outSine,
    swingFrom: () => swingFrom,
    swingFromTo: () => swingFromTo,
    swingTo: () => swingTo
  });
  function inQuad(pos) {
    return Math.pow(pos, 2);
  }
  function outQuad(pos) {
    return -(Math.pow(pos - 1, 2) - 1);
  }
  function inOutQuad(pos) {
    if ((pos /= 0.5) < 1) {
      return 0.5 * Math.pow(pos, 2);
    }
    return -0.5 * ((pos -= 2) * pos - 2);
  }
  function inCubic(pos) {
    return Math.pow(pos, 3);
  }
  function outCubic(pos) {
    return Math.pow(pos - 1, 3) + 1;
  }
  function inOutCubic(pos) {
    if ((pos /= 0.5) < 1) {
      return 0.5 * Math.pow(pos, 3);
    }
    return 0.5 * (Math.pow(pos - 2, 3) + 2);
  }
  function inQuart(pos) {
    return Math.pow(pos, 4);
  }
  function outQuart(pos) {
    return -(Math.pow(pos - 1, 4) - 1);
  }
  function inOutQuart(pos) {
    if ((pos /= 0.5) < 1) {
      return 0.5 * Math.pow(pos, 4);
    }
    return -0.5 * ((pos -= 2) * Math.pow(pos, 3) - 2);
  }
  function inQuint(pos) {
    return Math.pow(pos, 5);
  }
  function outQuint(pos) {
    return Math.pow(pos - 1, 5) + 1;
  }
  function inOutQuint(pos) {
    if ((pos /= 0.5) < 1) {
      return 0.5 * Math.pow(pos, 5);
    }
    return 0.5 * (Math.pow(pos - 2, 5) + 2);
  }
  function inSine(pos) {
    return -Math.cos(pos * (Math.PI / 2)) + 1;
  }
  function outSine(pos) {
    return Math.sin(pos * (Math.PI / 2));
  }
  function inOutSine(pos) {
    return -0.5 * (Math.cos(Math.PI * pos) - 1);
  }
  function inExpo(pos) {
    return pos === 0 ? 0 : Math.pow(2, 10 * (pos - 1));
  }
  function outExpo(pos) {
    return pos === 1 ? 1 : -Math.pow(2, -10 * pos) + 1;
  }
  function inOutExpo(pos) {
    if (pos === 0) {
      return 0;
    }
    if (pos === 1) {
      return 1;
    }
    if ((pos /= 0.5) < 1) {
      return 0.5 * Math.pow(2, 10 * (pos - 1));
    }
    return 0.5 * (-Math.pow(2, -10 * --pos) + 2);
  }
  function inCirc(pos) {
    return -(Math.sqrt(1 - pos * pos) - 1);
  }
  function outCirc(pos) {
    return Math.sqrt(1 - Math.pow(pos - 1, 2));
  }
  function inOutCirc(pos) {
    if ((pos /= 0.5) < 1) {
      return -0.5 * (Math.sqrt(1 - pos * pos) - 1);
    }
    return 0.5 * (Math.sqrt(1 - (pos -= 2) * pos) + 1);
  }
  function outBounce(pos) {
    if (pos < 1 / 2.75) {
      return 7.5625 * pos * pos;
    } else if (pos < 2 / 2.75) {
      return 7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75;
    } else if (pos < 2.5 / 2.75) {
      return 7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375;
    } else {
      return 7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375;
    }
  }
  function inBack(pos) {
    const s = magicSwing;
    return pos * pos * ((s + 1) * pos - s);
  }
  function outBack(pos) {
    const s = magicSwing;
    return (pos -= 1) * pos * ((s + 1) * pos + s) + 1;
  }
  function inOutBack(pos) {
    let s = magicSwing;
    if ((pos /= 0.5) < 1) {
      return 0.5 * (pos * pos * (((s *= 1.525) + 1) * pos - s));
    }
    return 0.5 * ((pos -= 2) * pos * (((s *= 1.525) + 1) * pos + s) + 2);
  }
  function inElastic(pos) {
    let s = magicSwing;
    let p = 0;
    let a = 1;
    if (pos === 0) {
      return 0;
    }
    if (pos === 1) {
      return 1;
    }
    if (!p) {
      p = 0.3;
    }
    if (a < 1) {
      a = 1;
      s = p / 4;
    } else {
      s = p / (2 * Math.PI) * Math.asin(1 / a);
    }
    return -(a * Math.pow(2, 10 * (pos -= 1)) * Math.sin((pos - s) * (2 * Math.PI) / p));
  }
  function outElastic(pos) {
    let s = magicSwing;
    let p = 0;
    let a = 1;
    if (pos === 0) {
      return 0;
    }
    if (pos === 1) {
      return 1;
    }
    if (!p) {
      p = 0.3;
    }
    if (a < 1) {
      a = 1;
      s = p / 4;
    } else {
      s = p / (2 * Math.PI) * Math.asin(1 / a);
    }
    return a * Math.pow(2, -10 * pos) * Math.sin((pos - s) * (2 * Math.PI) / p) + 1;
  }
  function inOutElastic(pos) {
    let s = magicSwing;
    let p = 0;
    let a = 1;
    if (pos === 0) {
      return 0;
    }
    if ((pos /= 1 / 2) === 2) {
      return 1;
    }
    if (!p) {
      p = 0.3 * 1.5;
    }
    if (a < 1) {
      a = 1;
      s = p / 4;
    } else {
      s = p / (2 * Math.PI) * Math.asin(1 / a);
    }
    if (pos < 1) {
      return -0.5 * (a * Math.pow(2, 10 * (pos -= 1)) * Math.sin((pos - s) * (2 * Math.PI) / p));
    }
    return a * Math.pow(2, -10 * (pos -= 1)) * Math.sin((pos - s) * (2 * Math.PI) / p) * 0.5 + 1;
  }
  function swingFromTo(pos) {
    let s = magicSwing;
    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);
  }
  function swingFrom(pos) {
    const s = magicSwing;
    return pos * pos * ((s + 1) * pos - s);
  }
  function swingTo(pos) {
    const s = magicSwing;
    return (pos -= 1) * pos * ((s + 1) * pos + s) + 1;
  }
  function bounce(pos) {
    if (pos < 1 / 2.75) {
      return 7.5625 * pos * pos;
    } else if (pos < 2 / 2.75) {
      return 7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75;
    } else if (pos < 2.5 / 2.75) {
      return 7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375;
    } else {
      return 7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375;
    }
  }
  function bouncePast(pos) {
    if (pos < 1 / 2.75) {
      return 7.5625 * pos * pos;
    } else if (pos < 2 / 2.75) {
      return 2 - (7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75);
    } else if (pos < 2.5 / 2.75) {
      return 2 - (7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375);
    } else {
      return 2 - (7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375);
    }
  }
  var import_bezier_easing, magicSwing, ease, easeIn, easeOut, easeInOut;
  var init_IX2Easings = __esm({
    "packages/systems/ix2/shared/logic/IX2Easings.ts"() {
      "use strict";
      import_bezier_easing = __toESM(require_src());
      magicSwing = 1.70158;
      ease = (0, import_bezier_easing.default)(0.25, 0.1, 0.25, 1);
      easeIn = (0, import_bezier_easing.default)(0.42, 0, 1, 1);
      easeOut = (0, import_bezier_easing.default)(0, 0, 0.58, 1);
      easeInOut = (0, import_bezier_easing.default)(0.42, 0, 0.58, 1);
    }
  });

  // packages/systems/ix2/shared/logic/IX2EasingUtils.ts
  var IX2EasingUtils_exports = {};
  __export(IX2EasingUtils_exports, {
    applyEasing: () => applyEasing,
    createBezierEasing: () => createBezierEasing,
    optimizeFloat: () => optimizeFloat
  });
  function optimizeFloat(value, digits = 5, base = 10) {
    const pow = Math.pow(base, digits);
    const float = Number(Math.round(value * pow) / pow);
    return Math.abs(float) > 1e-4 ? float : 0;
  }
  function createBezierEasing(easing) {
    return (0, import_bezier_easing2.default)(...easing);
  }
  function applyEasing(easing, position, customEasingFn) {
    if (position === 0) {
      return 0;
    }
    if (position === 1) {
      return 1;
    }
    if (customEasingFn) {
      return optimizeFloat(position > 0 ? customEasingFn(position) : position);
    }
    return optimizeFloat(
      position > 0 && easing && IX2Easings_exports[easing] ? IX2Easings_exports[easing](position) : position
    );
  }
  var import_bezier_easing2;
  var init_IX2EasingUtils = __esm({
    "packages/systems/ix2/shared/logic/IX2EasingUtils.ts"() {
      "use strict";
      init_IX2Easings();
      import_bezier_easing2 = __toESM(require_src());
    }
  });

  // packages/systems/ix2/shared/reducers/IX2ElementsReducer.ts
  var IX2ElementsReducer_exports = {};
  __export(IX2ElementsReducer_exports, {
    createElementState: () => createElementState,
    ixElements: () => ixElements,
    mergeActionState: () => mergeActionState
  });
  function createElementState(state, ref, refType, elementId, actionItem) {
    const refId = refType === PLAIN_OBJECT2 ? (0, import_timm3.getIn)(actionItem, ["config", "target", "objectId"]) : null;
    return (0, import_timm3.mergeIn)(state, [elementId], {
      id: elementId,
      ref,
      refId,
      refType
    });
  }
  function mergeActionState(state, elementId, actionTypeId, actionState, actionItem) {
    const units = pickUnits(actionItem);
    const mergePath = [elementId, refState, actionTypeId];
    return (0, import_timm3.mergeIn)(state, mergePath, actionState, units);
  }
  function pickUnits(actionItem) {
    const { config } = actionItem;
    return valueUnitPairs.reduce((result2, pair) => {
      const valueKey = pair[0];
      const unitKey = pair[1];
      const configValue = config[valueKey];
      const configUnit = config[unitKey];
      if (configValue != null && configUnit != null) {
        result2[unitKey] = configUnit;
      }
      return result2;
    }, {});
  }
  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;
  var init_IX2ElementsReducer = __esm({
    "packages/systems/ix2/shared/reducers/IX2ElementsReducer.ts"() {
      "use strict";
      import_timm3 = __toESM(require_timm());
      init_shared_constants();
      ({
        HTML_ELEMENT: HTML_ELEMENT2,
        PLAIN_OBJECT: PLAIN_OBJECT2,
        ABSTRACT_NODE: ABSTRACT_NODE2,
        CONFIG_X_VALUE: CONFIG_X_VALUE2,
        CONFIG_Y_VALUE: CONFIG_Y_VALUE2,
        CONFIG_Z_VALUE: CONFIG_Z_VALUE2,
        CONFIG_VALUE: CONFIG_VALUE2,
        CONFIG_X_UNIT: CONFIG_X_UNIT2,
        CONFIG_Y_UNIT: CONFIG_Y_UNIT2,
        CONFIG_Z_UNIT: CONFIG_Z_UNIT2,
        CONFIG_UNIT: CONFIG_UNIT2
      } = IX2EngineConstants_exports);
      ({ IX2_SESSION_STOPPED: IX2_SESSION_STOPPED3, IX2_INSTANCE_ADDED: IX2_INSTANCE_ADDED2, IX2_ELEMENT_STATE_CHANGED: IX2_ELEMENT_STATE_CHANGED2 } = IX2EngineActionTypes_exports);
      initialState3 = {};
      refState = "refState";
      ixElements = (state = initialState3, action = {}) => {
        switch (action.type) {
          case IX2_SESSION_STOPPED3: {
            return initialState3;
          }
          case IX2_INSTANCE_ADDED2: {
            const {
              elementId,
              element: ref,
              origin,
              actionItem,
              refType
            } = action.payload;
            const { actionTypeId } = actionItem;
            let newState = state;
            if ((0, import_timm3.getIn)(newState, [elementId, ref]) !== ref) {
              newState = createElementState(
                newState,
                ref,
                refType,
                elementId,
                actionItem
              );
            }
            return mergeActionState(
              newState,
              elementId,
              actionTypeId,
              origin,
              actionItem
            );
          }
          case IX2_ELEMENT_STATE_CHANGED2: {
            const { elementId, actionTypeId, current, actionItem } = action.payload;
            return mergeActionState(
              state,
              elementId,
              actionTypeId,
              current,
              actionItem
            );
          }
          default: {
            return state;
          }
        }
      };
      valueUnitPairs = [
        [CONFIG_X_VALUE2, CONFIG_X_UNIT2],
        [CONFIG_Y_VALUE2, CONFIG_Y_UNIT2],
        [CONFIG_Z_VALUE2, CONFIG_Z_UNIT2],
        [CONFIG_VALUE2, CONFIG_UNIT2]
      ];
    }
  });

  // packages/systems/ix2/plugins/IX2Lottie.js
  var require_IX2Lottie = __commonJS({
    "packages/systems/ix2/plugins/IX2Lottie.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      function _export(target, all) {
        for (var name in all)
          Object.defineProperty(target, name, {
            enumerable: true,
            get: all[name]
          });
      }
      _export(exports, {
        clearPlugin: function() {
          return clearPlugin2;
        },
        createPluginInstance: function() {
          return createPluginInstance3;
        },
        getPluginConfig: function() {
          return getPluginConfig2;
        },
        getPluginDestination: function() {
          return getPluginDestination2;
        },
        getPluginDuration: function() {
          return getPluginDuration3;
        },
        getPluginOrigin: function() {
          return getPluginOrigin2;
        },
        renderPlugin: function() {
          return renderPlugin2;
        }
      });
      var getPluginConfig2 = (actionItemConfig) => {
        return actionItemConfig.value;
      };
      var getPluginDuration3 = (element, actionItem) => {
        if (actionItem.config.duration !== "auto") {
          return null;
        }
        const duration = parseFloat(element.getAttribute("data-duration"));
        if (duration > 0) {
          return duration * 1e3;
        }
        return parseFloat(element.getAttribute("data-default-duration")) * 1e3;
      };
      var getPluginOrigin2 = (refState2) => {
        return refState2 || {
          value: 0
        };
      };
      var getPluginDestination2 = (actionItemConfig) => {
        return {
          value: actionItemConfig.value
        };
      };
      var createPluginInstance3 = (element) => {
        const instance = window.Webflow.require("lottie").createInstance(element);
        instance.stop();
        instance.setSubframe(true);
        return instance;
      };
      var renderPlugin2 = (pluginInstance, refState2, actionItem) => {
        if (!pluginInstance) {
          return;
        }
        const percent = refState2[actionItem.actionTypeId].value / 100;
        pluginInstance.goToFrame(pluginInstance.frames * percent);
      };
      var clearPlugin2 = (element) => {
        const instance = window.Webflow.require("lottie").createInstance(element);
        instance.stop();
      };
    }
  });

  // packages/systems/ix2/plugins/IX2Spline.js
  var require_IX2Spline = __commonJS({
    "packages/systems/ix2/plugins/IX2Spline.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      function _export(target, all) {
        for (var name in all)
          Object.defineProperty(target, name, {
            enumerable: true,
            get: all[name]
          });
      }
      _export(exports, {
        clearPlugin: function() {
          return clearPlugin2;
        },
        createPluginInstance: function() {
          return createPluginInstance3;
        },
        getPluginConfig: function() {
          return getPluginConfig2;
        },
        getPluginDestination: function() {
          return getPluginDestination2;
        },
        getPluginDuration: function() {
          return getPluginDuration3;
        },
        getPluginOrigin: function() {
          return getPluginOrigin2;
        },
        renderPlugin: function() {
          return renderPlugin2;
        }
      });
      var queryContainerElement = (elementId) => document.querySelector(`[data-w-id="${elementId}"]`);
      var getFrontendModule = () => window.Webflow.require("spline");
      var difference = (arr1, arr2) => arr1.filter((x) => !arr2.includes(x));
      var getPluginConfig2 = (actionItemConfig, key) => {
        return actionItemConfig.value[key];
      };
      var getPluginDuration3 = () => {
        return null;
      };
      var DEFAULT_VALUES = Object.freeze({
        positionX: 0,
        positionY: 0,
        positionZ: 0,
        rotationX: 0,
        rotationY: 0,
        rotationZ: 0,
        scaleX: 1,
        scaleY: 1,
        scaleZ: 1
      });
      var getPluginOrigin2 = (refState2, actionItem) => {
        const destination = actionItem.config.value;
        const destinationKeys = Object.keys(destination);
        if (refState2) {
          const stateKeys2 = Object.keys(refState2);
          const diffKeys = difference(destinationKeys, stateKeys2);
          if (diffKeys.length) {
            const origin2 = diffKeys.reduce((result2, key) => {
              result2[key] = DEFAULT_VALUES[key];
              return result2;
            }, refState2);
            return origin2;
          }
          return refState2;
        }
        const origin = destinationKeys.reduce((result2, key) => {
          result2[key] = DEFAULT_VALUES[key];
          return result2;
        }, {});
        return origin;
      };
      var getPluginDestination2 = (actionItemConfig) => {
        return actionItemConfig.value;
      };
      var createPluginInstance3 = (element, actionItem) => {
        const pluginElementId = actionItem?.config?.target?.pluginElement;
        return pluginElementId ? queryContainerElement(pluginElementId) : null;
      };
      var renderPlugin2 = (containerElement, refState2, actionItem) => {
        const frontendModule = getFrontendModule();
        const instance = frontendModule.getInstance(containerElement);
        const objectId = actionItem.config.target.objectId;
        const renderSpline = (spline) => {
          if (!spline) {
            throw new Error("Invalid spline app passed to renderSpline");
          }
          const obj = objectId && spline.findObjectById(objectId);
          if (!obj) {
            return;
          }
          const { PLUGIN_SPLINE: props } = refState2;
          if (props.positionX != null) {
            obj.position.x = props.positionX;
          }
          if (props.positionY != null) {
            obj.position.y = props.positionY;
          }
          if (props.positionZ != null) {
            obj.position.z = props.positionZ;
          }
          if (props.rotationX != null) {
            obj.rotation.x = props.rotationX;
          }
          if (props.rotationY != null) {
            obj.rotation.y = props.rotationY;
          }
          if (props.rotationZ != null) {
            obj.rotation.z = props.rotationZ;
          }
          if (props.scaleX != null) {
            obj.scale.x = props.scaleX;
          }
          if (props.scaleY != null) {
            obj.scale.y = props.scaleY;
          }
          if (props.scaleZ != null) {
            obj.scale.z = props.scaleZ;
          }
        };
        if (instance) {
          renderSpline(instance.spline);
        } else {
          frontendModule.setLoadHandler(containerElement, renderSpline);
        }
      };
      var clearPlugin2 = () => {
        return null;
      };
    }
  });

  // packages/systems/ix2/shared-utils/normalizeColor.js
  var require_normalizeColor = __commonJS({
    "packages/systems/ix2/shared-utils/normalizeColor.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      Object.defineProperty(exports, "normalizeColor", {
        enumerable: true,
        get: function() {
          return normalizeColor2;
        }
      });
      var colorNamesObj = {
        aliceblue: "#F0F8FF",
        antiquewhite: "#FAEBD7",
        aqua: "#00FFFF",
        aquamarine: "#7FFFD4",
        azure: "#F0FFFF",
        beige: "#F5F5DC",
        bisque: "#FFE4C4",
        black: "#000000",
        blanchedalmond: "#FFEBCD",
        blue: "#0000FF",
        blueviolet: "#8A2BE2",
        brown: "#A52A2A",
        burlywood: "#DEB887",
        cadetblue: "#5F9EA0",
        chartreuse: "#7FFF00",
        chocolate: "#D2691E",
        coral: "#FF7F50",
        cornflowerblue: "#6495ED",
        cornsilk: "#FFF8DC",
        crimson: "#DC143C",
        cyan: "#00FFFF",
        darkblue: "#00008B",
        darkcyan: "#008B8B",
        darkgoldenrod: "#B8860B",
        darkgray: "#A9A9A9",
        darkgreen: "#006400",
        darkgrey: "#A9A9A9",
        darkkhaki: "#BDB76B",
        darkmagenta: "#8B008B",
        darkolivegreen: "#556B2F",
        darkorange: "#FF8C00",
        darkorchid: "#9932CC",
        darkred: "#8B0000",
        darksalmon: "#E9967A",
        darkseagreen: "#8FBC8F",
        darkslateblue: "#483D8B",
        darkslategray: "#2F4F4F",
        darkslategrey: "#2F4F4F",
        darkturquoise: "#00CED1",
        darkviolet: "#9400D3",
        deeppink: "#FF1493",
        deepskyblue: "#00BFFF",
        dimgray: "#696969",
        dimgrey: "#696969",
        dodgerblue: "#1E90FF",
        firebrick: "#B22222",
        floralwhite: "#FFFAF0",
        forestgreen: "#228B22",
        fuchsia: "#FF00FF",
        gainsboro: "#DCDCDC",
        ghostwhite: "#F8F8FF",
        gold: "#FFD700",
        goldenrod: "#DAA520",
        gray: "#808080",
        green: "#008000",
        greenyellow: "#ADFF2F",
        grey: "#808080",
        honeydew: "#F0FFF0",
        hotpink: "#FF69B4",
        indianred: "#CD5C5C",
        indigo: "#4B0082",
        ivory: "#FFFFF0",
        khaki: "#F0E68C",
        lavender: "#E6E6FA",
        lavenderblush: "#FFF0F5",
        lawngreen: "#7CFC00",
        lemonchiffon: "#FFFACD",
        lightblue: "#ADD8E6",
        lightcoral: "#F08080",
        lightcyan: "#E0FFFF",
        lightgoldenrodyellow: "#FAFAD2",
        lightgray: "#D3D3D3",
        lightgreen: "#90EE90",
        lightgrey: "#D3D3D3",
        lightpink: "#FFB6C1",
        lightsalmon: "#FFA07A",
        lightseagreen: "#20B2AA",
        lightskyblue: "#87CEFA",
        lightslategray: "#778899",
        lightslategrey: "#778899",
        lightsteelblue: "#B0C4DE",
        lightyellow: "#FFFFE0",
        lime: "#00FF00",
        limegreen: "#32CD32",
        linen: "#FAF0E6",
        magenta: "#FF00FF",
        maroon: "#800000",
        mediumaquamarine: "#66CDAA",
        mediumblue: "#0000CD",
        mediumorchid: "#BA55D3",
        mediumpurple: "#9370DB",
        mediumseagreen: "#3CB371",
        mediumslateblue: "#7B68EE",
        mediumspringgreen: "#00FA9A",
        mediumturquoise: "#48D1CC",
        mediumvioletred: "#C71585",
        midnightblue: "#191970",
        mintcream: "#F5FFFA",
        mistyrose: "#FFE4E1",
        moccasin: "#FFE4B5",
        navajowhite: "#FFDEAD",
        navy: "#000080",
        oldlace: "#FDF5E6",
        olive: "#808000",
        olivedrab: "#6B8E23",
        orange: "#FFA500",
        orangered: "#FF4500",
        orchid: "#DA70D6",
        palegoldenrod: "#EEE8AA",
        palegreen: "#98FB98",
        paleturquoise: "#AFEEEE",
        palevioletred: "#DB7093",
        papayawhip: "#FFEFD5",
        peachpuff: "#FFDAB9",
        peru: "#CD853F",
        pink: "#FFC0CB",
        plum: "#DDA0DD",
        powderblue: "#B0E0E6",
        purple: "#800080",
        rebeccapurple: "#663399",
        red: "#FF0000",
        rosybrown: "#BC8F8F",
        royalblue: "#4169E1",
        saddlebrown: "#8B4513",
        salmon: "#FA8072",
        sandybrown: "#F4A460",
        seagreen: "#2E8B57",
        seashell: "#FFF5EE",
        sienna: "#A0522D",
        silver: "#C0C0C0",
        skyblue: "#87CEEB",
        slateblue: "#6A5ACD",
        slategray: "#708090",
        slategrey: "#708090",
        snow: "#FFFAFA",
        springgreen: "#00FF7F",
        steelblue: "#4682B4",
        tan: "#D2B48C",
        teal: "#008080",
        thistle: "#D8BFD8",
        tomato: "#FF6347",
        turquoise: "#40E0D0",
        violet: "#EE82EE",
        wheat: "#F5DEB3",
        white: "#FFFFFF",
        whitesmoke: "#F5F5F5",
        yellow: "#FFFF00",
        yellowgreen: "#9ACD32"
      };
      function normalizeColor2(inputColor) {
        let red;
        let green;
        let blue;
        let alpha = 1;
        const rawColor = inputColor.replace(/\s/g, "").toLowerCase();
        const namedColor = typeof colorNamesObj[rawColor] === "string" ? colorNamesObj[rawColor].toLowerCase() : null;
        const cleanColor = namedColor || rawColor;
        if (cleanColor.startsWith("#")) {
          const hex = cleanColor.substring(1);
          if (hex.length === 3 || hex.length === 4) {
            red = parseInt(hex[0] + hex[0], 16);
            green = parseInt(hex[1] + hex[1], 16);
            blue = parseInt(hex[2] + hex[2], 16);
            if (hex.length === 4) {
              alpha = parseInt(hex[3] + hex[3], 16) / 255;
            }
          } else if (hex.length === 6 || hex.length === 8) {
            red = parseInt(hex.substring(0, 2), 16);
            green = parseInt(hex.substring(2, 4), 16);
            blue = parseInt(hex.substring(4, 6), 16);
            if (hex.length === 8) {
              alpha = parseInt(hex.substring(6, 8), 16) / 255;
            }
          }
        } else if (cleanColor.startsWith("rgba")) {
          const rgbaValues = cleanColor.match(/rgba\(([^)]+)\)/)[1].split(",");
          red = parseInt(rgbaValues[0], 10);
          green = parseInt(rgbaValues[1], 10);
          blue = parseInt(rgbaValues[2], 10);
          alpha = parseFloat(rgbaValues[3]);
        } else if (cleanColor.startsWith("rgb")) {
          const rgbValues = cleanColor.match(/rgb\(([^)]+)\)/)[1].split(",");
          red = parseInt(rgbValues[0], 10);
          green = parseInt(rgbValues[1], 10);
          blue = parseInt(rgbValues[2], 10);
        } else if (cleanColor.startsWith("hsla")) {
          const hslaValues = cleanColor.match(/hsla\(([^)]+)\)/)[1].split(",");
          const h = parseFloat(hslaValues[0]);
          const s = parseFloat(hslaValues[1].replace("%", "")) / 100;
          const l = parseFloat(hslaValues[2].replace("%", "")) / 100;
          alpha = parseFloat(hslaValues[3]);
          const C = (1 - Math.abs(2 * l - 1)) * s;
          const X = C * (1 - Math.abs(h / 60 % 2 - 1));
          const m = l - C / 2;
          let R;
          let G;
          let B;
          if (h >= 0 && h < 60) {
            R = C;
            G = X;
            B = 0;
          } else if (h >= 60 && h < 120) {
            R = X;
            G = C;
            B = 0;
          } else if (h >= 120 && h < 180) {
            R = 0;
            G = C;
            B = X;
          } else if (h >= 180 && h < 240) {
            R = 0;
            G = X;
            B = C;
          } else if (h >= 240 && h < 300) {
            R = X;
            G = 0;
            B = C;
          } else {
            R = C;
            G = 0;
            B = X;
          }
          red = Math.round((R + m) * 255);
          green = Math.round((G + m) * 255);
          blue = Math.round((B + m) * 255);
        } else if (cleanColor.startsWith("hsl")) {
          const hslValues = cleanColor.match(/hsl\(([^)]+)\)/)[1].split(",");
          const h = parseFloat(hslValues[0]);
          const s = parseFloat(hslValues[1].replace("%", "")) / 100;
          const l = parseFloat(hslValues[2].replace("%", "")) / 100;
          const C = (1 - Math.abs(2 * l - 1)) * s;
          const X = C * (1 - Math.abs(h / 60 % 2 - 1));
          const m = l - C / 2;
          let R;
          let G;
          let B;
          if (h >= 0 && h < 60) {
            R = C;
            G = X;
            B = 0;
          } else if (h >= 60 && h < 120) {
            R = X;
            G = C;
            B = 0;
          } else if (h >= 120 && h < 180) {
            R = 0;
            G = C;
            B = X;
          } else if (h >= 180 && h < 240) {
            R = 0;
            G = X;
            B = C;
          } else if (h >= 240 && h < 300) {
            R = X;
            G = 0;
            B = C;
          } else {
            R = C;
            G = 0;
            B = X;
          }
          red = Math.round((R + m) * 255);
          green = Math.round((G + m) * 255);
          blue = Math.round((B + m) * 255);
        }
        if (Number.isNaN(red) || Number.isNaN(green) || Number.isNaN(blue)) {
          throw new Error(`Invalid color in [ix2/shared/utils/normalizeColor.js] '${inputColor}'`);
        }
        return {
          red,
          green,
          blue,
          alpha
        };
      }
    }
  });

  // packages/systems/ix2/plugins/IX2Variable.js
  var require_IX2Variable = __commonJS({
    "packages/systems/ix2/plugins/IX2Variable.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      function _export(target, all) {
        for (var name in all)
          Object.defineProperty(target, name, {
            enumerable: true,
            get: all[name]
          });
      }
      _export(exports, {
        clearPlugin: function() {
          return clearPlugin2;
        },
        createPluginInstance: function() {
          return createPluginInstance3;
        },
        getPluginConfig: function() {
          return getPluginConfig2;
        },
        getPluginDestination: function() {
          return getPluginDestination2;
        },
        getPluginDuration: function() {
          return getPluginDuration3;
        },
        getPluginOrigin: function() {
          return getPluginOrigin2;
        },
        renderPlugin: function() {
          return renderPlugin2;
        }
      });
      var _normalizeColor = require_normalizeColor();
      var getPluginConfig2 = (actionItemConfig, key) => {
        return actionItemConfig.value[key];
      };
      var getPluginDuration3 = () => {
        return null;
      };
      var getPluginOrigin2 = (refState2, actionItem) => {
        if (refState2) {
          return refState2;
        }
        const destination = actionItem.config.value;
        const objectId = actionItem.config.target.objectId;
        const computedValue = getComputedStyle(document.documentElement).getPropertyValue(objectId);
        if (destination.size != null) {
          return {
            size: parseInt(computedValue, 10)
          };
        }
        if (destination.red != null && destination.green != null && destination.blue != null) {
          return (0, _normalizeColor.normalizeColor)(computedValue);
        }
      };
      var getPluginDestination2 = (actionItemConfig) => {
        return actionItemConfig.value;
      };
      var createPluginInstance3 = () => {
        return null;
      };
      var renderPlugin2 = (_, refState2, actionItem) => {
        const objectId = actionItem.config.target.objectId;
        const unit = actionItem.config.value.unit;
        const { PLUGIN_VARIABLE: props } = refState2;
        const { size: size2, red, green, blue, alpha } = props;
        let value;
        if (size2 != null) {
          value = size2 + unit;
        }
        if (red != null && blue != null && green != null && alpha != null) {
          value = `rgba(${red}, ${green}, ${blue}, ${alpha})`;
        }
        if (value != null) {
          document.documentElement.style.setProperty(objectId, value);
        }
      };
      var clearPlugin2 = (ref, actionItem) => {
        const objectId = actionItem.config.target.objectId;
        document.documentElement.style.removeProperty(objectId);
      };
    }
  });

  // packages/systems/ix2/plugins/index.js
  var require_plugins = __commonJS({
    "packages/systems/ix2/plugins/index.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      Object.defineProperty(exports, "pluginMethodMap", {
        enumerable: true,
        get: function() {
          return pluginMethodMap2;
        }
      });
      var _sharedconstants = (init_shared_constants(), __toCommonJS(shared_constants_exports));
      var _IX2Lottie = /* @__PURE__ */ _interop_require_wildcard(require_IX2Lottie());
      var _IX2Spline = /* @__PURE__ */ _interop_require_wildcard(require_IX2Spline());
      var _IX2Variable = /* @__PURE__ */ _interop_require_wildcard(require_IX2Variable());
      function _getRequireWildcardCache(nodeInterop) {
        if (typeof WeakMap !== "function")
          return null;
        var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
        var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
        return (_getRequireWildcardCache = function(nodeInterop2) {
          return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
        })(nodeInterop);
      }
      function _interop_require_wildcard(obj, nodeInterop) {
        if (!nodeInterop && obj && obj.__esModule) {
          return obj;
        }
        if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
          return {
            default: obj
          };
        }
        var cache = _getRequireWildcardCache(nodeInterop);
        if (cache && cache.has(obj)) {
          return cache.get(obj);
        }
        var newObj = {
          __proto__: null
        };
        var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var key in obj) {
          if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
            var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
            if (desc && (desc.get || desc.set)) {
              Object.defineProperty(newObj, key, desc);
            } else {
              newObj[key] = obj[key];
            }
          }
        }
        newObj.default = obj;
        if (cache) {
          cache.set(obj, newObj);
        }
        return newObj;
      }
      var pluginMethodMap2 = /* @__PURE__ */ new Map([
        [
          _sharedconstants.ActionTypeConsts.PLUGIN_LOTTIE,
          {
            ..._IX2Lottie
          }
        ],
        [
          _sharedconstants.ActionTypeConsts.PLUGIN_SPLINE,
          {
            ..._IX2Spline
          }
        ],
        [
          _sharedconstants.ActionTypeConsts.PLUGIN_VARIABLE,
          {
            ..._IX2Variable
          }
        ]
      ]);
    }
  });

  // packages/systems/ix2/shared/logic/IX2VanillaPlugins.ts
  var IX2VanillaPlugins_exports = {};
  __export(IX2VanillaPlugins_exports, {
    clearPlugin: () => clearPlugin,
    createPluginInstance: () => createPluginInstance,
    getPluginConfig: () => getPluginConfig,
    getPluginDestination: () => getPluginDestination,
    getPluginDuration: () => getPluginDuration,
    getPluginOrigin: () => getPluginOrigin,
    isPluginType: () => isPluginType,
    renderPlugin: () => renderPlugin
  });
  function isPluginType(actionTypeId) {
    return import_plugins.pluginMethodMap.has(actionTypeId);
  }
  var import_plugins, pluginMethod, getPluginConfig, getPluginOrigin, getPluginDuration, getPluginDestination, createPluginInstance, renderPlugin, clearPlugin;
  var init_IX2VanillaPlugins = __esm({
    "packages/systems/ix2/shared/logic/IX2VanillaPlugins.ts"() {
      "use strict";
      init_IX2BrowserSupport();
      import_plugins = __toESM(require_plugins());
      pluginMethod = (methodName) => (actionTypeId) => {
        if (!IS_BROWSER_ENV) {
          return () => null;
        }
        const plugin = import_plugins.pluginMethodMap.get(actionTypeId);
        if (!plugin) {
          throw new Error(`IX2 no plugin configured for: ${actionTypeId}`);
        }
        const method = plugin[methodName];
        if (!method) {
          throw new Error(`IX2 invalid plugin method: ${methodName}`);
        }
        return method;
      };
      getPluginConfig = pluginMethod("getPluginConfig");
      getPluginOrigin = pluginMethod("getPluginOrigin");
      getPluginDuration = pluginMethod("getPluginDuration");
      getPluginDestination = pluginMethod("getPluginDestination");
      createPluginInstance = pluginMethod("createPluginInstance");
      renderPlugin = pluginMethod("renderPlugin");
      clearPlugin = pluginMethod("clearPlugin");
    }
  });

  // node_modules/lodash/defaultTo.js
  var require_defaultTo = __commonJS({
    "node_modules/lodash/defaultTo.js"(exports, module2) {
      function defaultTo3(value, defaultValue) {
        return value == null || value !== value ? defaultValue : value;
      }
      module2.exports = defaultTo3;
    }
  });

  // node_modules/lodash/_arrayReduce.js
  var require_arrayReduce = __commonJS({
    "node_modules/lodash/_arrayReduce.js"(exports, module2) {
      function arrayReduce(array, iteratee, accumulator, initAccum) {
        var index = -1, length = array == null ? 0 : array.length;
        if (initAccum && length) {
          accumulator = array[++index];
        }
        while (++index < length) {
          accumulator = iteratee(accumulator, array[index], index, array);
        }
        return accumulator;
      }
      module2.exports = arrayReduce;
    }
  });

  // node_modules/lodash/_createBaseFor.js
  var require_createBaseFor = __commonJS({
    "node_modules/lodash/_createBaseFor.js"(exports, module2) {
      function createBaseFor(fromRight) {
        return function(object, iteratee, keysFunc) {
          var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
          while (length--) {
            var key = props[fromRight ? length : ++index];
            if (iteratee(iterable[key], key, iterable) === false) {
              break;
            }
          }
          return object;
        };
      }
      module2.exports = createBaseFor;
    }
  });

  // node_modules/lodash/_baseFor.js
  var require_baseFor = __commonJS({
    "node_modules/lodash/_baseFor.js"(exports, module2) {
      var createBaseFor = require_createBaseFor();
      var baseFor = createBaseFor();
      module2.exports = baseFor;
    }
  });

  // node_modules/lodash/_baseForOwn.js
  var require_baseForOwn = __commonJS({
    "node_modules/lodash/_baseForOwn.js"(exports, module2) {
      var baseFor = require_baseFor();
      var keys = require_keys();
      function baseForOwn(object, iteratee) {
        return object && baseFor(object, iteratee, keys);
      }
      module2.exports = baseForOwn;
    }
  });

  // node_modules/lodash/_createBaseEach.js
  var require_createBaseEach = __commonJS({
    "node_modules/lodash/_createBaseEach.js"(exports, module2) {
      var isArrayLike = require_isArrayLike();
      function createBaseEach(eachFunc, fromRight) {
        return function(collection, iteratee) {
          if (collection == null) {
            return collection;
          }
          if (!isArrayLike(collection)) {
            return eachFunc(collection, iteratee);
          }
          var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection);
          while (fromRight ? index-- : ++index < length) {
            if (iteratee(iterable[index], index, iterable) === false) {
              break;
            }
          }
          return collection;
        };
      }
      module2.exports = createBaseEach;
    }
  });

  // node_modules/lodash/_baseEach.js
  var require_baseEach = __commonJS({
    "node_modules/lodash/_baseEach.js"(exports, module2) {
      var baseForOwn = require_baseForOwn();
      var createBaseEach = require_createBaseEach();
      var baseEach = createBaseEach(baseForOwn);
      module2.exports = baseEach;
    }
  });

  // node_modules/lodash/_baseReduce.js
  var require_baseReduce = __commonJS({
    "node_modules/lodash/_baseReduce.js"(exports, module2) {
      function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
        eachFunc(collection, function(value, index, collection2) {
          accumulator = initAccum ? (initAccum = false, value) : iteratee(accumulator, value, index, collection2);
        });
        return accumulator;
      }
      module2.exports = baseReduce;
    }
  });

  // node_modules/lodash/reduce.js
  var require_reduce = __commonJS({
    "node_modules/lodash/reduce.js"(exports, module2) {
      var arrayReduce = require_arrayReduce();
      var baseEach = require_baseEach();
      var baseIteratee = require_baseIteratee();
      var baseReduce = require_baseReduce();
      var isArray2 = require_isArray();
      function reduce3(collection, iteratee, accumulator) {
        var func = isArray2(collection) ? arrayReduce : baseReduce, initAccum = arguments.length < 3;
        return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach);
      }
      module2.exports = reduce3;
    }
  });

  // node_modules/lodash/findLastIndex.js
  var require_findLastIndex = __commonJS({
    "node_modules/lodash/findLastIndex.js"(exports, module2) {
      var baseFindIndex = require_baseFindIndex();
      var baseIteratee = require_baseIteratee();
      var toInteger = require_toInteger();
      var nativeMax = Math.max;
      var nativeMin = Math.min;
      function findLastIndex(array, predicate, fromIndex) {
        var length = array == null ? 0 : array.length;
        if (!length) {
          return -1;
        }
        var index = length - 1;
        if (fromIndex !== void 0) {
          index = toInteger(fromIndex);
          index = fromIndex < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);
        }
        return baseFindIndex(array, baseIteratee(predicate, 3), index, true);
      }
      module2.exports = findLastIndex;
    }
  });

  // node_modules/lodash/findLast.js
  var require_findLast = __commonJS({
    "node_modules/lodash/findLast.js"(exports, module2) {
      var createFind = require_createFind();
      var findLastIndex = require_findLastIndex();
      var findLast2 = createFind(findLastIndex);
      module2.exports = findLast2;
    }
  });

  // packages/systems/ix2/shared/logic/shallowEqual.ts
  function is(x, y) {
    if (x === y) {
      return x !== 0 || y !== 0 || 1 / x === 1 / y;
    }
    return x !== x && y !== y;
  }
  function shallowEqual(objA, objB) {
    if (is(objA, objB)) {
      return true;
    }
    if (typeof objA !== "object" || objA === null || typeof objB !== "object" || objB === null) {
      return false;
    }
    const keysA = Object.keys(objA);
    const keysB = Object.keys(objB);
    if (keysA.length !== keysB.length) {
      return false;
    }
    for (let i = 0; i < keysA.length; i++) {
      if (!Object.hasOwn(
        objB,
        // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'PropertyKey'.
        keysA[i]
      ) || // @ts-expect-error - TS2538 - Type 'undefined' cannot be used as an index type. | TS2538 - Type 'undefined' cannot be used as an index type.
      !is(objA[keysA[i]], objB[keysA[i]])) {
        return false;
      }
    }
    return true;
  }
  var shallowEqual_default;
  var init_shallowEqual = __esm({
    "packages/systems/ix2/shared/logic/shallowEqual.ts"() {
      "use strict";
      shallowEqual_default = shallowEqual;
    }
  });

  // packages/systems/ix2/shared/logic/IX2VanillaUtils.ts
  var IX2VanillaUtils_exports = {};
  __export(IX2VanillaUtils_exports, {
    cleanupHTMLElement: () => cleanupHTMLElement,
    clearAllStyles: () => clearAllStyles,
    clearObjectCache: () => clearObjectCache,
    getActionListProgress: () => getActionListProgress,
    getAffectedElements: () => getAffectedElements,
    getComputedStyle: () => getComputedStyle2,
    getDestinationValues: () => getDestinationValues,
    getElementId: () => getElementId,
    getInstanceId: () => getInstanceId,
    getInstanceOrigin: () => getInstanceOrigin,
    getItemConfigByKey: () => getItemConfigByKey,
    getMaxDurationItemIndex: () => getMaxDurationItemIndex,
    getNamespacedParameterId: () => getNamespacedParameterId,
    getRenderType: () => getRenderType,
    getStyleProp: () => getStyleProp,
    mediaQueriesEqual: () => mediaQueriesEqual,
    observeStore: () => observeStore,
    reduceListToGroup: () => reduceListToGroup,
    reifyState: () => reifyState,
    renderHTMLElement: () => renderHTMLElement,
    shallowEqual: () => shallowEqual_default,
    shouldAllowMediaQuery: () => shouldAllowMediaQuery,
    shouldNamespaceEventParameter: () => shouldNamespaceEventParameter,
    stringifyTarget: () => stringifyTarget
  });
  function clearObjectCache() {
    objectCache.clear();
  }
  function getInstanceId() {
    return "i" + instanceCount++;
  }
  function getElementId(ixElements3, ref) {
    for (const key in ixElements3) {
      const ixEl = ixElements3[key];
      if (ixEl && ixEl.ref === ref) {
        return ixEl.id;
      }
    }
    return "e" + elementCount++;
  }
  function reifyState({
    events,
    actionLists,
    site
  } = {}) {
    const eventTypeMap = (0, import_reduce.default)(
      events,
      (result2, event) => {
        const { eventTypeId } = event;
        if (!result2[eventTypeId]) {
          result2[eventTypeId] = {};
        }
        result2[eventTypeId][event.id] = event;
        return result2;
      },
      {}
    );
    let mediaQueries = site && site.mediaQueries;
    let mediaQueryKeys = [];
    if (mediaQueries) {
      mediaQueryKeys = mediaQueries.map((mq) => mq.key);
    } else {
      mediaQueries = [];
      console.warn(`IX2 missing mediaQueries in site data`);
    }
    return {
      ixData: {
        events,
        actionLists,
        eventTypeMap,
        mediaQueries,
        mediaQueryKeys
      }
    };
  }
  function observeStore({
    // @ts-expect-error - TS7031 - Binding element 'store' implicitly has an 'any' type.
    store,
    // @ts-expect-error - TS7031 - Binding element 'select' implicitly has an 'any' type.
    select,
    // @ts-expect-error - TS7031 - Binding element 'onChange' implicitly has an 'any' type.
    onChange,
    comparator = strictEqual
  }) {
    const { getState, subscribe } = store;
    const unsubscribe = subscribe(handleChange);
    let currentState = select(getState());
    function handleChange() {
      const nextState = select(getState());
      if (nextState == null) {
        unsubscribe();
        return;
      }
      if (!comparator(nextState, currentState)) {
        currentState = nextState;
        onChange(currentState, store);
      }
    }
    return unsubscribe;
  }
  function normalizeTarget(target) {
    const type = typeof target;
    if (type === "string") {
      return { id: target };
    } else if (target != null && type === "object") {
      const { id, objectId, selector, selectorGuids, appliesTo, useEventTarget } = target;
      return { id, objectId, selector, selectorGuids, appliesTo, useEventTarget };
    }
    return {};
  }
  function getAffectedElements({
    config,
    event,
    eventTarget,
    elementRoot,
    elementApi
  }) {
    if (!elementApi) {
      throw new Error("IX2 missing elementApi");
    }
    const { targets } = config;
    if (Array.isArray(targets) && targets.length > 0) {
      return targets.reduce(
        (accumulator, target2) => accumulator.concat(
          getAffectedElements({
            config: { target: target2 },
            event,
            eventTarget,
            elementRoot,
            elementApi
          })
        ),
        []
      );
    }
    const {
      getValidDocument: getValidDocument2,
      getQuerySelector: getQuerySelector2,
      queryDocument: queryDocument2,
      getChildElements: getChildElements2,
      getSiblingElements: getSiblingElements2,
      matchSelector: matchSelector2,
      elementContains: elementContains2,
      isSiblingNode: isSiblingNode2
    } = elementApi;
    const { target } = config;
    if (!target) {
      return [];
    }
    const {
      id,
      objectId,
      selector,
      selectorGuids,
      appliesTo,
      useEventTarget
    } = normalizeTarget(target);
    if (objectId) {
      const ref = objectCache.has(objectId) ? objectCache.get(objectId) : objectCache.set(objectId, {}).get(objectId);
      return [ref];
    }
    if (appliesTo === EventAppliesTo.PAGE) {
      const doc = getValidDocument2(id);
      return doc ? [doc] : [];
    }
    const overrides = event?.action?.config?.affectedElements ?? {};
    const override = overrides[id || selector] || {};
    const validOverride = Boolean(override.id || override.selector);
    let limitAffectedElements;
    let baseSelector;
    let finalSelector;
    const eventTargetSelector = event && getQuerySelector2(normalizeTarget(event.target));
    if (validOverride) {
      limitAffectedElements = override.limitAffectedElements;
      baseSelector = eventTargetSelector;
      finalSelector = getQuerySelector2(override);
    } else {
      baseSelector = finalSelector = getQuerySelector2({
        id,
        selector,
        selectorGuids
      });
    }
    if (event && useEventTarget) {
      const eventTargets = eventTarget && (finalSelector || useEventTarget === true) ? [eventTarget] : queryDocument2(eventTargetSelector);
      if (finalSelector) {
        if (useEventTarget === PARENT2) {
          return queryDocument2(finalSelector).filter(
            (parentElement) => eventTargets.some(
              (targetElement) => elementContains2(parentElement, targetElement)
            )
          );
        }
        if (useEventTarget === CHILDREN2) {
          return queryDocument2(finalSelector).filter(
            (childElement) => eventTargets.some(
              (targetElement) => elementContains2(targetElement, childElement)
            )
          );
        }
        if (useEventTarget === SIBLINGS2) {
          return queryDocument2(finalSelector).filter(
            (siblingElement) => eventTargets.some(
              (targetElement) => isSiblingNode2(targetElement, siblingElement)
            )
          );
        }
      }
      return eventTargets;
    }
    if (baseSelector == null || finalSelector == null) {
      return [];
    }
    if (IS_BROWSER_ENV && elementRoot) {
      return queryDocument2(finalSelector).filter(
        (element) => elementRoot.contains(element)
      );
    }
    if (limitAffectedElements === CHILDREN2) {
      return queryDocument2(baseSelector, finalSelector);
    } else if (limitAffectedElements === IMMEDIATE_CHILDREN2) {
      return getChildElements2(queryDocument2(baseSelector)).filter(
        matchSelector2(finalSelector)
      );
    } else if (limitAffectedElements === SIBLINGS2) {
      return getSiblingElements2(queryDocument2(baseSelector)).filter(
        matchSelector2(finalSelector)
      );
    } else {
      return queryDocument2(finalSelector);
    }
  }
  function getComputedStyle2({ element, actionItem }) {
    if (!IS_BROWSER_ENV) {
      return {};
    }
    const { actionTypeId } = actionItem;
    switch (actionTypeId) {
      case STYLE_SIZE2:
      case STYLE_BACKGROUND_COLOR:
      case STYLE_BORDER:
      case STYLE_TEXT_COLOR:
      case GENERAL_DISPLAY:
        return window.getComputedStyle(element);
      default:
        return {};
    }
  }
  function getInstanceOrigin(element, refState2 = {}, computedStyle = {}, actionItem, elementApi) {
    const { getStyle: getStyle2 } = elementApi;
    const { actionTypeId } = actionItem;
    if (isPluginType(actionTypeId)) {
      return getPluginOrigin(actionTypeId)(refState2[actionTypeId], actionItem);
    }
    switch (actionItem.actionTypeId) {
      case TRANSFORM_MOVE2:
      case TRANSFORM_SCALE2:
      case TRANSFORM_ROTATE2:
      case TRANSFORM_SKEW2: {
        return (
          // @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 '{}'.
          refState2[actionItem.actionTypeId] || transformDefaults[actionItem.actionTypeId]
        );
      }
      case STYLE_FILTER2:
        return getFilterDefaults(
          // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type '"STYLE_FILTER"' can't be used to index type '{}'.
          refState2[actionItem.actionTypeId],
          actionItem.config.filters
        );
      case STYLE_FONT_VARIATION2:
        return getFontVariationDefaults(
          // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type '"STYLE_FONT_VARIATION"' can't be used to index type '{}'.
          refState2[actionItem.actionTypeId],
          actionItem.config.fontVariations
        );
      case STYLE_OPACITY:
        return { value: (0, import_defaultTo.default)(parseFloat(getStyle2(element, OPACITY2)), 1) };
      case STYLE_SIZE2: {
        const inlineWidth = getStyle2(element, WIDTH2);
        const inlineHeight = getStyle2(element, HEIGHT2);
        let widthValue;
        let heightValue;
        if (actionItem.config.widthUnit === AUTO2) {
          widthValue = pxValueRegex.test(inlineWidth) ? parseFloat(inlineWidth) : (
            // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
            parseFloat(computedStyle.width)
          );
        } else {
          widthValue = (0, import_defaultTo.default)(
            parseFloat(inlineWidth),
            // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
            parseFloat(computedStyle.width)
          );
        }
        if (actionItem.config.heightUnit === AUTO2) {
          heightValue = pxValueRegex.test(inlineHeight) ? parseFloat(inlineHeight) : (
            // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
            parseFloat(computedStyle.height)
          );
        } else {
          heightValue = (0, import_defaultTo.default)(
            parseFloat(inlineHeight),
            // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
            parseFloat(computedStyle.height)
          );
        }
        return {
          widthValue,
          heightValue
        };
      }
      case STYLE_BACKGROUND_COLOR:
      case STYLE_BORDER:
      case STYLE_TEXT_COLOR:
        return parseColor({
          element,
          actionTypeId: actionItem.actionTypeId,
          computedStyle,
          getStyle: getStyle2
        });
      case GENERAL_DISPLAY:
        return {
          // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
          value: (0, import_defaultTo.default)(getStyle2(element, DISPLAY2), computedStyle.display)
        };
      case OBJECT_VALUE:
        return refState2[actionItem.actionTypeId] || { value: 0 };
      default: {
        return;
      }
    }
  }
  function getDestinationValues({
    element,
    actionItem,
    elementApi
  }) {
    if (isPluginType(actionItem.actionTypeId)) {
      return getPluginDestination(actionItem.actionTypeId)(actionItem.config);
    }
    switch (actionItem.actionTypeId) {
      case TRANSFORM_MOVE2:
      case TRANSFORM_SCALE2:
      case TRANSFORM_ROTATE2:
      case TRANSFORM_SKEW2: {
        const { xValue, yValue, zValue } = actionItem.config;
        return { xValue, yValue, zValue };
      }
      case STYLE_SIZE2: {
        const { getStyle: getStyle2, setStyle: setStyle2, getProperty: getProperty2 } = elementApi;
        const { widthUnit, heightUnit } = actionItem.config;
        let { widthValue, heightValue } = actionItem.config;
        if (!IS_BROWSER_ENV) {
          return { widthValue, heightValue };
        }
        if (widthUnit === AUTO2) {
          const temp = getStyle2(element, WIDTH2);
          setStyle2(element, WIDTH2, "");
          widthValue = getProperty2(element, "offsetWidth");
          setStyle2(element, WIDTH2, temp);
        }
        if (heightUnit === AUTO2) {
          const temp = getStyle2(element, HEIGHT2);
          setStyle2(element, HEIGHT2, "");
          heightValue = getProperty2(element, "offsetHeight");
          setStyle2(element, HEIGHT2, temp);
        }
        return { widthValue, heightValue };
      }
      case STYLE_BACKGROUND_COLOR:
      case STYLE_BORDER:
      case STYLE_TEXT_COLOR: {
        const { rValue, gValue, bValue, aValue, globalSwatchId } = actionItem.config;
        if (globalSwatchId && globalSwatchId.startsWith("--")) {
          const { getStyle: getStyle2 } = elementApi;
          const value = getStyle2(element, globalSwatchId);
          const normalizedValue = (0, import_normalizeColor.normalizeColor)(value);
          return {
            rValue: normalizedValue.red,
            gValue: normalizedValue.green,
            bValue: normalizedValue.blue,
            aValue: normalizedValue.alpha
          };
        }
        return { rValue, gValue, bValue, aValue };
      }
      case STYLE_FILTER2: {
        return actionItem.config.filters.reduce(
          reduceFilters,
          {}
        );
      }
      case STYLE_FONT_VARIATION2: {
        return actionItem.config.fontVariations.reduce(
          reduceFontVariations,
          {}
        );
      }
      default: {
        const { value } = actionItem.config;
        return { value };
      }
    }
  }
  function getRenderType(actionTypeId) {
    if (/^TRANSFORM_/.test(actionTypeId)) {
      return RENDER_TRANSFORM2;
    }
    if (/^STYLE_/.test(actionTypeId)) {
      return RENDER_STYLE2;
    }
    if (/^GENERAL_/.test(actionTypeId)) {
      return RENDER_GENERAL2;
    }
    if (/^PLUGIN_/.test(actionTypeId)) {
      return RENDER_PLUGIN2;
    }
  }
  function getStyleProp(renderType, actionTypeId) {
    return renderType === RENDER_STYLE2 ? actionTypeId.replace("STYLE_", "").toLowerCase() : null;
  }
  function renderHTMLElement(element, refState2, actionState, eventId, actionItem, styleProp, elementApi, renderType, pluginInstance) {
    switch (renderType) {
      case RENDER_TRANSFORM2: {
        return renderTransform(
          element,
          refState2,
          actionState,
          actionItem,
          elementApi
        );
      }
      case RENDER_STYLE2: {
        return renderStyle(
          element,
          refState2,
          actionState,
          actionItem,
          styleProp,
          elementApi
        );
      }
      case RENDER_GENERAL2: {
        return renderGeneral(element, actionItem, elementApi);
      }
      case RENDER_PLUGIN2: {
        const { actionTypeId } = actionItem;
        if (isPluginType(actionTypeId)) {
          return renderPlugin(actionTypeId)(pluginInstance, refState2, actionItem);
        }
      }
    }
  }
  function renderTransform(element, refState2, actionState, actionItem, elementApi) {
    const newTransform = transformKeys.map((actionTypeId) => {
      const defaults = transformDefaults[actionTypeId];
      const {
        xValue = defaults.xValue,
        yValue = defaults.yValue,
        zValue = defaults.zValue,
        xUnit = "",
        yUnit = "",
        zUnit = ""
      } = refState2[actionTypeId] || {};
      switch (actionTypeId) {
        case TRANSFORM_MOVE2:
          return `${TRANSLATE_3D2}(${xValue}${xUnit}, ${yValue}${yUnit}, ${zValue}${zUnit})`;
        case TRANSFORM_SCALE2:
          return `${SCALE_3D2}(${xValue}${xUnit}, ${yValue}${yUnit}, ${zValue}${zUnit})`;
        case TRANSFORM_ROTATE2:
          return `${ROTATE_X2}(${xValue}${xUnit}) ${ROTATE_Y2}(${yValue}${yUnit}) ${ROTATE_Z2}(${zValue}${zUnit})`;
        case TRANSFORM_SKEW2:
          return `${SKEW2}(${xValue}${xUnit}, ${yValue}${yUnit})`;
        default:
          return "";
      }
    }).join(" ");
    const { setStyle: setStyle2 } = elementApi;
    addWillChange(element, TRANSFORM_PREFIXED, elementApi);
    setStyle2(element, TRANSFORM_PREFIXED, newTransform);
    if (hasDefined3dTransform(actionItem, actionState)) {
      setStyle2(element, TRANSFORM_STYLE_PREFIXED, PRESERVE_3D2);
    }
  }
  function renderFilter(element, actionState, actionItemConfig, elementApi) {
    const filterValue = (0, import_reduce.default)(
      actionState,
      (result2, value, type) => `${result2} ${type}(${value}${getFilterUnit(type, actionItemConfig)})`,
      ""
    );
    const { setStyle: setStyle2 } = elementApi;
    addWillChange(element, FILTER2, elementApi);
    setStyle2(element, FILTER2, filterValue);
  }
  function renderFontVariation(element, actionState, actionItemConfig, elementApi) {
    const fontVariationValue = (0, import_reduce.default)(
      actionState,
      (result2, value, type) => {
        result2.push(`"${type}" ${value}`);
        return result2;
      },
      []
    ).join(", ");
    const { setStyle: setStyle2 } = elementApi;
    addWillChange(element, FONT_VARIATION_SETTINGS2, elementApi);
    setStyle2(element, FONT_VARIATION_SETTINGS2, fontVariationValue);
  }
  function hasDefined3dTransform({ actionTypeId }, { xValue, yValue, zValue }) {
    return actionTypeId === TRANSFORM_MOVE2 && zValue !== void 0 || // SCALE_Z
    actionTypeId === TRANSFORM_SCALE2 && zValue !== void 0 || // ROTATE_X or ROTATE_Y
    actionTypeId === TRANSFORM_ROTATE2 && (xValue !== void 0 || yValue !== void 0);
  }
  function getFirstMatch(regex, value) {
    const match = regex.exec(value);
    return match ? match[1] : "";
  }
  function parseColor({ element, actionTypeId, computedStyle, getStyle: getStyle2 }) {
    const prop = colorStyleProps[actionTypeId];
    const inlineValue = getStyle2(element, prop);
    const value = rgbValidRegex.test(inlineValue) ? inlineValue : computedStyle[prop];
    const matches = getFirstMatch(rgbMatchRegex, value).split(COMMA_DELIMITER2);
    return {
      // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
      rValue: (0, import_defaultTo.default)(parseInt(matches[0], 10), 255),
      // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
      gValue: (0, import_defaultTo.default)(parseInt(matches[1], 10), 255),
      // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
      bValue: (0, import_defaultTo.default)(parseInt(matches[2], 10), 255),
      // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
      aValue: (0, import_defaultTo.default)(parseFloat(matches[3]), 1)
    };
  }
  function renderStyle(element, refState2, actionState, actionItem, styleProp, elementApi) {
    const { setStyle: setStyle2 } = elementApi;
    switch (actionItem.actionTypeId) {
      case STYLE_SIZE2: {
        let { widthUnit = "", heightUnit = "" } = actionItem.config;
        const { widthValue, heightValue } = actionState;
        if (widthValue !== void 0) {
          if (widthUnit === AUTO2) {
            widthUnit = "px";
          }
          addWillChange(element, WIDTH2, elementApi);
          setStyle2(element, WIDTH2, widthValue + widthUnit);
        }
        if (heightValue !== void 0) {
          if (heightUnit === AUTO2) {
            heightUnit = "px";
          }
          addWillChange(element, HEIGHT2, elementApi);
          setStyle2(element, HEIGHT2, heightValue + heightUnit);
        }
        break;
      }
      case STYLE_FILTER2: {
        renderFilter(element, actionState, actionItem.config, elementApi);
        break;
      }
      case STYLE_FONT_VARIATION2: {
        renderFontVariation(element, actionState, actionItem.config, elementApi);
        break;
      }
      case STYLE_BACKGROUND_COLOR:
      case STYLE_BORDER:
      case STYLE_TEXT_COLOR: {
        const prop = colorStyleProps[actionItem.actionTypeId];
        const rValue = Math.round(actionState.rValue);
        const gValue = Math.round(actionState.gValue);
        const bValue = Math.round(actionState.bValue);
        const aValue = actionState.aValue;
        addWillChange(element, prop, elementApi);
        setStyle2(
          element,
          prop,
          aValue >= 1 ? `rgb(${rValue},${gValue},${bValue})` : `rgba(${rValue},${gValue},${bValue},${aValue})`
        );
        break;
      }
      default: {
        const { unit = "" } = actionItem.config;
        addWillChange(element, styleProp, elementApi);
        setStyle2(element, styleProp, actionState.value + unit);
        break;
      }
    }
  }
  function renderGeneral(element, actionItem, elementApi) {
    const { setStyle: setStyle2 } = elementApi;
    switch (actionItem.actionTypeId) {
      case GENERAL_DISPLAY: {
        const { value } = actionItem.config;
        if (value === FLEX2 && IS_BROWSER_ENV) {
          setStyle2(element, DISPLAY2, FLEX_PREFIXED);
        } else {
          setStyle2(element, DISPLAY2, value);
        }
        return;
      }
    }
  }
  function addWillChange(element, prop, elementApi) {
    if (!IS_BROWSER_ENV) {
      return;
    }
    const validProp = willChangeProps[prop];
    if (!validProp) {
      return;
    }
    const { getStyle: getStyle2, setStyle: setStyle2 } = elementApi;
    const value = getStyle2(element, WILL_CHANGE2);
    if (!value) {
      setStyle2(element, WILL_CHANGE2, validProp);
      return;
    }
    const values2 = value.split(COMMA_DELIMITER2).map(trim);
    if (values2.indexOf(validProp) === -1) {
      setStyle2(
        element,
        WILL_CHANGE2,
        values2.concat(validProp).join(COMMA_DELIMITER2)
      );
    }
  }
  function removeWillChange(element, prop, elementApi) {
    if (!IS_BROWSER_ENV) {
      return;
    }
    const validProp = willChangeProps[prop];
    if (!validProp) {
      return;
    }
    const { getStyle: getStyle2, setStyle: setStyle2 } = elementApi;
    const value = getStyle2(element, WILL_CHANGE2);
    if (!value || value.indexOf(validProp) === -1) {
      return;
    }
    setStyle2(
      element,
      WILL_CHANGE2,
      value.split(COMMA_DELIMITER2).map(trim).filter((v) => v !== validProp).join(COMMA_DELIMITER2)
    );
  }
  function clearAllStyles({ store, elementApi }) {
    const { ixData: ixData2 } = store.getState();
    const { events = {}, actionLists = {} } = ixData2;
    Object.keys(events).forEach((eventId) => {
      const event = events[eventId];
      const { config } = event.action;
      const { actionListId } = config;
      const actionList = actionLists[actionListId];
      if (actionList) {
        clearActionListStyles({ actionList, event, elementApi });
      }
    });
    Object.keys(actionLists).forEach((actionListId) => {
      clearActionListStyles({ actionList: actionLists[actionListId], elementApi });
    });
  }
  function clearActionListStyles({ actionList = {}, event, elementApi }) {
    const { actionItemGroups, continuousParameterGroups } = actionList;
    actionItemGroups && // @ts-expect-error - TS7006 - Parameter 'actionGroup' implicitly has an 'any' type.
    actionItemGroups.forEach((actionGroup) => {
      clearActionGroupStyles({ actionGroup, event, elementApi });
    });
    continuousParameterGroups && // @ts-expect-error - TS7006 - Parameter 'paramGroup' implicitly has an 'any' type.
    continuousParameterGroups.forEach((paramGroup) => {
      const { continuousActionGroups } = paramGroup;
      continuousActionGroups.forEach((actionGroup) => {
        clearActionGroupStyles({ actionGroup, event, elementApi });
      });
    });
  }
  function clearActionGroupStyles({ actionGroup, event, elementApi }) {
    const { actionItems } = actionGroup;
    actionItems.forEach((actionItem) => {
      const { actionTypeId, config } = actionItem;
      let clearElement;
      if (isPluginType(actionTypeId)) {
        clearElement = (ref) => clearPlugin(actionTypeId)(ref, actionItem);
      } else {
        clearElement = processElementByType({
          effect: clearStyleProp,
          actionTypeId,
          elementApi
        });
      }
      getAffectedElements({ config, event, elementApi }).forEach(clearElement);
    });
  }
  function cleanupHTMLElement(element, actionItem, elementApi) {
    const { setStyle: setStyle2, getStyle: getStyle2 } = elementApi;
    const { actionTypeId } = actionItem;
    if (actionTypeId === STYLE_SIZE2) {
      const { config } = actionItem;
      if (config.widthUnit === AUTO2) {
        setStyle2(element, WIDTH2, "");
      }
      if (config.heightUnit === AUTO2) {
        setStyle2(element, HEIGHT2, "");
      }
    }
    if (getStyle2(element, WILL_CHANGE2)) {
      processElementByType({ effect: removeWillChange, actionTypeId, elementApi })(
        element
      );
    }
  }
  function clearStyleProp(element, prop, elementApi) {
    const { setStyle: setStyle2 } = elementApi;
    removeWillChange(element, prop, elementApi);
    setStyle2(element, prop, "");
    if (prop === TRANSFORM_PREFIXED) {
      setStyle2(element, TRANSFORM_STYLE_PREFIXED, "");
    }
  }
  function getMaxDurationItemIndex(actionItems) {
    let maxDuration = 0;
    let resultIndex = 0;
    actionItems.forEach((actionItem, index) => {
      const { config } = actionItem;
      const total = config.delay + config.duration;
      if (total >= maxDuration) {
        maxDuration = total;
        resultIndex = index;
      }
    });
    return resultIndex;
  }
  function getActionListProgress(actionList, instance) {
    const { actionItemGroups, useFirstGroupAsInitialState } = actionList;
    const { actionItem: instanceItem, verboseTimeElapsed = 0 } = instance;
    let totalDuration = 0;
    let elapsedDuration = 0;
    actionItemGroups.forEach((group, index) => {
      if (useFirstGroupAsInitialState && index === 0) {
        return;
      }
      const { actionItems } = group;
      const carrierItem = actionItems[getMaxDurationItemIndex(actionItems)];
      const { config, actionTypeId } = carrierItem;
      if (instanceItem.id === carrierItem.id) {
        elapsedDuration = totalDuration + verboseTimeElapsed;
      }
      const duration = getRenderType(actionTypeId) === RENDER_GENERAL2 ? 0 : config.duration;
      totalDuration += config.delay + duration;
    });
    return totalDuration > 0 ? optimizeFloat(elapsedDuration / totalDuration) : 0;
  }
  function reduceListToGroup({
    actionList,
    actionItemId,
    rawData
  }) {
    const { actionItemGroups, continuousParameterGroups } = actionList;
    const newActionItems = [];
    const takeItemUntilMatch = (actionItem) => {
      newActionItems.push(
        (0, import_timm4.mergeIn)(actionItem, ["config"], {
          delay: 0,
          duration: 0
        })
      );
      return actionItem.id === actionItemId;
    };
    actionItemGroups && actionItemGroups.some(({ actionItems }) => {
      return actionItems.some(takeItemUntilMatch);
    });
    continuousParameterGroups && continuousParameterGroups.some(
      (paramGroup) => {
        const { continuousActionGroups } = paramGroup;
        return continuousActionGroups.some(
          ({ actionItems }) => {
            return actionItems.some(takeItemUntilMatch);
          }
        );
      }
    );
    return (0, import_timm4.setIn)(rawData, ["actionLists"], {
      [actionList.id]: {
        id: actionList.id,
        actionItemGroups: [
          {
            actionItems: newActionItems
          }
        ]
      }
    });
  }
  function shouldNamespaceEventParameter(eventTypeId, { basedOn }) {
    return eventTypeId === EventTypeConsts.SCROLLING_IN_VIEW && (basedOn === EventBasedOn.ELEMENT || basedOn == null) || eventTypeId === EventTypeConsts.MOUSE_MOVE && basedOn === EventBasedOn.ELEMENT;
  }
  function getNamespacedParameterId(eventStateKey, continuousParameterGroupId) {
    const namespacedParameterId = eventStateKey + COLON_DELIMITER2 + continuousParameterGroupId;
    return namespacedParameterId;
  }
  function shouldAllowMediaQuery(mediaQueries, mediaQueryKey) {
    if (mediaQueryKey == null) {
      return true;
    }
    return mediaQueries.indexOf(mediaQueryKey) !== -1;
  }
  function mediaQueriesEqual(listA, listB) {
    return shallowEqual_default(listA && listA.sort(), listB && listB.sort());
  }
  function stringifyTarget(target) {
    if (typeof target === "string") {
      return target;
    }
    if (target.pluginElement && target.objectId) {
      return target.pluginElement + BAR_DELIMITER2 + target.objectId;
    }
    if (target.objectId) {
      return target.objectId;
    }
    const { id = "", selector = "", useEventTarget = "" } = target;
    return id + BAR_DELIMITER2 + selector + BAR_DELIMITER2 + useEventTarget;
  }
  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;
  var init_IX2VanillaUtils = __esm({
    "packages/systems/ix2/shared/logic/IX2VanillaUtils.ts"() {
      "use strict";
      import_defaultTo = __toESM(require_defaultTo());
      import_reduce = __toESM(require_reduce());
      import_findLast = __toESM(require_findLast());
      import_timm4 = __toESM(require_timm());
      init_shared_constants();
      init_shallowEqual();
      init_IX2EasingUtils();
      import_normalizeColor = __toESM(require_normalizeColor());
      init_IX2VanillaPlugins();
      init_IX2BrowserSupport();
      ({
        BACKGROUND: BACKGROUND2,
        TRANSFORM: TRANSFORM2,
        TRANSLATE_3D: TRANSLATE_3D2,
        SCALE_3D: SCALE_3D2,
        ROTATE_X: ROTATE_X2,
        ROTATE_Y: ROTATE_Y2,
        ROTATE_Z: ROTATE_Z2,
        SKEW: SKEW2,
        PRESERVE_3D: PRESERVE_3D2,
        FLEX: FLEX2,
        OPACITY: OPACITY2,
        FILTER: FILTER2,
        FONT_VARIATION_SETTINGS: FONT_VARIATION_SETTINGS2,
        WIDTH: WIDTH2,
        HEIGHT: HEIGHT2,
        BACKGROUND_COLOR: BACKGROUND_COLOR2,
        BORDER_COLOR: BORDER_COLOR2,
        COLOR: COLOR2,
        CHILDREN: CHILDREN2,
        IMMEDIATE_CHILDREN: IMMEDIATE_CHILDREN2,
        SIBLINGS: SIBLINGS2,
        PARENT: PARENT2,
        DISPLAY: DISPLAY2,
        WILL_CHANGE: WILL_CHANGE2,
        AUTO: AUTO2,
        COMMA_DELIMITER: COMMA_DELIMITER2,
        COLON_DELIMITER: COLON_DELIMITER2,
        BAR_DELIMITER: BAR_DELIMITER2,
        RENDER_TRANSFORM: RENDER_TRANSFORM2,
        RENDER_GENERAL: RENDER_GENERAL2,
        RENDER_STYLE: RENDER_STYLE2,
        RENDER_PLUGIN: RENDER_PLUGIN2
      } = IX2EngineConstants_exports);
      ({
        TRANSFORM_MOVE: TRANSFORM_MOVE2,
        TRANSFORM_SCALE: TRANSFORM_SCALE2,
        TRANSFORM_ROTATE: TRANSFORM_ROTATE2,
        TRANSFORM_SKEW: TRANSFORM_SKEW2,
        STYLE_OPACITY,
        STYLE_FILTER: STYLE_FILTER2,
        STYLE_FONT_VARIATION: STYLE_FONT_VARIATION2,
        STYLE_SIZE: STYLE_SIZE2,
        STYLE_BACKGROUND_COLOR,
        STYLE_BORDER,
        STYLE_TEXT_COLOR,
        GENERAL_DISPLAY,
        OBJECT_VALUE
      } = ActionTypeConsts);
      trim = (v) => v.trim();
      colorStyleProps = Object.freeze({
        [STYLE_BACKGROUND_COLOR]: BACKGROUND_COLOR2,
        [STYLE_BORDER]: BORDER_COLOR2,
        [STYLE_TEXT_COLOR]: COLOR2
      });
      willChangeProps = Object.freeze({
        [TRANSFORM_PREFIXED]: TRANSFORM2,
        [BACKGROUND_COLOR2]: BACKGROUND2,
        [OPACITY2]: OPACITY2,
        [FILTER2]: FILTER2,
        [WIDTH2]: WIDTH2,
        [HEIGHT2]: HEIGHT2,
        [FONT_VARIATION_SETTINGS2]: FONT_VARIATION_SETTINGS2
      });
      objectCache = /* @__PURE__ */ new Map();
      instanceCount = 1;
      elementCount = 1;
      strictEqual = (a, b) => a === b;
      pxValueRegex = /px/;
      getFilterDefaults = (actionState, filters) => (
        // @ts-expect-error - TS7006 - Parameter 'result' implicitly has an 'any' type. | TS7006 - Parameter 'filter' implicitly has an 'any' type.
        filters.reduce((result2, filter) => {
          if (result2[filter.type] == null) {
            result2[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; }>'.
            filterDefaults[filter.type];
          }
          return result2;
        }, actionState || {})
      );
      getFontVariationDefaults = (actionState, fontVariations) => fontVariations.reduce((result2, fontVariation) => {
        if (result2[fontVariation.type] == null) {
          result2[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; }>'.
          fontVariationDefaults[fontVariation.type] || // @ts-expect-error - TS2339 - Property 'defaultValue' does not exist on type 'FontVariationItemConfigType'.
          fontVariation.defaultValue || 0;
        }
        return result2;
      }, actionState || {});
      reduceFilters = (result2, filter) => {
        if (filter) {
          result2[filter.type] = filter.value || 0;
        }
        return result2;
      };
      reduceFontVariations = (result2, fontVariation) => {
        if (fontVariation) {
          result2[fontVariation.type] = fontVariation.value || 0;
        }
        return result2;
      };
      getItemConfigByKey = (actionTypeId, key, config) => {
        if (isPluginType(actionTypeId)) {
          return getPluginConfig(actionTypeId)(config, key);
        }
        switch (actionTypeId) {
          case STYLE_FILTER2: {
            const filter = (0, import_findLast.default)(config.filters, ({ type }) => type === key);
            return filter ? filter.value : 0;
          }
          case STYLE_FONT_VARIATION2: {
            const fontVariation = (0, import_findLast.default)(
              config.fontVariations,
              ({ type }) => type === key
            );
            return fontVariation ? fontVariation.value : 0;
          }
          default:
            return config[key];
        }
      };
      transformDefaults = {
        [TRANSFORM_MOVE2]: Object.freeze({
          xValue: 0,
          yValue: 0,
          zValue: 0
        }),
        [TRANSFORM_SCALE2]: Object.freeze({
          xValue: 1,
          yValue: 1,
          zValue: 1
        }),
        [TRANSFORM_ROTATE2]: Object.freeze({
          xValue: 0,
          yValue: 0,
          zValue: 0
        }),
        [TRANSFORM_SKEW2]: Object.freeze({
          xValue: 0,
          yValue: 0
        })
      };
      filterDefaults = Object.freeze({
        blur: 0,
        "hue-rotate": 0,
        invert: 0,
        grayscale: 0,
        saturate: 100,
        sepia: 0,
        contrast: 100,
        brightness: 100
      });
      fontVariationDefaults = Object.freeze({
        wght: 0,
        opsz: 0,
        wdth: 0,
        slnt: 0
      });
      getFilterUnit = (filterType, actionItemConfig) => {
        const filter = (0, import_findLast.default)(
          actionItemConfig.filters,
          ({ type }) => type === filterType
        );
        if (filter && filter.unit) {
          return filter.unit;
        }
        switch (filterType) {
          case "blur":
            return "px";
          case "hue-rotate":
            return "deg";
          default:
            return "%";
        }
      };
      transformKeys = Object.keys(transformDefaults);
      paramCapture = "\\(([^)]+)\\)";
      rgbValidRegex = /^rgb/;
      rgbMatchRegex = RegExp(`rgba?${paramCapture}`);
      processElementByType = ({
        effect,
        actionTypeId,
        elementApi
      }) => (
        // @ts-expect-error - TS7006 - Parameter 'element' implicitly has an 'any' type.
        (element) => {
          switch (actionTypeId) {
            case TRANSFORM_MOVE2:
            case TRANSFORM_SCALE2:
            case TRANSFORM_ROTATE2:
            case TRANSFORM_SKEW2:
              effect(element, TRANSFORM_PREFIXED, elementApi);
              break;
            case STYLE_FILTER2:
              effect(element, FILTER2, elementApi);
              break;
            case STYLE_FONT_VARIATION2:
              effect(element, FONT_VARIATION_SETTINGS2, elementApi);
              break;
            case STYLE_OPACITY:
              effect(element, OPACITY2, elementApi);
              break;
            case STYLE_SIZE2:
              effect(element, WIDTH2, elementApi);
              effect(element, HEIGHT2, elementApi);
              break;
            case STYLE_BACKGROUND_COLOR:
            case STYLE_BORDER:
            case STYLE_TEXT_COLOR:
              effect(element, colorStyleProps[actionTypeId], elementApi);
              break;
            case GENERAL_DISPLAY:
              effect(element, DISPLAY2, elementApi);
              break;
          }
        }
      );
    }
  });

  // packages/systems/ix2/shared/index.js
  var require_shared = __commonJS({
    "packages/systems/ix2/shared/index.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      function _export(target, all) {
        for (var name in all)
          Object.defineProperty(target, name, {
            enumerable: true,
            get: all[name]
          });
      }
      _export(exports, {
        // IX2Actions,
        IX2BrowserSupport: function() {
          return _IX2BrowserSupport;
        },
        IX2EasingUtils: function() {
          return _IX2EasingUtils;
        },
        IX2Easings: function() {
          return _IX2Easings;
        },
        IX2ElementsReducer: function() {
          return _IX2ElementsReducer;
        },
        IX2VanillaPlugins: function() {
          return _IX2VanillaPlugins;
        },
        IX2VanillaUtils: function() {
          return _IX2VanillaUtils;
        }
      });
      var _IX2BrowserSupport = /* @__PURE__ */ _interop_require_wildcard((init_IX2BrowserSupport(), __toCommonJS(IX2BrowserSupport_exports)));
      var _IX2Easings = /* @__PURE__ */ _interop_require_wildcard((init_IX2Easings(), __toCommonJS(IX2Easings_exports)));
      var _IX2EasingUtils = /* @__PURE__ */ _interop_require_wildcard((init_IX2EasingUtils(), __toCommonJS(IX2EasingUtils_exports)));
      var _IX2ElementsReducer = /* @__PURE__ */ _interop_require_wildcard((init_IX2ElementsReducer(), __toCommonJS(IX2ElementsReducer_exports)));
      var _IX2VanillaPlugins = /* @__PURE__ */ _interop_require_wildcard((init_IX2VanillaPlugins(), __toCommonJS(IX2VanillaPlugins_exports)));
      var _IX2VanillaUtils = /* @__PURE__ */ _interop_require_wildcard((init_IX2VanillaUtils(), __toCommonJS(IX2VanillaUtils_exports)));
      function _getRequireWildcardCache(nodeInterop) {
        if (typeof WeakMap !== "function")
          return null;
        var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
        var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
        return (_getRequireWildcardCache = function(nodeInterop2) {
          return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
        })(nodeInterop);
      }
      function _interop_require_wildcard(obj, nodeInterop) {
        if (!nodeInterop && obj && obj.__esModule) {
          return obj;
        }
        if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
          return {
            default: obj
          };
        }
        var cache = _getRequireWildcardCache(nodeInterop);
        if (cache && cache.has(obj)) {
          return cache.get(obj);
        }
        var newObj = {
          __proto__: null
        };
        var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var key in obj) {
          if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
            var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
            if (desc && (desc.get || desc.set)) {
              Object.defineProperty(newObj, key, desc);
            } else {
              newObj[key] = obj[key];
            }
          }
        }
        newObj.default = obj;
        if (cache) {
          cache.set(obj, newObj);
        }
        return newObj;
      }
    }
  });

  // packages/systems/ix2/engine/reducers/IX2InstancesReducer.ts
  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;
  var init_IX2InstancesReducer = __esm({
    "packages/systems/ix2/engine/reducers/IX2InstancesReducer.ts"() {
      "use strict";
      init_shared_constants();
      import_shared = __toESM(require_shared());
      import_timm5 = __toESM(require_timm());
      ({
        IX2_RAW_DATA_IMPORTED: IX2_RAW_DATA_IMPORTED3,
        IX2_SESSION_STOPPED: IX2_SESSION_STOPPED4,
        IX2_INSTANCE_ADDED: IX2_INSTANCE_ADDED3,
        IX2_INSTANCE_STARTED: IX2_INSTANCE_STARTED2,
        IX2_INSTANCE_REMOVED: IX2_INSTANCE_REMOVED2,
        IX2_ANIMATION_FRAME_CHANGED: IX2_ANIMATION_FRAME_CHANGED3
      } = IX2EngineActionTypes_exports);
      ({ optimizeFloat: optimizeFloat2, applyEasing: applyEasing2, createBezierEasing: createBezierEasing2 } = import_shared.IX2EasingUtils);
      ({ RENDER_GENERAL: RENDER_GENERAL3 } = IX2EngineConstants_exports);
      ({ getItemConfigByKey: getItemConfigByKey2, getRenderType: getRenderType2, getStyleProp: getStyleProp2 } = import_shared.IX2VanillaUtils);
      continuousInstance = (state, action) => {
        const {
          position: lastPosition,
          parameterId,
          actionGroups,
          destinationKeys,
          smoothing,
          restingValue,
          actionTypeId,
          customEasingFn,
          skipMotion,
          skipToValue
        } = state;
        const { parameters } = action.payload;
        let velocity = Math.max(1 - smoothing, 0.01);
        let paramValue = parameters[parameterId];
        if (paramValue == null) {
          velocity = 1;
          paramValue = restingValue;
        }
        const nextPosition = Math.max(paramValue, 0) || 0;
        const positionDiff = optimizeFloat2(nextPosition - lastPosition);
        const position = skipMotion ? skipToValue : optimizeFloat2(lastPosition + positionDiff * velocity);
        const keyframePosition = position * 100;
        if (position === lastPosition && state.current) {
          return state;
        }
        let fromActionItem;
        let toActionItem;
        let positionOffset;
        let positionRange;
        for (let i = 0, { length } = actionGroups; i < length; i++) {
          const { keyframe, actionItems } = actionGroups[i];
          if (i === 0) {
            fromActionItem = actionItems[0];
          }
          if (keyframePosition >= keyframe) {
            fromActionItem = actionItems[0];
            const nextGroup = actionGroups[i + 1];
            const hasNextItem = nextGroup && keyframePosition !== keyframe;
            toActionItem = hasNextItem ? nextGroup.actionItems[0] : null;
            if (hasNextItem) {
              positionOffset = keyframe / 100;
              positionRange = (nextGroup.keyframe - keyframe) / 100;
            }
          }
        }
        const current = {};
        if (fromActionItem && !toActionItem) {
          for (let i = 0, { length } = destinationKeys; i < length; i++) {
            const key = destinationKeys[i];
            current[key] = getItemConfigByKey2(
              actionTypeId,
              key,
              fromActionItem.config
            );
          }
        } else if (fromActionItem && toActionItem && positionOffset !== void 0 && positionRange !== void 0) {
          const localPosition = (position - positionOffset) / positionRange;
          const easing = fromActionItem.config.easing;
          const eased = applyEasing2(easing, localPosition, customEasingFn);
          for (let i = 0, { length } = destinationKeys; i < length; i++) {
            const key = destinationKeys[i];
            const fromVal = getItemConfigByKey2(
              actionTypeId,
              key,
              fromActionItem.config
            );
            const toVal = getItemConfigByKey2(actionTypeId, key, toActionItem.config);
            const diff = toVal - fromVal;
            const value = diff * eased + fromVal;
            current[key] = value;
          }
        }
        return (0, import_timm5.merge)(state, {
          position,
          current
        });
      };
      timedInstance = (state, action) => {
        const {
          active,
          origin,
          start,
          immediate,
          renderType,
          verbose,
          actionItem,
          destination,
          destinationKeys,
          pluginDuration,
          instanceDelay,
          customEasingFn,
          skipMotion
        } = state;
        const easing = actionItem.config.easing;
        let { duration, delay } = actionItem.config;
        if (pluginDuration != null) {
          duration = pluginDuration;
        }
        delay = instanceDelay != null ? instanceDelay : delay;
        if (renderType === RENDER_GENERAL3) {
          duration = 0;
        } else if (immediate || skipMotion) {
          duration = delay = 0;
        }
        const { now } = action.payload;
        if (active && origin) {
          const delta = now - (start + delay);
          if (verbose) {
            const verboseDelta = now - start;
            const verboseDuration = duration + delay;
            const verbosePosition = optimizeFloat2(
              Math.min(Math.max(0, verboseDelta / verboseDuration), 1)
            );
            state = (0, import_timm5.set)(
              state,
              "verboseTimeElapsed",
              verboseDuration * verbosePosition
            );
          }
          if (delta < 0) {
            return state;
          }
          const position = optimizeFloat2(Math.min(Math.max(0, delta / duration), 1));
          const eased = applyEasing2(easing, position, customEasingFn);
          const newProps = {};
          let current = null;
          if (destinationKeys.length) {
            current = destinationKeys.reduce((result2, key) => {
              const destValue = destination[key];
              const originVal = parseFloat(origin[key]) || 0;
              const diff = parseFloat(destValue) - originVal;
              const value = diff * eased + originVal;
              result2[key] = value;
              return result2;
            }, {});
          }
          newProps.current = current;
          newProps.position = position;
          if (position === 1) {
            newProps.active = false;
            newProps.complete = true;
          }
          return (0, import_timm5.merge)(state, newProps);
        }
        return state;
      };
      ixInstances = (state = Object.freeze({}), action) => {
        switch (action.type) {
          case IX2_RAW_DATA_IMPORTED3: {
            return action.payload.ixInstances || Object.freeze({});
          }
          case IX2_SESSION_STOPPED4: {
            return Object.freeze({});
          }
          case IX2_INSTANCE_ADDED3: {
            const {
              instanceId,
              elementId,
              actionItem,
              eventId,
              eventTarget,
              eventStateKey,
              actionListId,
              groupIndex,
              isCarrier,
              origin,
              destination,
              immediate,
              verbose,
              continuous,
              parameterId,
              actionGroups,
              smoothing,
              restingValue,
              pluginInstance,
              pluginDuration,
              instanceDelay,
              skipMotion,
              skipToValue
            } = action.payload;
            const { actionTypeId } = actionItem;
            const renderType = getRenderType2(actionTypeId);
            const styleProp = getStyleProp2(renderType, actionTypeId);
            const destinationKeys = Object.keys(destination).filter(
              (key) => (
                // Skip null destination values
                destination[key] != null && // Skip string destination values
                typeof destination[key] !== "string"
              )
            );
            const { easing } = actionItem.config;
            return (0, import_timm5.set)(state, instanceId, {
              id: instanceId,
              elementId,
              active: false,
              position: 0,
              start: 0,
              origin,
              destination,
              destinationKeys,
              immediate,
              verbose,
              current: null,
              actionItem,
              actionTypeId,
              eventId,
              eventTarget,
              eventStateKey,
              actionListId,
              groupIndex,
              renderType,
              isCarrier,
              styleProp,
              continuous,
              parameterId,
              actionGroups,
              smoothing,
              restingValue,
              pluginInstance,
              pluginDuration,
              instanceDelay,
              skipMotion,
              skipToValue,
              customEasingFn: Array.isArray(easing) && easing.length === 4 ? (
                // @ts-expect-error - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'IX2EasingCustomType'.
                createBezierEasing2(easing)
              ) : void 0
            });
          }
          case IX2_INSTANCE_STARTED2: {
            const { instanceId, time } = action.payload;
            return (0, import_timm5.mergeIn)(state, [instanceId], {
              active: true,
              complete: false,
              start: time
            });
          }
          case IX2_INSTANCE_REMOVED2: {
            const { instanceId } = action.payload;
            if (!state[instanceId]) {
              return state;
            }
            const newState = {};
            const keys = Object.keys(state);
            const { length } = keys;
            for (let i = 0; i < length; i++) {
              const key = keys[i];
              if (key !== instanceId) {
                newState[key] = state[key];
              }
            }
            return newState;
          }
          case IX2_ANIMATION_FRAME_CHANGED3: {
            let newState = state;
            const keys = Object.keys(state);
            const { length } = keys;
            for (let i = 0; i < length; i++) {
              const key = keys[i];
              const instance = state[key];
              const reducer = instance.continuous ? continuousInstance : timedInstance;
              newState = (0, import_timm5.set)(newState, key, reducer(instance, action));
            }
            return newState;
          }
          default: {
            return state;
          }
        }
      };
    }
  });

  // packages/systems/ix2/engine/reducers/IX2ParametersReducer.ts
  var IX2_RAW_DATA_IMPORTED4, IX2_SESSION_STOPPED5, IX2_PARAMETER_CHANGED2, ixParameters;
  var init_IX2ParametersReducer = __esm({
    "packages/systems/ix2/engine/reducers/IX2ParametersReducer.ts"() {
      "use strict";
      init_shared_constants();
      ({ IX2_RAW_DATA_IMPORTED: IX2_RAW_DATA_IMPORTED4, IX2_SESSION_STOPPED: IX2_SESSION_STOPPED5, IX2_PARAMETER_CHANGED: IX2_PARAMETER_CHANGED2 } = IX2EngineActionTypes_exports);
      ixParameters = (state = {
        /*mutable flat state*/
      }, action) => {
        switch (action.type) {
          case IX2_RAW_DATA_IMPORTED4: {
            return (
              // @ts-expect-error - Further investigation is needed as looks like IX2_RAW_DATA_IMPORTED is never triggered with ixParameters
              action.payload.ixParameters || {
                /*mutable flat state*/
              }
            );
          }
          case IX2_SESSION_STOPPED5: {
            return {
              /*mutable flat state*/
            };
          }
          case IX2_PARAMETER_CHANGED2: {
            const { key, value } = action.payload;
            state[key] = value;
            return state;
          }
          default: {
            return state;
          }
        }
      };
    }
  });

  // packages/systems/ix2/engine/reducers/IX2Reducer.ts
  var IX2Reducer_exports = {};
  __export(IX2Reducer_exports, {
    default: () => IX2Reducer_default
  });
  var import_redux, import_shared2, ixElements2, IX2Reducer_default;
  var init_IX2Reducer = __esm({
    "packages/systems/ix2/engine/reducers/IX2Reducer.ts"() {
      "use strict";
      import_redux = __toESM(require_lib2());
      init_IX2DataReducer();
      init_IX2RequestReducer();
      init_IX2SessionReducer();
      import_shared2 = __toESM(require_shared());
      init_IX2InstancesReducer();
      init_IX2ParametersReducer();
      ({ ixElements: ixElements2 } = import_shared2.IX2ElementsReducer);
      IX2Reducer_default = (0, import_redux.combineReducers)({
        ixData,
        ixRequest,
        ixSession,
        ixElements: ixElements2,
        ixInstances,
        ixParameters
      });
    }
  });

  // node_modules/lodash/isString.js
  var require_isString = __commonJS({
    "node_modules/lodash/isString.js"(exports, module2) {
      var baseGetTag = require_baseGetTag();
      var isArray2 = require_isArray();
      var isObjectLike2 = require_isObjectLike();
      var stringTag = "[object String]";
      function isString2(value) {
        return typeof value == "string" || !isArray2(value) && isObjectLike2(value) && baseGetTag(value) == stringTag;
      }
      module2.exports = isString2;
    }
  });

  // node_modules/lodash/_asciiSize.js
  var require_asciiSize = __commonJS({
    "node_modules/lodash/_asciiSize.js"(exports, module2) {
      var baseProperty = require_baseProperty();
      var asciiSize = baseProperty("length");
      module2.exports = asciiSize;
    }
  });

  // node_modules/lodash/_hasUnicode.js
  var require_hasUnicode = __commonJS({
    "node_modules/lodash/_hasUnicode.js"(exports, module2) {
      var rsAstralRange = "\\ud800-\\udfff";
      var rsComboMarksRange = "\\u0300-\\u036f";
      var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
      var rsComboSymbolsRange = "\\u20d0-\\u20ff";
      var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
      var rsVarRange = "\\ufe0e\\ufe0f";
      var rsZWJ = "\\u200d";
      var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]");
      function hasUnicode(string) {
        return reHasUnicode.test(string);
      }
      module2.exports = hasUnicode;
    }
  });

  // node_modules/lodash/_unicodeSize.js
  var require_unicodeSize = __commonJS({
    "node_modules/lodash/_unicodeSize.js"(exports, module2) {
      var rsAstralRange = "\\ud800-\\udfff";
      var rsComboMarksRange = "\\u0300-\\u036f";
      var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
      var rsComboSymbolsRange = "\\u20d0-\\u20ff";
      var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
      var rsVarRange = "\\ufe0e\\ufe0f";
      var rsAstral = "[" + rsAstralRange + "]";
      var rsCombo = "[" + rsComboRange + "]";
      var rsFitz = "\\ud83c[\\udffb-\\udfff]";
      var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")";
      var rsNonAstral = "[^" + rsAstralRange + "]";
      var rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}";
      var rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]";
      var rsZWJ = "\\u200d";
      var reOptMod = rsModifier + "?";
      var rsOptVar = "[" + rsVarRange + "]?";
      var rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*";
      var rsSeq = rsOptVar + reOptMod + rsOptJoin;
      var rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")";
      var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g");
      function unicodeSize(string) {
        var result2 = reUnicode.lastIndex = 0;
        while (reUnicode.test(string)) {
          ++result2;
        }
        return result2;
      }
      module2.exports = unicodeSize;
    }
  });

  // node_modules/lodash/_stringSize.js
  var require_stringSize = __commonJS({
    "node_modules/lodash/_stringSize.js"(exports, module2) {
      var asciiSize = require_asciiSize();
      var hasUnicode = require_hasUnicode();
      var unicodeSize = require_unicodeSize();
      function stringSize(string) {
        return hasUnicode(string) ? unicodeSize(string) : asciiSize(string);
      }
      module2.exports = stringSize;
    }
  });

  // node_modules/lodash/size.js
  var require_size = __commonJS({
    "node_modules/lodash/size.js"(exports, module2) {
      var baseKeys = require_baseKeys();
      var getTag = require_getTag();
      var isArrayLike = require_isArrayLike();
      var isString2 = require_isString();
      var stringSize = require_stringSize();
      var mapTag = "[object Map]";
      var setTag = "[object Set]";
      function size2(collection) {
        if (collection == null) {
          return 0;
        }
        if (isArrayLike(collection)) {
          return isString2(collection) ? stringSize(collection) : collection.length;
        }
        var tag = getTag(collection);
        if (tag == mapTag || tag == setTag) {
          return collection.size;
        }
        return baseKeys(collection).length;
      }
      module2.exports = size2;
    }
  });

  // node_modules/lodash/negate.js
  var require_negate = __commonJS({
    "node_modules/lodash/negate.js"(exports, module2) {
      var FUNC_ERROR_TEXT = "Expected a function";
      function negate(predicate) {
        if (typeof predicate != "function") {
          throw new TypeError(FUNC_ERROR_TEXT);
        }
        return function() {
          var args = arguments;
          switch (args.length) {
            case 0:
              return !predicate.call(this);
            case 1:
              return !predicate.call(this, args[0]);
            case 2:
              return !predicate.call(this, args[0], args[1]);
            case 3:
              return !predicate.call(this, args[0], args[1], args[2]);
          }
          return !predicate.apply(this, args);
        };
      }
      module2.exports = negate;
    }
  });

  // node_modules/lodash/_defineProperty.js
  var require_defineProperty = __commonJS({
    "node_modules/lodash/_defineProperty.js"(exports, module2) {
      var getNative = require_getNative();
      var defineProperty = function() {
        try {
          var func = getNative(Object, "defineProperty");
          func({}, "", {});
          return func;
        } catch (e) {
        }
      }();
      module2.exports = defineProperty;
    }
  });

  // node_modules/lodash/_baseAssignValue.js
  var require_baseAssignValue = __commonJS({
    "node_modules/lodash/_baseAssignValue.js"(exports, module2) {
      var defineProperty = require_defineProperty();
      function baseAssignValue(object, key, value) {
        if (key == "__proto__" && defineProperty) {
          defineProperty(object, key, {
            "configurable": true,
            "enumerable": true,
            "value": value,
            "writable": true
          });
        } else {
          object[key] = value;
        }
      }
      module2.exports = baseAssignValue;
    }
  });

  // node_modules/lodash/_assignValue.js
  var require_assignValue = __commonJS({
    "node_modules/lodash/_assignValue.js"(exports, module2) {
      var baseAssignValue = require_baseAssignValue();
      var eq = require_eq();
      var objectProto = Object.prototype;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      function assignValue(object, key, value) {
        var objValue = object[key];
        if (!(hasOwnProperty9.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) {
          baseAssignValue(object, key, value);
        }
      }
      module2.exports = assignValue;
    }
  });

  // node_modules/lodash/_baseSet.js
  var require_baseSet = __commonJS({
    "node_modules/lodash/_baseSet.js"(exports, module2) {
      var assignValue = require_assignValue();
      var castPath = require_castPath();
      var isIndex = require_isIndex();
      var isObject2 = require_isObject();
      var toKey = require_toKey();
      function baseSet(object, path, value, customizer) {
        if (!isObject2(object)) {
          return object;
        }
        path = castPath(path, object);
        var index = -1, length = path.length, lastIndex = length - 1, nested = object;
        while (nested != null && ++index < length) {
          var key = toKey(path[index]), newValue = value;
          if (key === "__proto__" || key === "constructor" || key === "prototype") {
            return object;
          }
          if (index != lastIndex) {
            var objValue = nested[key];
            newValue = customizer ? customizer(objValue, key, nested) : void 0;
            if (newValue === void 0) {
              newValue = isObject2(objValue) ? objValue : isIndex(path[index + 1]) ? [] : {};
            }
          }
          assignValue(nested, key, newValue);
          nested = nested[key];
        }
        return object;
      }
      module2.exports = baseSet;
    }
  });

  // node_modules/lodash/_basePickBy.js
  var require_basePickBy = __commonJS({
    "node_modules/lodash/_basePickBy.js"(exports, module2) {
      var baseGet = require_baseGet();
      var baseSet = require_baseSet();
      var castPath = require_castPath();
      function basePickBy(object, paths, predicate) {
        var index = -1, length = paths.length, result2 = {};
        while (++index < length) {
          var path = paths[index], value = baseGet(object, path);
          if (predicate(value, path)) {
            baseSet(result2, castPath(path, object), value);
          }
        }
        return result2;
      }
      module2.exports = basePickBy;
    }
  });

  // node_modules/lodash/_getSymbolsIn.js
  var require_getSymbolsIn = __commonJS({
    "node_modules/lodash/_getSymbolsIn.js"(exports, module2) {
      var arrayPush = require_arrayPush();
      var getPrototype = require_getPrototype();
      var getSymbols = require_getSymbols();
      var stubArray = require_stubArray();
      var nativeGetSymbols = Object.getOwnPropertySymbols;
      var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
        var result2 = [];
        while (object) {
          arrayPush(result2, getSymbols(object));
          object = getPrototype(object);
        }
        return result2;
      };
      module2.exports = getSymbolsIn;
    }
  });

  // node_modules/lodash/_nativeKeysIn.js
  var require_nativeKeysIn = __commonJS({
    "node_modules/lodash/_nativeKeysIn.js"(exports, module2) {
      function nativeKeysIn(object) {
        var result2 = [];
        if (object != null) {
          for (var key in Object(object)) {
            result2.push(key);
          }
        }
        return result2;
      }
      module2.exports = nativeKeysIn;
    }
  });

  // node_modules/lodash/_baseKeysIn.js
  var require_baseKeysIn = __commonJS({
    "node_modules/lodash/_baseKeysIn.js"(exports, module2) {
      var isObject2 = require_isObject();
      var isPrototype = require_isPrototype();
      var nativeKeysIn = require_nativeKeysIn();
      var objectProto = Object.prototype;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      function baseKeysIn(object) {
        if (!isObject2(object)) {
          return nativeKeysIn(object);
        }
        var isProto = isPrototype(object), result2 = [];
        for (var key in object) {
          if (!(key == "constructor" && (isProto || !hasOwnProperty9.call(object, key)))) {
            result2.push(key);
          }
        }
        return result2;
      }
      module2.exports = baseKeysIn;
    }
  });

  // node_modules/lodash/keysIn.js
  var require_keysIn = __commonJS({
    "node_modules/lodash/keysIn.js"(exports, module2) {
      var arrayLikeKeys = require_arrayLikeKeys();
      var baseKeysIn = require_baseKeysIn();
      var isArrayLike = require_isArrayLike();
      function keysIn(object) {
        return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
      }
      module2.exports = keysIn;
    }
  });

  // node_modules/lodash/_getAllKeysIn.js
  var require_getAllKeysIn = __commonJS({
    "node_modules/lodash/_getAllKeysIn.js"(exports, module2) {
      var baseGetAllKeys = require_baseGetAllKeys();
      var getSymbolsIn = require_getSymbolsIn();
      var keysIn = require_keysIn();
      function getAllKeysIn(object) {
        return baseGetAllKeys(object, keysIn, getSymbolsIn);
      }
      module2.exports = getAllKeysIn;
    }
  });

  // node_modules/lodash/pickBy.js
  var require_pickBy = __commonJS({
    "node_modules/lodash/pickBy.js"(exports, module2) {
      var arrayMap = require_arrayMap();
      var baseIteratee = require_baseIteratee();
      var basePickBy = require_basePickBy();
      var getAllKeysIn = require_getAllKeysIn();
      function pickBy(object, predicate) {
        if (object == null) {
          return {};
        }
        var props = arrayMap(getAllKeysIn(object), function(prop) {
          return [prop];
        });
        predicate = baseIteratee(predicate);
        return basePickBy(object, props, function(value, path) {
          return predicate(value, path[0]);
        });
      }
      module2.exports = pickBy;
    }
  });

  // node_modules/lodash/omitBy.js
  var require_omitBy = __commonJS({
    "node_modules/lodash/omitBy.js"(exports, module2) {
      var baseIteratee = require_baseIteratee();
      var negate = require_negate();
      var pickBy = require_pickBy();
      function omitBy2(object, predicate) {
        return pickBy(object, negate(baseIteratee(predicate)));
      }
      module2.exports = omitBy2;
    }
  });

  // node_modules/lodash/isEmpty.js
  var require_isEmpty = __commonJS({
    "node_modules/lodash/isEmpty.js"(exports, module2) {
      var baseKeys = require_baseKeys();
      var getTag = require_getTag();
      var isArguments = require_isArguments();
      var isArray2 = require_isArray();
      var isArrayLike = require_isArrayLike();
      var isBuffer = require_isBuffer();
      var isPrototype = require_isPrototype();
      var isTypedArray = require_isTypedArray();
      var mapTag = "[object Map]";
      var setTag = "[object Set]";
      var objectProto = Object.prototype;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      function isEmpty3(value) {
        if (value == null) {
          return true;
        }
        if (isArrayLike(value) && (isArray2(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer(value) || isTypedArray(value) || isArguments(value))) {
          return !value.length;
        }
        var tag = getTag(value);
        if (tag == mapTag || tag == setTag) {
          return !value.size;
        }
        if (isPrototype(value)) {
          return !baseKeys(value).length;
        }
        for (var key in value) {
          if (hasOwnProperty9.call(value, key)) {
            return false;
          }
        }
        return true;
      }
      module2.exports = isEmpty3;
    }
  });

  // node_modules/lodash/mapValues.js
  var require_mapValues = __commonJS({
    "node_modules/lodash/mapValues.js"(exports, module2) {
      var baseAssignValue = require_baseAssignValue();
      var baseForOwn = require_baseForOwn();
      var baseIteratee = require_baseIteratee();
      function mapValues2(object, iteratee) {
        var result2 = {};
        iteratee = baseIteratee(iteratee, 3);
        baseForOwn(object, function(value, key, object2) {
          baseAssignValue(result2, key, iteratee(value, key, object2));
        });
        return result2;
      }
      module2.exports = mapValues2;
    }
  });

  // node_modules/lodash/_arrayEach.js
  var require_arrayEach = __commonJS({
    "node_modules/lodash/_arrayEach.js"(exports, module2) {
      function arrayEach(array, iteratee) {
        var index = -1, length = array == null ? 0 : array.length;
        while (++index < length) {
          if (iteratee(array[index], index, array) === false) {
            break;
          }
        }
        return array;
      }
      module2.exports = arrayEach;
    }
  });

  // node_modules/lodash/_castFunction.js
  var require_castFunction = __commonJS({
    "node_modules/lodash/_castFunction.js"(exports, module2) {
      var identity3 = require_identity();
      function castFunction(value) {
        return typeof value == "function" ? value : identity3;
      }
      module2.exports = castFunction;
    }
  });

  // node_modules/lodash/forEach.js
  var require_forEach = __commonJS({
    "node_modules/lodash/forEach.js"(exports, module2) {
      var arrayEach = require_arrayEach();
      var baseEach = require_baseEach();
      var castFunction = require_castFunction();
      var isArray2 = require_isArray();
      function forEach6(collection, iteratee) {
        var func = isArray2(collection) ? arrayEach : baseEach;
        return func(collection, castFunction(iteratee));
      }
      module2.exports = forEach6;
    }
  });

  // node_modules/lodash/now.js
  var require_now = __commonJS({
    "node_modules/lodash/now.js"(exports, module2) {
      var root2 = require_root();
      var now = function() {
        return root2.Date.now();
      };
      module2.exports = now;
    }
  });

  // node_modules/lodash/debounce.js
  var require_debounce = __commonJS({
    "node_modules/lodash/debounce.js"(exports, module2) {
      var isObject2 = require_isObject();
      var now = require_now();
      var toNumber = require_toNumber();
      var FUNC_ERROR_TEXT = "Expected a function";
      var nativeMax = Math.max;
      var nativeMin = Math.min;
      function debounce2(func, wait, options) {
        var lastArgs, lastThis, maxWait, result2, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
        if (typeof func != "function") {
          throw new TypeError(FUNC_ERROR_TEXT);
        }
        wait = toNumber(wait) || 0;
        if (isObject2(options)) {
          leading = !!options.leading;
          maxing = "maxWait" in options;
          maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
          trailing = "trailing" in options ? !!options.trailing : trailing;
        }
        function invokeFunc(time) {
          var args = lastArgs, thisArg = lastThis;
          lastArgs = lastThis = void 0;
          lastInvokeTime = time;
          result2 = func.apply(thisArg, args);
          return result2;
        }
        function leadingEdge(time) {
          lastInvokeTime = time;
          timerId = setTimeout(timerExpired, wait);
          return leading ? invokeFunc(time) : result2;
        }
        function remainingWait(time) {
          var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
          return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
        }
        function shouldInvoke(time) {
          var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
          return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
        }
        function timerExpired() {
          var time = now();
          if (shouldInvoke(time)) {
            return trailingEdge(time);
          }
          timerId = setTimeout(timerExpired, remainingWait(time));
        }
        function trailingEdge(time) {
          timerId = void 0;
          if (trailing && lastArgs) {
            return invokeFunc(time);
          }
          lastArgs = lastThis = void 0;
          return result2;
        }
        function cancel() {
          if (timerId !== void 0) {
            clearTimeout(timerId);
          }
          lastInvokeTime = 0;
          lastArgs = lastCallTime = lastThis = timerId = void 0;
        }
        function flush() {
          return timerId === void 0 ? result2 : trailingEdge(now());
        }
        function debounced() {
          var time = now(), isInvoking = shouldInvoke(time);
          lastArgs = arguments;
          lastThis = this;
          lastCallTime = time;
          if (isInvoking) {
            if (timerId === void 0) {
              return leadingEdge(lastCallTime);
            }
            if (maxing) {
              clearTimeout(timerId);
              timerId = setTimeout(timerExpired, wait);
              return invokeFunc(lastCallTime);
            }
          }
          if (timerId === void 0) {
            timerId = setTimeout(timerExpired, wait);
          }
          return result2;
        }
        debounced.cancel = cancel;
        debounced.flush = flush;
        return debounced;
      }
      module2.exports = debounce2;
    }
  });

  // node_modules/lodash/throttle.js
  var require_throttle = __commonJS({
    "node_modules/lodash/throttle.js"(exports, module2) {
      var debounce2 = require_debounce();
      var isObject2 = require_isObject();
      var FUNC_ERROR_TEXT = "Expected a function";
      function throttle2(func, wait, options) {
        var leading = true, trailing = true;
        if (typeof func != "function") {
          throw new TypeError(FUNC_ERROR_TEXT);
        }
        if (isObject2(options)) {
          leading = "leading" in options ? !!options.leading : leading;
          trailing = "trailing" in options ? !!options.trailing : trailing;
        }
        return debounce2(func, wait, {
          "leading": leading,
          "maxWait": wait,
          "trailing": trailing
        });
      }
      module2.exports = throttle2;
    }
  });

  // packages/systems/ix2/engine/actions/IX2EngineActions.ts
  var IX2EngineActions_exports = {};
  __export(IX2EngineActions_exports, {
    actionListPlaybackChanged: () => actionListPlaybackChanged,
    animationFrameChanged: () => animationFrameChanged,
    clearRequested: () => clearRequested,
    elementStateChanged: () => elementStateChanged,
    eventListenerAdded: () => eventListenerAdded,
    eventStateChanged: () => eventStateChanged,
    instanceAdded: () => instanceAdded,
    instanceRemoved: () => instanceRemoved,
    instanceStarted: () => instanceStarted,
    mediaQueriesDefined: () => mediaQueriesDefined,
    parameterChanged: () => parameterChanged,
    playbackRequested: () => playbackRequested,
    previewRequested: () => previewRequested,
    rawDataImported: () => rawDataImported,
    sessionInitialized: () => sessionInitialized,
    sessionStarted: () => sessionStarted,
    sessionStopped: () => sessionStopped,
    stopRequested: () => stopRequested,
    testFrameRendered: () => testFrameRendered,
    viewportWidthChanged: () => viewportWidthChanged
  });
  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;
  var init_IX2EngineActions = __esm({
    "packages/systems/ix2/engine/actions/IX2EngineActions.ts"() {
      "use strict";
      init_shared_constants();
      import_shared3 = __toESM(require_shared());
      ({
        IX2_RAW_DATA_IMPORTED: IX2_RAW_DATA_IMPORTED5,
        IX2_SESSION_INITIALIZED: IX2_SESSION_INITIALIZED3,
        IX2_SESSION_STARTED: IX2_SESSION_STARTED3,
        IX2_SESSION_STOPPED: IX2_SESSION_STOPPED6,
        IX2_PREVIEW_REQUESTED: IX2_PREVIEW_REQUESTED3,
        IX2_PLAYBACK_REQUESTED: IX2_PLAYBACK_REQUESTED3,
        IX2_STOP_REQUESTED: IX2_STOP_REQUESTED3,
        IX2_CLEAR_REQUESTED: IX2_CLEAR_REQUESTED3,
        IX2_EVENT_LISTENER_ADDED: IX2_EVENT_LISTENER_ADDED3,
        IX2_TEST_FRAME_RENDERED: IX2_TEST_FRAME_RENDERED3,
        IX2_EVENT_STATE_CHANGED: IX2_EVENT_STATE_CHANGED3,
        IX2_ANIMATION_FRAME_CHANGED: IX2_ANIMATION_FRAME_CHANGED4,
        IX2_PARAMETER_CHANGED: IX2_PARAMETER_CHANGED3,
        IX2_INSTANCE_ADDED: IX2_INSTANCE_ADDED4,
        IX2_INSTANCE_STARTED: IX2_INSTANCE_STARTED3,
        IX2_INSTANCE_REMOVED: IX2_INSTANCE_REMOVED3,
        IX2_ELEMENT_STATE_CHANGED: IX2_ELEMENT_STATE_CHANGED3,
        IX2_ACTION_LIST_PLAYBACK_CHANGED: IX2_ACTION_LIST_PLAYBACK_CHANGED3,
        IX2_VIEWPORT_WIDTH_CHANGED: IX2_VIEWPORT_WIDTH_CHANGED3,
        IX2_MEDIA_QUERIES_DEFINED: IX2_MEDIA_QUERIES_DEFINED3
      } = IX2EngineActionTypes_exports);
      ({ reifyState: reifyState2 } = import_shared3.IX2VanillaUtils);
      rawDataImported = (rawData) => ({
        type: IX2_RAW_DATA_IMPORTED5,
        payload: {
          ...reifyState2(rawData)
        }
      });
      sessionInitialized = ({
        hasBoundaryNodes,
        reducedMotion
      }) => ({
        type: IX2_SESSION_INITIALIZED3,
        payload: {
          hasBoundaryNodes,
          reducedMotion
        }
      });
      sessionStarted = () => ({
        type: IX2_SESSION_STARTED3
      });
      sessionStopped = () => ({
        type: IX2_SESSION_STOPPED6
      });
      previewRequested = ({
        rawData,
        defer
      }) => ({
        type: IX2_PREVIEW_REQUESTED3,
        payload: {
          defer,
          rawData
        }
      });
      playbackRequested = ({
        actionTypeId = ActionTypeConsts.GENERAL_START_ACTION,
        actionListId,
        actionItemId,
        eventId,
        allowEvents,
        immediate,
        testManual,
        verbose,
        rawData
      }) => ({
        type: IX2_PLAYBACK_REQUESTED3,
        payload: {
          actionTypeId,
          actionListId,
          actionItemId,
          testManual,
          eventId,
          allowEvents,
          immediate,
          verbose,
          rawData
        }
      });
      stopRequested = (actionListId) => ({
        type: IX2_STOP_REQUESTED3,
        payload: {
          actionListId
        }
      });
      clearRequested = () => ({
        type: IX2_CLEAR_REQUESTED3
      });
      eventListenerAdded = (target, listenerParams) => ({
        type: IX2_EVENT_LISTENER_ADDED3,
        payload: {
          target,
          listenerParams
        }
      });
      testFrameRendered = (step = 1) => ({
        type: IX2_TEST_FRAME_RENDERED3,
        payload: {
          step
        }
      });
      eventStateChanged = (stateKey, newState) => ({
        type: IX2_EVENT_STATE_CHANGED3,
        payload: {
          stateKey,
          newState
        }
      });
      animationFrameChanged = (now, parameters) => ({
        type: IX2_ANIMATION_FRAME_CHANGED4,
        payload: {
          now,
          parameters
        }
      });
      parameterChanged = (key, value) => ({
        type: IX2_PARAMETER_CHANGED3,
        payload: {
          key,
          value
        }
      });
      instanceAdded = (options) => ({
        type: IX2_INSTANCE_ADDED4,
        payload: {
          ...options
        }
      });
      instanceStarted = (instanceId, time) => ({
        type: IX2_INSTANCE_STARTED3,
        payload: {
          instanceId,
          time
        }
      });
      instanceRemoved = (instanceId) => ({
        type: IX2_INSTANCE_REMOVED3,
        payload: {
          instanceId
        }
      });
      elementStateChanged = (elementId, actionTypeId, current, actionItem) => ({
        type: IX2_ELEMENT_STATE_CHANGED3,
        payload: {
          elementId,
          actionTypeId,
          current,
          actionItem
        }
      });
      actionListPlaybackChanged = ({
        actionListId,
        isPlaying
      }) => ({
        type: IX2_ACTION_LIST_PLAYBACK_CHANGED3,
        payload: {
          actionListId,
          isPlaying
        }
      });
      viewportWidthChanged = ({
        width,
        mediaQueries
      }) => ({
        type: IX2_VIEWPORT_WIDTH_CHANGED3,
        payload: {
          width,
          mediaQueries
        }
      });
      mediaQueriesDefined = () => ({
        type: IX2_MEDIA_QUERIES_DEFINED3
      });
    }
  });

  // packages/systems/ix2/engine/logic/IX2BrowserApi.ts
  var IX2BrowserApi_exports = {};
  __export(IX2BrowserApi_exports, {
    elementContains: () => elementContains,
    getChildElements: () => getChildElements,
    getClosestElement: () => getClosestElement,
    getProperty: () => getProperty,
    getQuerySelector: () => getQuerySelector,
    getRefType: () => getRefType,
    getSiblingElements: () => getSiblingElements,
    getStyle: () => getStyle,
    getValidDocument: () => getValidDocument,
    isSiblingNode: () => isSiblingNode,
    matchSelector: () => matchSelector,
    queryDocument: () => queryDocument,
    setStyle: () => setStyle
  });
  function setStyle(element, prop, value) {
    element.style[prop] = value;
  }
  function getStyle(element, prop) {
    if (prop.startsWith("--")) {
      return window.getComputedStyle(document.documentElement).getPropertyValue(prop);
    }
    return element.style[prop];
  }
  function getProperty(element, prop) {
    return element[prop];
  }
  function matchSelector(selector) {
    return (element) => element[ELEMENT_MATCHES2](selector);
  }
  function getQuerySelector({
    id,
    selector
  }) {
    if (id) {
      let nodeId = id;
      if (id.indexOf(IX2_ID_DELIMITER2) !== -1) {
        const pair = id.split(IX2_ID_DELIMITER2);
        const pageId = pair[0];
        nodeId = pair[1];
        if (pageId !== document.documentElement.getAttribute(WF_PAGE2)) {
          return null;
        }
      }
      return `[data-w-id="${nodeId}"], [data-w-id^="${nodeId}_instance"]`;
    }
    return selector;
  }
  function getValidDocument(pageId) {
    if (pageId == null || pageId === document.documentElement.getAttribute(WF_PAGE2)) {
      return document;
    }
    return null;
  }
  function queryDocument(baseSelector, descendantSelector) {
    return Array.prototype.slice.call(
      document.querySelectorAll(
        descendantSelector ? baseSelector + " " + descendantSelector : baseSelector
      )
    );
  }
  function elementContains(parent, child) {
    return parent.contains(child);
  }
  function isSiblingNode(a, b) {
    return a !== b && a.parentNode === b.parentNode;
  }
  function getChildElements(sourceElements) {
    const childElements = [];
    for (let i = 0, { length } = sourceElements || []; i < length; i++) {
      const { children } = sourceElements[i];
      const { length: childCount } = children;
      if (!childCount) {
        continue;
      }
      for (let j = 0; j < childCount; j++) {
        childElements.push(children[j]);
      }
    }
    return childElements;
  }
  function getSiblingElements(sourceElements = []) {
    const elements = [];
    const parentCache = [];
    for (let i = 0, { length } = sourceElements; i < length; i++) {
      const { parentNode } = sourceElements[i];
      if (!parentNode || !parentNode.children || !parentNode.children.length) {
        continue;
      }
      if (parentCache.indexOf(parentNode) !== -1) {
        continue;
      }
      parentCache.push(parentNode);
      let el = parentNode.firstElementChild;
      while (el != null) {
        if (sourceElements.indexOf(el) === -1) {
          elements.push(el);
        }
        el = el.nextElementSibling;
      }
    }
    return elements;
  }
  function getRefType(ref) {
    if (ref != null && typeof ref == "object") {
      return ref instanceof Element ? HTML_ELEMENT3 : PLAIN_OBJECT3;
    }
    return null;
  }
  var import_shared4, ELEMENT_MATCHES2, IX2_ID_DELIMITER2, HTML_ELEMENT3, PLAIN_OBJECT3, WF_PAGE2, getClosestElement;
  var init_IX2BrowserApi = __esm({
    "packages/systems/ix2/engine/logic/IX2BrowserApi.ts"() {
      "use strict";
      import_shared4 = __toESM(require_shared());
      init_shared_constants();
      ({ ELEMENT_MATCHES: ELEMENT_MATCHES2 } = import_shared4.IX2BrowserSupport);
      ({ IX2_ID_DELIMITER: IX2_ID_DELIMITER2, HTML_ELEMENT: HTML_ELEMENT3, PLAIN_OBJECT: PLAIN_OBJECT3, WF_PAGE: WF_PAGE2 } = IX2EngineConstants_exports);
      getClosestElement = Element.prototype.closest ? (element, selector) => {
        if (!document.documentElement.contains(element)) {
          return null;
        }
        return element.closest(selector);
      } : (element, selector) => {
        if (!document.documentElement.contains(element)) {
          return null;
        }
        let el = element;
        do {
          if (el[ELEMENT_MATCHES2] && el[ELEMENT_MATCHES2](selector)) {
            return el;
          }
          el = el.parentNode;
        } while (el != null);
        return null;
      };
    }
  });

  // node_modules/lodash/_baseCreate.js
  var require_baseCreate = __commonJS({
    "node_modules/lodash/_baseCreate.js"(exports, module2) {
      var isObject2 = require_isObject();
      var objectCreate = Object.create;
      var baseCreate = function() {
        function object() {
        }
        return function(proto) {
          if (!isObject2(proto)) {
            return {};
          }
          if (objectCreate) {
            return objectCreate(proto);
          }
          object.prototype = proto;
          var result2 = new object();
          object.prototype = void 0;
          return result2;
        };
      }();
      module2.exports = baseCreate;
    }
  });

  // node_modules/lodash/_baseLodash.js
  var require_baseLodash = __commonJS({
    "node_modules/lodash/_baseLodash.js"(exports, module2) {
      function baseLodash() {
      }
      module2.exports = baseLodash;
    }
  });

  // node_modules/lodash/_LodashWrapper.js
  var require_LodashWrapper = __commonJS({
    "node_modules/lodash/_LodashWrapper.js"(exports, module2) {
      var baseCreate = require_baseCreate();
      var baseLodash = require_baseLodash();
      function LodashWrapper(value, chainAll) {
        this.__wrapped__ = value;
        this.__actions__ = [];
        this.__chain__ = !!chainAll;
        this.__index__ = 0;
        this.__values__ = void 0;
      }
      LodashWrapper.prototype = baseCreate(baseLodash.prototype);
      LodashWrapper.prototype.constructor = LodashWrapper;
      module2.exports = LodashWrapper;
    }
  });

  // node_modules/lodash/_isFlattenable.js
  var require_isFlattenable = __commonJS({
    "node_modules/lodash/_isFlattenable.js"(exports, module2) {
      var Symbol2 = require_Symbol();
      var isArguments = require_isArguments();
      var isArray2 = require_isArray();
      var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
      function isFlattenable(value) {
        return isArray2(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
      }
      module2.exports = isFlattenable;
    }
  });

  // node_modules/lodash/_baseFlatten.js
  var require_baseFlatten = __commonJS({
    "node_modules/lodash/_baseFlatten.js"(exports, module2) {
      var arrayPush = require_arrayPush();
      var isFlattenable = require_isFlattenable();
      function baseFlatten(array, depth, predicate, isStrict, result2) {
        var index = -1, length = array.length;
        predicate || (predicate = isFlattenable);
        result2 || (result2 = []);
        while (++index < length) {
          var value = array[index];
          if (depth > 0 && predicate(value)) {
            if (depth > 1) {
              baseFlatten(value, depth - 1, predicate, isStrict, result2);
            } else {
              arrayPush(result2, value);
            }
          } else if (!isStrict) {
            result2[result2.length] = value;
          }
        }
        return result2;
      }
      module2.exports = baseFlatten;
    }
  });

  // node_modules/lodash/flatten.js
  var require_flatten = __commonJS({
    "node_modules/lodash/flatten.js"(exports, module2) {
      var baseFlatten = require_baseFlatten();
      function flatten(array) {
        var length = array == null ? 0 : array.length;
        return length ? baseFlatten(array, 1) : [];
      }
      module2.exports = flatten;
    }
  });

  // node_modules/lodash/_apply.js
  var require_apply = __commonJS({
    "node_modules/lodash/_apply.js"(exports, module2) {
      function apply(func, thisArg, args) {
        switch (args.length) {
          case 0:
            return func.call(thisArg);
          case 1:
            return func.call(thisArg, args[0]);
          case 2:
            return func.call(thisArg, args[0], args[1]);
          case 3:
            return func.call(thisArg, args[0], args[1], args[2]);
        }
        return func.apply(thisArg, args);
      }
      module2.exports = apply;
    }
  });

  // node_modules/lodash/_overRest.js
  var require_overRest = __commonJS({
    "node_modules/lodash/_overRest.js"(exports, module2) {
      var apply = require_apply();
      var nativeMax = Math.max;
      function overRest(func, start, transform2) {
        start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
        return function() {
          var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
          while (++index < length) {
            array[index] = args[start + index];
          }
          index = -1;
          var otherArgs = Array(start + 1);
          while (++index < start) {
            otherArgs[index] = args[index];
          }
          otherArgs[start] = transform2(array);
          return apply(func, this, otherArgs);
        };
      }
      module2.exports = overRest;
    }
  });

  // node_modules/lodash/constant.js
  var require_constant = __commonJS({
    "node_modules/lodash/constant.js"(exports, module2) {
      function constant2(value) {
        return function() {
          return value;
        };
      }
      module2.exports = constant2;
    }
  });

  // node_modules/lodash/_baseSetToString.js
  var require_baseSetToString = __commonJS({
    "node_modules/lodash/_baseSetToString.js"(exports, module2) {
      var constant2 = require_constant();
      var defineProperty = require_defineProperty();
      var identity3 = require_identity();
      var baseSetToString = !defineProperty ? identity3 : function(func, string) {
        return defineProperty(func, "toString", {
          "configurable": true,
          "enumerable": false,
          "value": constant2(string),
          "writable": true
        });
      };
      module2.exports = baseSetToString;
    }
  });

  // node_modules/lodash/_shortOut.js
  var require_shortOut = __commonJS({
    "node_modules/lodash/_shortOut.js"(exports, module2) {
      var HOT_COUNT = 800;
      var HOT_SPAN = 16;
      var nativeNow = Date.now;
      function shortOut(func) {
        var count = 0, lastCalled = 0;
        return function() {
          var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
          lastCalled = stamp;
          if (remaining > 0) {
            if (++count >= HOT_COUNT) {
              return arguments[0];
            }
          } else {
            count = 0;
          }
          return func.apply(void 0, arguments);
        };
      }
      module2.exports = shortOut;
    }
  });

  // node_modules/lodash/_setToString.js
  var require_setToString = __commonJS({
    "node_modules/lodash/_setToString.js"(exports, module2) {
      var baseSetToString = require_baseSetToString();
      var shortOut = require_shortOut();
      var setToString = shortOut(baseSetToString);
      module2.exports = setToString;
    }
  });

  // node_modules/lodash/_flatRest.js
  var require_flatRest = __commonJS({
    "node_modules/lodash/_flatRest.js"(exports, module2) {
      var flatten = require_flatten();
      var overRest = require_overRest();
      var setToString = require_setToString();
      function flatRest(func) {
        return setToString(overRest(func, void 0, flatten), func + "");
      }
      module2.exports = flatRest;
    }
  });

  // node_modules/lodash/_metaMap.js
  var require_metaMap = __commonJS({
    "node_modules/lodash/_metaMap.js"(exports, module2) {
      var WeakMap2 = require_WeakMap();
      var metaMap = WeakMap2 && new WeakMap2();
      module2.exports = metaMap;
    }
  });

  // node_modules/lodash/noop.js
  var require_noop = __commonJS({
    "node_modules/lodash/noop.js"(exports, module2) {
      function noop2() {
      }
      module2.exports = noop2;
    }
  });

  // node_modules/lodash/_getData.js
  var require_getData = __commonJS({
    "node_modules/lodash/_getData.js"(exports, module2) {
      var metaMap = require_metaMap();
      var noop2 = require_noop();
      var getData = !metaMap ? noop2 : function(func) {
        return metaMap.get(func);
      };
      module2.exports = getData;
    }
  });

  // node_modules/lodash/_realNames.js
  var require_realNames = __commonJS({
    "node_modules/lodash/_realNames.js"(exports, module2) {
      var realNames = {};
      module2.exports = realNames;
    }
  });

  // node_modules/lodash/_getFuncName.js
  var require_getFuncName = __commonJS({
    "node_modules/lodash/_getFuncName.js"(exports, module2) {
      var realNames = require_realNames();
      var objectProto = Object.prototype;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      function getFuncName(func) {
        var result2 = func.name + "", array = realNames[result2], length = hasOwnProperty9.call(realNames, result2) ? array.length : 0;
        while (length--) {
          var data = array[length], otherFunc = data.func;
          if (otherFunc == null || otherFunc == func) {
            return data.name;
          }
        }
        return result2;
      }
      module2.exports = getFuncName;
    }
  });

  // node_modules/lodash/_LazyWrapper.js
  var require_LazyWrapper = __commonJS({
    "node_modules/lodash/_LazyWrapper.js"(exports, module2) {
      var baseCreate = require_baseCreate();
      var baseLodash = require_baseLodash();
      var MAX_ARRAY_LENGTH2 = 4294967295;
      function LazyWrapper(value) {
        this.__wrapped__ = value;
        this.__actions__ = [];
        this.__dir__ = 1;
        this.__filtered__ = false;
        this.__iteratees__ = [];
        this.__takeCount__ = MAX_ARRAY_LENGTH2;
        this.__views__ = [];
      }
      LazyWrapper.prototype = baseCreate(baseLodash.prototype);
      LazyWrapper.prototype.constructor = LazyWrapper;
      module2.exports = LazyWrapper;
    }
  });

  // node_modules/lodash/_copyArray.js
  var require_copyArray = __commonJS({
    "node_modules/lodash/_copyArray.js"(exports, module2) {
      function copyArray(source, array) {
        var index = -1, length = source.length;
        array || (array = Array(length));
        while (++index < length) {
          array[index] = source[index];
        }
        return array;
      }
      module2.exports = copyArray;
    }
  });

  // node_modules/lodash/_wrapperClone.js
  var require_wrapperClone = __commonJS({
    "node_modules/lodash/_wrapperClone.js"(exports, module2) {
      var LazyWrapper = require_LazyWrapper();
      var LodashWrapper = require_LodashWrapper();
      var copyArray = require_copyArray();
      function wrapperClone(wrapper) {
        if (wrapper instanceof LazyWrapper) {
          return wrapper.clone();
        }
        var result2 = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);
        result2.__actions__ = copyArray(wrapper.__actions__);
        result2.__index__ = wrapper.__index__;
        result2.__values__ = wrapper.__values__;
        return result2;
      }
      module2.exports = wrapperClone;
    }
  });

  // node_modules/lodash/wrapperLodash.js
  var require_wrapperLodash = __commonJS({
    "node_modules/lodash/wrapperLodash.js"(exports, module2) {
      var LazyWrapper = require_LazyWrapper();
      var LodashWrapper = require_LodashWrapper();
      var baseLodash = require_baseLodash();
      var isArray2 = require_isArray();
      var isObjectLike2 = require_isObjectLike();
      var wrapperClone = require_wrapperClone();
      var objectProto = Object.prototype;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      function lodash(value) {
        if (isObjectLike2(value) && !isArray2(value) && !(value instanceof LazyWrapper)) {
          if (value instanceof LodashWrapper) {
            return value;
          }
          if (hasOwnProperty9.call(value, "__wrapped__")) {
            return wrapperClone(value);
          }
        }
        return new LodashWrapper(value);
      }
      lodash.prototype = baseLodash.prototype;
      lodash.prototype.constructor = lodash;
      module2.exports = lodash;
    }
  });

  // node_modules/lodash/_isLaziable.js
  var require_isLaziable = __commonJS({
    "node_modules/lodash/_isLaziable.js"(exports, module2) {
      var LazyWrapper = require_LazyWrapper();
      var getData = require_getData();
      var getFuncName = require_getFuncName();
      var lodash = require_wrapperLodash();
      function isLaziable(func) {
        var funcName = getFuncName(func), other = lodash[funcName];
        if (typeof other != "function" || !(funcName in LazyWrapper.prototype)) {
          return false;
        }
        if (func === other) {
          return true;
        }
        var data = getData(other);
        return !!data && func === data[0];
      }
      module2.exports = isLaziable;
    }
  });

  // node_modules/lodash/_createFlow.js
  var require_createFlow = __commonJS({
    "node_modules/lodash/_createFlow.js"(exports, module2) {
      var LodashWrapper = require_LodashWrapper();
      var flatRest = require_flatRest();
      var getData = require_getData();
      var getFuncName = require_getFuncName();
      var isArray2 = require_isArray();
      var isLaziable = require_isLaziable();
      var FUNC_ERROR_TEXT = "Expected a function";
      var WRAP_CURRY_FLAG = 8;
      var WRAP_PARTIAL_FLAG = 32;
      var WRAP_ARY_FLAG = 128;
      var WRAP_REARG_FLAG = 256;
      function createFlow(fromRight) {
        return flatRest(function(funcs) {
          var length = funcs.length, index = length, prereq = LodashWrapper.prototype.thru;
          if (fromRight) {
            funcs.reverse();
          }
          while (index--) {
            var func = funcs[index];
            if (typeof func != "function") {
              throw new TypeError(FUNC_ERROR_TEXT);
            }
            if (prereq && !wrapper && getFuncName(func) == "wrapper") {
              var wrapper = new LodashWrapper([], true);
            }
          }
          index = wrapper ? index : length;
          while (++index < length) {
            func = funcs[index];
            var funcName = getFuncName(func), data = funcName == "wrapper" ? getData(func) : void 0;
            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) {
              wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
            } else {
              wrapper = func.length == 1 && isLaziable(func) ? wrapper[funcName]() : wrapper.thru(func);
            }
          }
          return function() {
            var args = arguments, value = args[0];
            if (wrapper && args.length == 1 && isArray2(value)) {
              return wrapper.plant(value).value();
            }
            var index2 = 0, result2 = length ? funcs[index2].apply(this, args) : value;
            while (++index2 < length) {
              result2 = funcs[index2].call(this, result2);
            }
            return result2;
          };
        });
      }
      module2.exports = createFlow;
    }
  });

  // node_modules/lodash/flow.js
  var require_flow = __commonJS({
    "node_modules/lodash/flow.js"(exports, module2) {
      var createFlow = require_createFlow();
      var flow2 = createFlow();
      module2.exports = flow2;
    }
  });

  // node_modules/lodash/_baseClamp.js
  var require_baseClamp = __commonJS({
    "node_modules/lodash/_baseClamp.js"(exports, module2) {
      function baseClamp(number, lower, upper) {
        if (number === number) {
          if (upper !== void 0) {
            number = number <= upper ? number : upper;
          }
          if (lower !== void 0) {
            number = number >= lower ? number : lower;
          }
        }
        return number;
      }
      module2.exports = baseClamp;
    }
  });

  // node_modules/lodash/clamp.js
  var require_clamp = __commonJS({
    "node_modules/lodash/clamp.js"(exports, module2) {
      var baseClamp = require_baseClamp();
      var toNumber = require_toNumber();
      function clamp2(number, lower, upper) {
        if (upper === void 0) {
          upper = lower;
          lower = void 0;
        }
        if (upper !== void 0) {
          upper = toNumber(upper);
          upper = upper === upper ? upper : 0;
        }
        if (lower !== void 0) {
          lower = toNumber(lower);
          lower = lower === lower ? lower : 0;
        }
        return baseClamp(toNumber(number), lower, upper);
      }
      module2.exports = clamp2;
    }
  });

  // packages/systems/ix2/engine/logic/IX2VanillaEvents.ts
  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;
  var init_IX2VanillaEvents = __esm({
    "packages/systems/ix2/engine/logic/IX2VanillaEvents.ts"() {
      "use strict";
      import_flow = __toESM(require_flow());
      import_get = __toESM(require_get());
      import_clamp = __toESM(require_clamp());
      init_shared_constants();
      init_IX2VanillaEngine();
      init_IX2EngineActions();
      import_shared5 = __toESM(require_shared());
      ({
        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
      } = EventTypeConsts);
      COMPONENT_ACTIVE = "COMPONENT_ACTIVE";
      COMPONENT_INACTIVE = "COMPONENT_INACTIVE";
      ({ COLON_DELIMITER: COLON_DELIMITER3 } = IX2EngineConstants_exports);
      ({ getNamespacedParameterId: getNamespacedParameterId2 } = import_shared5.IX2VanillaUtils);
      composableFilter = (predicate) => (options) => {
        if (typeof options === "object" && predicate(options)) {
          return true;
        }
        return options;
      };
      isElement = composableFilter(({ element, nativeEvent }) => {
        return element === nativeEvent.target;
      });
      containsElement = composableFilter(({ element, nativeEvent }) => {
        return element.contains(nativeEvent.target);
      });
      isOrContainsElement = (0, import_flow.default)([isElement, containsElement]);
      getAutoStopEvent = (store, autoStopEventId) => {
        if (autoStopEventId) {
          const { ixData: ixData2 } = store.getState();
          const { events } = ixData2;
          const eventToStop = events[autoStopEventId];
          if (eventToStop && !AUTO_STOP_DISABLED_EVENTS[eventToStop.eventTypeId]) {
            return eventToStop;
          }
        }
        return null;
      };
      hasAutoStopEvent = ({ store, event }) => {
        const { action: eventAction } = event;
        const { autoStopEventId } = eventAction.config;
        return Boolean(getAutoStopEvent(store, autoStopEventId));
      };
      actionGroupCreator = ({ store, event, element, eventStateKey }, state) => {
        const { action: eventAction, id: eventId } = event;
        const { actionListId, autoStopEventId } = eventAction.config;
        const eventToStop = getAutoStopEvent(store, autoStopEventId);
        if (eventToStop) {
          stopActionGroup({
            store,
            eventId: autoStopEventId,
            eventTarget: element,
            eventStateKey: autoStopEventId + COLON_DELIMITER3 + eventStateKey.split(COLON_DELIMITER3)[1],
            actionListId: (0, import_get.default)(eventToStop, "action.config.actionListId")
          });
        }
        stopActionGroup({
          store,
          eventId,
          eventTarget: element,
          eventStateKey,
          actionListId
        });
        startActionGroup({
          store,
          eventId,
          eventTarget: element,
          eventStateKey,
          actionListId
        });
        return state;
      };
      withFilter = (filter, handler) => (options, state) => filter(options, state) === true ? handler(options, state) : state;
      baseActionGroupOptions = {
        handler: withFilter(isOrContainsElement, actionGroupCreator)
      };
      baseActivityActionGroupOptions = {
        ...baseActionGroupOptions,
        types: [COMPONENT_ACTIVE, COMPONENT_INACTIVE].join(" ")
      };
      SCROLL_EVENT_TYPES = [
        { target: window, types: "resize orientationchange", throttle: true },
        {
          target: document,
          types: "scroll wheel readystatechange IX2_PAGE_UPDATE",
          throttle: true
        }
      ];
      MOUSE_OVER_OUT_TYPES = "mouseover mouseout";
      baseScrollActionGroupOptions = {
        types: SCROLL_EVENT_TYPES
      };
      AUTO_STOP_DISABLED_EVENTS = {
        PAGE_START,
        PAGE_FINISH
      };
      getDocumentState = (() => {
        const supportOffset = window.pageXOffset !== void 0;
        const isCSS1Compat = document.compatMode === "CSS1Compat";
        const rootElement = isCSS1Compat ? document.documentElement : document.body;
        return () => ({
          scrollLeft: supportOffset ? window.pageXOffset : rootElement.scrollLeft,
          scrollTop: supportOffset ? window.pageYOffset : rootElement.scrollTop,
          // required to remove elasticity in Safari scrolling.
          stiffScrollTop: (0, import_clamp.default)(
            supportOffset ? window.pageYOffset : rootElement.scrollTop,
            0,
            rootElement.scrollHeight - window.innerHeight
          ),
          scrollWidth: rootElement.scrollWidth,
          scrollHeight: rootElement.scrollHeight,
          clientWidth: rootElement.clientWidth,
          clientHeight: rootElement.clientHeight,
          innerWidth: window.innerWidth,
          innerHeight: window.innerHeight
        });
      })();
      areBoxesIntersecting = (a, b) => !(a.left > b.right || a.right < b.left || a.top > b.bottom || a.bottom < b.top);
      isElementHovered = ({ element, nativeEvent }) => {
        const { type, target, relatedTarget } = nativeEvent;
        const containsTarget = element.contains(target);
        if (type === "mouseover" && containsTarget) {
          return true;
        }
        const containsRelated = element.contains(relatedTarget);
        if (type === "mouseout" && containsTarget && containsRelated) {
          return true;
        }
        return false;
      };
      isElementVisible = (options) => {
        const {
          element,
          event: { config }
        } = options;
        const { clientWidth, clientHeight } = getDocumentState();
        const scrollOffsetValue = config.scrollOffsetValue;
        const scrollOffsetUnit = config.scrollOffsetUnit;
        const isPX = scrollOffsetUnit === "PX";
        const offsetPadding = isPX ? scrollOffsetValue : clientHeight * (scrollOffsetValue || 0) / 100;
        return areBoxesIntersecting(element.getBoundingClientRect(), {
          left: 0,
          top: offsetPadding,
          right: clientWidth,
          bottom: clientHeight - offsetPadding
        });
      };
      whenComponentActiveChange = // @ts-expect-error - TS7006 - Parameter 'handler' implicitly has an 'any' type.
      (handler) => (options, oldState) => {
        const { type } = options.nativeEvent;
        const isActive = [COMPONENT_ACTIVE, COMPONENT_INACTIVE].indexOf(type) !== -1 ? type === COMPONENT_ACTIVE : oldState.isActive;
        const newState = {
          ...oldState,
          isActive
        };
        if (!oldState || newState.isActive !== oldState.isActive) {
          return handler(options, newState) || newState;
        }
        return newState;
      };
      whenElementHoverChange = (handler) => (options, oldState) => {
        const newState = {
          elementHovered: isElementHovered(options)
        };
        if (oldState ? newState.elementHovered !== oldState.elementHovered : newState.elementHovered) {
          return handler(options, newState) || newState;
        }
        return newState;
      };
      whenElementVisibiltyChange = (handler) => (options, oldState) => {
        const newState = {
          ...oldState,
          elementVisible: isElementVisible(options)
        };
        if (oldState ? newState.elementVisible !== oldState.elementVisible : newState.elementVisible) {
          return handler(options, newState) || newState;
        }
        return newState;
      };
      whenScrollDirectionChange = // @ts-expect-error - TS7006 - Parameter 'handler' implicitly has an 'any' type.
      (handler) => (options, oldState = {}) => {
        const {
          stiffScrollTop: scrollTop,
          scrollHeight,
          innerHeight
        } = getDocumentState();
        const {
          event: { config, eventTypeId }
        } = options;
        const { scrollOffsetValue, scrollOffsetUnit } = config;
        const isPX = scrollOffsetUnit === "PX";
        const scrollHeightBounds = scrollHeight - innerHeight;
        const percentTop = Number((scrollTop / scrollHeightBounds).toFixed(2));
        if (oldState && oldState.percentTop === percentTop) {
          return oldState;
        }
        const scrollTopPadding = (isPX ? scrollOffsetValue : innerHeight * (scrollOffsetValue || 0) / 100) / scrollHeightBounds;
        let scrollingDown;
        let scrollDirectionChanged;
        let anchorTop = 0;
        if (oldState) {
          scrollingDown = percentTop > oldState.percentTop;
          scrollDirectionChanged = oldState.scrollingDown !== scrollingDown;
          anchorTop = scrollDirectionChanged ? percentTop : oldState.anchorTop;
        }
        const inBounds = eventTypeId === PAGE_SCROLL_DOWN ? percentTop >= anchorTop + scrollTopPadding : percentTop <= anchorTop - scrollTopPadding;
        const newState = {
          ...oldState,
          percentTop,
          inBounds,
          anchorTop,
          scrollingDown
        };
        if (oldState && inBounds && // @ts-expect-error - TS2339 - Property 'inBounds' does not exist on type '{}'.
        (scrollDirectionChanged || newState.inBounds !== oldState.inBounds)) {
          return handler(options, newState) || newState;
        }
        return newState;
      };
      pointIntersects = (point, rect) => point.left > rect.left && point.left < rect.right && point.top > rect.top && point.top < rect.bottom;
      whenPageLoadFinish = (handler) => (options, oldState) => {
        const newState = {
          finished: document.readyState === "complete"
        };
        if (newState.finished && !(oldState && oldState.finshed)) {
          handler(options);
        }
        return newState;
      };
      whenPageLoadStart = (handler) => (options, oldState) => {
        const newState = {
          started: true
        };
        if (!oldState) {
          handler(options);
        }
        return newState;
      };
      whenClickCountChange = (handler) => (options, oldState = { clickCount: 0 }) => {
        const newState = {
          clickCount: oldState.clickCount % 2 + 1
        };
        if (newState.clickCount !== oldState.clickCount) {
          return handler(options, newState) || newState;
        }
        return newState;
      };
      getComponentActiveOptions = (allowNestedChildrenEvents = true) => ({
        ...baseActivityActionGroupOptions,
        handler: withFilter(
          allowNestedChildrenEvents ? isOrContainsElement : isElement,
          // @ts-expect-error - TS7006 - Parameter 'options' implicitly has an 'any' type. | TS7006 - Parameter 'state' implicitly has an 'any' type.
          whenComponentActiveChange((options, state) => {
            return state.isActive ? baseActionGroupOptions.handler(options, state) : state;
          })
        )
      });
      getComponentInactiveOptions = (allowNestedChildrenEvents = true) => ({
        ...baseActivityActionGroupOptions,
        handler: withFilter(
          allowNestedChildrenEvents ? isOrContainsElement : isElement,
          // @ts-expect-error - TS7006 - Parameter 'options' implicitly has an 'any' type. | TS7006 - Parameter 'state' implicitly has an 'any' type.
          whenComponentActiveChange((options, state) => {
            return !state.isActive ? baseActionGroupOptions.handler(options, state) : state;
          })
        )
      });
      scrollIntoOutOfViewOptions = {
        ...baseScrollActionGroupOptions,
        handler: whenElementVisibiltyChange((options, state) => {
          const { elementVisible } = state;
          const { event, store } = options;
          const { ixData: ixData2 } = store.getState();
          const { events } = ixData2;
          if (!events[event.action.config.autoStopEventId] && state.triggered) {
            return state;
          }
          if (event.eventTypeId === SCROLL_INTO_VIEW === elementVisible) {
            actionGroupCreator(options);
            return {
              ...state,
              triggered: true
            };
          } else {
            return state;
          }
        })
      };
      MOUSE_OUT_ROUND_THRESHOLD = 0.05;
      IX2VanillaEvents_default = {
        [SLIDER_ACTIVE]: getComponentActiveOptions(),
        [SLIDER_INACTIVE]: getComponentInactiveOptions(),
        [DROPDOWN_OPEN]: getComponentActiveOptions(),
        [DROPDOWN_CLOSE]: getComponentInactiveOptions(),
        // navbar elements may contain nested components in the menu. To prevent activity misfires, only listed for activity
        // events where the target is the navbar element, and ignore children that dispatch activitiy events.
        [NAVBAR_OPEN]: getComponentActiveOptions(false),
        [NAVBAR_CLOSE]: getComponentInactiveOptions(false),
        [TAB_ACTIVE]: getComponentActiveOptions(),
        [TAB_INACTIVE]: getComponentInactiveOptions(),
        [ECOMMERCE_CART_OPEN]: {
          types: "ecommerce-cart-open",
          handler: withFilter(isOrContainsElement, actionGroupCreator)
        },
        [ECOMMERCE_CART_CLOSE]: {
          types: "ecommerce-cart-close",
          handler: withFilter(isOrContainsElement, actionGroupCreator)
        },
        [MOUSE_CLICK]: {
          types: "click",
          handler: withFilter(
            isOrContainsElement,
            whenClickCountChange((options, { clickCount }) => {
              if (hasAutoStopEvent(options)) {
                clickCount === 1 && actionGroupCreator(options);
              } else {
                actionGroupCreator(options);
              }
            })
          )
        },
        [MOUSE_SECOND_CLICK]: {
          types: "click",
          handler: withFilter(
            isOrContainsElement,
            whenClickCountChange((options, { clickCount }) => {
              if (clickCount === 2) {
                actionGroupCreator(options);
              }
            })
          )
        },
        [MOUSE_DOWN]: {
          ...baseActionGroupOptions,
          types: "mousedown"
        },
        [MOUSE_UP]: {
          ...baseActionGroupOptions,
          types: "mouseup"
        },
        [MOUSE_OVER]: {
          types: MOUSE_OVER_OUT_TYPES,
          handler: withFilter(
            isOrContainsElement,
            whenElementHoverChange((options, state) => {
              if (state.elementHovered) {
                actionGroupCreator(options);
              }
            })
          )
        },
        [MOUSE_OUT]: {
          types: MOUSE_OVER_OUT_TYPES,
          handler: withFilter(
            isOrContainsElement,
            whenElementHoverChange((options, state) => {
              if (!state.elementHovered) {
                actionGroupCreator(options);
              }
            })
          )
        },
        [MOUSE_MOVE]: {
          types: "mousemove mouseout scroll",
          handler: ({ store, element, eventConfig, nativeEvent, eventStateKey }, state = { clientX: 0, clientY: 0, pageX: 0, pageY: 0 }) => {
            const {
              basedOn,
              selectedAxis,
              continuousParameterGroupId,
              reverse,
              restingState = 0
            } = eventConfig;
            const {
              clientX = state.clientX,
              clientY = state.clientY,
              pageX = state.pageX,
              pageY = state.pageY
            } = nativeEvent;
            const isXAxis = selectedAxis === "X_AXIS";
            const isMouseOut = nativeEvent.type === "mouseout";
            let value = restingState / 100;
            let namespacedParameterId = continuousParameterGroupId;
            let elementHovered = false;
            switch (basedOn) {
              case EventBasedOn.VIEWPORT: {
                value = isXAxis ? Math.min(clientX, window.innerWidth) / window.innerWidth : Math.min(clientY, window.innerHeight) / window.innerHeight;
                break;
              }
              case EventBasedOn.PAGE: {
                const { scrollLeft, scrollTop, scrollWidth, scrollHeight } = getDocumentState();
                value = isXAxis ? Math.min(scrollLeft + pageX, scrollWidth) / scrollWidth : Math.min(scrollTop + pageY, scrollHeight) / scrollHeight;
                break;
              }
              case EventBasedOn.ELEMENT:
              default: {
                namespacedParameterId = getNamespacedParameterId2(
                  eventStateKey,
                  continuousParameterGroupId
                );
                const isMouseEvent = nativeEvent.type.indexOf("mouse") === 0;
                if (isMouseEvent && isOrContainsElement({ element, nativeEvent }) !== true) {
                  break;
                }
                const rect = element.getBoundingClientRect();
                const { left, top, width, height } = rect;
                if (!isMouseEvent && !pointIntersects({ left: clientX, top: clientY }, rect)) {
                  break;
                }
                elementHovered = true;
                value = isXAxis ? (clientX - left) / width : (clientY - top) / height;
                break;
              }
            }
            if (isMouseOut && (value > 1 - MOUSE_OUT_ROUND_THRESHOLD || value < MOUSE_OUT_ROUND_THRESHOLD)) {
              value = Math.round(value);
            }
            if (basedOn !== EventBasedOn.ELEMENT || elementHovered || // eslint-disable-next-line @typescript-eslint/ban-ts-comment
            // @ts-expect-error
            elementHovered !== state.elementHovered) {
              value = reverse ? 1 - value : value;
              store.dispatch(parameterChanged(namespacedParameterId, value));
            }
            return {
              elementHovered,
              clientX,
              clientY,
              pageX,
              pageY
            };
          }
        },
        [PAGE_SCROLL]: {
          types: SCROLL_EVENT_TYPES,
          // eslint-disable-next-line @typescript-eslint/ban-ts-comment
          // @ts-expect-error
          handler: ({ store, eventConfig }) => {
            const { continuousParameterGroupId, reverse } = eventConfig;
            const { scrollTop, scrollHeight, clientHeight } = getDocumentState();
            let value = scrollTop / (scrollHeight - clientHeight);
            value = reverse ? 1 - value : value;
            store.dispatch(parameterChanged(continuousParameterGroupId, value));
          }
        },
        [SCROLLING_IN_VIEW]: {
          types: SCROLL_EVENT_TYPES,
          handler: ({ element, store, eventConfig, eventStateKey }, state = { scrollPercent: 0 }) => {
            const {
              scrollLeft,
              scrollTop,
              scrollWidth,
              scrollHeight,
              clientHeight: visibleHeight
            } = getDocumentState();
            const {
              basedOn,
              selectedAxis,
              continuousParameterGroupId,
              startsEntering,
              startsExiting,
              addEndOffset,
              addStartOffset,
              addOffsetValue = 0,
              endOffsetValue = 0
            } = eventConfig;
            const isXAxis = selectedAxis === "X_AXIS";
            if (basedOn === EventBasedOn.VIEWPORT) {
              const value = isXAxis ? scrollLeft / scrollWidth : scrollTop / scrollHeight;
              if (value !== state.scrollPercent) {
                store.dispatch(parameterChanged(continuousParameterGroupId, value));
              }
              return {
                scrollPercent: value
              };
            } else {
              const namespacedParameterId = getNamespacedParameterId2(
                eventStateKey,
                continuousParameterGroupId
              );
              const elementRect = element.getBoundingClientRect();
              let offsetStartPerc = (addStartOffset ? addOffsetValue : 0) / 100;
              let offsetEndPerc = (addEndOffset ? endOffsetValue : 0) / 100;
              offsetStartPerc = startsEntering ? offsetStartPerc : 1 - offsetStartPerc;
              offsetEndPerc = startsExiting ? offsetEndPerc : 1 - offsetEndPerc;
              const offsetElementTop = elementRect.top + Math.min(elementRect.height * offsetStartPerc, visibleHeight);
              const offsetElementBottom = elementRect.top + elementRect.height * offsetEndPerc;
              const offsetHeight = offsetElementBottom - offsetElementTop;
              const fixedScrollHeight = Math.min(
                visibleHeight + offsetHeight,
                scrollHeight
              );
              const fixedScrollTop = Math.min(
                Math.max(0, visibleHeight - offsetElementTop),
                fixedScrollHeight
              );
              const fixedScrollPerc = fixedScrollTop / fixedScrollHeight;
              if (fixedScrollPerc !== state.scrollPercent) {
                store.dispatch(
                  parameterChanged(namespacedParameterId, fixedScrollPerc)
                );
              }
              return {
                scrollPercent: fixedScrollPerc
              };
            }
          }
        },
        [SCROLL_INTO_VIEW]: scrollIntoOutOfViewOptions,
        [SCROLL_OUT_OF_VIEW]: scrollIntoOutOfViewOptions,
        [PAGE_SCROLL_DOWN]: {
          ...baseScrollActionGroupOptions,
          // @ts-expect-error - TS7006 - Parameter 'options' implicitly has an 'any' type. | TS7006 - Parameter 'state' implicitly has an 'any' type.
          handler: whenScrollDirectionChange((options, state) => {
            if (state.scrollingDown) {
              actionGroupCreator(options);
            }
          })
        },
        [PAGE_SCROLL_UP]: {
          ...baseScrollActionGroupOptions,
          // @ts-expect-error - TS7006 - Parameter 'options' implicitly has an 'any' type. | TS7006 - Parameter 'state' implicitly has an 'any' type.
          handler: whenScrollDirectionChange((options, state) => {
            if (!state.scrollingDown) {
              actionGroupCreator(options);
            }
          })
        },
        [PAGE_FINISH]: {
          types: "readystatechange IX2_PAGE_UPDATE",
          handler: withFilter(isElement, whenPageLoadFinish(actionGroupCreator))
        },
        [PAGE_START]: {
          types: "readystatechange IX2_PAGE_UPDATE",
          handler: withFilter(isElement, whenPageLoadStart(actionGroupCreator))
        }
      };
    }
  });

  // packages/systems/ix2/engine/logic/IX2VanillaEngine.ts
  var IX2VanillaEngine_exports = {};
  __export(IX2VanillaEngine_exports, {
    observeRequests: () => observeRequests,
    startActionGroup: () => startActionGroup,
    startEngine: () => startEngine,
    stopActionGroup: () => stopActionGroup,
    stopAllActionGroups: () => stopAllActionGroups,
    stopEngine: () => stopEngine
  });
  function observeRequests(store) {
    observeStore2({
      store,
      select: ({
        ixRequest: ixRequest2
      }) => ixRequest2.preview,
      onChange: handlePreviewRequest
    });
    observeStore2({
      store,
      select: ({
        ixRequest: ixRequest2
      }) => ixRequest2.playback,
      onChange: handlePlaybackRequest
    });
    observeStore2({
      store,
      select: ({
        ixRequest: ixRequest2
      }) => ixRequest2.stop,
      onChange: handleStopRequest
    });
    observeStore2({
      store,
      select: ({
        ixRequest: ixRequest2
      }) => ixRequest2.clear,
      onChange: handleClearRequest
    });
  }
  function observeMediaQueryChange(store) {
    observeStore2({
      store,
      select: ({
        ixSession: ixSession2
      }) => ixSession2.mediaQueryKey,
      onChange: () => {
        stopEngine(store);
        clearAllStyles2({ store, elementApi: IX2BrowserApi_exports });
        startEngine({ store, allowEvents: true });
        dispatchPageUpdateEvent();
      }
    });
  }
  function observeOneRenderTick(store, onTick) {
    const unsubscribe = observeStore2({
      store,
      select: ({
        ixSession: ixSession2
      }) => ixSession2.tick,
      // @ts-expect-error - TS7006 - Parameter 'tick' implicitly has an 'any' type.
      onChange: (tick) => {
        onTick(tick);
        unsubscribe();
      }
    });
  }
  function handlePreviewRequest({ rawData, defer }, store) {
    const start = () => {
      startEngine({ store, rawData, allowEvents: true });
      dispatchPageUpdateEvent();
    };
    defer ? setTimeout(start, 0) : start();
  }
  function dispatchPageUpdateEvent() {
    document.dispatchEvent(new CustomEvent("IX2_PAGE_UPDATE"));
  }
  function handlePlaybackRequest(playback, store) {
    const {
      actionTypeId,
      actionListId,
      actionItemId,
      eventId,
      allowEvents,
      immediate,
      testManual,
      verbose = true
    } = playback;
    let { rawData } = playback;
    if (actionListId && actionItemId && rawData && immediate) {
      const actionList = rawData.actionLists[actionListId];
      if (actionList) {
        rawData = reduceListToGroup2({
          actionList,
          actionItemId,
          rawData
        });
      }
    }
    startEngine({ store, rawData, allowEvents, testManual });
    if (actionListId && actionTypeId === ActionTypeConsts.GENERAL_START_ACTION || isQuickEffect(actionTypeId)) {
      stopActionGroup({ store, actionListId });
      renderInitialGroup({ store, actionListId, eventId });
      const started = startActionGroup({
        store,
        eventId,
        actionListId,
        immediate,
        verbose
      });
      if (verbose && started) {
        store.dispatch(
          actionListPlaybackChanged({ actionListId, isPlaying: !immediate })
        );
      }
    }
  }
  function handleStopRequest({ actionListId }, store) {
    if (actionListId) {
      stopActionGroup({ store, actionListId });
    } else {
      stopAllActionGroups({ store });
    }
    stopEngine(store);
  }
  function handleClearRequest(state, store) {
    stopEngine(store);
    clearAllStyles2({ store, elementApi: IX2BrowserApi_exports });
  }
  function startEngine({
    store,
    rawData,
    allowEvents,
    testManual
  }) {
    const { ixSession: ixSession2 } = store.getState();
    if (rawData) {
      store.dispatch(rawDataImported(rawData));
    }
    if (!ixSession2.active) {
      store.dispatch(
        sessionInitialized({
          hasBoundaryNodes: Boolean(document.querySelector(BOUNDARY_SELECTOR2)),
          reducedMotion: document.body.hasAttribute("data-wf-ix-vacation") && window.matchMedia("(prefers-reduced-motion)").matches
        })
      );
      if (allowEvents) {
        bindEvents(store);
        addDocumentClass();
        if (store.getState().ixSession.hasDefinedMediaQueries) {
          observeMediaQueryChange(store);
        }
      }
      store.dispatch(sessionStarted());
      startRenderLoop(store, testManual);
    }
  }
  function addDocumentClass() {
    const { documentElement } = document;
    if (documentElement.className.indexOf(W_MOD_IX2) === -1) {
      documentElement.className += ` ${W_MOD_IX2}`;
    }
  }
  function startRenderLoop(store, testManual) {
    const handleFrame = (now) => {
      const { ixSession: ixSession2, ixParameters: ixParameters2 } = store.getState();
      if (ixSession2.active) {
        store.dispatch(animationFrameChanged(now, ixParameters2));
        if (testManual) {
          observeOneRenderTick(store, handleFrame);
        } else {
          requestAnimationFrame(handleFrame);
        }
      }
    };
    handleFrame(window.performance.now());
  }
  function stopEngine(store) {
    const { ixSession: ixSession2 } = store.getState();
    if (ixSession2.active) {
      const { eventListeners } = ixSession2;
      eventListeners.forEach(clearEventListener);
      clearObjectCache2();
      store.dispatch(sessionStopped());
    }
  }
  function clearEventListener({ target, listenerParams }) {
    target.removeEventListener.apply(target, listenerParams);
  }
  function createGroupInstances({
    // @ts-expect-error - TS7031 - Binding element 'store' implicitly has an 'any' type.
    store,
    // @ts-expect-error - TS7031 - Binding element 'eventStateKey' implicitly has an 'any' type.
    eventStateKey,
    // @ts-expect-error - TS7031 - Binding element 'eventTarget' implicitly has an 'any' type.
    eventTarget,
    // @ts-expect-error - TS7031 - Binding element 'eventId' implicitly has an 'any' type.
    eventId,
    // @ts-expect-error - TS7031 - Binding element 'eventConfig' implicitly has an 'any' type.
    eventConfig,
    // @ts-expect-error - TS7031 - Binding element 'actionListId' implicitly has an 'any' type.
    actionListId,
    // @ts-expect-error - TS7031 - Binding element 'parameterGroup' implicitly has an 'any' type.
    parameterGroup,
    // @ts-expect-error - TS7031 - Binding element 'smoothing' implicitly has an 'any' type.
    smoothing,
    // @ts-expect-error - TS7031 - Binding element 'restingValue' implicitly has an 'any' type.
    restingValue
  }) {
    const { ixData: ixData2, ixSession: ixSession2 } = store.getState();
    const { events } = ixData2;
    const event = events[eventId];
    const { eventTypeId } = event;
    const targetCache = {};
    const instanceActionGroups = {};
    const instanceConfigs = [];
    const { continuousActionGroups } = parameterGroup;
    let { id: parameterId } = parameterGroup;
    if (shouldNamespaceEventParameter2(eventTypeId, eventConfig)) {
      parameterId = getNamespacedParameterId3(eventStateKey, parameterId);
    }
    const eventElementRoot = ixSession2.hasBoundaryNodes && eventTarget ? getClosestElement(eventTarget, BOUNDARY_SELECTOR2) : null;
    continuousActionGroups.forEach((actionGroup) => {
      const { keyframe, actionItems } = actionGroup;
      actionItems.forEach((actionItem) => {
        const { actionTypeId } = actionItem;
        const { target } = actionItem.config;
        if (!target) {
          return;
        }
        const elementRoot = target.boundaryMode ? eventElementRoot : null;
        const key = stringifyTarget2(target) + COLON_DELIMITER4 + actionTypeId;
        instanceActionGroups[key] = appendActionItem(
          instanceActionGroups[key],
          keyframe,
          actionItem
        );
        if (!targetCache[key]) {
          targetCache[key] = true;
          const { config } = actionItem;
          getAffectedElements2({
            config,
            event,
            eventTarget,
            elementRoot,
            elementApi: IX2BrowserApi_exports
          }).forEach((element) => {
            instanceConfigs.push({ element, key });
          });
        }
      });
    });
    instanceConfigs.forEach(({ element, key }) => {
      const actionGroups = instanceActionGroups[key];
      const actionItem = (0, import_get2.default)(actionGroups, `[0].actionItems[0]`, {});
      const { actionTypeId } = actionItem;
      const pluginInstance = isPluginType2(actionTypeId) ? createPluginInstance2(actionTypeId)(element, actionItem) : null;
      const destination = getDestinationValues2(
        { element, actionItem, elementApi: IX2BrowserApi_exports },
        // eslint-disable-next-line @typescript-eslint/ban-ts-comment
        // @ts-expect-error
        pluginInstance
      );
      createInstance({
        store,
        element,
        eventId,
        actionListId,
        actionItem,
        destination,
        continuous: true,
        parameterId,
        actionGroups,
        smoothing,
        restingValue,
        pluginInstance
      });
    });
  }
  function appendActionItem(actionGroups = [], keyframe, actionItem) {
    const newActionGroups = [...actionGroups];
    let groupIndex;
    newActionGroups.some((group, index) => {
      if (group.keyframe === keyframe) {
        groupIndex = index;
        return true;
      }
      return false;
    });
    if (groupIndex == null) {
      groupIndex = newActionGroups.length;
      newActionGroups.push({
        keyframe,
        actionItems: []
      });
    }
    newActionGroups[groupIndex].actionItems.push(actionItem);
    return newActionGroups;
  }
  function bindEvents(store) {
    const { ixData: ixData2 } = store.getState();
    const { eventTypeMap } = ixData2;
    updateViewportWidth(store);
    (0, import_forEach.default)(eventTypeMap, (events, key) => {
      const logic = IX2VanillaEvents_default[key];
      if (!logic) {
        console.warn(`IX2 event type not configured: ${key}`);
        return;
      }
      bindEventType({
        // @ts-expect-error - TS7031 - Binding element 'logic' implicitly has an 'any' type.
        logic,
        store,
        events
      });
    });
    const { ixSession: ixSession2 } = store.getState();
    if (ixSession2.eventListeners.length) {
      bindResizeEvents(store);
    }
  }
  function bindResizeEvents(store) {
    const handleResize = () => {
      updateViewportWidth(store);
    };
    WINDOW_RESIZE_EVENTS.forEach((type) => {
      window.addEventListener(type, handleResize);
      store.dispatch(eventListenerAdded(window, [type, handleResize]));
    });
    handleResize();
  }
  function updateViewportWidth(store) {
    const { ixSession: ixSession2, ixData: ixData2 } = store.getState();
    const width = window.innerWidth;
    if (width !== ixSession2.viewportWidth) {
      const { mediaQueries } = ixData2;
      store.dispatch(viewportWidthChanged({ width, mediaQueries }));
    }
  }
  function bindEventType({ logic, store, events }) {
    injectBehaviorCSSFixes(events);
    const { types: eventTypes, handler: eventHandler } = logic;
    const { ixData: ixData2 } = store.getState();
    const { actionLists } = ixData2;
    const eventTargets = mapFoundValues(events, getAffectedForEvent);
    if (!(0, import_size.default)(eventTargets)) {
      return;
    }
    (0, import_forEach.default)(eventTargets, (elements, key) => {
      const event = events[key];
      const {
        action: eventAction,
        id: eventId,
        mediaQueries = ixData2.mediaQueryKeys
      } = event;
      const { actionListId } = eventAction.config;
      if (!mediaQueriesEqual2(mediaQueries, ixData2.mediaQueryKeys)) {
        store.dispatch(mediaQueriesDefined());
      }
      if (eventAction.actionTypeId === ActionTypeConsts.GENERAL_CONTINUOUS_ACTION) {
        const configs = Array.isArray(event.config) ? event.config : [event.config];
        configs.forEach((eventConfig) => {
          const { continuousParameterGroupId } = eventConfig;
          const paramGroups = (0, import_get2.default)(
            actionLists,
            `${actionListId}.continuousParameterGroups`,
            []
          );
          const parameterGroup = (0, import_find2.default)(
            paramGroups,
            ({ id }) => id === continuousParameterGroupId
          );
          const smoothing = (eventConfig.smoothing || 0) / 100;
          const restingValue = (eventConfig.restingState || 0) / 100;
          if (!parameterGroup) {
            return;
          }
          elements.forEach((eventTarget, index) => {
            const eventStateKey = eventId + COLON_DELIMITER4 + index;
            createGroupInstances({
              store,
              eventStateKey,
              eventTarget,
              eventId,
              eventConfig,
              actionListId,
              parameterGroup,
              smoothing,
              restingValue
            });
          });
        });
      }
      if (eventAction.actionTypeId === ActionTypeConsts.GENERAL_START_ACTION || isQuickEffect(eventAction.actionTypeId)) {
        renderInitialGroup({ store, actionListId, eventId });
      }
    });
    const handleEvent = (nativeEvent) => {
      const { ixSession: ixSession2 } = store.getState();
      forEachEventTarget(eventTargets, (element, eventId, eventStateKey) => {
        const event = events[eventId];
        const oldState = ixSession2.eventState[eventStateKey];
        const { action: eventAction, mediaQueries = ixData2.mediaQueryKeys } = event;
        if (!shouldAllowMediaQuery2(mediaQueries, ixSession2.mediaQueryKey)) {
          return;
        }
        const handleEventWithConfig = (eventConfig = {}) => {
          const newState = eventHandler(
            {
              store,
              element,
              event,
              eventConfig,
              nativeEvent,
              eventStateKey
            },
            oldState
          );
          if (!shallowEqual2(newState, oldState)) {
            store.dispatch(eventStateChanged(eventStateKey, newState));
          }
        };
        if (eventAction.actionTypeId === ActionTypeConsts.GENERAL_CONTINUOUS_ACTION) {
          const configs = Array.isArray(event.config) ? event.config : [event.config];
          configs.forEach(handleEventWithConfig);
        } else {
          handleEventWithConfig();
        }
      });
    };
    const handleEventThrottled = (0, import_throttle.default)(handleEvent, THROTTLED_EVENT_WAIT);
    const addListeners = ({
      target = document,
      // @ts-expect-error - TS7031 - Binding element 'types' implicitly has an 'any' type.
      types,
      // @ts-expect-error - TS7031 - Binding element 'shouldThrottle' implicitly has an 'any' type.
      throttle: shouldThrottle
    }) => {
      types.split(" ").filter(Boolean).forEach((type) => {
        const handlerFunc = shouldThrottle ? handleEventThrottled : handleEvent;
        target.addEventListener(type, handlerFunc);
        store.dispatch(eventListenerAdded(target, [type, handlerFunc]));
      });
    };
    if (Array.isArray(eventTypes)) {
      eventTypes.forEach(addListeners);
    } else if (typeof eventTypes === "string") {
      addListeners(logic);
    }
  }
  function injectBehaviorCSSFixes(events) {
    if (!IS_MOBILE_SAFARI) {
      return;
    }
    const injectedSelectors = {};
    let cssText = "";
    for (const eventId in events) {
      const { eventTypeId, target } = events[eventId];
      const selector = getQuerySelector(target);
      if (injectedSelectors[selector]) {
        continue;
      }
      if (eventTypeId === EventTypeConsts.MOUSE_CLICK || eventTypeId === EventTypeConsts.MOUSE_SECOND_CLICK) {
        injectedSelectors[selector] = true;
        cssText += selector + "{cursor: pointer;touch-action: manipulation;}";
      }
    }
    if (cssText) {
      const style2 = document.createElement("style");
      style2.textContent = cssText;
      document.body.appendChild(style2);
    }
  }
  function renderInitialGroup({
    store,
    actionListId,
    eventId
  }) {
    const { ixData: ixData2, ixSession: ixSession2 } = store.getState();
    const { actionLists, events } = ixData2;
    const event = events[eventId];
    const actionList = actionLists[actionListId];
    if (actionList && actionList.useFirstGroupAsInitialState) {
      const initialStateItems = (0, import_get2.default)(
        actionList,
        "actionItemGroups[0].actionItems",
        []
      );
      const mediaQueries = (0, import_get2.default)(event, "mediaQueries", ixData2.mediaQueryKeys);
      if (!shouldAllowMediaQuery2(mediaQueries, ixSession2.mediaQueryKey)) {
        return;
      }
      initialStateItems.forEach((actionItem) => {
        const { config: itemConfig, actionTypeId } = actionItem;
        const config = (
          // When useEventTarget is explicitly true, use event target/targets to query elements
          // However, skip this condition when objectId is defined
          // @ts-expect-error - Property 'target' does not exist on type 'never'.
          itemConfig?.target?.useEventTarget === true && // @ts-expect-error - Property 'target' does not exist on type 'never'.
          itemConfig?.target?.objectId == null ? (
            // @ts-expect-error - TS18048 - 'event' is possibly 'undefined'.
            { target: event.target, targets: event.targets }
          ) : itemConfig
        );
        const itemElements = getAffectedElements2({ config, event, elementApi: IX2BrowserApi_exports });
        const shouldUsePlugin = isPluginType2(actionTypeId);
        itemElements.forEach((element) => {
          const pluginInstance = shouldUsePlugin ? createPluginInstance2(actionTypeId)(element, actionItem) : null;
          createInstance({
            destination: getDestinationValues2(
              { element, actionItem, elementApi: IX2BrowserApi_exports },
              // eslint-disable-next-line @typescript-eslint/ban-ts-comment
              // @ts-expect-error
              pluginInstance
            ),
            immediate: true,
            store,
            element,
            eventId,
            actionItem,
            actionListId,
            pluginInstance
          });
        });
      });
    }
  }
  function stopAllActionGroups({ store }) {
    const { ixInstances: ixInstances2 } = store.getState();
    (0, import_forEach.default)(ixInstances2, (instance) => {
      if (!instance.continuous) {
        const { actionListId, verbose } = instance;
        removeInstance(instance, store);
        if (verbose) {
          store.dispatch(
            actionListPlaybackChanged({ actionListId, isPlaying: false })
          );
        }
      }
    });
  }
  function stopActionGroup({
    // @ts-expect-error - TS7031 - Binding element 'store' implicitly has an 'any' type.
    store,
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-expect-error
    eventId,
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-expect-error
    eventTarget,
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-expect-error
    eventStateKey,
    // @ts-expect-error - TS7031 - Binding element 'actionListId' implicitly has an 'any' type.
    actionListId
  }) {
    const { ixInstances: ixInstances2, ixSession: ixSession2 } = store.getState();
    const eventElementRoot = ixSession2.hasBoundaryNodes && eventTarget ? getClosestElement(eventTarget, BOUNDARY_SELECTOR2) : null;
    (0, import_forEach.default)(ixInstances2, (instance) => {
      const boundaryMode = (0, import_get2.default)(instance, "actionItem.config.target.boundaryMode");
      const validEventKey = eventStateKey ? instance.eventStateKey === eventStateKey : true;
      if (instance.actionListId === actionListId && instance.eventId === eventId && validEventKey) {
        if (eventElementRoot && boundaryMode && !elementContains(eventElementRoot, instance.element)) {
          return;
        }
        removeInstance(instance, store);
        if (instance.verbose) {
          store.dispatch(
            actionListPlaybackChanged({ actionListId, isPlaying: false })
          );
        }
      }
    });
  }
  function startActionGroup({
    // @ts-expect-error - TS7031 - Binding element 'store' implicitly has an 'any' type.
    store,
    // @ts-expect-error - TS7031 - Binding element 'eventId' implicitly has an 'any' type.
    eventId,
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-expect-error
    eventTarget,
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-expect-error
    eventStateKey,
    // @ts-expect-error - TS7031 - Binding element 'actionListId' implicitly has an 'any' type.
    actionListId,
    groupIndex = 0,
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-expect-error
    immediate,
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-expect-error
    verbose
  }) {
    const { ixData: ixData2, ixSession: ixSession2 } = store.getState();
    const { events } = ixData2;
    const event = events[eventId] || {};
    const { mediaQueries = ixData2.mediaQueryKeys } = event;
    const actionList = (0, import_get2.default)(ixData2, `actionLists.${actionListId}`, {});
    const { actionItemGroups, useFirstGroupAsInitialState } = actionList;
    if (!actionItemGroups || !actionItemGroups.length) {
      return false;
    }
    if (groupIndex >= actionItemGroups.length && (0, import_get2.default)(event, "config.loop")) {
      groupIndex = 0;
    }
    if (groupIndex === 0 && useFirstGroupAsInitialState) {
      groupIndex++;
    }
    const isFirstGroup = groupIndex === 0 || groupIndex === 1 && useFirstGroupAsInitialState;
    const instanceDelay = isFirstGroup && isQuickEffect(event.action?.actionTypeId) ? event.config.delay : void 0;
    const actionItems = (0, import_get2.default)(actionItemGroups, [groupIndex, "actionItems"], []);
    if (!actionItems.length) {
      return false;
    }
    if (!shouldAllowMediaQuery2(mediaQueries, ixSession2.mediaQueryKey)) {
      return false;
    }
    const eventElementRoot = ixSession2.hasBoundaryNodes && eventTarget ? getClosestElement(eventTarget, BOUNDARY_SELECTOR2) : null;
    const carrierIndex = getMaxDurationItemIndex2(actionItems);
    let groupStartResult = false;
    actionItems.forEach((actionItem, actionIndex) => {
      const { config, actionTypeId } = actionItem;
      const shouldUsePlugin = isPluginType2(actionTypeId);
      const { target } = config;
      if (!target) {
        return;
      }
      const elementRoot = target.boundaryMode ? eventElementRoot : null;
      const elements = getAffectedElements2({
        config,
        event,
        eventTarget,
        elementRoot,
        elementApi: IX2BrowserApi_exports
      });
      elements.forEach((element, elementIndex) => {
        const pluginInstance = shouldUsePlugin ? createPluginInstance2(actionTypeId)(element, actionItem) : null;
        const pluginDuration = shouldUsePlugin ? getPluginDuration2(actionTypeId)(element, actionItem) : null;
        groupStartResult = true;
        const isCarrier = carrierIndex === actionIndex && elementIndex === 0;
        const computedStyle = getComputedStyle3({ element, actionItem });
        const destination = getDestinationValues2(
          { element, actionItem, elementApi: IX2BrowserApi_exports },
          // eslint-disable-next-line @typescript-eslint/ban-ts-comment
          // @ts-expect-error
          pluginInstance
        );
        createInstance({
          store,
          element,
          actionItem,
          eventId,
          eventTarget,
          eventStateKey,
          actionListId,
          groupIndex,
          isCarrier,
          computedStyle,
          destination,
          immediate,
          verbose,
          pluginInstance,
          pluginDuration,
          instanceDelay
        });
      });
    });
    return groupStartResult;
  }
  function createInstance(options) {
    const { store, computedStyle, ...rest } = options;
    const {
      element,
      actionItem,
      immediate,
      pluginInstance,
      continuous,
      restingValue,
      eventId
    } = rest;
    const autoStart = !continuous;
    const instanceId = getInstanceId2();
    const { ixElements: ixElements3, ixSession: ixSession2, ixData: ixData2 } = store.getState();
    const elementId = getElementId2(ixElements3, element);
    const { refState: refState2 } = ixElements3[elementId] || {};
    const refType = getRefType(element);
    const skipMotion = (
      // @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; }'.
      ixSession2.reducedMotion && ReducedMotionTypes[actionItem.actionTypeId]
    );
    let skipToValue;
    if (skipMotion && continuous) {
      switch (ixData2.events[eventId]?.eventTypeId) {
        case EventTypeConsts.MOUSE_MOVE:
        case EventTypeConsts.MOUSE_MOVE_IN_VIEWPORT:
          skipToValue = restingValue;
          break;
        default:
          skipToValue = 0.5;
          break;
      }
    }
    const origin = getInstanceOrigin2(
      element,
      refState2,
      computedStyle,
      actionItem,
      IX2BrowserApi_exports,
      // eslint-disable-next-line @typescript-eslint/ban-ts-comment
      // @ts-expect-error
      pluginInstance
    );
    store.dispatch(
      instanceAdded({
        instanceId,
        elementId,
        origin,
        refType,
        skipMotion,
        skipToValue,
        ...rest
      })
    );
    dispatchCustomEvent(document.body, "ix2-animation-started", instanceId);
    if (immediate) {
      renderImmediateInstance(store, instanceId);
      return;
    }
    observeStore2({
      store,
      // @ts-expect-error - TS7031 - Binding element 'ixInstances' implicitly has an 'any' type.
      select: ({ ixInstances: ixInstances2 }) => ixInstances2[instanceId],
      onChange: handleInstanceChange
    });
    if (autoStart) {
      store.dispatch(instanceStarted(instanceId, ixSession2.tick));
    }
  }
  function removeInstance(instance, store) {
    dispatchCustomEvent(document.body, "ix2-animation-stopping", {
      instanceId: instance.id,
      state: store.getState()
    });
    const { elementId, actionItem } = instance;
    const { ixElements: ixElements3 } = store.getState();
    const { ref, refType } = ixElements3[elementId] || {};
    if (refType === HTML_ELEMENT4) {
      cleanupHTMLElement2(ref, actionItem, IX2BrowserApi_exports);
    }
    store.dispatch(instanceRemoved(instance.id));
  }
  function dispatchCustomEvent(element, eventName, detail) {
    const event = document.createEvent("CustomEvent");
    event.initCustomEvent(eventName, true, true, detail);
    element.dispatchEvent(event);
  }
  function renderImmediateInstance(store, instanceId) {
    const { ixParameters: ixParameters2 } = store.getState();
    store.dispatch(instanceStarted(instanceId, 0));
    store.dispatch(animationFrameChanged(performance.now(), ixParameters2));
    const { ixInstances: ixInstances2 } = store.getState();
    handleInstanceChange(ixInstances2[instanceId], store);
  }
  function handleInstanceChange(instance, store) {
    const {
      active,
      continuous,
      complete,
      elementId,
      actionItem,
      actionTypeId,
      renderType,
      current,
      groupIndex,
      eventId,
      eventTarget,
      eventStateKey,
      actionListId,
      isCarrier,
      styleProp,
      verbose,
      pluginInstance
    } = instance;
    const { ixData: ixData2, ixSession: ixSession2 } = store.getState();
    const { events } = ixData2;
    const event = events && events[eventId] ? events[eventId] : {};
    const { mediaQueries = ixData2.mediaQueryKeys } = event;
    if (!shouldAllowMediaQuery2(mediaQueries, ixSession2.mediaQueryKey)) {
      return;
    }
    if (continuous || active || complete) {
      if (current || renderType === RENDER_GENERAL4 && complete) {
        store.dispatch(
          elementStateChanged(elementId, actionTypeId, current, actionItem)
        );
        const { ixElements: ixElements3 } = store.getState();
        const { ref, refType, refState: refState2 } = ixElements3[elementId] || {};
        const actionState = refState2 && refState2[actionTypeId];
        if (refType === HTML_ELEMENT4 || isPluginType2(actionTypeId)) {
          renderHTMLElement2(
            ref,
            refState2,
            actionState,
            eventId,
            actionItem,
            styleProp,
            IX2BrowserApi_exports,
            renderType,
            pluginInstance
          );
        }
      }
      if (complete) {
        if (isCarrier) {
          const started = startActionGroup({
            store,
            eventId,
            eventTarget,
            eventStateKey,
            actionListId,
            groupIndex: groupIndex + 1,
            verbose
          });
          if (verbose && !started) {
            store.dispatch(
              actionListPlaybackChanged({ actionListId, isPlaying: false })
            );
          }
        }
        removeInstance(instance, store);
      }
    }
  }
  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;
  var init_IX2VanillaEngine = __esm({
    "packages/systems/ix2/engine/logic/IX2VanillaEngine.ts"() {
      "use strict";
      import_find2 = __toESM(require_find());
      import_get2 = __toESM(require_get());
      import_size = __toESM(require_size());
      import_omitBy = __toESM(require_omitBy());
      import_isEmpty = __toESM(require_isEmpty());
      import_mapValues = __toESM(require_mapValues());
      import_forEach = __toESM(require_forEach());
      import_throttle = __toESM(require_throttle());
      init_shared_constants();
      import_shared6 = __toESM(require_shared());
      init_IX2EngineActions();
      init_IX2BrowserApi();
      init_IX2VanillaEvents();
      QuickEffectsIdList = Object.keys(QuickEffectIds);
      isQuickEffect = (actionTypeId) => QuickEffectsIdList.includes(actionTypeId);
      ({
        COLON_DELIMITER: COLON_DELIMITER4,
        BOUNDARY_SELECTOR: BOUNDARY_SELECTOR2,
        HTML_ELEMENT: HTML_ELEMENT4,
        RENDER_GENERAL: RENDER_GENERAL4,
        W_MOD_IX: W_MOD_IX2
      } = IX2EngineConstants_exports);
      ({
        getAffectedElements: getAffectedElements2,
        getElementId: getElementId2,
        getDestinationValues: getDestinationValues2,
        observeStore: observeStore2,
        getInstanceId: getInstanceId2,
        renderHTMLElement: renderHTMLElement2,
        clearAllStyles: clearAllStyles2,
        getMaxDurationItemIndex: getMaxDurationItemIndex2,
        getComputedStyle: getComputedStyle3,
        getInstanceOrigin: getInstanceOrigin2,
        reduceListToGroup: reduceListToGroup2,
        shouldNamespaceEventParameter: shouldNamespaceEventParameter2,
        getNamespacedParameterId: getNamespacedParameterId3,
        shouldAllowMediaQuery: shouldAllowMediaQuery2,
        cleanupHTMLElement: cleanupHTMLElement2,
        clearObjectCache: clearObjectCache2,
        stringifyTarget: stringifyTarget2,
        mediaQueriesEqual: mediaQueriesEqual2,
        shallowEqual: shallowEqual2
      } = import_shared6.IX2VanillaUtils);
      ({ isPluginType: isPluginType2, createPluginInstance: createPluginInstance2, getPluginDuration: getPluginDuration2 } = import_shared6.IX2VanillaPlugins);
      ua = navigator.userAgent;
      IS_MOBILE_SAFARI = ua.match(/iPad/i) || ua.match(/iPhone/);
      THROTTLED_EVENT_WAIT = 12;
      WINDOW_RESIZE_EVENTS = ["resize", "orientationchange"];
      mapFoundValues = (object, iteratee) => (0, import_omitBy.default)((0, import_mapValues.default)(object, iteratee), import_isEmpty.default);
      forEachEventTarget = (eventTargets, eventCallback) => {
        (0, import_forEach.default)(eventTargets, (elements, eventId) => {
          elements.forEach((element, index) => {
            const eventStateKey = eventId + COLON_DELIMITER4 + index;
            eventCallback(element, eventId, eventStateKey);
          });
        });
      };
      getAffectedForEvent = (event) => {
        const config = { target: event.target, targets: event.targets };
        return getAffectedElements2({ config, elementApi: IX2BrowserApi_exports });
      };
    }
  });

  // packages/systems/ix2/engine/index.js
  var require_engine = __commonJS({
    "packages/systems/ix2/engine/index.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      function _export(target, all) {
        for (var name in all)
          Object.defineProperty(target, name, {
            enumerable: true,
            get: all[name]
          });
      }
      _export(exports, {
        actions: function() {
          return _IX2EngineActions;
        },
        destroy: function() {
          return destroy2;
        },
        init: function() {
          return init2;
        },
        setEnv: function() {
          return setEnv;
        },
        store: function() {
          return store;
        }
      });
      var _redux = require_lib2();
      var _IX2Reducer = /* @__PURE__ */ _interop_require_default((init_IX2Reducer(), __toCommonJS(IX2Reducer_exports)));
      var _IX2VanillaEngine = (init_IX2VanillaEngine(), __toCommonJS(IX2VanillaEngine_exports));
      var _IX2EngineActions = /* @__PURE__ */ _interop_require_wildcard((init_IX2EngineActions(), __toCommonJS(IX2EngineActions_exports)));
      function _interop_require_default(obj) {
        return obj && obj.__esModule ? obj : {
          default: obj
        };
      }
      function _getRequireWildcardCache(nodeInterop) {
        if (typeof WeakMap !== "function")
          return null;
        var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
        var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
        return (_getRequireWildcardCache = function(nodeInterop2) {
          return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
        })(nodeInterop);
      }
      function _interop_require_wildcard(obj, nodeInterop) {
        if (!nodeInterop && obj && obj.__esModule) {
          return obj;
        }
        if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
          return {
            default: obj
          };
        }
        var cache = _getRequireWildcardCache(nodeInterop);
        if (cache && cache.has(obj)) {
          return cache.get(obj);
        }
        var newObj = {
          __proto__: null
        };
        var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var key in obj) {
          if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
            var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
            if (desc && (desc.get || desc.set)) {
              Object.defineProperty(newObj, key, desc);
            } else {
              newObj[key] = obj[key];
            }
          }
        }
        newObj.default = obj;
        if (cache) {
          cache.set(obj, newObj);
        }
        return newObj;
      }
      var store = (0, _redux.createStore)(_IX2Reducer.default);
      function setEnv(env) {
        if (env()) {
          (0, _IX2VanillaEngine.observeRequests)(store);
        }
      }
      function init2(rawData) {
        destroy2();
        (0, _IX2VanillaEngine.startEngine)({
          store,
          rawData,
          allowEvents: true
        });
      }
      function destroy2() {
        (0, _IX2VanillaEngine.stopEngine)(store);
      }
    }
  });

  // packages/shared/render/plugins/BaseSiteModules/webflow-ix2.js
  var require_webflow_ix2 = __commonJS({
    "packages/shared/render/plugins/BaseSiteModules/webflow-ix2.js"(exports, module2) {
      "use strict";
      var Webflow = require_webflow_lib();
      var ix2 = require_engine();
      ix2.setEnv(Webflow.env);
      Webflow.define("ix2", module2.exports = function() {
        return ix2;
      });
    }
  });

  // packages/shared/render/plugins/BaseSiteModules/webflow-links.js
  var require_webflow_links = __commonJS({
    "packages/shared/render/plugins/BaseSiteModules/webflow-links.js"(exports, module2) {
      "use strict";
      var Webflow = require_webflow_lib();
      Webflow.define("links", module2.exports = function($2, _) {
        var api = {};
        var $win = $2(window);
        var designer;
        var inApp = Webflow.env();
        var location = window.location;
        var tempLink = document.createElement("a");
        var linkCurrent = "w--current";
        var indexPage = /index\.(html|php)$/;
        var dirList = /\/$/;
        var anchors;
        var slug;
        api.ready = api.design = api.preview = init2;
        function init2() {
          designer = inApp && Webflow.env("design");
          slug = Webflow.env("slug") || location.pathname || "";
          Webflow.scroll.off(scroll);
          anchors = [];
          var links = document.links;
          for (var i = 0; i < links.length; ++i) {
            select(links[i]);
          }
          if (anchors.length) {
            Webflow.scroll.on(scroll);
            scroll();
          }
        }
        function select(link) {
          if (link.getAttribute("hreflang")) {
            return;
          }
          var href = designer && link.getAttribute("href-disabled") || link.getAttribute("href");
          tempLink.href = href;
          if (href.indexOf(":") >= 0) {
            return;
          }
          var $link = $2(link);
          if (tempLink.hash.length > 1 && tempLink.host + tempLink.pathname === location.host + location.pathname) {
            if (!/^#[a-zA-Z0-9\-\_]+$/.test(tempLink.hash)) {
              return;
            }
            var $section = $2(tempLink.hash);
            $section.length && anchors.push({
              link: $link,
              sec: $section,
              active: false
            });
            return;
          }
          if (href === "#" || href === "") {
            return;
          }
          var match = tempLink.href === location.href || href === slug || indexPage.test(href) && dirList.test(slug);
          setClass($link, linkCurrent, match);
        }
        function scroll() {
          var viewTop = $win.scrollTop();
          var viewHeight = $win.height();
          _.each(anchors, function(anchor) {
            if (anchor.link.attr("hreflang")) {
              return;
            }
            var $link = anchor.link;
            var $section = anchor.sec;
            var top = $section.offset().top;
            var height = $section.outerHeight();
            var offset = viewHeight * 0.5;
            var active = $section.is(":visible") && top + height - offset >= viewTop && top + offset <= viewTop + viewHeight;
            if (anchor.active === active) {
              return;
            }
            anchor.active = active;
            setClass($link, linkCurrent, active);
          });
        }
        function setClass($elem, className, add) {
          var exists = $elem.hasClass(className);
          if (add && exists) {
            return;
          }
          if (!add && !exists) {
            return;
          }
          add ? $elem.addClass(className) : $elem.removeClass(className);
        }
        return api;
      });
    }
  });

  // packages/shared/render/plugins/BaseSiteModules/webflow-scroll.js
  var require_webflow_scroll = __commonJS({
    "packages/shared/render/plugins/BaseSiteModules/webflow-scroll.js"(exports, module2) {
      "use strict";
      var Webflow = require_webflow_lib();
      Webflow.define("scroll", module2.exports = function($2) {
        var NS_EVENTS = {
          WF_CLICK_EMPTY: "click.wf-empty-link",
          WF_CLICK_SCROLL: "click.wf-scroll"
        };
        var loc = window.location;
        var history = inIframe() ? null : window.history;
        var $win = $2(window);
        var $doc = $2(document);
        var $body = $2(document.body);
        var animate = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) {
          window.setTimeout(fn, 15);
        };
        var rootTag = Webflow.env("editor") ? ".w-editor-body" : "body";
        var headerSelector = "header, " + rootTag + " > .header, " + rootTag + " > .w-nav:not([data-no-scroll])";
        var emptyHrefSelector = 'a[href="#"]';
        var localHrefSelector = 'a[href*="#"]:not(.w-tab-link):not(' + emptyHrefSelector + ")";
        var scrollTargetOutlineCSS = '.wf-force-outline-none[tabindex="-1"]:focus{outline:none;}';
        var focusStylesEl = document.createElement("style");
        focusStylesEl.appendChild(document.createTextNode(scrollTargetOutlineCSS));
        function inIframe() {
          try {
            return Boolean(window.frameElement);
          } catch (e) {
            return true;
          }
        }
        var validHash = /^#[a-zA-Z0-9][\w:.-]*$/;
        function linksToCurrentPage(link) {
          return validHash.test(link.hash) && link.host + link.pathname === loc.host + loc.pathname;
        }
        const reducedMotionMediaQuery = typeof window.matchMedia === "function" && window.matchMedia("(prefers-reduced-motion: reduce)");
        function reducedMotionEnabled() {
          return document.body.getAttribute("data-wf-scroll-motion") === "none" || reducedMotionMediaQuery.matches;
        }
        function setFocusable($el, action) {
          var initialTabindex;
          switch (action) {
            case "add":
              initialTabindex = $el.attr("tabindex");
              if (initialTabindex) {
                $el.attr("data-wf-tabindex-swap", initialTabindex);
              } else {
                $el.attr("tabindex", "-1");
              }
              break;
            case "remove":
              initialTabindex = $el.attr("data-wf-tabindex-swap");
              if (initialTabindex) {
                $el.attr("tabindex", initialTabindex);
                $el.removeAttr("data-wf-tabindex-swap");
              } else {
                $el.removeAttr("tabindex");
              }
              break;
          }
          $el.toggleClass("wf-force-outline-none", action === "add");
        }
        function validateScroll(evt) {
          var target = evt.currentTarget;
          if (
            // Bail if in Designer
            Webflow.env("design") || // Ignore links being used by jQuery mobile
            window.$.mobile && /(?:^|\s)ui-link(?:$|\s)/.test(target.className)
          ) {
            return;
          }
          var hash = linksToCurrentPage(target) ? target.hash : "";
          if (hash === "")
            return;
          var $el = $2(hash);
          if (!$el.length) {
            return;
          }
          if (evt) {
            evt.preventDefault();
            evt.stopPropagation();
          }
          updateHistory(hash, evt);
          window.setTimeout(function() {
            scroll($el, function setFocus() {
              setFocusable($el, "add");
              $el.get(0).focus({
                preventScroll: true
              });
              setFocusable($el, "remove");
            });
          }, evt ? 0 : 300);
        }
        function updateHistory(hash) {
          if (loc.hash !== hash && history && history.pushState && // Navigation breaks Chrome when the protocol is `file:`.
          !(Webflow.env.chrome && loc.protocol === "file:")) {
            var oldHash = history.state && history.state.hash;
            if (oldHash !== hash) {
              history.pushState({
                hash
              }, "", hash);
            }
          }
        }
        function scroll($targetEl, cb) {
          var start = $win.scrollTop();
          var end = calculateScrollEndPosition($targetEl);
          if (start === end)
            return;
          var duration = calculateScrollDuration($targetEl, start, end);
          var clock = Date.now();
          var step = function() {
            var elapsed = Date.now() - clock;
            window.scroll(0, getY(start, end, elapsed, duration));
            if (elapsed <= duration) {
              animate(step);
            } else if (typeof cb === "function") {
              cb();
            }
          };
          animate(step);
        }
        function calculateScrollEndPosition($targetEl) {
          var $header = $2(headerSelector);
          var offsetY = $header.css("position") === "fixed" ? $header.outerHeight() : 0;
          var end = $targetEl.offset().top - offsetY;
          if ($targetEl.data("scroll") === "mid") {
            var available = $win.height() - offsetY;
            var elHeight = $targetEl.outerHeight();
            if (elHeight < available) {
              end -= Math.round((available - elHeight) / 2);
            }
          }
          return end;
        }
        function calculateScrollDuration($targetEl, start, end) {
          if (reducedMotionEnabled())
            return 0;
          var mult = 1;
          $body.add($targetEl).each(function(_, el) {
            var time = parseFloat(el.getAttribute("data-scroll-time"));
            if (!isNaN(time) && time >= 0) {
              mult = time;
            }
          });
          return (472.143 * Math.log(Math.abs(start - end) + 125) - 2e3) * mult;
        }
        function getY(start, end, elapsed, duration) {
          if (elapsed > duration) {
            return end;
          }
          return start + (end - start) * ease2(elapsed / duration);
        }
        function ease2(t) {
          return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;
        }
        function ready() {
          var { WF_CLICK_EMPTY, WF_CLICK_SCROLL } = NS_EVENTS;
          $doc.on(WF_CLICK_SCROLL, localHrefSelector, validateScroll);
          $doc.on(WF_CLICK_EMPTY, emptyHrefSelector, function(e) {
            e.preventDefault();
          });
          document.head.insertBefore(focusStylesEl, document.head.firstChild);
        }
        return {
          ready
        };
      });
    }
  });

  // packages/shared/render/plugins/BaseSiteModules/webflow-touch.js
  var require_webflow_touch = __commonJS({
    "packages/shared/render/plugins/BaseSiteModules/webflow-touch.js"(exports, module2) {
      "use strict";
      var Webflow = require_webflow_lib();
      Webflow.define("touch", module2.exports = function($2) {
        var api = {};
        var getSelection = window.getSelection;
        $2.event.special.tap = {
          bindType: "click",
          delegateType: "click"
        };
        api.init = function(el) {
          el = typeof el === "string" ? $2(el).get(0) : el;
          return el ? new Touch(el) : null;
        };
        function Touch(el) {
          var active = false;
          var useTouch = false;
          var thresholdX = Math.min(Math.round(window.innerWidth * 0.04), 40);
          var startX;
          var lastX;
          el.addEventListener("touchstart", start, false);
          el.addEventListener("touchmove", move, false);
          el.addEventListener("touchend", end, false);
          el.addEventListener("touchcancel", cancel, false);
          el.addEventListener("mousedown", start, false);
          el.addEventListener("mousemove", move, false);
          el.addEventListener("mouseup", end, false);
          el.addEventListener("mouseout", cancel, false);
          function start(evt) {
            var touches = evt.touches;
            if (touches && touches.length > 1) {
              return;
            }
            active = true;
            if (touches) {
              useTouch = true;
              startX = touches[0].clientX;
            } else {
              startX = evt.clientX;
            }
            lastX = startX;
          }
          function move(evt) {
            if (!active) {
              return;
            }
            if (useTouch && evt.type === "mousemove") {
              evt.preventDefault();
              evt.stopPropagation();
              return;
            }
            var touches = evt.touches;
            var x = touches ? touches[0].clientX : evt.clientX;
            var velocityX = x - lastX;
            lastX = x;
            if (Math.abs(velocityX) > thresholdX && getSelection && String(getSelection()) === "") {
              triggerEvent("swipe", evt, {
                direction: velocityX > 0 ? "right" : "left"
              });
              cancel();
            }
          }
          function end(evt) {
            if (!active) {
              return;
            }
            active = false;
            if (useTouch && evt.type === "mouseup") {
              evt.preventDefault();
              evt.stopPropagation();
              useTouch = false;
              return;
            }
          }
          function cancel() {
            active = false;
          }
          function destroy2() {
            el.removeEventListener("touchstart", start, false);
            el.removeEventListener("touchmove", move, false);
            el.removeEventListener("touchend", end, false);
            el.removeEventListener("touchcancel", cancel, false);
            el.removeEventListener("mousedown", start, false);
            el.removeEventListener("mousemove", move, false);
            el.removeEventListener("mouseup", end, false);
            el.removeEventListener("mouseout", cancel, false);
            el = null;
          }
          this.destroy = destroy2;
        }
        function triggerEvent(type, evt, data) {
          var newEvent = $2.Event(type, {
            originalEvent: evt
          });
          $2(evt.target).trigger(newEvent, data);
        }
        api.instance = api.init(document);
        return api;
      });
    }
  });

  // node_modules/custom-event-polyfill/polyfill.js
  var init_polyfill = __esm({
    "node_modules/custom-event-polyfill/polyfill.js"() {
      (function() {
        if (typeof window === "undefined") {
          return;
        }
        try {
          var ce = new window.CustomEvent("test", { cancelable: true });
          ce.preventDefault();
          if (ce.defaultPrevented !== true) {
            throw new Error("Could not prevent default");
          }
        } catch (e) {
          var CustomEvent2 = function(event, params) {
            var evt, origPrevent;
            params = params || {};
            params.bubbles = !!params.bubbles;
            params.cancelable = !!params.cancelable;
            evt = document.createEvent("CustomEvent");
            evt.initCustomEvent(
              event,
              params.bubbles,
              params.cancelable,
              params.detail
            );
            origPrevent = evt.preventDefault;
            evt.preventDefault = function() {
              origPrevent.call(this);
              try {
                Object.defineProperty(this, "defaultPrevented", {
                  get: function() {
                    return true;
                  }
                });
              } catch (e2) {
                this.defaultPrevented = true;
              }
            };
            return evt;
          };
          CustomEvent2.prototype = window.Event.prototype;
          window.CustomEvent = CustomEvent2;
        }
      })();
    }
  });

  // node_modules/core-js/internals/global.js
  var require_global = __commonJS({
    "node_modules/core-js/internals/global.js"(exports, module2) {
      var check2 = function(it) {
        return it && it.Math == Math && it;
      };
      module2.exports = // eslint-disable-next-line es/no-global-this -- safe
      check2(typeof globalThis == "object" && globalThis) || check2(typeof window == "object" && window) || // eslint-disable-next-line no-restricted-globals -- safe
      check2(typeof self == "object" && self) || check2(typeof global == "object" && global) || // eslint-disable-next-line no-new-func -- fallback
      function() {
        return this;
      }() || Function("return this")();
    }
  });

  // node_modules/core-js/internals/fails.js
  var require_fails = __commonJS({
    "node_modules/core-js/internals/fails.js"(exports, module2) {
      module2.exports = function(exec) {
        try {
          return !!exec();
        } catch (error) {
          return true;
        }
      };
    }
  });

  // node_modules/core-js/internals/descriptors.js
  var require_descriptors = __commonJS({
    "node_modules/core-js/internals/descriptors.js"(exports, module2) {
      var fails = require_fails();
      module2.exports = !fails(function() {
        return Object.defineProperty({}, 1, { get: function() {
          return 7;
        } })[1] != 7;
      });
    }
  });

  // node_modules/core-js/internals/function-call.js
  var require_function_call = __commonJS({
    "node_modules/core-js/internals/function-call.js"(exports, module2) {
      var call = Function.prototype.call;
      module2.exports = call.bind ? call.bind(call) : function() {
        return call.apply(call, arguments);
      };
    }
  });

  // node_modules/core-js/internals/object-property-is-enumerable.js
  var require_object_property_is_enumerable = __commonJS({
    "node_modules/core-js/internals/object-property-is-enumerable.js"(exports) {
      "use strict";
      var $propertyIsEnumerable = {}.propertyIsEnumerable;
      var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
      var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
      exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
        var descriptor = getOwnPropertyDescriptor(this, V);
        return !!descriptor && descriptor.enumerable;
      } : $propertyIsEnumerable;
    }
  });

  // node_modules/core-js/internals/create-property-descriptor.js
  var require_create_property_descriptor = __commonJS({
    "node_modules/core-js/internals/create-property-descriptor.js"(exports, module2) {
      module2.exports = function(bitmap, value) {
        return {
          enumerable: !(bitmap & 1),
          configurable: !(bitmap & 2),
          writable: !(bitmap & 4),
          value
        };
      };
    }
  });

  // node_modules/core-js/internals/function-uncurry-this.js
  var require_function_uncurry_this = __commonJS({
    "node_modules/core-js/internals/function-uncurry-this.js"(exports, module2) {
      var FunctionPrototype = Function.prototype;
      var bind3 = FunctionPrototype.bind;
      var call = FunctionPrototype.call;
      var callBind = bind3 && bind3.bind(call);
      module2.exports = bind3 ? function(fn) {
        return fn && callBind(call, fn);
      } : function(fn) {
        return fn && function() {
          return call.apply(fn, arguments);
        };
      };
    }
  });

  // node_modules/core-js/internals/classof-raw.js
  var require_classof_raw = __commonJS({
    "node_modules/core-js/internals/classof-raw.js"(exports, module2) {
      var uncurryThis = require_function_uncurry_this();
      var toString3 = uncurryThis({}.toString);
      var stringSlice = uncurryThis("".slice);
      module2.exports = function(it) {
        return stringSlice(toString3(it), 8, -1);
      };
    }
  });

  // node_modules/core-js/internals/indexed-object.js
  var require_indexed_object = __commonJS({
    "node_modules/core-js/internals/indexed-object.js"(exports, module2) {
      var global2 = require_global();
      var uncurryThis = require_function_uncurry_this();
      var fails = require_fails();
      var classof = require_classof_raw();
      var Object2 = global2.Object;
      var split = uncurryThis("".split);
      module2.exports = fails(function() {
        return !Object2("z").propertyIsEnumerable(0);
      }) ? function(it) {
        return classof(it) == "String" ? split(it, "") : Object2(it);
      } : Object2;
    }
  });

  // node_modules/core-js/internals/require-object-coercible.js
  var require_require_object_coercible = __commonJS({
    "node_modules/core-js/internals/require-object-coercible.js"(exports, module2) {
      var global2 = require_global();
      var TypeError2 = global2.TypeError;
      module2.exports = function(it) {
        if (it == void 0)
          throw TypeError2("Can't call method on " + it);
        return it;
      };
    }
  });

  // node_modules/core-js/internals/to-indexed-object.js
  var require_to_indexed_object = __commonJS({
    "node_modules/core-js/internals/to-indexed-object.js"(exports, module2) {
      var IndexedObject = require_indexed_object();
      var requireObjectCoercible = require_require_object_coercible();
      module2.exports = function(it) {
        return IndexedObject(requireObjectCoercible(it));
      };
    }
  });

  // node_modules/core-js/internals/is-callable.js
  var require_is_callable = __commonJS({
    "node_modules/core-js/internals/is-callable.js"(exports, module2) {
      module2.exports = function(argument) {
        return typeof argument == "function";
      };
    }
  });

  // node_modules/core-js/internals/is-object.js
  var require_is_object = __commonJS({
    "node_modules/core-js/internals/is-object.js"(exports, module2) {
      var isCallable = require_is_callable();
      module2.exports = function(it) {
        return typeof it == "object" ? it !== null : isCallable(it);
      };
    }
  });

  // node_modules/core-js/internals/get-built-in.js
  var require_get_built_in = __commonJS({
    "node_modules/core-js/internals/get-built-in.js"(exports, module2) {
      var global2 = require_global();
      var isCallable = require_is_callable();
      var aFunction = function(argument) {
        return isCallable(argument) ? argument : void 0;
      };
      module2.exports = function(namespace, method) {
        return arguments.length < 2 ? aFunction(global2[namespace]) : global2[namespace] && global2[namespace][method];
      };
    }
  });

  // node_modules/core-js/internals/object-is-prototype-of.js
  var require_object_is_prototype_of = __commonJS({
    "node_modules/core-js/internals/object-is-prototype-of.js"(exports, module2) {
      var uncurryThis = require_function_uncurry_this();
      module2.exports = uncurryThis({}.isPrototypeOf);
    }
  });

  // node_modules/core-js/internals/engine-user-agent.js
  var require_engine_user_agent = __commonJS({
    "node_modules/core-js/internals/engine-user-agent.js"(exports, module2) {
      var getBuiltIn = require_get_built_in();
      module2.exports = getBuiltIn("navigator", "userAgent") || "";
    }
  });

  // node_modules/core-js/internals/engine-v8-version.js
  var require_engine_v8_version = __commonJS({
    "node_modules/core-js/internals/engine-v8-version.js"(exports, module2) {
      var global2 = require_global();
      var userAgent = require_engine_user_agent();
      var process2 = global2.process;
      var Deno = global2.Deno;
      var versions = process2 && process2.versions || Deno && Deno.version;
      var v8 = versions && versions.v8;
      var match;
      var version2;
      if (v8) {
        match = v8.split(".");
        version2 = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
      }
      if (!version2 && userAgent) {
        match = userAgent.match(/Edge\/(\d+)/);
        if (!match || match[1] >= 74) {
          match = userAgent.match(/Chrome\/(\d+)/);
          if (match)
            version2 = +match[1];
        }
      }
      module2.exports = version2;
    }
  });

  // node_modules/core-js/internals/native-symbol.js
  var require_native_symbol = __commonJS({
    "node_modules/core-js/internals/native-symbol.js"(exports, module2) {
      var V8_VERSION = require_engine_v8_version();
      var fails = require_fails();
      module2.exports = !!Object.getOwnPropertySymbols && !fails(function() {
        var symbol = Symbol();
        return !String(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
        !Symbol.sham && V8_VERSION && V8_VERSION < 41;
      });
    }
  });

  // node_modules/core-js/internals/use-symbol-as-uid.js
  var require_use_symbol_as_uid = __commonJS({
    "node_modules/core-js/internals/use-symbol-as-uid.js"(exports, module2) {
      var NATIVE_SYMBOL = require_native_symbol();
      module2.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == "symbol";
    }
  });

  // node_modules/core-js/internals/is-symbol.js
  var require_is_symbol = __commonJS({
    "node_modules/core-js/internals/is-symbol.js"(exports, module2) {
      var global2 = require_global();
      var getBuiltIn = require_get_built_in();
      var isCallable = require_is_callable();
      var isPrototypeOf = require_object_is_prototype_of();
      var USE_SYMBOL_AS_UID = require_use_symbol_as_uid();
      var Object2 = global2.Object;
      module2.exports = USE_SYMBOL_AS_UID ? function(it) {
        return typeof it == "symbol";
      } : function(it) {
        var $Symbol = getBuiltIn("Symbol");
        return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object2(it));
      };
    }
  });

  // node_modules/core-js/internals/try-to-string.js
  var require_try_to_string = __commonJS({
    "node_modules/core-js/internals/try-to-string.js"(exports, module2) {
      var global2 = require_global();
      var String2 = global2.String;
      module2.exports = function(argument) {
        try {
          return String2(argument);
        } catch (error) {
          return "Object";
        }
      };
    }
  });

  // node_modules/core-js/internals/a-callable.js
  var require_a_callable = __commonJS({
    "node_modules/core-js/internals/a-callable.js"(exports, module2) {
      var global2 = require_global();
      var isCallable = require_is_callable();
      var tryToString = require_try_to_string();
      var TypeError2 = global2.TypeError;
      module2.exports = function(argument) {
        if (isCallable(argument))
          return argument;
        throw TypeError2(tryToString(argument) + " is not a function");
      };
    }
  });

  // node_modules/core-js/internals/get-method.js
  var require_get_method = __commonJS({
    "node_modules/core-js/internals/get-method.js"(exports, module2) {
      var aCallable = require_a_callable();
      module2.exports = function(V, P) {
        var func = V[P];
        return func == null ? void 0 : aCallable(func);
      };
    }
  });

  // node_modules/core-js/internals/ordinary-to-primitive.js
  var require_ordinary_to_primitive = __commonJS({
    "node_modules/core-js/internals/ordinary-to-primitive.js"(exports, module2) {
      var global2 = require_global();
      var call = require_function_call();
      var isCallable = require_is_callable();
      var isObject2 = require_is_object();
      var TypeError2 = global2.TypeError;
      module2.exports = function(input, pref) {
        var fn, val;
        if (pref === "string" && isCallable(fn = input.toString) && !isObject2(val = call(fn, input)))
          return val;
        if (isCallable(fn = input.valueOf) && !isObject2(val = call(fn, input)))
          return val;
        if (pref !== "string" && isCallable(fn = input.toString) && !isObject2(val = call(fn, input)))
          return val;
        throw TypeError2("Can't convert object to primitive value");
      };
    }
  });

  // node_modules/core-js/internals/is-pure.js
  var require_is_pure = __commonJS({
    "node_modules/core-js/internals/is-pure.js"(exports, module2) {
      module2.exports = false;
    }
  });

  // node_modules/core-js/internals/set-global.js
  var require_set_global = __commonJS({
    "node_modules/core-js/internals/set-global.js"(exports, module2) {
      var global2 = require_global();
      var defineProperty = Object.defineProperty;
      module2.exports = function(key, value) {
        try {
          defineProperty(global2, key, { value, configurable: true, writable: true });
        } catch (error) {
          global2[key] = value;
        }
        return value;
      };
    }
  });

  // node_modules/core-js/internals/shared-store.js
  var require_shared_store = __commonJS({
    "node_modules/core-js/internals/shared-store.js"(exports, module2) {
      var global2 = require_global();
      var setGlobal = require_set_global();
      var SHARED = "__core-js_shared__";
      var store = global2[SHARED] || setGlobal(SHARED, {});
      module2.exports = store;
    }
  });

  // node_modules/core-js/internals/shared.js
  var require_shared2 = __commonJS({
    "node_modules/core-js/internals/shared.js"(exports, module2) {
      var IS_PURE = require_is_pure();
      var store = require_shared_store();
      (module2.exports = function(key, value) {
        return store[key] || (store[key] = value !== void 0 ? value : {});
      })("versions", []).push({
        version: "3.19.0",
        mode: IS_PURE ? "pure" : "global",
        copyright: "\xA9 2021 Denis Pushkarev (zloirock.ru)"
      });
    }
  });

  // node_modules/core-js/internals/to-object.js
  var require_to_object = __commonJS({
    "node_modules/core-js/internals/to-object.js"(exports, module2) {
      var global2 = require_global();
      var requireObjectCoercible = require_require_object_coercible();
      var Object2 = global2.Object;
      module2.exports = function(argument) {
        return Object2(requireObjectCoercible(argument));
      };
    }
  });

  // node_modules/core-js/internals/has-own-property.js
  var require_has_own_property = __commonJS({
    "node_modules/core-js/internals/has-own-property.js"(exports, module2) {
      var uncurryThis = require_function_uncurry_this();
      var toObject = require_to_object();
      var hasOwnProperty9 = uncurryThis({}.hasOwnProperty);
      module2.exports = Object.hasOwn || function hasOwn2(it, key) {
        return hasOwnProperty9(toObject(it), key);
      };
    }
  });

  // node_modules/core-js/internals/uid.js
  var require_uid = __commonJS({
    "node_modules/core-js/internals/uid.js"(exports, module2) {
      var uncurryThis = require_function_uncurry_this();
      var id = 0;
      var postfix = Math.random();
      var toString3 = uncurryThis(1 .toString);
      module2.exports = function(key) {
        return "Symbol(" + (key === void 0 ? "" : key) + ")_" + toString3(++id + postfix, 36);
      };
    }
  });

  // node_modules/core-js/internals/well-known-symbol.js
  var require_well_known_symbol = __commonJS({
    "node_modules/core-js/internals/well-known-symbol.js"(exports, module2) {
      var global2 = require_global();
      var shared = require_shared2();
      var hasOwn2 = require_has_own_property();
      var uid = require_uid();
      var NATIVE_SYMBOL = require_native_symbol();
      var USE_SYMBOL_AS_UID = require_use_symbol_as_uid();
      var WellKnownSymbolsStore = shared("wks");
      var Symbol2 = global2.Symbol;
      var symbolFor = Symbol2 && Symbol2["for"];
      var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol2 : Symbol2 && Symbol2.withoutSetter || uid;
      module2.exports = function(name) {
        if (!hasOwn2(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == "string")) {
          var description = "Symbol." + name;
          if (NATIVE_SYMBOL && hasOwn2(Symbol2, name)) {
            WellKnownSymbolsStore[name] = Symbol2[name];
          } else if (USE_SYMBOL_AS_UID && symbolFor) {
            WellKnownSymbolsStore[name] = symbolFor(description);
          } else {
            WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
          }
        }
        return WellKnownSymbolsStore[name];
      };
    }
  });

  // node_modules/core-js/internals/to-primitive.js
  var require_to_primitive = __commonJS({
    "node_modules/core-js/internals/to-primitive.js"(exports, module2) {
      var global2 = require_global();
      var call = require_function_call();
      var isObject2 = require_is_object();
      var isSymbol = require_is_symbol();
      var getMethod2 = require_get_method();
      var ordinaryToPrimitive = require_ordinary_to_primitive();
      var wellKnownSymbol = require_well_known_symbol();
      var TypeError2 = global2.TypeError;
      var TO_PRIMITIVE = wellKnownSymbol("toPrimitive");
      module2.exports = function(input, pref) {
        if (!isObject2(input) || isSymbol(input))
          return input;
        var exoticToPrim = getMethod2(input, TO_PRIMITIVE);
        var result2;
        if (exoticToPrim) {
          if (pref === void 0)
            pref = "default";
          result2 = call(exoticToPrim, input, pref);
          if (!isObject2(result2) || isSymbol(result2))
            return result2;
          throw TypeError2("Can't convert object to primitive value");
        }
        if (pref === void 0)
          pref = "number";
        return ordinaryToPrimitive(input, pref);
      };
    }
  });

  // node_modules/core-js/internals/to-property-key.js
  var require_to_property_key = __commonJS({
    "node_modules/core-js/internals/to-property-key.js"(exports, module2) {
      var toPrimitive = require_to_primitive();
      var isSymbol = require_is_symbol();
      module2.exports = function(argument) {
        var key = toPrimitive(argument, "string");
        return isSymbol(key) ? key : key + "";
      };
    }
  });

  // node_modules/core-js/internals/document-create-element.js
  var require_document_create_element = __commonJS({
    "node_modules/core-js/internals/document-create-element.js"(exports, module2) {
      var global2 = require_global();
      var isObject2 = require_is_object();
      var document2 = global2.document;
      var EXISTS = isObject2(document2) && isObject2(document2.createElement);
      module2.exports = function(it) {
        return EXISTS ? document2.createElement(it) : {};
      };
    }
  });

  // node_modules/core-js/internals/ie8-dom-define.js
  var require_ie8_dom_define = __commonJS({
    "node_modules/core-js/internals/ie8-dom-define.js"(exports, module2) {
      var DESCRIPTORS = require_descriptors();
      var fails = require_fails();
      var createElement = require_document_create_element();
      module2.exports = !DESCRIPTORS && !fails(function() {
        return Object.defineProperty(createElement("div"), "a", {
          get: function() {
            return 7;
          }
        }).a != 7;
      });
    }
  });

  // node_modules/core-js/internals/object-get-own-property-descriptor.js
  var require_object_get_own_property_descriptor = __commonJS({
    "node_modules/core-js/internals/object-get-own-property-descriptor.js"(exports) {
      var DESCRIPTORS = require_descriptors();
      var call = require_function_call();
      var propertyIsEnumerableModule = require_object_property_is_enumerable();
      var createPropertyDescriptor = require_create_property_descriptor();
      var toIndexedObject = require_to_indexed_object();
      var toPropertyKey = require_to_property_key();
      var hasOwn2 = require_has_own_property();
      var IE8_DOM_DEFINE = require_ie8_dom_define();
      var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
      exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
        O = toIndexedObject(O);
        P = toPropertyKey(P);
        if (IE8_DOM_DEFINE)
          try {
            return $getOwnPropertyDescriptor(O, P);
          } catch (error) {
          }
        if (hasOwn2(O, P))
          return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
      };
    }
  });

  // node_modules/core-js/internals/an-object.js
  var require_an_object = __commonJS({
    "node_modules/core-js/internals/an-object.js"(exports, module2) {
      var global2 = require_global();
      var isObject2 = require_is_object();
      var String2 = global2.String;
      var TypeError2 = global2.TypeError;
      module2.exports = function(argument) {
        if (isObject2(argument))
          return argument;
        throw TypeError2(String2(argument) + " is not an object");
      };
    }
  });

  // node_modules/core-js/internals/object-define-property.js
  var require_object_define_property = __commonJS({
    "node_modules/core-js/internals/object-define-property.js"(exports) {
      var global2 = require_global();
      var DESCRIPTORS = require_descriptors();
      var IE8_DOM_DEFINE = require_ie8_dom_define();
      var anObject = require_an_object();
      var toPropertyKey = require_to_property_key();
      var TypeError2 = global2.TypeError;
      var $defineProperty = Object.defineProperty;
      exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {
        anObject(O);
        P = toPropertyKey(P);
        anObject(Attributes);
        if (IE8_DOM_DEFINE)
          try {
            return $defineProperty(O, P, Attributes);
          } catch (error) {
          }
        if ("get" in Attributes || "set" in Attributes)
          throw TypeError2("Accessors not supported");
        if ("value" in Attributes)
          O[P] = Attributes.value;
        return O;
      };
    }
  });

  // node_modules/core-js/internals/create-non-enumerable-property.js
  var require_create_non_enumerable_property = __commonJS({
    "node_modules/core-js/internals/create-non-enumerable-property.js"(exports, module2) {
      var DESCRIPTORS = require_descriptors();
      var definePropertyModule = require_object_define_property();
      var createPropertyDescriptor = require_create_property_descriptor();
      module2.exports = DESCRIPTORS ? function(object, key, value) {
        return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
      } : function(object, key, value) {
        object[key] = value;
        return object;
      };
    }
  });

  // node_modules/core-js/internals/inspect-source.js
  var require_inspect_source = __commonJS({
    "node_modules/core-js/internals/inspect-source.js"(exports, module2) {
      var uncurryThis = require_function_uncurry_this();
      var isCallable = require_is_callable();
      var store = require_shared_store();
      var functionToString = uncurryThis(Function.toString);
      if (!isCallable(store.inspectSource)) {
        store.inspectSource = function(it) {
          return functionToString(it);
        };
      }
      module2.exports = store.inspectSource;
    }
  });

  // node_modules/core-js/internals/native-weak-map.js
  var require_native_weak_map = __commonJS({
    "node_modules/core-js/internals/native-weak-map.js"(exports, module2) {
      var global2 = require_global();
      var isCallable = require_is_callable();
      var inspectSource = require_inspect_source();
      var WeakMap2 = global2.WeakMap;
      module2.exports = isCallable(WeakMap2) && /native code/.test(inspectSource(WeakMap2));
    }
  });

  // node_modules/core-js/internals/shared-key.js
  var require_shared_key = __commonJS({
    "node_modules/core-js/internals/shared-key.js"(exports, module2) {
      var shared = require_shared2();
      var uid = require_uid();
      var keys = shared("keys");
      module2.exports = function(key) {
        return keys[key] || (keys[key] = uid(key));
      };
    }
  });

  // node_modules/core-js/internals/hidden-keys.js
  var require_hidden_keys = __commonJS({
    "node_modules/core-js/internals/hidden-keys.js"(exports, module2) {
      module2.exports = {};
    }
  });

  // node_modules/core-js/internals/internal-state.js
  var require_internal_state = __commonJS({
    "node_modules/core-js/internals/internal-state.js"(exports, module2) {
      var NATIVE_WEAK_MAP = require_native_weak_map();
      var global2 = require_global();
      var uncurryThis = require_function_uncurry_this();
      var isObject2 = require_is_object();
      var createNonEnumerableProperty = require_create_non_enumerable_property();
      var hasOwn2 = require_has_own_property();
      var shared = require_shared_store();
      var sharedKey = require_shared_key();
      var hiddenKeys = require_hidden_keys();
      var OBJECT_ALREADY_INITIALIZED = "Object already initialized";
      var TypeError2 = global2.TypeError;
      var WeakMap2 = global2.WeakMap;
      var set3;
      var get8;
      var has;
      var enforce = function(it) {
        return has(it) ? get8(it) : set3(it, {});
      };
      var getterFor = function(TYPE2) {
        return function(it) {
          var state;
          if (!isObject2(it) || (state = get8(it)).type !== TYPE2) {
            throw TypeError2("Incompatible receiver, " + TYPE2 + " required");
          }
          return state;
        };
      };
      if (NATIVE_WEAK_MAP || shared.state) {
        store = shared.state || (shared.state = new WeakMap2());
        wmget = uncurryThis(store.get);
        wmhas = uncurryThis(store.has);
        wmset = uncurryThis(store.set);
        set3 = function(it, metadata) {
          if (wmhas(store, it))
            throw new TypeError2(OBJECT_ALREADY_INITIALIZED);
          metadata.facade = it;
          wmset(store, it, metadata);
          return metadata;
        };
        get8 = function(it) {
          return wmget(store, it) || {};
        };
        has = function(it) {
          return wmhas(store, it);
        };
      } else {
        STATE = sharedKey("state");
        hiddenKeys[STATE] = true;
        set3 = function(it, metadata) {
          if (hasOwn2(it, STATE))
            throw new TypeError2(OBJECT_ALREADY_INITIALIZED);
          metadata.facade = it;
          createNonEnumerableProperty(it, STATE, metadata);
          return metadata;
        };
        get8 = function(it) {
          return hasOwn2(it, STATE) ? it[STATE] : {};
        };
        has = function(it) {
          return hasOwn2(it, STATE);
        };
      }
      var store;
      var wmget;
      var wmhas;
      var wmset;
      var STATE;
      module2.exports = {
        set: set3,
        get: get8,
        has,
        enforce,
        getterFor
      };
    }
  });

  // node_modules/core-js/internals/function-name.js
  var require_function_name = __commonJS({
    "node_modules/core-js/internals/function-name.js"(exports, module2) {
      var DESCRIPTORS = require_descriptors();
      var hasOwn2 = require_has_own_property();
      var FunctionPrototype = Function.prototype;
      var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
      var EXISTS = hasOwn2(FunctionPrototype, "name");
      var PROPER = EXISTS && function something() {
      }.name === "something";
      var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, "name").configurable);
      module2.exports = {
        EXISTS,
        PROPER,
        CONFIGURABLE
      };
    }
  });

  // node_modules/core-js/internals/redefine.js
  var require_redefine = __commonJS({
    "node_modules/core-js/internals/redefine.js"(exports, module2) {
      var global2 = require_global();
      var isCallable = require_is_callable();
      var hasOwn2 = require_has_own_property();
      var createNonEnumerableProperty = require_create_non_enumerable_property();
      var setGlobal = require_set_global();
      var inspectSource = require_inspect_source();
      var InternalStateModule = require_internal_state();
      var CONFIGURABLE_FUNCTION_NAME = require_function_name().CONFIGURABLE;
      var getInternalState = InternalStateModule.get;
      var enforceInternalState = InternalStateModule.enforce;
      var TEMPLATE = String(String).split("String");
      (module2.exports = function(O, key, value, options) {
        var unsafe = options ? !!options.unsafe : false;
        var simple = options ? !!options.enumerable : false;
        var noTargetGet = options ? !!options.noTargetGet : false;
        var name = options && options.name !== void 0 ? options.name : key;
        var state;
        if (isCallable(value)) {
          if (String(name).slice(0, 7) === "Symbol(") {
            name = "[" + String(name).replace(/^Symbol\(([^)]*)\)/, "$1") + "]";
          }
          if (!hasOwn2(value, "name") || CONFIGURABLE_FUNCTION_NAME && value.name !== name) {
            createNonEnumerableProperty(value, "name", name);
          }
          state = enforceInternalState(value);
          if (!state.source) {
            state.source = TEMPLATE.join(typeof name == "string" ? name : "");
          }
        }
        if (O === global2) {
          if (simple)
            O[key] = value;
          else
            setGlobal(key, value);
          return;
        } else if (!unsafe) {
          delete O[key];
        } else if (!noTargetGet && O[key]) {
          simple = true;
        }
        if (simple)
          O[key] = value;
        else
          createNonEnumerableProperty(O, key, value);
      })(Function.prototype, "toString", function toString3() {
        return isCallable(this) && getInternalState(this).source || inspectSource(this);
      });
    }
  });

  // node_modules/core-js/internals/to-integer-or-infinity.js
  var require_to_integer_or_infinity = __commonJS({
    "node_modules/core-js/internals/to-integer-or-infinity.js"(exports, module2) {
      var ceil = Math.ceil;
      var floor = Math.floor;
      module2.exports = function(argument) {
        var number = +argument;
        return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
      };
    }
  });

  // node_modules/core-js/internals/to-absolute-index.js
  var require_to_absolute_index = __commonJS({
    "node_modules/core-js/internals/to-absolute-index.js"(exports, module2) {
      var toIntegerOrInfinity = require_to_integer_or_infinity();
      var max = Math.max;
      var min = Math.min;
      module2.exports = function(index, length) {
        var integer = toIntegerOrInfinity(index);
        return integer < 0 ? max(integer + length, 0) : min(integer, length);
      };
    }
  });

  // node_modules/core-js/internals/to-length.js
  var require_to_length = __commonJS({
    "node_modules/core-js/internals/to-length.js"(exports, module2) {
      var toIntegerOrInfinity = require_to_integer_or_infinity();
      var min = Math.min;
      module2.exports = function(argument) {
        return argument > 0 ? min(toIntegerOrInfinity(argument), 9007199254740991) : 0;
      };
    }
  });

  // node_modules/core-js/internals/length-of-array-like.js
  var require_length_of_array_like = __commonJS({
    "node_modules/core-js/internals/length-of-array-like.js"(exports, module2) {
      var toLength = require_to_length();
      module2.exports = function(obj) {
        return toLength(obj.length);
      };
    }
  });

  // node_modules/core-js/internals/array-includes.js
  var require_array_includes = __commonJS({
    "node_modules/core-js/internals/array-includes.js"(exports, module2) {
      var toIndexedObject = require_to_indexed_object();
      var toAbsoluteIndex = require_to_absolute_index();
      var lengthOfArrayLike = require_length_of_array_like();
      var createMethod = function(IS_INCLUDES) {
        return function($this, el, fromIndex) {
          var O = toIndexedObject($this);
          var length = lengthOfArrayLike(O);
          var index = toAbsoluteIndex(fromIndex, length);
          var value;
          if (IS_INCLUDES && el != el)
            while (length > index) {
              value = O[index++];
              if (value != value)
                return true;
            }
          else
            for (; length > index; index++) {
              if ((IS_INCLUDES || index in O) && O[index] === el)
                return IS_INCLUDES || index || 0;
            }
          return !IS_INCLUDES && -1;
        };
      };
      module2.exports = {
        // `Array.prototype.includes` method
        // https://tc39.es/ecma262/#sec-array.prototype.includes
        includes: createMethod(true),
        // `Array.prototype.indexOf` method
        // https://tc39.es/ecma262/#sec-array.prototype.indexof
        indexOf: createMethod(false)
      };
    }
  });

  // node_modules/core-js/internals/object-keys-internal.js
  var require_object_keys_internal = __commonJS({
    "node_modules/core-js/internals/object-keys-internal.js"(exports, module2) {
      var uncurryThis = require_function_uncurry_this();
      var hasOwn2 = require_has_own_property();
      var toIndexedObject = require_to_indexed_object();
      var indexOf = require_array_includes().indexOf;
      var hiddenKeys = require_hidden_keys();
      var push = uncurryThis([].push);
      module2.exports = function(object, names) {
        var O = toIndexedObject(object);
        var i = 0;
        var result2 = [];
        var key;
        for (key in O)
          !hasOwn2(hiddenKeys, key) && hasOwn2(O, key) && push(result2, key);
        while (names.length > i)
          if (hasOwn2(O, key = names[i++])) {
            ~indexOf(result2, key) || push(result2, key);
          }
        return result2;
      };
    }
  });

  // node_modules/core-js/internals/enum-bug-keys.js
  var require_enum_bug_keys = __commonJS({
    "node_modules/core-js/internals/enum-bug-keys.js"(exports, module2) {
      module2.exports = [
        "constructor",
        "hasOwnProperty",
        "isPrototypeOf",
        "propertyIsEnumerable",
        "toLocaleString",
        "toString",
        "valueOf"
      ];
    }
  });

  // node_modules/core-js/internals/object-get-own-property-names.js
  var require_object_get_own_property_names = __commonJS({
    "node_modules/core-js/internals/object-get-own-property-names.js"(exports) {
      var internalObjectKeys = require_object_keys_internal();
      var enumBugKeys = require_enum_bug_keys();
      var hiddenKeys = enumBugKeys.concat("length", "prototype");
      exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
        return internalObjectKeys(O, hiddenKeys);
      };
    }
  });

  // node_modules/core-js/internals/object-get-own-property-symbols.js
  var require_object_get_own_property_symbols = __commonJS({
    "node_modules/core-js/internals/object-get-own-property-symbols.js"(exports) {
      exports.f = Object.getOwnPropertySymbols;
    }
  });

  // node_modules/core-js/internals/own-keys.js
  var require_own_keys = __commonJS({
    "node_modules/core-js/internals/own-keys.js"(exports, module2) {
      var getBuiltIn = require_get_built_in();
      var uncurryThis = require_function_uncurry_this();
      var getOwnPropertyNamesModule = require_object_get_own_property_names();
      var getOwnPropertySymbolsModule = require_object_get_own_property_symbols();
      var anObject = require_an_object();
      var concat2 = uncurryThis([].concat);
      module2.exports = getBuiltIn("Reflect", "ownKeys") || function ownKeys(it) {
        var keys = getOwnPropertyNamesModule.f(anObject(it));
        var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
        return getOwnPropertySymbols ? concat2(keys, getOwnPropertySymbols(it)) : keys;
      };
    }
  });

  // node_modules/core-js/internals/copy-constructor-properties.js
  var require_copy_constructor_properties = __commonJS({
    "node_modules/core-js/internals/copy-constructor-properties.js"(exports, module2) {
      var hasOwn2 = require_has_own_property();
      var ownKeys = require_own_keys();
      var getOwnPropertyDescriptorModule = require_object_get_own_property_descriptor();
      var definePropertyModule = require_object_define_property();
      module2.exports = function(target, source) {
        var keys = ownKeys(source);
        var defineProperty = definePropertyModule.f;
        var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
        for (var i = 0; i < keys.length; i++) {
          var key = keys[i];
          if (!hasOwn2(target, key))
            defineProperty(target, key, getOwnPropertyDescriptor(source, key));
        }
      };
    }
  });

  // node_modules/core-js/internals/is-forced.js
  var require_is_forced = __commonJS({
    "node_modules/core-js/internals/is-forced.js"(exports, module2) {
      var fails = require_fails();
      var isCallable = require_is_callable();
      var replacement = /#|\.prototype\./;
      var isForced = function(feature, detection) {
        var value = data[normalize3(feature)];
        return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;
      };
      var normalize3 = isForced.normalize = function(string) {
        return String(string).replace(replacement, ".").toLowerCase();
      };
      var data = isForced.data = {};
      var NATIVE = isForced.NATIVE = "N";
      var POLYFILL = isForced.POLYFILL = "P";
      module2.exports = isForced;
    }
  });

  // node_modules/core-js/internals/export.js
  var require_export = __commonJS({
    "node_modules/core-js/internals/export.js"(exports, module2) {
      var global2 = require_global();
      var getOwnPropertyDescriptor = require_object_get_own_property_descriptor().f;
      var createNonEnumerableProperty = require_create_non_enumerable_property();
      var redefine = require_redefine();
      var setGlobal = require_set_global();
      var copyConstructorProperties = require_copy_constructor_properties();
      var isForced = require_is_forced();
      module2.exports = function(options, source) {
        var TARGET = options.target;
        var GLOBAL = options.global;
        var STATIC = options.stat;
        var FORCED, target, key, targetProperty, sourceProperty, descriptor;
        if (GLOBAL) {
          target = global2;
        } else if (STATIC) {
          target = global2[TARGET] || setGlobal(TARGET, {});
        } else {
          target = (global2[TARGET] || {}).prototype;
        }
        if (target)
          for (key in source) {
            sourceProperty = source[key];
            if (options.noTargetGet) {
              descriptor = getOwnPropertyDescriptor(target, key);
              targetProperty = descriptor && descriptor.value;
            } else
              targetProperty = target[key];
            FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? "." : "#") + key, options.forced);
            if (!FORCED && targetProperty !== void 0) {
              if (typeof sourceProperty == typeof targetProperty)
                continue;
              copyConstructorProperties(sourceProperty, targetProperty);
            }
            if (options.sham || targetProperty && targetProperty.sham) {
              createNonEnumerableProperty(sourceProperty, "sham", true);
            }
            redefine(target, key, sourceProperty, options);
          }
      };
    }
  });

  // node_modules/core-js/internals/is-array.js
  var require_is_array = __commonJS({
    "node_modules/core-js/internals/is-array.js"(exports, module2) {
      var classof = require_classof_raw();
      module2.exports = Array.isArray || function isArray2(argument) {
        return classof(argument) == "Array";
      };
    }
  });

  // node_modules/core-js/internals/create-property.js
  var require_create_property = __commonJS({
    "node_modules/core-js/internals/create-property.js"(exports, module2) {
      "use strict";
      var toPropertyKey = require_to_property_key();
      var definePropertyModule = require_object_define_property();
      var createPropertyDescriptor = require_create_property_descriptor();
      module2.exports = function(object, key, value) {
        var propertyKey = toPropertyKey(key);
        if (propertyKey in object)
          definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
        else
          object[propertyKey] = value;
      };
    }
  });

  // node_modules/core-js/internals/to-string-tag-support.js
  var require_to_string_tag_support = __commonJS({
    "node_modules/core-js/internals/to-string-tag-support.js"(exports, module2) {
      var wellKnownSymbol = require_well_known_symbol();
      var TO_STRING_TAG = wellKnownSymbol("toStringTag");
      var test2 = {};
      test2[TO_STRING_TAG] = "z";
      module2.exports = String(test2) === "[object z]";
    }
  });

  // node_modules/core-js/internals/classof.js
  var require_classof = __commonJS({
    "node_modules/core-js/internals/classof.js"(exports, module2) {
      var global2 = require_global();
      var TO_STRING_TAG_SUPPORT = require_to_string_tag_support();
      var isCallable = require_is_callable();
      var classofRaw = require_classof_raw();
      var wellKnownSymbol = require_well_known_symbol();
      var TO_STRING_TAG = wellKnownSymbol("toStringTag");
      var Object2 = global2.Object;
      var CORRECT_ARGUMENTS = classofRaw(function() {
        return arguments;
      }()) == "Arguments";
      var tryGet = function(it, key) {
        try {
          return it[key];
        } catch (error) {
        }
      };
      module2.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function(it) {
        var O, tag, result2;
        return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (tag = tryGet(O = Object2(it), TO_STRING_TAG)) == "string" ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result2 = classofRaw(O)) == "Object" && isCallable(O.callee) ? "Arguments" : result2;
      };
    }
  });

  // node_modules/core-js/internals/is-constructor.js
  var require_is_constructor = __commonJS({
    "node_modules/core-js/internals/is-constructor.js"(exports, module2) {
      var uncurryThis = require_function_uncurry_this();
      var fails = require_fails();
      var isCallable = require_is_callable();
      var classof = require_classof();
      var getBuiltIn = require_get_built_in();
      var inspectSource = require_inspect_source();
      var noop2 = function() {
      };
      var empty = [];
      var construct = getBuiltIn("Reflect", "construct");
      var constructorRegExp = /^\s*(?:class|function)\b/;
      var exec = uncurryThis(constructorRegExp.exec);
      var INCORRECT_TO_STRING = !constructorRegExp.exec(noop2);
      var isConstructorModern = function(argument) {
        if (!isCallable(argument))
          return false;
        try {
          construct(noop2, empty, argument);
          return true;
        } catch (error) {
          return false;
        }
      };
      var isConstructorLegacy = function(argument) {
        if (!isCallable(argument))
          return false;
        switch (classof(argument)) {
          case "AsyncFunction":
          case "GeneratorFunction":
          case "AsyncGeneratorFunction":
            return false;
        }
        return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
      };
      module2.exports = !construct || fails(function() {
        var called;
        return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function() {
          called = true;
        }) || called;
      }) ? isConstructorLegacy : isConstructorModern;
    }
  });

  // node_modules/core-js/internals/array-species-constructor.js
  var require_array_species_constructor = __commonJS({
    "node_modules/core-js/internals/array-species-constructor.js"(exports, module2) {
      var global2 = require_global();
      var isArray2 = require_is_array();
      var isConstructor = require_is_constructor();
      var isObject2 = require_is_object();
      var wellKnownSymbol = require_well_known_symbol();
      var SPECIES = wellKnownSymbol("species");
      var Array2 = global2.Array;
      module2.exports = function(originalArray) {
        var C;
        if (isArray2(originalArray)) {
          C = originalArray.constructor;
          if (isConstructor(C) && (C === Array2 || isArray2(C.prototype)))
            C = void 0;
          else if (isObject2(C)) {
            C = C[SPECIES];
            if (C === null)
              C = void 0;
          }
        }
        return C === void 0 ? Array2 : C;
      };
    }
  });

  // node_modules/core-js/internals/array-species-create.js
  var require_array_species_create = __commonJS({
    "node_modules/core-js/internals/array-species-create.js"(exports, module2) {
      var arraySpeciesConstructor = require_array_species_constructor();
      module2.exports = function(originalArray, length) {
        return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
      };
    }
  });

  // node_modules/core-js/internals/array-method-has-species-support.js
  var require_array_method_has_species_support = __commonJS({
    "node_modules/core-js/internals/array-method-has-species-support.js"(exports, module2) {
      var fails = require_fails();
      var wellKnownSymbol = require_well_known_symbol();
      var V8_VERSION = require_engine_v8_version();
      var SPECIES = wellKnownSymbol("species");
      module2.exports = function(METHOD_NAME) {
        return V8_VERSION >= 51 || !fails(function() {
          var array = [];
          var constructor = array.constructor = {};
          constructor[SPECIES] = function() {
            return { foo: 1 };
          };
          return array[METHOD_NAME](Boolean).foo !== 1;
        });
      };
    }
  });

  // node_modules/core-js/modules/es.array.concat.js
  var require_es_array_concat = __commonJS({
    "node_modules/core-js/modules/es.array.concat.js"() {
      "use strict";
      var $2 = require_export();
      var global2 = require_global();
      var fails = require_fails();
      var isArray2 = require_is_array();
      var isObject2 = require_is_object();
      var toObject = require_to_object();
      var lengthOfArrayLike = require_length_of_array_like();
      var createProperty = require_create_property();
      var arraySpeciesCreate = require_array_species_create();
      var arrayMethodHasSpeciesSupport = require_array_method_has_species_support();
      var wellKnownSymbol = require_well_known_symbol();
      var V8_VERSION = require_engine_v8_version();
      var IS_CONCAT_SPREADABLE = wellKnownSymbol("isConcatSpreadable");
      var MAX_SAFE_INTEGER = 9007199254740991;
      var MAXIMUM_ALLOWED_INDEX_EXCEEDED = "Maximum allowed index exceeded";
      var TypeError2 = global2.TypeError;
      var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function() {
        var array = [];
        array[IS_CONCAT_SPREADABLE] = false;
        return array.concat()[0] !== array;
      });
      var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport("concat");
      var isConcatSpreadable = function(O) {
        if (!isObject2(O))
          return false;
        var spreadable = O[IS_CONCAT_SPREADABLE];
        return spreadable !== void 0 ? !!spreadable : isArray2(O);
      };
      var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
      $2({ target: "Array", proto: true, forced: FORCED }, {
        // eslint-disable-next-line no-unused-vars -- required for `.length`
        concat: function concat2(arg) {
          var O = toObject(this);
          var A = arraySpeciesCreate(O, 0);
          var n = 0;
          var i, k, length, len, E;
          for (i = -1, length = arguments.length; i < length; i++) {
            E = i === -1 ? O : arguments[i];
            if (isConcatSpreadable(E)) {
              len = lengthOfArrayLike(E);
              if (n + len > MAX_SAFE_INTEGER)
                throw TypeError2(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
              for (k = 0; k < len; k++, n++)
                if (k in E)
                  createProperty(A, n, E[k]);
            } else {
              if (n >= MAX_SAFE_INTEGER)
                throw TypeError2(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
              createProperty(A, n++, E);
            }
          }
          A.length = n;
          return A;
        }
      });
    }
  });

  // node_modules/core-js/internals/object-to-string.js
  var require_object_to_string = __commonJS({
    "node_modules/core-js/internals/object-to-string.js"(exports, module2) {
      "use strict";
      var TO_STRING_TAG_SUPPORT = require_to_string_tag_support();
      var classof = require_classof();
      module2.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString3() {
        return "[object " + classof(this) + "]";
      };
    }
  });

  // node_modules/core-js/modules/es.object.to-string.js
  var require_es_object_to_string = __commonJS({
    "node_modules/core-js/modules/es.object.to-string.js"() {
      var TO_STRING_TAG_SUPPORT = require_to_string_tag_support();
      var redefine = require_redefine();
      var toString3 = require_object_to_string();
      if (!TO_STRING_TAG_SUPPORT) {
        redefine(Object.prototype, "toString", toString3, { unsafe: true });
      }
    }
  });

  // node_modules/core-js/internals/function-apply.js
  var require_function_apply = __commonJS({
    "node_modules/core-js/internals/function-apply.js"(exports, module2) {
      var FunctionPrototype = Function.prototype;
      var apply = FunctionPrototype.apply;
      var bind3 = FunctionPrototype.bind;
      var call = FunctionPrototype.call;
      module2.exports = typeof Reflect == "object" && Reflect.apply || (bind3 ? call.bind(apply) : function() {
        return call.apply(apply, arguments);
      });
    }
  });

  // node_modules/core-js/internals/to-string.js
  var require_to_string = __commonJS({
    "node_modules/core-js/internals/to-string.js"(exports, module2) {
      var global2 = require_global();
      var classof = require_classof();
      var String2 = global2.String;
      module2.exports = function(argument) {
        if (classof(argument) === "Symbol")
          throw TypeError("Cannot convert a Symbol value to a string");
        return String2(argument);
      };
    }
  });

  // node_modules/core-js/internals/object-keys.js
  var require_object_keys = __commonJS({
    "node_modules/core-js/internals/object-keys.js"(exports, module2) {
      var internalObjectKeys = require_object_keys_internal();
      var enumBugKeys = require_enum_bug_keys();
      module2.exports = Object.keys || function keys(O) {
        return internalObjectKeys(O, enumBugKeys);
      };
    }
  });

  // node_modules/core-js/internals/object-define-properties.js
  var require_object_define_properties = __commonJS({
    "node_modules/core-js/internals/object-define-properties.js"(exports, module2) {
      var DESCRIPTORS = require_descriptors();
      var definePropertyModule = require_object_define_property();
      var anObject = require_an_object();
      var toIndexedObject = require_to_indexed_object();
      var objectKeys = require_object_keys();
      module2.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
        anObject(O);
        var props = toIndexedObject(Properties);
        var keys = objectKeys(Properties);
        var length = keys.length;
        var index = 0;
        var key;
        while (length > index)
          definePropertyModule.f(O, key = keys[index++], props[key]);
        return O;
      };
    }
  });

  // node_modules/core-js/internals/html.js
  var require_html = __commonJS({
    "node_modules/core-js/internals/html.js"(exports, module2) {
      var getBuiltIn = require_get_built_in();
      module2.exports = getBuiltIn("document", "documentElement");
    }
  });

  // node_modules/core-js/internals/object-create.js
  var require_object_create = __commonJS({
    "node_modules/core-js/internals/object-create.js"(exports, module2) {
      var anObject = require_an_object();
      var defineProperties = require_object_define_properties();
      var enumBugKeys = require_enum_bug_keys();
      var hiddenKeys = require_hidden_keys();
      var html = require_html();
      var documentCreateElement = require_document_create_element();
      var sharedKey = require_shared_key();
      var GT = ">";
      var LT = "<";
      var PROTOTYPE = "prototype";
      var SCRIPT = "script";
      var IE_PROTO = sharedKey("IE_PROTO");
      var EmptyConstructor = function() {
      };
      var scriptTag = function(content) {
        return LT + SCRIPT + GT + content + LT + "/" + SCRIPT + GT;
      };
      var NullProtoObjectViaActiveX = function(activeXDocument2) {
        activeXDocument2.write(scriptTag(""));
        activeXDocument2.close();
        var temp = activeXDocument2.parentWindow.Object;
        activeXDocument2 = null;
        return temp;
      };
      var NullProtoObjectViaIFrame = function() {
        var iframe = documentCreateElement("iframe");
        var JS = "java" + SCRIPT + ":";
        var iframeDocument;
        iframe.style.display = "none";
        html.appendChild(iframe);
        iframe.src = String(JS);
        iframeDocument = iframe.contentWindow.document;
        iframeDocument.open();
        iframeDocument.write(scriptTag("document.F=Object"));
        iframeDocument.close();
        return iframeDocument.F;
      };
      var activeXDocument;
      var NullProtoObject = function() {
        try {
          activeXDocument = new ActiveXObject("htmlfile");
        } catch (error) {
        }
        NullProtoObject = typeof document != "undefined" ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument);
        var length = enumBugKeys.length;
        while (length--)
          delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
        return NullProtoObject();
      };
      hiddenKeys[IE_PROTO] = true;
      module2.exports = Object.create || function create5(O, Properties) {
        var result2;
        if (O !== null) {
          EmptyConstructor[PROTOTYPE] = anObject(O);
          result2 = new EmptyConstructor();
          EmptyConstructor[PROTOTYPE] = null;
          result2[IE_PROTO] = O;
        } else
          result2 = NullProtoObject();
        return Properties === void 0 ? result2 : defineProperties(result2, Properties);
      };
    }
  });

  // node_modules/core-js/internals/array-slice.js
  var require_array_slice = __commonJS({
    "node_modules/core-js/internals/array-slice.js"(exports, module2) {
      var uncurryThis = require_function_uncurry_this();
      module2.exports = uncurryThis([].slice);
    }
  });

  // node_modules/core-js/internals/object-get-own-property-names-external.js
  var require_object_get_own_property_names_external = __commonJS({
    "node_modules/core-js/internals/object-get-own-property-names-external.js"(exports, module2) {
      var classof = require_classof_raw();
      var toIndexedObject = require_to_indexed_object();
      var $getOwnPropertyNames = require_object_get_own_property_names().f;
      var arraySlice = require_array_slice();
      var windowNames = typeof window == "object" && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
      var getWindowNames = function(it) {
        try {
          return $getOwnPropertyNames(it);
        } catch (error) {
          return arraySlice(windowNames);
        }
      };
      module2.exports.f = function getOwnPropertyNames(it) {
        return windowNames && classof(it) == "Window" ? getWindowNames(it) : $getOwnPropertyNames(toIndexedObject(it));
      };
    }
  });

  // node_modules/core-js/internals/well-known-symbol-wrapped.js
  var require_well_known_symbol_wrapped = __commonJS({
    "node_modules/core-js/internals/well-known-symbol-wrapped.js"(exports) {
      var wellKnownSymbol = require_well_known_symbol();
      exports.f = wellKnownSymbol;
    }
  });

  // node_modules/core-js/internals/path.js
  var require_path = __commonJS({
    "node_modules/core-js/internals/path.js"(exports, module2) {
      var global2 = require_global();
      module2.exports = global2;
    }
  });

  // node_modules/core-js/internals/define-well-known-symbol.js
  var require_define_well_known_symbol = __commonJS({
    "node_modules/core-js/internals/define-well-known-symbol.js"(exports, module2) {
      var path = require_path();
      var hasOwn2 = require_has_own_property();
      var wrappedWellKnownSymbolModule = require_well_known_symbol_wrapped();
      var defineProperty = require_object_define_property().f;
      module2.exports = function(NAME) {
        var Symbol2 = path.Symbol || (path.Symbol = {});
        if (!hasOwn2(Symbol2, NAME))
          defineProperty(Symbol2, NAME, {
            value: wrappedWellKnownSymbolModule.f(NAME)
          });
      };
    }
  });

  // node_modules/core-js/internals/set-to-string-tag.js
  var require_set_to_string_tag = __commonJS({
    "node_modules/core-js/internals/set-to-string-tag.js"(exports, module2) {
      var defineProperty = require_object_define_property().f;
      var hasOwn2 = require_has_own_property();
      var wellKnownSymbol = require_well_known_symbol();
      var TO_STRING_TAG = wellKnownSymbol("toStringTag");
      module2.exports = function(it, TAG, STATIC) {
        if (it && !hasOwn2(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
          defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });
        }
      };
    }
  });

  // node_modules/core-js/internals/function-bind-context.js
  var require_function_bind_context = __commonJS({
    "node_modules/core-js/internals/function-bind-context.js"(exports, module2) {
      var uncurryThis = require_function_uncurry_this();
      var aCallable = require_a_callable();
      var bind3 = uncurryThis(uncurryThis.bind);
      module2.exports = function(fn, that) {
        aCallable(fn);
        return that === void 0 ? fn : bind3 ? bind3(fn, that) : function() {
          return fn.apply(that, arguments);
        };
      };
    }
  });

  // node_modules/core-js/internals/array-iteration.js
  var require_array_iteration = __commonJS({
    "node_modules/core-js/internals/array-iteration.js"(exports, module2) {
      var bind3 = require_function_bind_context();
      var uncurryThis = require_function_uncurry_this();
      var IndexedObject = require_indexed_object();
      var toObject = require_to_object();
      var lengthOfArrayLike = require_length_of_array_like();
      var arraySpeciesCreate = require_array_species_create();
      var push = uncurryThis([].push);
      var createMethod = function(TYPE2) {
        var IS_MAP = TYPE2 == 1;
        var IS_FILTER = TYPE2 == 2;
        var IS_SOME = TYPE2 == 3;
        var IS_EVERY = TYPE2 == 4;
        var IS_FIND_INDEX = TYPE2 == 6;
        var IS_FILTER_REJECT = TYPE2 == 7;
        var NO_HOLES = TYPE2 == 5 || IS_FIND_INDEX;
        return function($this, callbackfn, that, specificCreate) {
          var O = toObject($this);
          var self2 = IndexedObject(O);
          var boundFunction = bind3(callbackfn, that);
          var length = lengthOfArrayLike(self2);
          var index = 0;
          var create5 = specificCreate || arraySpeciesCreate;
          var target = IS_MAP ? create5($this, length) : IS_FILTER || IS_FILTER_REJECT ? create5($this, 0) : void 0;
          var value, result2;
          for (; length > index; index++)
            if (NO_HOLES || index in self2) {
              value = self2[index];
              result2 = boundFunction(value, index, O);
              if (TYPE2) {
                if (IS_MAP)
                  target[index] = result2;
                else if (result2)
                  switch (TYPE2) {
                    case 3:
                      return true;
                    case 5:
                      return value;
                    case 6:
                      return index;
                    case 2:
                      push(target, value);
                  }
                else
                  switch (TYPE2) {
                    case 4:
                      return false;
                    case 7:
                      push(target, value);
                  }
              }
            }
          return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
        };
      };
      module2.exports = {
        // `Array.prototype.forEach` method
        // https://tc39.es/ecma262/#sec-array.prototype.foreach
        forEach: createMethod(0),
        // `Array.prototype.map` method
        // https://tc39.es/ecma262/#sec-array.prototype.map
        map: createMethod(1),
        // `Array.prototype.filter` method
        // https://tc39.es/ecma262/#sec-array.prototype.filter
        filter: createMethod(2),
        // `Array.prototype.some` method
        // https://tc39.es/ecma262/#sec-array.prototype.some
        some: createMethod(3),
        // `Array.prototype.every` method
        // https://tc39.es/ecma262/#sec-array.prototype.every
        every: createMethod(4),
        // `Array.prototype.find` method
        // https://tc39.es/ecma262/#sec-array.prototype.find
        find: createMethod(5),
        // `Array.prototype.findIndex` method
        // https://tc39.es/ecma262/#sec-array.prototype.findIndex
        findIndex: createMethod(6),
        // `Array.prototype.filterReject` method
        // https://github.com/tc39/proposal-array-filtering
        filterReject: createMethod(7)
      };
    }
  });

  // node_modules/core-js/modules/es.symbol.js
  var require_es_symbol = __commonJS({
    "node_modules/core-js/modules/es.symbol.js"() {
      "use strict";
      var $2 = require_export();
      var global2 = require_global();
      var getBuiltIn = require_get_built_in();
      var apply = require_function_apply();
      var call = require_function_call();
      var uncurryThis = require_function_uncurry_this();
      var IS_PURE = require_is_pure();
      var DESCRIPTORS = require_descriptors();
      var NATIVE_SYMBOL = require_native_symbol();
      var fails = require_fails();
      var hasOwn2 = require_has_own_property();
      var isArray2 = require_is_array();
      var isCallable = require_is_callable();
      var isObject2 = require_is_object();
      var isPrototypeOf = require_object_is_prototype_of();
      var isSymbol = require_is_symbol();
      var anObject = require_an_object();
      var toObject = require_to_object();
      var toIndexedObject = require_to_indexed_object();
      var toPropertyKey = require_to_property_key();
      var $toString = require_to_string();
      var createPropertyDescriptor = require_create_property_descriptor();
      var nativeObjectCreate = require_object_create();
      var objectKeys = require_object_keys();
      var getOwnPropertyNamesModule = require_object_get_own_property_names();
      var getOwnPropertyNamesExternal = require_object_get_own_property_names_external();
      var getOwnPropertySymbolsModule = require_object_get_own_property_symbols();
      var getOwnPropertyDescriptorModule = require_object_get_own_property_descriptor();
      var definePropertyModule = require_object_define_property();
      var propertyIsEnumerableModule = require_object_property_is_enumerable();
      var arraySlice = require_array_slice();
      var redefine = require_redefine();
      var shared = require_shared2();
      var sharedKey = require_shared_key();
      var hiddenKeys = require_hidden_keys();
      var uid = require_uid();
      var wellKnownSymbol = require_well_known_symbol();
      var wrappedWellKnownSymbolModule = require_well_known_symbol_wrapped();
      var defineWellKnownSymbol = require_define_well_known_symbol();
      var setToStringTag = require_set_to_string_tag();
      var InternalStateModule = require_internal_state();
      var $forEach = require_array_iteration().forEach;
      var HIDDEN = sharedKey("hidden");
      var SYMBOL = "Symbol";
      var PROTOTYPE = "prototype";
      var TO_PRIMITIVE = wellKnownSymbol("toPrimitive");
      var setInternalState = InternalStateModule.set;
      var getInternalState = InternalStateModule.getterFor(SYMBOL);
      var ObjectPrototype = Object[PROTOTYPE];
      var $Symbol = global2.Symbol;
      var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];
      var TypeError2 = global2.TypeError;
      var QObject = global2.QObject;
      var $stringify = getBuiltIn("JSON", "stringify");
      var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
      var nativeDefineProperty = definePropertyModule.f;
      var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
      var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
      var push = uncurryThis([].push);
      var AllSymbols = shared("symbols");
      var ObjectPrototypeSymbols = shared("op-symbols");
      var StringToSymbolRegistry = shared("string-to-symbol-registry");
      var SymbolToStringRegistry = shared("symbol-to-string-registry");
      var WellKnownSymbolsStore = shared("wks");
      var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
      var setSymbolDescriptor = DESCRIPTORS && fails(function() {
        return nativeObjectCreate(nativeDefineProperty({}, "a", {
          get: function() {
            return nativeDefineProperty(this, "a", { value: 7 }).a;
          }
        })).a != 7;
      }) ? function(O, P, Attributes) {
        var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
        if (ObjectPrototypeDescriptor)
          delete ObjectPrototype[P];
        nativeDefineProperty(O, P, Attributes);
        if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
          nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
        }
      } : nativeDefineProperty;
      var wrap4 = function(tag, description) {
        var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);
        setInternalState(symbol, {
          type: SYMBOL,
          tag,
          description
        });
        if (!DESCRIPTORS)
          symbol.description = description;
        return symbol;
      };
      var $defineProperty = function defineProperty(O, P, Attributes) {
        if (O === ObjectPrototype)
          $defineProperty(ObjectPrototypeSymbols, P, Attributes);
        anObject(O);
        var key = toPropertyKey(P);
        anObject(Attributes);
        if (hasOwn2(AllSymbols, key)) {
          if (!Attributes.enumerable) {
            if (!hasOwn2(O, HIDDEN))
              nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
            O[HIDDEN][key] = true;
          } else {
            if (hasOwn2(O, HIDDEN) && O[HIDDEN][key])
              O[HIDDEN][key] = false;
            Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
          }
          return setSymbolDescriptor(O, key, Attributes);
        }
        return nativeDefineProperty(O, key, Attributes);
      };
      var $defineProperties = function defineProperties(O, Properties) {
        anObject(O);
        var properties = toIndexedObject(Properties);
        var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
        $forEach(keys, function(key) {
          if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key))
            $defineProperty(O, key, properties[key]);
        });
        return O;
      };
      var $create = function create5(O, Properties) {
        return Properties === void 0 ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
      };
      var $propertyIsEnumerable = function propertyIsEnumerable(V) {
        var P = toPropertyKey(V);
        var enumerable = call(nativePropertyIsEnumerable, this, P);
        if (this === ObjectPrototype && hasOwn2(AllSymbols, P) && !hasOwn2(ObjectPrototypeSymbols, P))
          return false;
        return enumerable || !hasOwn2(this, P) || !hasOwn2(AllSymbols, P) || hasOwn2(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
      };
      var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
        var it = toIndexedObject(O);
        var key = toPropertyKey(P);
        if (it === ObjectPrototype && hasOwn2(AllSymbols, key) && !hasOwn2(ObjectPrototypeSymbols, key))
          return;
        var descriptor = nativeGetOwnPropertyDescriptor(it, key);
        if (descriptor && hasOwn2(AllSymbols, key) && !(hasOwn2(it, HIDDEN) && it[HIDDEN][key])) {
          descriptor.enumerable = true;
        }
        return descriptor;
      };
      var $getOwnPropertyNames = function getOwnPropertyNames(O) {
        var names = nativeGetOwnPropertyNames(toIndexedObject(O));
        var result2 = [];
        $forEach(names, function(key) {
          if (!hasOwn2(AllSymbols, key) && !hasOwn2(hiddenKeys, key))
            push(result2, key);
        });
        return result2;
      };
      var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
        var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
        var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
        var result2 = [];
        $forEach(names, function(key) {
          if (hasOwn2(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn2(ObjectPrototype, key))) {
            push(result2, AllSymbols[key]);
          }
        });
        return result2;
      };
      if (!NATIVE_SYMBOL) {
        $Symbol = function Symbol2() {
          if (isPrototypeOf(SymbolPrototype, this))
            throw TypeError2("Symbol is not a constructor");
          var description = !arguments.length || arguments[0] === void 0 ? void 0 : $toString(arguments[0]);
          var tag = uid(description);
          var setter = function(value) {
            if (this === ObjectPrototype)
              call(setter, ObjectPrototypeSymbols, value);
            if (hasOwn2(this, HIDDEN) && hasOwn2(this[HIDDEN], tag))
              this[HIDDEN][tag] = false;
            setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
          };
          if (DESCRIPTORS && USE_SETTER)
            setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
          return wrap4(tag, description);
        };
        SymbolPrototype = $Symbol[PROTOTYPE];
        redefine(SymbolPrototype, "toString", function toString3() {
          return getInternalState(this).tag;
        });
        redefine($Symbol, "withoutSetter", function(description) {
          return wrap4(uid(description), description);
        });
        propertyIsEnumerableModule.f = $propertyIsEnumerable;
        definePropertyModule.f = $defineProperty;
        getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
        getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
        getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
        wrappedWellKnownSymbolModule.f = function(name) {
          return wrap4(wellKnownSymbol(name), name);
        };
        if (DESCRIPTORS) {
          nativeDefineProperty(SymbolPrototype, "description", {
            configurable: true,
            get: function description() {
              return getInternalState(this).description;
            }
          });
          if (!IS_PURE) {
            redefine(ObjectPrototype, "propertyIsEnumerable", $propertyIsEnumerable, { unsafe: true });
          }
        }
      }
      $2({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
        Symbol: $Symbol
      });
      $forEach(objectKeys(WellKnownSymbolsStore), function(name) {
        defineWellKnownSymbol(name);
      });
      $2({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {
        // `Symbol.for` method
        // https://tc39.es/ecma262/#sec-symbol.for
        "for": function(key) {
          var string = $toString(key);
          if (hasOwn2(StringToSymbolRegistry, string))
            return StringToSymbolRegistry[string];
          var symbol = $Symbol(string);
          StringToSymbolRegistry[string] = symbol;
          SymbolToStringRegistry[symbol] = string;
          return symbol;
        },
        // `Symbol.keyFor` method
        // https://tc39.es/ecma262/#sec-symbol.keyfor
        keyFor: function keyFor(sym) {
          if (!isSymbol(sym))
            throw TypeError2(sym + " is not a symbol");
          if (hasOwn2(SymbolToStringRegistry, sym))
            return SymbolToStringRegistry[sym];
        },
        useSetter: function() {
          USE_SETTER = true;
        },
        useSimple: function() {
          USE_SETTER = false;
        }
      });
      $2({ target: "Object", stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {
        // `Object.create` method
        // https://tc39.es/ecma262/#sec-object.create
        create: $create,
        // `Object.defineProperty` method
        // https://tc39.es/ecma262/#sec-object.defineproperty
        defineProperty: $defineProperty,
        // `Object.defineProperties` method
        // https://tc39.es/ecma262/#sec-object.defineproperties
        defineProperties: $defineProperties,
        // `Object.getOwnPropertyDescriptor` method
        // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
        getOwnPropertyDescriptor: $getOwnPropertyDescriptor
      });
      $2({ target: "Object", stat: true, forced: !NATIVE_SYMBOL }, {
        // `Object.getOwnPropertyNames` method
        // https://tc39.es/ecma262/#sec-object.getownpropertynames
        getOwnPropertyNames: $getOwnPropertyNames,
        // `Object.getOwnPropertySymbols` method
        // https://tc39.es/ecma262/#sec-object.getownpropertysymbols
        getOwnPropertySymbols: $getOwnPropertySymbols
      });
      $2({ target: "Object", stat: true, forced: fails(function() {
        getOwnPropertySymbolsModule.f(1);
      }) }, {
        getOwnPropertySymbols: function getOwnPropertySymbols(it) {
          return getOwnPropertySymbolsModule.f(toObject(it));
        }
      });
      if ($stringify) {
        FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function() {
          var symbol = $Symbol();
          return $stringify([symbol]) != "[null]" || $stringify({ a: symbol }) != "{}" || $stringify(Object(symbol)) != "{}";
        });
        $2({ target: "JSON", stat: true, forced: FORCED_JSON_STRINGIFY }, {
          // eslint-disable-next-line no-unused-vars -- required for `.length`
          stringify: function stringify3(it, replacer, space) {
            var args = arraySlice(arguments);
            var $replacer = replacer;
            if (!isObject2(replacer) && it === void 0 || isSymbol(it))
              return;
            if (!isArray2(replacer))
              replacer = function(key, value) {
                if (isCallable($replacer))
                  value = call($replacer, this, key, value);
                if (!isSymbol(value))
                  return value;
              };
            args[1] = replacer;
            return apply($stringify, null, args);
          }
        });
      }
      var FORCED_JSON_STRINGIFY;
      if (!SymbolPrototype[TO_PRIMITIVE]) {
        valueOf = SymbolPrototype.valueOf;
        redefine(SymbolPrototype, TO_PRIMITIVE, function(hint) {
          return call(valueOf, this);
        });
      }
      var valueOf;
      setToStringTag($Symbol, SYMBOL);
      hiddenKeys[HIDDEN] = true;
    }
  });

  // node_modules/core-js/modules/es.symbol.async-iterator.js
  var require_es_symbol_async_iterator = __commonJS({
    "node_modules/core-js/modules/es.symbol.async-iterator.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("asyncIterator");
    }
  });

  // node_modules/core-js/modules/es.symbol.description.js
  var require_es_symbol_description = __commonJS({
    "node_modules/core-js/modules/es.symbol.description.js"() {
      "use strict";
      var $2 = require_export();
      var DESCRIPTORS = require_descriptors();
      var global2 = require_global();
      var uncurryThis = require_function_uncurry_this();
      var hasOwn2 = require_has_own_property();
      var isCallable = require_is_callable();
      var isPrototypeOf = require_object_is_prototype_of();
      var toString3 = require_to_string();
      var defineProperty = require_object_define_property().f;
      var copyConstructorProperties = require_copy_constructor_properties();
      var NativeSymbol = global2.Symbol;
      var SymbolPrototype = NativeSymbol && NativeSymbol.prototype;
      if (DESCRIPTORS && isCallable(NativeSymbol) && (!("description" in SymbolPrototype) || // Safari 12 bug
      NativeSymbol().description !== void 0)) {
        EmptyStringDescriptionStore = {};
        SymbolWrapper = function Symbol2() {
          var description = arguments.length < 1 || arguments[0] === void 0 ? void 0 : toString3(arguments[0]);
          var result2 = isPrototypeOf(SymbolPrototype, this) ? new NativeSymbol(description) : description === void 0 ? NativeSymbol() : NativeSymbol(description);
          if (description === "")
            EmptyStringDescriptionStore[result2] = true;
          return result2;
        };
        copyConstructorProperties(SymbolWrapper, NativeSymbol);
        SymbolWrapper.prototype = SymbolPrototype;
        SymbolPrototype.constructor = SymbolWrapper;
        NATIVE_SYMBOL = String(NativeSymbol("test")) == "Symbol(test)";
        symbolToString = uncurryThis(SymbolPrototype.toString);
        symbolValueOf = uncurryThis(SymbolPrototype.valueOf);
        regexp = /^Symbol\((.*)\)[^)]+$/;
        replace = uncurryThis("".replace);
        stringSlice = uncurryThis("".slice);
        defineProperty(SymbolPrototype, "description", {
          configurable: true,
          get: function description() {
            var symbol = symbolValueOf(this);
            var string = symbolToString(symbol);
            if (hasOwn2(EmptyStringDescriptionStore, symbol))
              return "";
            var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, "$1");
            return desc === "" ? void 0 : desc;
          }
        });
        $2({ global: true, forced: true }, {
          Symbol: SymbolWrapper
        });
      }
      var EmptyStringDescriptionStore;
      var SymbolWrapper;
      var NATIVE_SYMBOL;
      var symbolToString;
      var symbolValueOf;
      var regexp;
      var replace;
      var stringSlice;
    }
  });

  // node_modules/core-js/modules/es.symbol.has-instance.js
  var require_es_symbol_has_instance = __commonJS({
    "node_modules/core-js/modules/es.symbol.has-instance.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("hasInstance");
    }
  });

  // node_modules/core-js/modules/es.symbol.is-concat-spreadable.js
  var require_es_symbol_is_concat_spreadable = __commonJS({
    "node_modules/core-js/modules/es.symbol.is-concat-spreadable.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("isConcatSpreadable");
    }
  });

  // node_modules/core-js/modules/es.symbol.iterator.js
  var require_es_symbol_iterator = __commonJS({
    "node_modules/core-js/modules/es.symbol.iterator.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("iterator");
    }
  });

  // node_modules/core-js/modules/es.symbol.match.js
  var require_es_symbol_match = __commonJS({
    "node_modules/core-js/modules/es.symbol.match.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("match");
    }
  });

  // node_modules/core-js/modules/es.symbol.match-all.js
  var require_es_symbol_match_all = __commonJS({
    "node_modules/core-js/modules/es.symbol.match-all.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("matchAll");
    }
  });

  // node_modules/core-js/modules/es.symbol.replace.js
  var require_es_symbol_replace = __commonJS({
    "node_modules/core-js/modules/es.symbol.replace.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("replace");
    }
  });

  // node_modules/core-js/modules/es.symbol.search.js
  var require_es_symbol_search = __commonJS({
    "node_modules/core-js/modules/es.symbol.search.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("search");
    }
  });

  // node_modules/core-js/modules/es.symbol.species.js
  var require_es_symbol_species = __commonJS({
    "node_modules/core-js/modules/es.symbol.species.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("species");
    }
  });

  // node_modules/core-js/modules/es.symbol.split.js
  var require_es_symbol_split = __commonJS({
    "node_modules/core-js/modules/es.symbol.split.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("split");
    }
  });

  // node_modules/core-js/modules/es.symbol.to-primitive.js
  var require_es_symbol_to_primitive = __commonJS({
    "node_modules/core-js/modules/es.symbol.to-primitive.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("toPrimitive");
    }
  });

  // node_modules/core-js/modules/es.symbol.to-string-tag.js
  var require_es_symbol_to_string_tag = __commonJS({
    "node_modules/core-js/modules/es.symbol.to-string-tag.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("toStringTag");
    }
  });

  // node_modules/core-js/modules/es.symbol.unscopables.js
  var require_es_symbol_unscopables = __commonJS({
    "node_modules/core-js/modules/es.symbol.unscopables.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("unscopables");
    }
  });

  // node_modules/core-js/modules/es.json.to-string-tag.js
  var require_es_json_to_string_tag = __commonJS({
    "node_modules/core-js/modules/es.json.to-string-tag.js"() {
      var global2 = require_global();
      var setToStringTag = require_set_to_string_tag();
      setToStringTag(global2.JSON, "JSON", true);
    }
  });

  // node_modules/core-js/modules/es.math.to-string-tag.js
  var require_es_math_to_string_tag = __commonJS({
    "node_modules/core-js/modules/es.math.to-string-tag.js"() {
      var setToStringTag = require_set_to_string_tag();
      setToStringTag(Math, "Math", true);
    }
  });

  // node_modules/core-js/modules/es.reflect.to-string-tag.js
  var require_es_reflect_to_string_tag = __commonJS({
    "node_modules/core-js/modules/es.reflect.to-string-tag.js"() {
      var $2 = require_export();
      var global2 = require_global();
      var setToStringTag = require_set_to_string_tag();
      $2({ global: true }, { Reflect: {} });
      setToStringTag(global2.Reflect, "Reflect", true);
    }
  });

  // node_modules/core-js/es/symbol/index.js
  var require_symbol = __commonJS({
    "node_modules/core-js/es/symbol/index.js"(exports, module2) {
      require_es_array_concat();
      require_es_object_to_string();
      require_es_symbol();
      require_es_symbol_async_iterator();
      require_es_symbol_description();
      require_es_symbol_has_instance();
      require_es_symbol_is_concat_spreadable();
      require_es_symbol_iterator();
      require_es_symbol_match();
      require_es_symbol_match_all();
      require_es_symbol_replace();
      require_es_symbol_search();
      require_es_symbol_species();
      require_es_symbol_split();
      require_es_symbol_to_primitive();
      require_es_symbol_to_string_tag();
      require_es_symbol_unscopables();
      require_es_json_to_string_tag();
      require_es_math_to_string_tag();
      require_es_reflect_to_string_tag();
      var path = require_path();
      module2.exports = path.Symbol;
    }
  });

  // node_modules/core-js/internals/dom-iterables.js
  var require_dom_iterables = __commonJS({
    "node_modules/core-js/internals/dom-iterables.js"(exports, module2) {
      module2.exports = {
        CSSRuleList: 0,
        CSSStyleDeclaration: 0,
        CSSValueList: 0,
        ClientRectList: 0,
        DOMRectList: 0,
        DOMStringList: 0,
        DOMTokenList: 1,
        DataTransferItemList: 0,
        FileList: 0,
        HTMLAllCollection: 0,
        HTMLCollection: 0,
        HTMLFormElement: 0,
        HTMLSelectElement: 0,
        MediaList: 0,
        MimeTypeArray: 0,
        NamedNodeMap: 0,
        NodeList: 1,
        PaintRequestList: 0,
        Plugin: 0,
        PluginArray: 0,
        SVGLengthList: 0,
        SVGNumberList: 0,
        SVGPathSegList: 0,
        SVGPointList: 0,
        SVGStringList: 0,
        SVGTransformList: 0,
        SourceBufferList: 0,
        StyleSheetList: 0,
        TextTrackCueList: 0,
        TextTrackList: 0,
        TouchList: 0
      };
    }
  });

  // node_modules/core-js/internals/dom-token-list-prototype.js
  var require_dom_token_list_prototype = __commonJS({
    "node_modules/core-js/internals/dom-token-list-prototype.js"(exports, module2) {
      var documentCreateElement = require_document_create_element();
      var classList = documentCreateElement("span").classList;
      var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;
      module2.exports = DOMTokenListPrototype === Object.prototype ? void 0 : DOMTokenListPrototype;
    }
  });

  // node_modules/core-js/internals/add-to-unscopables.js
  var require_add_to_unscopables = __commonJS({
    "node_modules/core-js/internals/add-to-unscopables.js"(exports, module2) {
      var wellKnownSymbol = require_well_known_symbol();
      var create5 = require_object_create();
      var definePropertyModule = require_object_define_property();
      var UNSCOPABLES = wellKnownSymbol("unscopables");
      var ArrayPrototype = Array.prototype;
      if (ArrayPrototype[UNSCOPABLES] == void 0) {
        definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
          configurable: true,
          value: create5(null)
        });
      }
      module2.exports = function(key) {
        ArrayPrototype[UNSCOPABLES][key] = true;
      };
    }
  });

  // node_modules/core-js/internals/iterators.js
  var require_iterators = __commonJS({
    "node_modules/core-js/internals/iterators.js"(exports, module2) {
      module2.exports = {};
    }
  });

  // node_modules/core-js/internals/correct-prototype-getter.js
  var require_correct_prototype_getter = __commonJS({
    "node_modules/core-js/internals/correct-prototype-getter.js"(exports, module2) {
      var fails = require_fails();
      module2.exports = !fails(function() {
        function F() {
        }
        F.prototype.constructor = null;
        return Object.getPrototypeOf(new F()) !== F.prototype;
      });
    }
  });

  // node_modules/core-js/internals/object-get-prototype-of.js
  var require_object_get_prototype_of = __commonJS({
    "node_modules/core-js/internals/object-get-prototype-of.js"(exports, module2) {
      var global2 = require_global();
      var hasOwn2 = require_has_own_property();
      var isCallable = require_is_callable();
      var toObject = require_to_object();
      var sharedKey = require_shared_key();
      var CORRECT_PROTOTYPE_GETTER = require_correct_prototype_getter();
      var IE_PROTO = sharedKey("IE_PROTO");
      var Object2 = global2.Object;
      var ObjectPrototype = Object2.prototype;
      module2.exports = CORRECT_PROTOTYPE_GETTER ? Object2.getPrototypeOf : function(O) {
        var object = toObject(O);
        if (hasOwn2(object, IE_PROTO))
          return object[IE_PROTO];
        var constructor = object.constructor;
        if (isCallable(constructor) && object instanceof constructor) {
          return constructor.prototype;
        }
        return object instanceof Object2 ? ObjectPrototype : null;
      };
    }
  });

  // node_modules/core-js/internals/iterators-core.js
  var require_iterators_core = __commonJS({
    "node_modules/core-js/internals/iterators-core.js"(exports, module2) {
      "use strict";
      var fails = require_fails();
      var isCallable = require_is_callable();
      var create5 = require_object_create();
      var getPrototypeOf = require_object_get_prototype_of();
      var redefine = require_redefine();
      var wellKnownSymbol = require_well_known_symbol();
      var IS_PURE = require_is_pure();
      var ITERATOR = wellKnownSymbol("iterator");
      var BUGGY_SAFARI_ITERATORS = false;
      var IteratorPrototype;
      var PrototypeOfArrayIteratorPrototype;
      var arrayIterator;
      if ([].keys) {
        arrayIterator = [].keys();
        if (!("next" in arrayIterator))
          BUGGY_SAFARI_ITERATORS = true;
        else {
          PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
          if (PrototypeOfArrayIteratorPrototype !== Object.prototype)
            IteratorPrototype = PrototypeOfArrayIteratorPrototype;
        }
      }
      var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == void 0 || fails(function() {
        var test2 = {};
        return IteratorPrototype[ITERATOR].call(test2) !== test2;
      });
      if (NEW_ITERATOR_PROTOTYPE)
        IteratorPrototype = {};
      else if (IS_PURE)
        IteratorPrototype = create5(IteratorPrototype);
      if (!isCallable(IteratorPrototype[ITERATOR])) {
        redefine(IteratorPrototype, ITERATOR, function() {
          return this;
        });
      }
      module2.exports = {
        IteratorPrototype,
        BUGGY_SAFARI_ITERATORS
      };
    }
  });

  // node_modules/core-js/internals/create-iterator-constructor.js
  var require_create_iterator_constructor = __commonJS({
    "node_modules/core-js/internals/create-iterator-constructor.js"(exports, module2) {
      "use strict";
      var IteratorPrototype = require_iterators_core().IteratorPrototype;
      var create5 = require_object_create();
      var createPropertyDescriptor = require_create_property_descriptor();
      var setToStringTag = require_set_to_string_tag();
      var Iterators = require_iterators();
      var returnThis3 = function() {
        return this;
      };
      module2.exports = function(IteratorConstructor, NAME, next) {
        var TO_STRING_TAG = NAME + " Iterator";
        IteratorConstructor.prototype = create5(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
        setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
        Iterators[TO_STRING_TAG] = returnThis3;
        return IteratorConstructor;
      };
    }
  });

  // node_modules/core-js/internals/a-possible-prototype.js
  var require_a_possible_prototype = __commonJS({
    "node_modules/core-js/internals/a-possible-prototype.js"(exports, module2) {
      var global2 = require_global();
      var isCallable = require_is_callable();
      var String2 = global2.String;
      var TypeError2 = global2.TypeError;
      module2.exports = function(argument) {
        if (typeof argument == "object" || isCallable(argument))
          return argument;
        throw TypeError2("Can't set " + String2(argument) + " as a prototype");
      };
    }
  });

  // node_modules/core-js/internals/object-set-prototype-of.js
  var require_object_set_prototype_of = __commonJS({
    "node_modules/core-js/internals/object-set-prototype-of.js"(exports, module2) {
      var uncurryThis = require_function_uncurry_this();
      var anObject = require_an_object();
      var aPossiblePrototype = require_a_possible_prototype();
      module2.exports = Object.setPrototypeOf || ("__proto__" in {} ? function() {
        var CORRECT_SETTER = false;
        var test2 = {};
        var setter;
        try {
          setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set);
          setter(test2, []);
          CORRECT_SETTER = test2 instanceof Array;
        } catch (error) {
        }
        return function setPrototypeOf2(O, proto) {
          anObject(O);
          aPossiblePrototype(proto);
          if (CORRECT_SETTER)
            setter(O, proto);
          else
            O.__proto__ = proto;
          return O;
        };
      }() : void 0);
    }
  });

  // node_modules/core-js/internals/define-iterator.js
  var require_define_iterator = __commonJS({
    "node_modules/core-js/internals/define-iterator.js"(exports, module2) {
      "use strict";
      var $2 = require_export();
      var call = require_function_call();
      var IS_PURE = require_is_pure();
      var FunctionName = require_function_name();
      var isCallable = require_is_callable();
      var createIteratorConstructor = require_create_iterator_constructor();
      var getPrototypeOf = require_object_get_prototype_of();
      var setPrototypeOf2 = require_object_set_prototype_of();
      var setToStringTag = require_set_to_string_tag();
      var createNonEnumerableProperty = require_create_non_enumerable_property();
      var redefine = require_redefine();
      var wellKnownSymbol = require_well_known_symbol();
      var Iterators = require_iterators();
      var IteratorsCore = require_iterators_core();
      var PROPER_FUNCTION_NAME = FunctionName.PROPER;
      var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
      var IteratorPrototype = IteratorsCore.IteratorPrototype;
      var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
      var ITERATOR = wellKnownSymbol("iterator");
      var KEYS = "keys";
      var VALUES = "values";
      var ENTRIES = "entries";
      var returnThis3 = function() {
        return this;
      };
      module2.exports = function(Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
        createIteratorConstructor(IteratorConstructor, NAME, next);
        var getIterationMethod = function(KIND) {
          if (KIND === DEFAULT && defaultIterator)
            return defaultIterator;
          if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)
            return IterablePrototype[KIND];
          switch (KIND) {
            case KEYS:
              return function keys() {
                return new IteratorConstructor(this, KIND);
              };
            case VALUES:
              return function values2() {
                return new IteratorConstructor(this, KIND);
              };
            case ENTRIES:
              return function entries() {
                return new IteratorConstructor(this, KIND);
              };
          }
          return function() {
            return new IteratorConstructor(this);
          };
        };
        var TO_STRING_TAG = NAME + " Iterator";
        var INCORRECT_VALUES_NAME = false;
        var IterablePrototype = Iterable.prototype;
        var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype["@@iterator"] || DEFAULT && IterablePrototype[DEFAULT];
        var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
        var anyNativeIterator = NAME == "Array" ? IterablePrototype.entries || nativeIterator : nativeIterator;
        var CurrentIteratorPrototype, methods, KEY;
        if (anyNativeIterator) {
          CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
          if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
            if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
              if (setPrototypeOf2) {
                setPrototypeOf2(CurrentIteratorPrototype, IteratorPrototype);
              } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {
                redefine(CurrentIteratorPrototype, ITERATOR, returnThis3);
              }
            }
            setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
            if (IS_PURE)
              Iterators[TO_STRING_TAG] = returnThis3;
          }
        }
        if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
          if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {
            createNonEnumerableProperty(IterablePrototype, "name", VALUES);
          } else {
            INCORRECT_VALUES_NAME = true;
            defaultIterator = function values2() {
              return call(nativeIterator, this);
            };
          }
        }
        if (DEFAULT) {
          methods = {
            values: getIterationMethod(VALUES),
            keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
            entries: getIterationMethod(ENTRIES)
          };
          if (FORCED)
            for (KEY in methods) {
              if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
                redefine(IterablePrototype, KEY, methods[KEY]);
              }
            }
          else
            $2({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
        }
        if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
          redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });
        }
        Iterators[NAME] = defaultIterator;
        return methods;
      };
    }
  });

  // node_modules/core-js/modules/es.array.iterator.js
  var require_es_array_iterator = __commonJS({
    "node_modules/core-js/modules/es.array.iterator.js"(exports, module2) {
      "use strict";
      var toIndexedObject = require_to_indexed_object();
      var addToUnscopables = require_add_to_unscopables();
      var Iterators = require_iterators();
      var InternalStateModule = require_internal_state();
      var defineIterator = require_define_iterator();
      var ARRAY_ITERATOR = "Array Iterator";
      var setInternalState = InternalStateModule.set;
      var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
      module2.exports = defineIterator(Array, "Array", function(iterated, kind) {
        setInternalState(this, {
          type: ARRAY_ITERATOR,
          target: toIndexedObject(iterated),
          // target
          index: 0,
          // next index
          kind
          // kind
        });
      }, function() {
        var state = getInternalState(this);
        var target = state.target;
        var kind = state.kind;
        var index = state.index++;
        if (!target || index >= target.length) {
          state.target = void 0;
          return { value: void 0, done: true };
        }
        if (kind == "keys")
          return { value: index, done: false };
        if (kind == "values")
          return { value: target[index], done: false };
        return { value: [index, target[index]], done: false };
      }, "values");
      Iterators.Arguments = Iterators.Array;
      addToUnscopables("keys");
      addToUnscopables("values");
      addToUnscopables("entries");
    }
  });

  // node_modules/core-js/modules/web.dom-collections.iterator.js
  var require_web_dom_collections_iterator = __commonJS({
    "node_modules/core-js/modules/web.dom-collections.iterator.js"() {
      var global2 = require_global();
      var DOMIterables = require_dom_iterables();
      var DOMTokenListPrototype = require_dom_token_list_prototype();
      var ArrayIteratorMethods = require_es_array_iterator();
      var createNonEnumerableProperty = require_create_non_enumerable_property();
      var wellKnownSymbol = require_well_known_symbol();
      var ITERATOR = wellKnownSymbol("iterator");
      var TO_STRING_TAG = wellKnownSymbol("toStringTag");
      var ArrayValues = ArrayIteratorMethods.values;
      var handlePrototype = function(CollectionPrototype, COLLECTION_NAME2) {
        if (CollectionPrototype) {
          if (CollectionPrototype[ITERATOR] !== ArrayValues)
            try {
              createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
            } catch (error) {
              CollectionPrototype[ITERATOR] = ArrayValues;
            }
          if (!CollectionPrototype[TO_STRING_TAG]) {
            createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME2);
          }
          if (DOMIterables[COLLECTION_NAME2])
            for (var METHOD_NAME in ArrayIteratorMethods) {
              if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])
                try {
                  createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
                } catch (error) {
                  CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
                }
            }
        }
      };
      for (COLLECTION_NAME in DOMIterables) {
        handlePrototype(global2[COLLECTION_NAME] && global2[COLLECTION_NAME].prototype, COLLECTION_NAME);
      }
      var COLLECTION_NAME;
      handlePrototype(DOMTokenListPrototype, "DOMTokenList");
    }
  });

  // node_modules/core-js/stable/symbol/index.js
  var require_symbol2 = __commonJS({
    "node_modules/core-js/stable/symbol/index.js"(exports, module2) {
      var parent = require_symbol();
      require_web_dom_collections_iterator();
      module2.exports = parent;
    }
  });

  // node_modules/core-js/modules/esnext.symbol.async-dispose.js
  var require_esnext_symbol_async_dispose = __commonJS({
    "node_modules/core-js/modules/esnext.symbol.async-dispose.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("asyncDispose");
    }
  });

  // node_modules/core-js/modules/esnext.symbol.dispose.js
  var require_esnext_symbol_dispose = __commonJS({
    "node_modules/core-js/modules/esnext.symbol.dispose.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("dispose");
    }
  });

  // node_modules/core-js/modules/esnext.symbol.matcher.js
  var require_esnext_symbol_matcher = __commonJS({
    "node_modules/core-js/modules/esnext.symbol.matcher.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("matcher");
    }
  });

  // node_modules/core-js/modules/esnext.symbol.metadata.js
  var require_esnext_symbol_metadata = __commonJS({
    "node_modules/core-js/modules/esnext.symbol.metadata.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("metadata");
    }
  });

  // node_modules/core-js/modules/esnext.symbol.observable.js
  var require_esnext_symbol_observable = __commonJS({
    "node_modules/core-js/modules/esnext.symbol.observable.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("observable");
    }
  });

  // node_modules/core-js/modules/esnext.symbol.pattern-match.js
  var require_esnext_symbol_pattern_match = __commonJS({
    "node_modules/core-js/modules/esnext.symbol.pattern-match.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("patternMatch");
    }
  });

  // node_modules/core-js/modules/esnext.symbol.replace-all.js
  var require_esnext_symbol_replace_all = __commonJS({
    "node_modules/core-js/modules/esnext.symbol.replace-all.js"() {
      var defineWellKnownSymbol = require_define_well_known_symbol();
      defineWellKnownSymbol("replaceAll");
    }
  });

  // node_modules/core-js/features/symbol/index.js
  var require_symbol3 = __commonJS({
    "node_modules/core-js/features/symbol/index.js"(exports, module2) {
      var parent = require_symbol2();
      require_esnext_symbol_async_dispose();
      require_esnext_symbol_dispose();
      require_esnext_symbol_matcher();
      require_esnext_symbol_metadata();
      require_esnext_symbol_observable();
      require_esnext_symbol_pattern_match();
      require_esnext_symbol_replace_all();
      module2.exports = parent;
    }
  });

  // node_modules/core-js/internals/iterator-close.js
  var require_iterator_close = __commonJS({
    "node_modules/core-js/internals/iterator-close.js"(exports, module2) {
      var call = require_function_call();
      var anObject = require_an_object();
      var getMethod2 = require_get_method();
      module2.exports = function(iterator, kind, value) {
        var innerResult, innerError;
        anObject(iterator);
        try {
          innerResult = getMethod2(iterator, "return");
          if (!innerResult) {
            if (kind === "throw")
              throw value;
            return value;
          }
          innerResult = call(innerResult, iterator);
        } catch (error) {
          innerError = true;
          innerResult = error;
        }
        if (kind === "throw")
          throw value;
        if (innerError)
          throw innerResult;
        anObject(innerResult);
        return value;
      };
    }
  });

  // node_modules/core-js/internals/call-with-safe-iteration-closing.js
  var require_call_with_safe_iteration_closing = __commonJS({
    "node_modules/core-js/internals/call-with-safe-iteration-closing.js"(exports, module2) {
      var anObject = require_an_object();
      var iteratorClose = require_iterator_close();
      module2.exports = function(iterator, fn, value, ENTRIES) {
        try {
          return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
        } catch (error) {
          iteratorClose(iterator, "throw", error);
        }
      };
    }
  });

  // node_modules/core-js/internals/is-array-iterator-method.js
  var require_is_array_iterator_method = __commonJS({
    "node_modules/core-js/internals/is-array-iterator-method.js"(exports, module2) {
      var wellKnownSymbol = require_well_known_symbol();
      var Iterators = require_iterators();
      var ITERATOR = wellKnownSymbol("iterator");
      var ArrayPrototype = Array.prototype;
      module2.exports = function(it) {
        return it !== void 0 && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
      };
    }
  });

  // node_modules/core-js/internals/get-iterator-method.js
  var require_get_iterator_method = __commonJS({
    "node_modules/core-js/internals/get-iterator-method.js"(exports, module2) {
      var classof = require_classof();
      var getMethod2 = require_get_method();
      var Iterators = require_iterators();
      var wellKnownSymbol = require_well_known_symbol();
      var ITERATOR = wellKnownSymbol("iterator");
      module2.exports = function(it) {
        if (it != void 0)
          return getMethod2(it, ITERATOR) || getMethod2(it, "@@iterator") || Iterators[classof(it)];
      };
    }
  });

  // node_modules/core-js/internals/get-iterator.js
  var require_get_iterator = __commonJS({
    "node_modules/core-js/internals/get-iterator.js"(exports, module2) {
      var global2 = require_global();
      var call = require_function_call();
      var aCallable = require_a_callable();
      var anObject = require_an_object();
      var tryToString = require_try_to_string();
      var getIteratorMethod = require_get_iterator_method();
      var TypeError2 = global2.TypeError;
      module2.exports = function(argument, usingIterator) {
        var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
        if (aCallable(iteratorMethod))
          return anObject(call(iteratorMethod, argument));
        throw TypeError2(tryToString(argument) + " is not iterable");
      };
    }
  });

  // node_modules/core-js/internals/array-from.js
  var require_array_from = __commonJS({
    "node_modules/core-js/internals/array-from.js"(exports, module2) {
      "use strict";
      var global2 = require_global();
      var bind3 = require_function_bind_context();
      var call = require_function_call();
      var toObject = require_to_object();
      var callWithSafeIterationClosing = require_call_with_safe_iteration_closing();
      var isArrayIteratorMethod = require_is_array_iterator_method();
      var isConstructor = require_is_constructor();
      var lengthOfArrayLike = require_length_of_array_like();
      var createProperty = require_create_property();
      var getIterator = require_get_iterator();
      var getIteratorMethod = require_get_iterator_method();
      var Array2 = global2.Array;
      module2.exports = function from(arrayLike) {
        var O = toObject(arrayLike);
        var IS_CONSTRUCTOR = isConstructor(this);
        var argumentsLength = arguments.length;
        var mapfn = argumentsLength > 1 ? arguments[1] : void 0;
        var mapping = mapfn !== void 0;
        if (mapping)
          mapfn = bind3(mapfn, argumentsLength > 2 ? arguments[2] : void 0);
        var iteratorMethod = getIteratorMethod(O);
        var index = 0;
        var length, result2, step, iterator, next, value;
        if (iteratorMethod && !(this == Array2 && isArrayIteratorMethod(iteratorMethod))) {
          iterator = getIterator(O, iteratorMethod);
          next = iterator.next;
          result2 = IS_CONSTRUCTOR ? new this() : [];
          for (; !(step = call(next, iterator)).done; index++) {
            value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
            createProperty(result2, index, value);
          }
        } else {
          length = lengthOfArrayLike(O);
          result2 = IS_CONSTRUCTOR ? new this(length) : Array2(length);
          for (; length > index; index++) {
            value = mapping ? mapfn(O[index], index) : O[index];
            createProperty(result2, index, value);
          }
        }
        result2.length = index;
        return result2;
      };
    }
  });

  // node_modules/core-js/internals/check-correctness-of-iteration.js
  var require_check_correctness_of_iteration = __commonJS({
    "node_modules/core-js/internals/check-correctness-of-iteration.js"(exports, module2) {
      var wellKnownSymbol = require_well_known_symbol();
      var ITERATOR = wellKnownSymbol("iterator");
      var SAFE_CLOSING = false;
      try {
        called = 0;
        iteratorWithReturn = {
          next: function() {
            return { done: !!called++ };
          },
          "return": function() {
            SAFE_CLOSING = true;
          }
        };
        iteratorWithReturn[ITERATOR] = function() {
          return this;
        };
        Array.from(iteratorWithReturn, function() {
          throw 2;
        });
      } catch (error) {
      }
      var called;
      var iteratorWithReturn;
      module2.exports = function(exec, SKIP_CLOSING) {
        if (!SKIP_CLOSING && !SAFE_CLOSING)
          return false;
        var ITERATION_SUPPORT = false;
        try {
          var object = {};
          object[ITERATOR] = function() {
            return {
              next: function() {
                return { done: ITERATION_SUPPORT = true };
              }
            };
          };
          exec(object);
        } catch (error) {
        }
        return ITERATION_SUPPORT;
      };
    }
  });

  // node_modules/core-js/modules/es.array.from.js
  var require_es_array_from = __commonJS({
    "node_modules/core-js/modules/es.array.from.js"() {
      var $2 = require_export();
      var from = require_array_from();
      var checkCorrectnessOfIteration = require_check_correctness_of_iteration();
      var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function(iterable) {
        Array.from(iterable);
      });
      $2({ target: "Array", stat: true, forced: INCORRECT_ITERATION }, {
        from
      });
    }
  });

  // node_modules/core-js/modules/es.array.is-array.js
  var require_es_array_is_array = __commonJS({
    "node_modules/core-js/modules/es.array.is-array.js"() {
      var $2 = require_export();
      var isArray2 = require_is_array();
      $2({ target: "Array", stat: true }, {
        isArray: isArray2
      });
    }
  });

  // node_modules/core-js/modules/es.array.of.js
  var require_es_array_of = __commonJS({
    "node_modules/core-js/modules/es.array.of.js"() {
      "use strict";
      var $2 = require_export();
      var global2 = require_global();
      var fails = require_fails();
      var isConstructor = require_is_constructor();
      var createProperty = require_create_property();
      var Array2 = global2.Array;
      var ISNT_GENERIC = fails(function() {
        function F() {
        }
        return !(Array2.of.call(F) instanceof F);
      });
      $2({ target: "Array", stat: true, forced: ISNT_GENERIC }, {
        of: function of() {
          var index = 0;
          var argumentsLength = arguments.length;
          var result2 = new (isConstructor(this) ? this : Array2)(argumentsLength);
          while (argumentsLength > index)
            createProperty(result2, index, arguments[index++]);
          result2.length = argumentsLength;
          return result2;
        }
      });
    }
  });

  // node_modules/core-js/modules/es.array.at.js
  var require_es_array_at = __commonJS({
    "node_modules/core-js/modules/es.array.at.js"() {
      "use strict";
      var $2 = require_export();
      var toObject = require_to_object();
      var lengthOfArrayLike = require_length_of_array_like();
      var toIntegerOrInfinity = require_to_integer_or_infinity();
      var addToUnscopables = require_add_to_unscopables();
      $2({ target: "Array", proto: true }, {
        at: function at(index) {
          var O = toObject(this);
          var len = lengthOfArrayLike(O);
          var relativeIndex = toIntegerOrInfinity(index);
          var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
          return k < 0 || k >= len ? void 0 : O[k];
        }
      });
      addToUnscopables("at");
    }
  });

  // node_modules/core-js/internals/array-copy-within.js
  var require_array_copy_within = __commonJS({
    "node_modules/core-js/internals/array-copy-within.js"(exports, module2) {
      "use strict";
      var toObject = require_to_object();
      var toAbsoluteIndex = require_to_absolute_index();
      var lengthOfArrayLike = require_length_of_array_like();
      var min = Math.min;
      module2.exports = [].copyWithin || function copyWithin(target, start) {
        var O = toObject(this);
        var len = lengthOfArrayLike(O);
        var to = toAbsoluteIndex(target, len);
        var from = toAbsoluteIndex(start, len);
        var end = arguments.length > 2 ? arguments[2] : void 0;
        var count = min((end === void 0 ? len : toAbsoluteIndex(end, len)) - from, len - to);
        var inc = 1;
        if (from < to && to < from + count) {
          inc = -1;
          from += count - 1;
          to += count - 1;
        }
        while (count-- > 0) {
          if (from in O)
            O[to] = O[from];
          else
            delete O[to];
          to += inc;
          from += inc;
        }
        return O;
      };
    }
  });

  // node_modules/core-js/modules/es.array.copy-within.js
  var require_es_array_copy_within = __commonJS({
    "node_modules/core-js/modules/es.array.copy-within.js"() {
      var $2 = require_export();
      var copyWithin = require_array_copy_within();
      var addToUnscopables = require_add_to_unscopables();
      $2({ target: "Array", proto: true }, {
        copyWithin
      });
      addToUnscopables("copyWithin");
    }
  });

  // node_modules/core-js/internals/array-method-is-strict.js
  var require_array_method_is_strict = __commonJS({
    "node_modules/core-js/internals/array-method-is-strict.js"(exports, module2) {
      "use strict";
      var fails = require_fails();
      module2.exports = function(METHOD_NAME, argument) {
        var method = [][METHOD_NAME];
        return !!method && fails(function() {
          method.call(null, argument || function() {
            throw 1;
          }, 1);
        });
      };
    }
  });

  // node_modules/core-js/modules/es.array.every.js
  var require_es_array_every = __commonJS({
    "node_modules/core-js/modules/es.array.every.js"() {
      "use strict";
      var $2 = require_export();
      var $every = require_array_iteration().every;
      var arrayMethodIsStrict = require_array_method_is_strict();
      var STRICT_METHOD = arrayMethodIsStrict("every");
      $2({ target: "Array", proto: true, forced: !STRICT_METHOD }, {
        every: function every(callbackfn) {
          return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
        }
      });
    }
  });

  // node_modules/core-js/internals/array-fill.js
  var require_array_fill = __commonJS({
    "node_modules/core-js/internals/array-fill.js"(exports, module2) {
      "use strict";
      var toObject = require_to_object();
      var toAbsoluteIndex = require_to_absolute_index();
      var lengthOfArrayLike = require_length_of_array_like();
      module2.exports = function fill(value) {
        var O = toObject(this);
        var length = lengthOfArrayLike(O);
        var argumentsLength = arguments.length;
        var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : void 0, length);
        var end = argumentsLength > 2 ? arguments[2] : void 0;
        var endPos = end === void 0 ? length : toAbsoluteIndex(end, length);
        while (endPos > index)
          O[index++] = value;
        return O;
      };
    }
  });

  // node_modules/core-js/modules/es.array.fill.js
  var require_es_array_fill = __commonJS({
    "node_modules/core-js/modules/es.array.fill.js"() {
      var $2 = require_export();
      var fill = require_array_fill();
      var addToUnscopables = require_add_to_unscopables();
      $2({ target: "Array", proto: true }, {
        fill
      });
      addToUnscopables("fill");
    }
  });

  // node_modules/core-js/modules/es.array.filter.js
  var require_es_array_filter = __commonJS({
    "node_modules/core-js/modules/es.array.filter.js"() {
      "use strict";
      var $2 = require_export();
      var $filter = require_array_iteration().filter;
      var arrayMethodHasSpeciesSupport = require_array_method_has_species_support();
      var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport("filter");
      $2({ target: "Array", proto: true, forced: !HAS_SPECIES_SUPPORT }, {
        filter: function filter(callbackfn) {
          return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
        }
      });
    }
  });

  // node_modules/core-js/modules/es.array.find.js
  var require_es_array_find = __commonJS({
    "node_modules/core-js/modules/es.array.find.js"() {
      "use strict";
      var $2 = require_export();
      var $find = require_array_iteration().find;
      var addToUnscopables = require_add_to_unscopables();
      var FIND = "find";
      var SKIPS_HOLES = true;
      if (FIND in [])
        Array(1)[FIND](function() {
          SKIPS_HOLES = false;
        });
      $2({ target: "Array", proto: true, forced: SKIPS_HOLES }, {
        find: function find4(callbackfn) {
          return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
        }
      });
      addToUnscopables(FIND);
    }
  });

  // node_modules/core-js/modules/es.array.find-index.js
  var require_es_array_find_index = __commonJS({
    "node_modules/core-js/modules/es.array.find-index.js"() {
      "use strict";
      var $2 = require_export();
      var $findIndex = require_array_iteration().findIndex;
      var addToUnscopables = require_add_to_unscopables();
      var FIND_INDEX = "findIndex";
      var SKIPS_HOLES = true;
      if (FIND_INDEX in [])
        Array(1)[FIND_INDEX](function() {
          SKIPS_HOLES = false;
        });
      $2({ target: "Array", proto: true, forced: SKIPS_HOLES }, {
        findIndex: function findIndex(callbackfn) {
          return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
        }
      });
      addToUnscopables(FIND_INDEX);
    }
  });

  // node_modules/core-js/internals/flatten-into-array.js
  var require_flatten_into_array = __commonJS({
    "node_modules/core-js/internals/flatten-into-array.js"(exports, module2) {
      "use strict";
      var global2 = require_global();
      var isArray2 = require_is_array();
      var lengthOfArrayLike = require_length_of_array_like();
      var bind3 = require_function_bind_context();
      var TypeError2 = global2.TypeError;
      var flattenIntoArray = function(target, original, source, sourceLen, start, depth, mapper, thisArg) {
        var targetIndex = start;
        var sourceIndex = 0;
        var mapFn = mapper ? bind3(mapper, thisArg) : false;
        var element, elementLen;
        while (sourceIndex < sourceLen) {
          if (sourceIndex in source) {
            element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
            if (depth > 0 && isArray2(element)) {
              elementLen = lengthOfArrayLike(element);
              targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;
            } else {
              if (targetIndex >= 9007199254740991)
                throw TypeError2("Exceed the acceptable array length");
              target[targetIndex] = element;
            }
            targetIndex++;
          }
          sourceIndex++;
        }
        return targetIndex;
      };
      module2.exports = flattenIntoArray;
    }
  });

  // node_modules/core-js/modules/es.array.flat.js
  var require_es_array_flat = __commonJS({
    "node_modules/core-js/modules/es.array.flat.js"() {
      "use strict";
      var $2 = require_export();
      var flattenIntoArray = require_flatten_into_array();
      var toObject = require_to_object();
      var lengthOfArrayLike = require_length_of_array_like();
      var toIntegerOrInfinity = require_to_integer_or_infinity();
      var arraySpeciesCreate = require_array_species_create();
      $2({ target: "Array", proto: true }, {
        flat: function flat2() {
          var depthArg = arguments.length ? arguments[0] : void 0;
          var O = toObject(this);
          var sourceLen = lengthOfArrayLike(O);
          var A = arraySpeciesCreate(O, 0);
          A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === void 0 ? 1 : toIntegerOrInfinity(depthArg));
          return A;
        }
      });
    }
  });

  // node_modules/core-js/modules/es.array.flat-map.js
  var require_es_array_flat_map = __commonJS({
    "node_modules/core-js/modules/es.array.flat-map.js"() {
      "use strict";
      var $2 = require_export();
      var flattenIntoArray = require_flatten_into_array();
      var aCallable = require_a_callable();
      var toObject = require_to_object();
      var lengthOfArrayLike = require_length_of_array_like();
      var arraySpeciesCreate = require_array_species_create();
      $2({ target: "Array", proto: true }, {
        flatMap: function flatMap2(callbackfn) {
          var O = toObject(this);
          var sourceLen = lengthOfArrayLike(O);
          var A;
          aCallable(callbackfn);
          A = arraySpeciesCreate(O, 0);
          A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
          return A;
        }
      });
    }
  });

  // node_modules/core-js/internals/array-for-each.js
  var require_array_for_each = __commonJS({
    "node_modules/core-js/internals/array-for-each.js"(exports, module2) {
      "use strict";
      var $forEach = require_array_iteration().forEach;
      var arrayMethodIsStrict = require_array_method_is_strict();
      var STRICT_METHOD = arrayMethodIsStrict("forEach");
      module2.exports = !STRICT_METHOD ? function forEach6(callbackfn) {
        return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
      } : [].forEach;
    }
  });

  // node_modules/core-js/modules/es.array.for-each.js
  var require_es_array_for_each = __commonJS({
    "node_modules/core-js/modules/es.array.for-each.js"() {
      "use strict";
      var $2 = require_export();
      var forEach6 = require_array_for_each();
      $2({ target: "Array", proto: true, forced: [].forEach != forEach6 }, {
        forEach: forEach6
      });
    }
  });

  // node_modules/core-js/modules/es.array.includes.js
  var require_es_array_includes = __commonJS({
    "node_modules/core-js/modules/es.array.includes.js"() {
      "use strict";
      var $2 = require_export();
      var $includes = require_array_includes().includes;
      var addToUnscopables = require_add_to_unscopables();
      $2({ target: "Array", proto: true }, {
        includes: function includes(el) {
          return $includes(this, el, arguments.length > 1 ? arguments[1] : void 0);
        }
      });
      addToUnscopables("includes");
    }
  });

  // node_modules/core-js/modules/es.array.index-of.js
  var require_es_array_index_of = __commonJS({
    "node_modules/core-js/modules/es.array.index-of.js"() {
      "use strict";
      var $2 = require_export();
      var uncurryThis = require_function_uncurry_this();
      var $IndexOf = require_array_includes().indexOf;
      var arrayMethodIsStrict = require_array_method_is_strict();
      var un$IndexOf = uncurryThis([].indexOf);
      var NEGATIVE_ZERO = !!un$IndexOf && 1 / un$IndexOf([1], 1, -0) < 0;
      var STRICT_METHOD = arrayMethodIsStrict("indexOf");
      $2({ target: "Array", proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {
        indexOf: function indexOf(searchElement) {
          var fromIndex = arguments.length > 1 ? arguments[1] : void 0;
          return NEGATIVE_ZERO ? un$IndexOf(this, searchElement, fromIndex) || 0 : $IndexOf(this, searchElement, fromIndex);
        }
      });
    }
  });

  // node_modules/core-js/modules/es.array.join.js
  var require_es_array_join = __commonJS({
    "node_modules/core-js/modules/es.array.join.js"() {
      "use strict";
      var $2 = require_export();
      var uncurryThis = require_function_uncurry_this();
      var IndexedObject = require_indexed_object();
      var toIndexedObject = require_to_indexed_object();
      var arrayMethodIsStrict = require_array_method_is_strict();
      var un$Join = uncurryThis([].join);
      var ES3_STRINGS = IndexedObject != Object;
      var STRICT_METHOD = arrayMethodIsStrict("join", ",");
      $2({ target: "Array", proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {
        join: function join2(separator) {
          return un$Join(toIndexedObject(this), separator === void 0 ? "," : separator);
        }
      });
    }
  });

  // node_modules/core-js/internals/array-last-index-of.js
  var require_array_last_index_of = __commonJS({
    "node_modules/core-js/internals/array-last-index-of.js"(exports, module2) {
      "use strict";
      var apply = require_function_apply();
      var toIndexedObject = require_to_indexed_object();
      var toIntegerOrInfinity = require_to_integer_or_infinity();
      var lengthOfArrayLike = require_length_of_array_like();
      var arrayMethodIsStrict = require_array_method_is_strict();
      var min = Math.min;
      var $lastIndexOf = [].lastIndexOf;
      var NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
      var STRICT_METHOD = arrayMethodIsStrict("lastIndexOf");
      var FORCED = NEGATIVE_ZERO || !STRICT_METHOD;
      module2.exports = FORCED ? function lastIndexOf(searchElement) {
        if (NEGATIVE_ZERO)
          return apply($lastIndexOf, this, arguments) || 0;
        var O = toIndexedObject(this);
        var length = lengthOfArrayLike(O);
        var index = length - 1;
        if (arguments.length > 1)
          index = min(index, toIntegerOrInfinity(arguments[1]));
        if (index < 0)
          index = length + index;
        for (; index >= 0; index--)
          if (index in O && O[index] === searchElement)
            return index || 0;
        return -1;
      } : $lastIndexOf;
    }
  });

  // node_modules/core-js/modules/es.array.last-index-of.js
  var require_es_array_last_index_of = __commonJS({
    "node_modules/core-js/modules/es.array.last-index-of.js"() {
      var $2 = require_export();
      var lastIndexOf = require_array_last_index_of();
      $2({ target: "Array", proto: true, forced: lastIndexOf !== [].lastIndexOf }, {
        lastIndexOf
      });
    }
  });

  // node_modules/core-js/modules/es.array.map.js
  var require_es_array_map = __commonJS({
    "node_modules/core-js/modules/es.array.map.js"() {
      "use strict";
      var $2 = require_export();
      var $map = require_array_iteration().map;
      var arrayMethodHasSpeciesSupport = require_array_method_has_species_support();
      var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport("map");
      $2({ target: "Array", proto: true, forced: !HAS_SPECIES_SUPPORT }, {
        map: function map(callbackfn) {
          return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
        }
      });
    }
  });

  // node_modules/core-js/internals/array-reduce.js
  var require_array_reduce = __commonJS({
    "node_modules/core-js/internals/array-reduce.js"(exports, module2) {
      var global2 = require_global();
      var aCallable = require_a_callable();
      var toObject = require_to_object();
      var IndexedObject = require_indexed_object();
      var lengthOfArrayLike = require_length_of_array_like();
      var TypeError2 = global2.TypeError;
      var createMethod = function(IS_RIGHT) {
        return function(that, callbackfn, argumentsLength, memo) {
          aCallable(callbackfn);
          var O = toObject(that);
          var self2 = IndexedObject(O);
          var length = lengthOfArrayLike(O);
          var index = IS_RIGHT ? length - 1 : 0;
          var i = IS_RIGHT ? -1 : 1;
          if (argumentsLength < 2)
            while (true) {
              if (index in self2) {
                memo = self2[index];
                index += i;
                break;
              }
              index += i;
              if (IS_RIGHT ? index < 0 : length <= index) {
                throw TypeError2("Reduce of empty array with no initial value");
              }
            }
          for (; IS_RIGHT ? index >= 0 : length > index; index += i)
            if (index in self2) {
              memo = callbackfn(memo, self2[index], index, O);
            }
          return memo;
        };
      };
      module2.exports = {
        // `Array.prototype.reduce` method
        // https://tc39.es/ecma262/#sec-array.prototype.reduce
        left: createMethod(false),
        // `Array.prototype.reduceRight` method
        // https://tc39.es/ecma262/#sec-array.prototype.reduceright
        right: createMethod(true)
      };
    }
  });

  // node_modules/core-js/internals/engine-is-node.js
  var require_engine_is_node = __commonJS({
    "node_modules/core-js/internals/engine-is-node.js"(exports, module2) {
      var classof = require_classof_raw();
      var global2 = require_global();
      module2.exports = classof(global2.process) == "process";
    }
  });

  // node_modules/core-js/modules/es.array.reduce.js
  var require_es_array_reduce = __commonJS({
    "node_modules/core-js/modules/es.array.reduce.js"() {
      "use strict";
      var $2 = require_export();
      var $reduce = require_array_reduce().left;
      var arrayMethodIsStrict = require_array_method_is_strict();
      var CHROME_VERSION = require_engine_v8_version();
      var IS_NODE = require_engine_is_node();
      var STRICT_METHOD = arrayMethodIsStrict("reduce");
      var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
      $2({ target: "Array", proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
        reduce: function reduce3(callbackfn) {
          var length = arguments.length;
          return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : void 0);
        }
      });
    }
  });

  // node_modules/core-js/modules/es.array.reduce-right.js
  var require_es_array_reduce_right = __commonJS({
    "node_modules/core-js/modules/es.array.reduce-right.js"() {
      "use strict";
      var $2 = require_export();
      var $reduceRight = require_array_reduce().right;
      var arrayMethodIsStrict = require_array_method_is_strict();
      var CHROME_VERSION = require_engine_v8_version();
      var IS_NODE = require_engine_is_node();
      var STRICT_METHOD = arrayMethodIsStrict("reduceRight");
      var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
      $2({ target: "Array", proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
        reduceRight: function reduceRight(callbackfn) {
          return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : void 0);
        }
      });
    }
  });

  // node_modules/core-js/modules/es.array.reverse.js
  var require_es_array_reverse = __commonJS({
    "node_modules/core-js/modules/es.array.reverse.js"() {
      "use strict";
      var $2 = require_export();
      var uncurryThis = require_function_uncurry_this();
      var isArray2 = require_is_array();
      var un$Reverse = uncurryThis([].reverse);
      var test2 = [1, 2];
      $2({ target: "Array", proto: true, forced: String(test2) === String(test2.reverse()) }, {
        reverse: function reverse() {
          if (isArray2(this))
            this.length = this.length;
          return un$Reverse(this);
        }
      });
    }
  });

  // node_modules/core-js/modules/es.array.slice.js
  var require_es_array_slice = __commonJS({
    "node_modules/core-js/modules/es.array.slice.js"() {
      "use strict";
      var $2 = require_export();
      var global2 = require_global();
      var isArray2 = require_is_array();
      var isConstructor = require_is_constructor();
      var isObject2 = require_is_object();
      var toAbsoluteIndex = require_to_absolute_index();
      var lengthOfArrayLike = require_length_of_array_like();
      var toIndexedObject = require_to_indexed_object();
      var createProperty = require_create_property();
      var wellKnownSymbol = require_well_known_symbol();
      var arrayMethodHasSpeciesSupport = require_array_method_has_species_support();
      var un$Slice = require_array_slice();
      var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport("slice");
      var SPECIES = wellKnownSymbol("species");
      var Array2 = global2.Array;
      var max = Math.max;
      $2({ target: "Array", proto: true, forced: !HAS_SPECIES_SUPPORT }, {
        slice: function slice3(start, end) {
          var O = toIndexedObject(this);
          var length = lengthOfArrayLike(O);
          var k = toAbsoluteIndex(start, length);
          var fin = toAbsoluteIndex(end === void 0 ? length : end, length);
          var Constructor, result2, n;
          if (isArray2(O)) {
            Constructor = O.constructor;
            if (isConstructor(Constructor) && (Constructor === Array2 || isArray2(Constructor.prototype))) {
              Constructor = void 0;
            } else if (isObject2(Constructor)) {
              Constructor = Constructor[SPECIES];
              if (Constructor === null)
                Constructor = void 0;
            }
            if (Constructor === Array2 || Constructor === void 0) {
              return un$Slice(O, k, fin);
            }
          }
          result2 = new (Constructor === void 0 ? Array2 : Constructor)(max(fin - k, 0));
          for (n = 0; k < fin; k++, n++)
            if (k in O)
              createProperty(result2, n, O[k]);
          result2.length = n;
          return result2;
        }
      });
    }
  });

  // node_modules/core-js/modules/es.array.some.js
  var require_es_array_some = __commonJS({
    "node_modules/core-js/modules/es.array.some.js"() {
      "use strict";
      var $2 = require_export();
      var $some = require_array_iteration().some;
      var arrayMethodIsStrict = require_array_method_is_strict();
      var STRICT_METHOD = arrayMethodIsStrict("some");
      $2({ target: "Array", proto: true, forced: !STRICT_METHOD }, {
        some: function some(callbackfn) {
          return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
        }
      });
    }
  });

  // node_modules/core-js/internals/array-sort.js
  var require_array_sort = __commonJS({
    "node_modules/core-js/internals/array-sort.js"(exports, module2) {
      var arraySlice = require_array_slice();
      var floor = Math.floor;
      var mergeSort = function(array, comparefn) {
        var length = array.length;
        var middle = floor(length / 2);
        return length < 8 ? insertionSort(array, comparefn) : merge4(
          array,
          mergeSort(arraySlice(array, 0, middle), comparefn),
          mergeSort(arraySlice(array, middle), comparefn),
          comparefn
        );
      };
      var insertionSort = function(array, comparefn) {
        var length = array.length;
        var i = 1;
        var element, j;
        while (i < length) {
          j = i;
          element = array[i];
          while (j && comparefn(array[j - 1], element) > 0) {
            array[j] = array[--j];
          }
          if (j !== i++)
            array[j] = element;
        }
        return array;
      };
      var merge4 = function(array, left, right, comparefn) {
        var llength = left.length;
        var rlength = right.length;
        var lindex = 0;
        var rindex = 0;
        while (lindex < llength || rindex < rlength) {
          array[lindex + rindex] = lindex < llength && rindex < rlength ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] : lindex < llength ? left[lindex++] : right[rindex++];
        }
        return array;
      };
      module2.exports = mergeSort;
    }
  });

  // node_modules/core-js/internals/engine-ff-version.js
  var require_engine_ff_version = __commonJS({
    "node_modules/core-js/internals/engine-ff-version.js"(exports, module2) {
      var userAgent = require_engine_user_agent();
      var firefox = userAgent.match(/firefox\/(\d+)/i);
      module2.exports = !!firefox && +firefox[1];
    }
  });

  // node_modules/core-js/internals/engine-is-ie-or-edge.js
  var require_engine_is_ie_or_edge = __commonJS({
    "node_modules/core-js/internals/engine-is-ie-or-edge.js"(exports, module2) {
      var UA = require_engine_user_agent();
      module2.exports = /MSIE|Trident/.test(UA);
    }
  });

  // node_modules/core-js/internals/engine-webkit-version.js
  var require_engine_webkit_version = __commonJS({
    "node_modules/core-js/internals/engine-webkit-version.js"(exports, module2) {
      var userAgent = require_engine_user_agent();
      var webkit = userAgent.match(/AppleWebKit\/(\d+)\./);
      module2.exports = !!webkit && +webkit[1];
    }
  });

  // node_modules/core-js/modules/es.array.sort.js
  var require_es_array_sort = __commonJS({
    "node_modules/core-js/modules/es.array.sort.js"() {
      "use strict";
      var $2 = require_export();
      var uncurryThis = require_function_uncurry_this();
      var aCallable = require_a_callable();
      var toObject = require_to_object();
      var lengthOfArrayLike = require_length_of_array_like();
      var toString3 = require_to_string();
      var fails = require_fails();
      var internalSort = require_array_sort();
      var arrayMethodIsStrict = require_array_method_is_strict();
      var FF = require_engine_ff_version();
      var IE_OR_EDGE = require_engine_is_ie_or_edge();
      var V8 = require_engine_v8_version();
      var WEBKIT = require_engine_webkit_version();
      var test2 = [];
      var un$Sort = uncurryThis(test2.sort);
      var push = uncurryThis(test2.push);
      var FAILS_ON_UNDEFINED = fails(function() {
        test2.sort(void 0);
      });
      var FAILS_ON_NULL = fails(function() {
        test2.sort(null);
      });
      var STRICT_METHOD = arrayMethodIsStrict("sort");
      var STABLE_SORT = !fails(function() {
        if (V8)
          return V8 < 70;
        if (FF && FF > 3)
          return;
        if (IE_OR_EDGE)
          return true;
        if (WEBKIT)
          return WEBKIT < 603;
        var result2 = "";
        var code, chr, value, index;
        for (code = 65; code < 76; code++) {
          chr = String.fromCharCode(code);
          switch (code) {
            case 66:
            case 69:
            case 70:
            case 72:
              value = 3;
              break;
            case 68:
            case 71:
              value = 4;
              break;
            default:
              value = 2;
          }
          for (index = 0; index < 47; index++) {
            test2.push({ k: chr + index, v: value });
          }
        }
        test2.sort(function(a, b) {
          return b.v - a.v;
        });
        for (index = 0; index < test2.length; index++) {
          chr = test2[index].k.charAt(0);
          if (result2.charAt(result2.length - 1) !== chr)
            result2 += chr;
        }
        return result2 !== "DGBEFHACIJK";
      });
      var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;
      var getSortCompare = function(comparefn) {
        return function(x, y) {
          if (y === void 0)
            return -1;
          if (x === void 0)
            return 1;
          if (comparefn !== void 0)
            return +comparefn(x, y) || 0;
          return toString3(x) > toString3(y) ? 1 : -1;
        };
      };
      $2({ target: "Array", proto: true, forced: FORCED }, {
        sort: function sort(comparefn) {
          if (comparefn !== void 0)
            aCallable(comparefn);
          var array = toObject(this);
          if (STABLE_SORT)
            return comparefn === void 0 ? un$Sort(array) : un$Sort(array, comparefn);
          var items = [];
          var arrayLength = lengthOfArrayLike(array);
          var itemsLength, index;
          for (index = 0; index < arrayLength; index++) {
            if (index in array)
              push(items, array[index]);
          }
          internalSort(items, getSortCompare(comparefn));
          itemsLength = items.length;
          index = 0;
          while (index < itemsLength)
            array[index] = items[index++];
          while (index < arrayLength)
            delete array[index++];
          return array;
        }
      });
    }
  });

  // node_modules/core-js/internals/set-species.js
  var require_set_species = __commonJS({
    "node_modules/core-js/internals/set-species.js"(exports, module2) {
      "use strict";
      var getBuiltIn = require_get_built_in();
      var definePropertyModule = require_object_define_property();
      var wellKnownSymbol = require_well_known_symbol();
      var DESCRIPTORS = require_descriptors();
      var SPECIES = wellKnownSymbol("species");
      module2.exports = function(CONSTRUCTOR_NAME) {
        var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
        var defineProperty = definePropertyModule.f;
        if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
          defineProperty(Constructor, SPECIES, {
            configurable: true,
            get: function() {
              return this;
            }
          });
        }
      };
    }
  });

  // node_modules/core-js/modules/es.array.species.js
  var require_es_array_species = __commonJS({
    "node_modules/core-js/modules/es.array.species.js"() {
      var setSpecies = require_set_species();
      setSpecies("Array");
    }
  });

  // node_modules/core-js/modules/es.array.splice.js
  var require_es_array_splice = __commonJS({
    "node_modules/core-js/modules/es.array.splice.js"() {
      "use strict";
      var $2 = require_export();
      var global2 = require_global();
      var toAbsoluteIndex = require_to_absolute_index();
      var toIntegerOrInfinity = require_to_integer_or_infinity();
      var lengthOfArrayLike = require_length_of_array_like();
      var toObject = require_to_object();
      var arraySpeciesCreate = require_array_species_create();
      var createProperty = require_create_property();
      var arrayMethodHasSpeciesSupport = require_array_method_has_species_support();
      var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport("splice");
      var TypeError2 = global2.TypeError;
      var max = Math.max;
      var min = Math.min;
      var MAX_SAFE_INTEGER = 9007199254740991;
      var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = "Maximum allowed length exceeded";
      $2({ target: "Array", proto: true, forced: !HAS_SPECIES_SUPPORT }, {
        splice: function splice(start, deleteCount) {
          var O = toObject(this);
          var len = lengthOfArrayLike(O);
          var actualStart = toAbsoluteIndex(start, len);
          var argumentsLength = arguments.length;
          var insertCount, actualDeleteCount, A, k, from, to;
          if (argumentsLength === 0) {
            insertCount = actualDeleteCount = 0;
          } else if (argumentsLength === 1) {
            insertCount = 0;
            actualDeleteCount = len - actualStart;
          } else {
            insertCount = argumentsLength - 2;
            actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);
          }
          if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {
            throw TypeError2(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
          }
          A = arraySpeciesCreate(O, actualDeleteCount);
          for (k = 0; k < actualDeleteCount; k++) {
            from = actualStart + k;
            if (from in O)
              createProperty(A, k, O[from]);
          }
          A.length = actualDeleteCount;
          if (insertCount < actualDeleteCount) {
            for (k = actualStart; k < len - actualDeleteCount; k++) {
              from = k + actualDeleteCount;
              to = k + insertCount;
              if (from in O)
                O[to] = O[from];
              else
                delete O[to];
            }
            for (k = len; k > len - actualDeleteCount + insertCount; k--)
              delete O[k - 1];
          } else if (insertCount > actualDeleteCount) {
            for (k = len - actualDeleteCount; k > actualStart; k--) {
              from = k + actualDeleteCount - 1;
              to = k + insertCount - 1;
              if (from in O)
                O[to] = O[from];
              else
                delete O[to];
            }
          }
          for (k = 0; k < insertCount; k++) {
            O[k + actualStart] = arguments[k + 2];
          }
          O.length = len - actualDeleteCount + insertCount;
          return A;
        }
      });
    }
  });

  // node_modules/core-js/modules/es.array.unscopables.flat.js
  var require_es_array_unscopables_flat = __commonJS({
    "node_modules/core-js/modules/es.array.unscopables.flat.js"() {
      var addToUnscopables = require_add_to_unscopables();
      addToUnscopables("flat");
    }
  });

  // node_modules/core-js/modules/es.array.unscopables.flat-map.js
  var require_es_array_unscopables_flat_map = __commonJS({
    "node_modules/core-js/modules/es.array.unscopables.flat-map.js"() {
      var addToUnscopables = require_add_to_unscopables();
      addToUnscopables("flatMap");
    }
  });

  // node_modules/core-js/internals/string-multibyte.js
  var require_string_multibyte = __commonJS({
    "node_modules/core-js/internals/string-multibyte.js"(exports, module2) {
      var uncurryThis = require_function_uncurry_this();
      var toIntegerOrInfinity = require_to_integer_or_infinity();
      var toString3 = require_to_string();
      var requireObjectCoercible = require_require_object_coercible();
      var charAt = uncurryThis("".charAt);
      var charCodeAt = uncurryThis("".charCodeAt);
      var stringSlice = uncurryThis("".slice);
      var createMethod = function(CONVERT_TO_STRING) {
        return function($this, pos) {
          var S = toString3(requireObjectCoercible($this));
          var position = toIntegerOrInfinity(pos);
          var size2 = S.length;
          var first, second;
          if (position < 0 || position >= size2)
            return CONVERT_TO_STRING ? "" : void 0;
          first = charCodeAt(S, position);
          return first < 55296 || first > 56319 || position + 1 === size2 || (second = charCodeAt(S, position + 1)) < 56320 || second > 57343 ? CONVERT_TO_STRING ? charAt(S, position) : first : CONVERT_TO_STRING ? stringSlice(S, position, position + 2) : (first - 55296 << 10) + (second - 56320) + 65536;
        };
      };
      module2.exports = {
        // `String.prototype.codePointAt` method
        // https://tc39.es/ecma262/#sec-string.prototype.codepointat
        codeAt: createMethod(false),
        // `String.prototype.at` method
        // https://github.com/mathiasbynens/String.prototype.at
        charAt: createMethod(true)
      };
    }
  });

  // node_modules/core-js/modules/es.string.iterator.js
  var require_es_string_iterator = __commonJS({
    "node_modules/core-js/modules/es.string.iterator.js"() {
      "use strict";
      var charAt = require_string_multibyte().charAt;
      var toString3 = require_to_string();
      var InternalStateModule = require_internal_state();
      var defineIterator = require_define_iterator();
      var STRING_ITERATOR = "String Iterator";
      var setInternalState = InternalStateModule.set;
      var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
      defineIterator(String, "String", function(iterated) {
        setInternalState(this, {
          type: STRING_ITERATOR,
          string: toString3(iterated),
          index: 0
        });
      }, function next() {
        var state = getInternalState(this);
        var string = state.string;
        var index = state.index;
        var point;
        if (index >= string.length)
          return { value: void 0, done: true };
        point = charAt(string, index);
        state.index += point.length;
        return { value: point, done: false };
      });
    }
  });

  // node_modules/core-js/es/array/index.js
  var require_array = __commonJS({
    "node_modules/core-js/es/array/index.js"(exports, module2) {
      require_es_array_from();
      require_es_array_is_array();
      require_es_array_of();
      require_es_array_at();
      require_es_array_concat();
      require_es_array_copy_within();
      require_es_array_every();
      require_es_array_fill();
      require_es_array_filter();
      require_es_array_find();
      require_es_array_find_index();
      require_es_array_flat();
      require_es_array_flat_map();
      require_es_array_for_each();
      require_es_array_includes();
      require_es_array_index_of();
      require_es_array_iterator();
      require_es_array_join();
      require_es_array_last_index_of();
      require_es_array_map();
      require_es_array_reduce();
      require_es_array_reduce_right();
      require_es_array_reverse();
      require_es_array_slice();
      require_es_array_some();
      require_es_array_sort();
      require_es_array_species();
      require_es_array_splice();
      require_es_array_unscopables_flat();
      require_es_array_unscopables_flat_map();
      require_es_object_to_string();
      require_es_string_iterator();
      var path = require_path();
      module2.exports = path.Array;
    }
  });

  // node_modules/core-js/stable/array/index.js
  var require_array2 = __commonJS({
    "node_modules/core-js/stable/array/index.js"(exports, module2) {
      var parent = require_array();
      module2.exports = parent;
    }
  });

  // node_modules/core-js/internals/freezing.js
  var require_freezing = __commonJS({
    "node_modules/core-js/internals/freezing.js"(exports, module2) {
      var fails = require_fails();
      module2.exports = !fails(function() {
        return Object.isExtensible(Object.preventExtensions({}));
      });
    }
  });

  // node_modules/core-js/internals/internal-metadata.js
  var require_internal_metadata = __commonJS({
    "node_modules/core-js/internals/internal-metadata.js"(exports, module2) {
      var $2 = require_export();
      var uncurryThis = require_function_uncurry_this();
      var hiddenKeys = require_hidden_keys();
      var isObject2 = require_is_object();
      var hasOwn2 = require_has_own_property();
      var defineProperty = require_object_define_property().f;
      var getOwnPropertyNamesModule = require_object_get_own_property_names();
      var getOwnPropertyNamesExternalModule = require_object_get_own_property_names_external();
      var uid = require_uid();
      var FREEZING = require_freezing();
      var REQUIRED = false;
      var METADATA = uid("meta");
      var id = 0;
      var isExtensible = Object.isExtensible || function() {
        return true;
      };
      var setMetadata = function(it) {
        defineProperty(it, METADATA, { value: {
          objectID: "O" + id++,
          // object ID
          weakData: {}
          // weak collections IDs
        } });
      };
      var fastKey = function(it, create5) {
        if (!isObject2(it))
          return typeof it == "symbol" ? it : (typeof it == "string" ? "S" : "P") + it;
        if (!hasOwn2(it, METADATA)) {
          if (!isExtensible(it))
            return "F";
          if (!create5)
            return "E";
          setMetadata(it);
        }
        return it[METADATA].objectID;
      };
      var getWeakData = function(it, create5) {
        if (!hasOwn2(it, METADATA)) {
          if (!isExtensible(it))
            return true;
          if (!create5)
            return false;
          setMetadata(it);
        }
        return it[METADATA].weakData;
      };
      var onFreeze = function(it) {
        if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn2(it, METADATA))
          setMetadata(it);
        return it;
      };
      var enable = function() {
        meta.enable = function() {
        };
        REQUIRED = true;
        var getOwnPropertyNames = getOwnPropertyNamesModule.f;
        var splice = uncurryThis([].splice);
        var test2 = {};
        test2[METADATA] = 1;
        if (getOwnPropertyNames(test2).length) {
          getOwnPropertyNamesModule.f = function(it) {
            var result2 = getOwnPropertyNames(it);
            for (var i = 0, length = result2.length; i < length; i++) {
              if (result2[i] === METADATA) {
                splice(result2, i, 1);
                break;
              }
            }
            return result2;
          };
          $2({ target: "Object", stat: true, forced: true }, {
            getOwnPropertyNames: getOwnPropertyNamesExternalModule.f
          });
        }
      };
      var meta = module2.exports = {
        enable,
        fastKey,
        getWeakData,
        onFreeze
      };
      hiddenKeys[METADATA] = true;
    }
  });

  // node_modules/core-js/internals/iterate.js
  var require_iterate = __commonJS({
    "node_modules/core-js/internals/iterate.js"(exports, module2) {
      var global2 = require_global();
      var bind3 = require_function_bind_context();
      var call = require_function_call();
      var anObject = require_an_object();
      var tryToString = require_try_to_string();
      var isArrayIteratorMethod = require_is_array_iterator_method();
      var lengthOfArrayLike = require_length_of_array_like();
      var isPrototypeOf = require_object_is_prototype_of();
      var getIterator = require_get_iterator();
      var getIteratorMethod = require_get_iterator_method();
      var iteratorClose = require_iterator_close();
      var TypeError2 = global2.TypeError;
      var Result = function(stopped, result2) {
        this.stopped = stopped;
        this.result = result2;
      };
      var ResultPrototype = Result.prototype;
      module2.exports = function(iterable, unboundFunction, options) {
        var that = options && options.that;
        var AS_ENTRIES = !!(options && options.AS_ENTRIES);
        var IS_ITERATOR = !!(options && options.IS_ITERATOR);
        var INTERRUPTED = !!(options && options.INTERRUPTED);
        var fn = bind3(unboundFunction, that);
        var iterator, iterFn, index, length, result2, next, step;
        var stop = function(condition) {
          if (iterator)
            iteratorClose(iterator, "normal", condition);
          return new Result(true, condition);
        };
        var callFn = function(value) {
          if (AS_ENTRIES) {
            anObject(value);
            return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
          }
          return INTERRUPTED ? fn(value, stop) : fn(value);
        };
        if (IS_ITERATOR) {
          iterator = iterable;
        } else {
          iterFn = getIteratorMethod(iterable);
          if (!iterFn)
            throw TypeError2(tryToString(iterable) + " is not iterable");
          if (isArrayIteratorMethod(iterFn)) {
            for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
              result2 = callFn(iterable[index]);
              if (result2 && isPrototypeOf(ResultPrototype, result2))
                return result2;
            }
            return new Result(false);
          }
          iterator = getIterator(iterable, iterFn);
        }
        next = iterator.next;
        while (!(step = call(next, iterator)).done) {
          try {
            result2 = callFn(step.value);
          } catch (error) {
            iteratorClose(iterator, "throw", error);
          }
          if (typeof result2 == "object" && result2 && isPrototypeOf(ResultPrototype, result2))
            return result2;
        }
        return new Result(false);
      };
    }
  });

  // node_modules/core-js/internals/an-instance.js
  var require_an_instance = __commonJS({
    "node_modules/core-js/internals/an-instance.js"(exports, module2) {
      var global2 = require_global();
      var isPrototypeOf = require_object_is_prototype_of();
      var TypeError2 = global2.TypeError;
      module2.exports = function(it, Prototype) {
        if (isPrototypeOf(Prototype, it))
          return it;
        throw TypeError2("Incorrect invocation");
      };
    }
  });

  // node_modules/core-js/internals/inherit-if-required.js
  var require_inherit_if_required = __commonJS({
    "node_modules/core-js/internals/inherit-if-required.js"(exports, module2) {
      var isCallable = require_is_callable();
      var isObject2 = require_is_object();
      var setPrototypeOf2 = require_object_set_prototype_of();
      module2.exports = function($this, dummy, Wrapper) {
        var NewTarget, NewTargetPrototype;
        if (
          // it can work only with native `setPrototypeOf`
          setPrototypeOf2 && // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
          isCallable(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject2(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype
        )
          setPrototypeOf2($this, NewTargetPrototype);
        return $this;
      };
    }
  });

  // node_modules/core-js/internals/collection.js
  var require_collection = __commonJS({
    "node_modules/core-js/internals/collection.js"(exports, module2) {
      "use strict";
      var $2 = require_export();
      var global2 = require_global();
      var uncurryThis = require_function_uncurry_this();
      var isForced = require_is_forced();
      var redefine = require_redefine();
      var InternalMetadataModule = require_internal_metadata();
      var iterate = require_iterate();
      var anInstance = require_an_instance();
      var isCallable = require_is_callable();
      var isObject2 = require_is_object();
      var fails = require_fails();
      var checkCorrectnessOfIteration = require_check_correctness_of_iteration();
      var setToStringTag = require_set_to_string_tag();
      var inheritIfRequired = require_inherit_if_required();
      module2.exports = function(CONSTRUCTOR_NAME, wrapper, common) {
        var IS_MAP = CONSTRUCTOR_NAME.indexOf("Map") !== -1;
        var IS_WEAK = CONSTRUCTOR_NAME.indexOf("Weak") !== -1;
        var ADDER = IS_MAP ? "set" : "add";
        var NativeConstructor = global2[CONSTRUCTOR_NAME];
        var NativePrototype = NativeConstructor && NativeConstructor.prototype;
        var Constructor = NativeConstructor;
        var exported = {};
        var fixMethod = function(KEY) {
          var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);
          redefine(
            NativePrototype,
            KEY,
            KEY == "add" ? function add(value) {
              uncurriedNativeMethod(this, value === 0 ? 0 : value);
              return this;
            } : KEY == "delete" ? function(key) {
              return IS_WEAK && !isObject2(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);
            } : KEY == "get" ? function get8(key) {
              return IS_WEAK && !isObject2(key) ? void 0 : uncurriedNativeMethod(this, key === 0 ? 0 : key);
            } : KEY == "has" ? function has(key) {
              return IS_WEAK && !isObject2(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);
            } : function set3(key, value) {
              uncurriedNativeMethod(this, key === 0 ? 0 : key, value);
              return this;
            }
          );
        };
        var REPLACE = isForced(
          CONSTRUCTOR_NAME,
          !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function() {
            new NativeConstructor().entries().next();
          }))
        );
        if (REPLACE) {
          Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
          InternalMetadataModule.enable();
        } else if (isForced(CONSTRUCTOR_NAME, true)) {
          var instance = new Constructor();
          var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
          var THROWS_ON_PRIMITIVES = fails(function() {
            instance.has(1);
          });
          var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function(iterable) {
            new NativeConstructor(iterable);
          });
          var BUGGY_ZERO = !IS_WEAK && fails(function() {
            var $instance = new NativeConstructor();
            var index = 5;
            while (index--)
              $instance[ADDER](index, index);
            return !$instance.has(-0);
          });
          if (!ACCEPT_ITERABLES) {
            Constructor = wrapper(function(dummy, iterable) {
              anInstance(dummy, NativePrototype);
              var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
              if (iterable != void 0)
                iterate(iterable, that[ADDER], { that, AS_ENTRIES: IS_MAP });
              return that;
            });
            Constructor.prototype = NativePrototype;
            NativePrototype.constructor = Constructor;
          }
          if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
            fixMethod("delete");
            fixMethod("has");
            IS_MAP && fixMethod("get");
          }
          if (BUGGY_ZERO || HASNT_CHAINING)
            fixMethod(ADDER);
          if (IS_WEAK && NativePrototype.clear)
            delete NativePrototype.clear;
        }
        exported[CONSTRUCTOR_NAME] = Constructor;
        $2({ global: true, forced: Constructor != NativeConstructor }, exported);
        setToStringTag(Constructor, CONSTRUCTOR_NAME);
        if (!IS_WEAK)
          common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
        return Constructor;
      };
    }
  });

  // node_modules/core-js/internals/redefine-all.js
  var require_redefine_all = __commonJS({
    "node_modules/core-js/internals/redefine-all.js"(exports, module2) {
      var redefine = require_redefine();
      module2.exports = function(target, src, options) {
        for (var key in src)
          redefine(target, key, src[key], options);
        return target;
      };
    }
  });

  // node_modules/core-js/internals/collection-strong.js
  var require_collection_strong = __commonJS({
    "node_modules/core-js/internals/collection-strong.js"(exports, module2) {
      "use strict";
      var defineProperty = require_object_define_property().f;
      var create5 = require_object_create();
      var redefineAll = require_redefine_all();
      var bind3 = require_function_bind_context();
      var anInstance = require_an_instance();
      var iterate = require_iterate();
      var defineIterator = require_define_iterator();
      var setSpecies = require_set_species();
      var DESCRIPTORS = require_descriptors();
      var fastKey = require_internal_metadata().fastKey;
      var InternalStateModule = require_internal_state();
      var setInternalState = InternalStateModule.set;
      var internalStateGetterFor = InternalStateModule.getterFor;
      module2.exports = {
        getConstructor: function(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
          var Constructor = wrapper(function(that, iterable) {
            anInstance(that, Prototype);
            setInternalState(that, {
              type: CONSTRUCTOR_NAME,
              index: create5(null),
              first: void 0,
              last: void 0,
              size: 0
            });
            if (!DESCRIPTORS)
              that.size = 0;
            if (iterable != void 0)
              iterate(iterable, that[ADDER], { that, AS_ENTRIES: IS_MAP });
          });
          var Prototype = Constructor.prototype;
          var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
          var define2 = function(that, key, value) {
            var state = getInternalState(that);
            var entry = getEntry(that, key);
            var previous, index;
            if (entry) {
              entry.value = value;
            } else {
              state.last = entry = {
                index: index = fastKey(key, true),
                key,
                value,
                previous: previous = state.last,
                next: void 0,
                removed: false
              };
              if (!state.first)
                state.first = entry;
              if (previous)
                previous.next = entry;
              if (DESCRIPTORS)
                state.size++;
              else
                that.size++;
              if (index !== "F")
                state.index[index] = entry;
            }
            return that;
          };
          var getEntry = function(that, key) {
            var state = getInternalState(that);
            var index = fastKey(key);
            var entry;
            if (index !== "F")
              return state.index[index];
            for (entry = state.first; entry; entry = entry.next) {
              if (entry.key == key)
                return entry;
            }
          };
          redefineAll(Prototype, {
            // `{ Map, Set }.prototype.clear()` methods
            // https://tc39.es/ecma262/#sec-map.prototype.clear
            // https://tc39.es/ecma262/#sec-set.prototype.clear
            clear: function clear() {
              var that = this;
              var state = getInternalState(that);
              var data = state.index;
              var entry = state.first;
              while (entry) {
                entry.removed = true;
                if (entry.previous)
                  entry.previous = entry.previous.next = void 0;
                delete data[entry.index];
                entry = entry.next;
              }
              state.first = state.last = void 0;
              if (DESCRIPTORS)
                state.size = 0;
              else
                that.size = 0;
            },
            // `{ Map, Set }.prototype.delete(key)` methods
            // https://tc39.es/ecma262/#sec-map.prototype.delete
            // https://tc39.es/ecma262/#sec-set.prototype.delete
            "delete": function(key) {
              var that = this;
              var state = getInternalState(that);
              var entry = getEntry(that, key);
              if (entry) {
                var next = entry.next;
                var prev = entry.previous;
                delete state.index[entry.index];
                entry.removed = true;
                if (prev)
                  prev.next = next;
                if (next)
                  next.previous = prev;
                if (state.first == entry)
                  state.first = next;
                if (state.last == entry)
                  state.last = prev;
                if (DESCRIPTORS)
                  state.size--;
                else
                  that.size--;
              }
              return !!entry;
            },
            // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods
            // https://tc39.es/ecma262/#sec-map.prototype.foreach
            // https://tc39.es/ecma262/#sec-set.prototype.foreach
            forEach: function forEach6(callbackfn) {
              var state = getInternalState(this);
              var boundFunction = bind3(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
              var entry;
              while (entry = entry ? entry.next : state.first) {
                boundFunction(entry.value, entry.key, this);
                while (entry && entry.removed)
                  entry = entry.previous;
              }
            },
            // `{ Map, Set}.prototype.has(key)` methods
            // https://tc39.es/ecma262/#sec-map.prototype.has
            // https://tc39.es/ecma262/#sec-set.prototype.has
            has: function has(key) {
              return !!getEntry(this, key);
            }
          });
          redefineAll(Prototype, IS_MAP ? {
            // `Map.prototype.get(key)` method
            // https://tc39.es/ecma262/#sec-map.prototype.get
            get: function get8(key) {
              var entry = getEntry(this, key);
              return entry && entry.value;
            },
            // `Map.prototype.set(key, value)` method
            // https://tc39.es/ecma262/#sec-map.prototype.set
            set: function set3(key, value) {
              return define2(this, key === 0 ? 0 : key, value);
            }
          } : {
            // `Set.prototype.add(value)` method
            // https://tc39.es/ecma262/#sec-set.prototype.add
            add: function add(value) {
              return define2(this, value = value === 0 ? 0 : value, value);
            }
          });
          if (DESCRIPTORS)
            defineProperty(Prototype, "size", {
              get: function() {
                return getInternalState(this).size;
              }
            });
          return Constructor;
        },
        setStrong: function(Constructor, CONSTRUCTOR_NAME, IS_MAP) {
          var ITERATOR_NAME = CONSTRUCTOR_NAME + " Iterator";
          var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
          var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
          defineIterator(Constructor, CONSTRUCTOR_NAME, function(iterated, kind) {
            setInternalState(this, {
              type: ITERATOR_NAME,
              target: iterated,
              state: getInternalCollectionState(iterated),
              kind,
              last: void 0
            });
          }, function() {
            var state = getInternalIteratorState(this);
            var kind = state.kind;
            var entry = state.last;
            while (entry && entry.removed)
              entry = entry.previous;
            if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
              state.target = void 0;
              return { value: void 0, done: true };
            }
            if (kind == "keys")
              return { value: entry.key, done: false };
            if (kind == "values")
              return { value: entry.value, done: false };
            return { value: [entry.key, entry.value], done: false };
          }, IS_MAP ? "entries" : "values", !IS_MAP, true);
          setSpecies(CONSTRUCTOR_NAME);
        }
      };
    }
  });

  // node_modules/core-js/modules/es.map.js
  var require_es_map = __commonJS({
    "node_modules/core-js/modules/es.map.js"() {
      "use strict";
      var collection = require_collection();
      var collectionStrong = require_collection_strong();
      collection("Map", function(init2) {
        return function Map2() {
          return init2(this, arguments.length ? arguments[0] : void 0);
        };
      }, collectionStrong);
    }
  });

  // node_modules/core-js/internals/native-promise-constructor.js
  var require_native_promise_constructor = __commonJS({
    "node_modules/core-js/internals/native-promise-constructor.js"(exports, module2) {
      var global2 = require_global();
      module2.exports = global2.Promise;
    }
  });

  // node_modules/core-js/internals/a-constructor.js
  var require_a_constructor = __commonJS({
    "node_modules/core-js/internals/a-constructor.js"(exports, module2) {
      var global2 = require_global();
      var isConstructor = require_is_constructor();
      var tryToString = require_try_to_string();
      var TypeError2 = global2.TypeError;
      module2.exports = function(argument) {
        if (isConstructor(argument))
          return argument;
        throw TypeError2(tryToString(argument) + " is not a constructor");
      };
    }
  });

  // node_modules/core-js/internals/species-constructor.js
  var require_species_constructor = __commonJS({
    "node_modules/core-js/internals/species-constructor.js"(exports, module2) {
      var anObject = require_an_object();
      var aConstructor = require_a_constructor();
      var wellKnownSymbol = require_well_known_symbol();
      var SPECIES = wellKnownSymbol("species");
      module2.exports = function(O, defaultConstructor) {
        var C = anObject(O).constructor;
        var S;
        return C === void 0 || (S = anObject(C)[SPECIES]) == void 0 ? defaultConstructor : aConstructor(S);
      };
    }
  });

  // node_modules/core-js/internals/engine-is-ios.js
  var require_engine_is_ios = __commonJS({
    "node_modules/core-js/internals/engine-is-ios.js"(exports, module2) {
      var userAgent = require_engine_user_agent();
      module2.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);
    }
  });

  // node_modules/core-js/internals/task.js
  var require_task = __commonJS({
    "node_modules/core-js/internals/task.js"(exports, module2) {
      var global2 = require_global();
      var apply = require_function_apply();
      var bind3 = require_function_bind_context();
      var isCallable = require_is_callable();
      var hasOwn2 = require_has_own_property();
      var fails = require_fails();
      var html = require_html();
      var arraySlice = require_array_slice();
      var createElement = require_document_create_element();
      var IS_IOS = require_engine_is_ios();
      var IS_NODE = require_engine_is_node();
      var set3 = global2.setImmediate;
      var clear = global2.clearImmediate;
      var process2 = global2.process;
      var Dispatch = global2.Dispatch;
      var Function2 = global2.Function;
      var MessageChannel = global2.MessageChannel;
      var String2 = global2.String;
      var counter = 0;
      var queue = {};
      var ONREADYSTATECHANGE = "onreadystatechange";
      var location;
      var defer;
      var channel;
      var port;
      try {
        location = global2.location;
      } catch (error) {
      }
      var run = function(id) {
        if (hasOwn2(queue, id)) {
          var fn = queue[id];
          delete queue[id];
          fn();
        }
      };
      var runner = function(id) {
        return function() {
          run(id);
        };
      };
      var listener = function(event) {
        run(event.data);
      };
      var post = function(id) {
        global2.postMessage(String2(id), location.protocol + "//" + location.host);
      };
      if (!set3 || !clear) {
        set3 = function setImmediate2(fn) {
          var args = arraySlice(arguments, 1);
          queue[++counter] = function() {
            apply(isCallable(fn) ? fn : Function2(fn), void 0, args);
          };
          defer(counter);
          return counter;
        };
        clear = function clearImmediate(id) {
          delete queue[id];
        };
        if (IS_NODE) {
          defer = function(id) {
            process2.nextTick(runner(id));
          };
        } else if (Dispatch && Dispatch.now) {
          defer = function(id) {
            Dispatch.now(runner(id));
          };
        } else if (MessageChannel && !IS_IOS) {
          channel = new MessageChannel();
          port = channel.port2;
          channel.port1.onmessage = listener;
          defer = bind3(port.postMessage, port);
        } else if (global2.addEventListener && isCallable(global2.postMessage) && !global2.importScripts && location && location.protocol !== "file:" && !fails(post)) {
          defer = post;
          global2.addEventListener("message", listener, false);
        } else if (ONREADYSTATECHANGE in createElement("script")) {
          defer = function(id) {
            html.appendChild(createElement("script"))[ONREADYSTATECHANGE] = function() {
              html.removeChild(this);
              run(id);
            };
          };
        } else {
          defer = function(id) {
            setTimeout(runner(id), 0);
          };
        }
      }
      module2.exports = {
        set: set3,
        clear
      };
    }
  });

  // node_modules/core-js/internals/engine-is-ios-pebble.js
  var require_engine_is_ios_pebble = __commonJS({
    "node_modules/core-js/internals/engine-is-ios-pebble.js"(exports, module2) {
      var userAgent = require_engine_user_agent();
      var global2 = require_global();
      module2.exports = /ipad|iphone|ipod/i.test(userAgent) && global2.Pebble !== void 0;
    }
  });

  // node_modules/core-js/internals/engine-is-webos-webkit.js
  var require_engine_is_webos_webkit = __commonJS({
    "node_modules/core-js/internals/engine-is-webos-webkit.js"(exports, module2) {
      var userAgent = require_engine_user_agent();
      module2.exports = /web0s(?!.*chrome)/i.test(userAgent);
    }
  });

  // node_modules/core-js/internals/microtask.js
  var require_microtask = __commonJS({
    "node_modules/core-js/internals/microtask.js"(exports, module2) {
      var global2 = require_global();
      var bind3 = require_function_bind_context();
      var getOwnPropertyDescriptor = require_object_get_own_property_descriptor().f;
      var macrotask = require_task().set;
      var IS_IOS = require_engine_is_ios();
      var IS_IOS_PEBBLE = require_engine_is_ios_pebble();
      var IS_WEBOS_WEBKIT = require_engine_is_webos_webkit();
      var IS_NODE = require_engine_is_node();
      var MutationObserver = global2.MutationObserver || global2.WebKitMutationObserver;
      var document2 = global2.document;
      var process2 = global2.process;
      var Promise3 = global2.Promise;
      var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global2, "queueMicrotask");
      var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
      var flush;
      var head;
      var last;
      var notify;
      var toggle;
      var node;
      var promise;
      var then;
      if (!queueMicrotask) {
        flush = function() {
          var parent, fn;
          if (IS_NODE && (parent = process2.domain))
            parent.exit();
          while (head) {
            fn = head.fn;
            head = head.next;
            try {
              fn();
            } catch (error) {
              if (head)
                notify();
              else
                last = void 0;
              throw error;
            }
          }
          last = void 0;
          if (parent)
            parent.enter();
        };
        if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document2) {
          toggle = true;
          node = document2.createTextNode("");
          new MutationObserver(flush).observe(node, { characterData: true });
          notify = function() {
            node.data = toggle = !toggle;
          };
        } else if (!IS_IOS_PEBBLE && Promise3 && Promise3.resolve) {
          promise = Promise3.resolve(void 0);
          promise.constructor = Promise3;
          then = bind3(promise.then, promise);
          notify = function() {
            then(flush);
          };
        } else if (IS_NODE) {
          notify = function() {
            process2.nextTick(flush);
          };
        } else {
          macrotask = bind3(macrotask, global2);
          notify = function() {
            macrotask(flush);
          };
        }
      }
      module2.exports = queueMicrotask || function(fn) {
        var task = { fn, next: void 0 };
        if (last)
          last.next = task;
        if (!head) {
          head = task;
          notify();
        }
        last = task;
      };
    }
  });

  // node_modules/core-js/internals/new-promise-capability.js
  var require_new_promise_capability = __commonJS({
    "node_modules/core-js/internals/new-promise-capability.js"(exports, module2) {
      "use strict";
      var aCallable = require_a_callable();
      var PromiseCapability = function(C) {
        var resolve2, reject2;
        this.promise = new C(function($$resolve, $$reject) {
          if (resolve2 !== void 0 || reject2 !== void 0)
            throw TypeError("Bad Promise constructor");
          resolve2 = $$resolve;
          reject2 = $$reject;
        });
        this.resolve = aCallable(resolve2);
        this.reject = aCallable(reject2);
      };
      module2.exports.f = function(C) {
        return new PromiseCapability(C);
      };
    }
  });

  // node_modules/core-js/internals/promise-resolve.js
  var require_promise_resolve = __commonJS({
    "node_modules/core-js/internals/promise-resolve.js"(exports, module2) {
      var anObject = require_an_object();
      var isObject2 = require_is_object();
      var newPromiseCapability = require_new_promise_capability();
      module2.exports = function(C, x) {
        anObject(C);
        if (isObject2(x) && x.constructor === C)
          return x;
        var promiseCapability = newPromiseCapability.f(C);
        var resolve2 = promiseCapability.resolve;
        resolve2(x);
        return promiseCapability.promise;
      };
    }
  });

  // node_modules/core-js/internals/host-report-errors.js
  var require_host_report_errors = __commonJS({
    "node_modules/core-js/internals/host-report-errors.js"(exports, module2) {
      var global2 = require_global();
      module2.exports = function(a, b) {
        var console2 = global2.console;
        if (console2 && console2.error) {
          arguments.length == 1 ? console2.error(a) : console2.error(a, b);
        }
      };
    }
  });

  // node_modules/core-js/internals/perform.js
  var require_perform = __commonJS({
    "node_modules/core-js/internals/perform.js"(exports, module2) {
      module2.exports = function(exec) {
        try {
          return { error: false, value: exec() };
        } catch (error) {
          return { error: true, value: error };
        }
      };
    }
  });

  // node_modules/core-js/internals/engine-is-browser.js
  var require_engine_is_browser = __commonJS({
    "node_modules/core-js/internals/engine-is-browser.js"(exports, module2) {
      module2.exports = typeof window == "object";
    }
  });

  // node_modules/core-js/modules/es.promise.js
  var require_es_promise = __commonJS({
    "node_modules/core-js/modules/es.promise.js"() {
      "use strict";
      var $2 = require_export();
      var IS_PURE = require_is_pure();
      var global2 = require_global();
      var getBuiltIn = require_get_built_in();
      var call = require_function_call();
      var NativePromise = require_native_promise_constructor();
      var redefine = require_redefine();
      var redefineAll = require_redefine_all();
      var setPrototypeOf2 = require_object_set_prototype_of();
      var setToStringTag = require_set_to_string_tag();
      var setSpecies = require_set_species();
      var aCallable = require_a_callable();
      var isCallable = require_is_callable();
      var isObject2 = require_is_object();
      var anInstance = require_an_instance();
      var inspectSource = require_inspect_source();
      var iterate = require_iterate();
      var checkCorrectnessOfIteration = require_check_correctness_of_iteration();
      var speciesConstructor = require_species_constructor();
      var task = require_task().set;
      var microtask = require_microtask();
      var promiseResolve = require_promise_resolve();
      var hostReportErrors = require_host_report_errors();
      var newPromiseCapabilityModule = require_new_promise_capability();
      var perform = require_perform();
      var InternalStateModule = require_internal_state();
      var isForced = require_is_forced();
      var wellKnownSymbol = require_well_known_symbol();
      var IS_BROWSER = require_engine_is_browser();
      var IS_NODE = require_engine_is_node();
      var V8_VERSION = require_engine_v8_version();
      var SPECIES = wellKnownSymbol("species");
      var PROMISE = "Promise";
      var getInternalState = InternalStateModule.get;
      var setInternalState = InternalStateModule.set;
      var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
      var NativePromisePrototype = NativePromise && NativePromise.prototype;
      var PromiseConstructor = NativePromise;
      var PromisePrototype = NativePromisePrototype;
      var TypeError2 = global2.TypeError;
      var document2 = global2.document;
      var process2 = global2.process;
      var newPromiseCapability = newPromiseCapabilityModule.f;
      var newGenericPromiseCapability = newPromiseCapability;
      var DISPATCH_EVENT = !!(document2 && document2.createEvent && global2.dispatchEvent);
      var NATIVE_REJECTION_EVENT = isCallable(global2.PromiseRejectionEvent);
      var UNHANDLED_REJECTION = "unhandledrejection";
      var REJECTION_HANDLED = "rejectionhandled";
      var PENDING = 0;
      var FULFILLED = 1;
      var REJECTED = 2;
      var HANDLED = 1;
      var UNHANDLED = 2;
      var SUBCLASSING = false;
      var Internal;
      var OwnPromiseCapability;
      var PromiseWrapper;
      var nativeThen;
      var FORCED = isForced(PROMISE, function() {
        var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);
        var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);
        if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66)
          return true;
        if (IS_PURE && !PromisePrototype["finally"])
          return true;
        if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE))
          return false;
        var promise = new PromiseConstructor(function(resolve2) {
          resolve2(1);
        });
        var FakePromise = function(exec) {
          exec(function() {
          }, function() {
          });
        };
        var constructor = promise.constructor = {};
        constructor[SPECIES] = FakePromise;
        SUBCLASSING = promise.then(function() {
        }) instanceof FakePromise;
        if (!SUBCLASSING)
          return true;
        return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;
      });
      var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function(iterable) {
        PromiseConstructor.all(iterable)["catch"](function() {
        });
      });
      var isThenable = function(it) {
        var then;
        return isObject2(it) && isCallable(then = it.then) ? then : false;
      };
      var notify = function(state, isReject) {
        if (state.notified)
          return;
        state.notified = true;
        var chain = state.reactions;
        microtask(function() {
          var value = state.value;
          var ok = state.state == FULFILLED;
          var index = 0;
          while (chain.length > index) {
            var reaction = chain[index++];
            var handler = ok ? reaction.ok : reaction.fail;
            var resolve2 = reaction.resolve;
            var reject2 = reaction.reject;
            var domain = reaction.domain;
            var result2, then, exited;
            try {
              if (handler) {
                if (!ok) {
                  if (state.rejection === UNHANDLED)
                    onHandleUnhandled(state);
                  state.rejection = HANDLED;
                }
                if (handler === true)
                  result2 = value;
                else {
                  if (domain)
                    domain.enter();
                  result2 = handler(value);
                  if (domain) {
                    domain.exit();
                    exited = true;
                  }
                }
                if (result2 === reaction.promise) {
                  reject2(TypeError2("Promise-chain cycle"));
                } else if (then = isThenable(result2)) {
                  call(then, result2, resolve2, reject2);
                } else
                  resolve2(result2);
              } else
                reject2(value);
            } catch (error) {
              if (domain && !exited)
                domain.exit();
              reject2(error);
            }
          }
          state.reactions = [];
          state.notified = false;
          if (isReject && !state.rejection)
            onUnhandled(state);
        });
      };
      var dispatchEvent = function(name, promise, reason) {
        var event, handler;
        if (DISPATCH_EVENT) {
          event = document2.createEvent("Event");
          event.promise = promise;
          event.reason = reason;
          event.initEvent(name, false, true);
          global2.dispatchEvent(event);
        } else
          event = { promise, reason };
        if (!NATIVE_REJECTION_EVENT && (handler = global2["on" + name]))
          handler(event);
        else if (name === UNHANDLED_REJECTION)
          hostReportErrors("Unhandled promise rejection", reason);
      };
      var onUnhandled = function(state) {
        call(task, global2, function() {
          var promise = state.facade;
          var value = state.value;
          var IS_UNHANDLED = isUnhandled(state);
          var result2;
          if (IS_UNHANDLED) {
            result2 = perform(function() {
              if (IS_NODE) {
                process2.emit("unhandledRejection", value, promise);
              } else
                dispatchEvent(UNHANDLED_REJECTION, promise, value);
            });
            state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
            if (result2.error)
              throw result2.value;
          }
        });
      };
      var isUnhandled = function(state) {
        return state.rejection !== HANDLED && !state.parent;
      };
      var onHandleUnhandled = function(state) {
        call(task, global2, function() {
          var promise = state.facade;
          if (IS_NODE) {
            process2.emit("rejectionHandled", promise);
          } else
            dispatchEvent(REJECTION_HANDLED, promise, state.value);
        });
      };
      var bind3 = function(fn, state, unwrap) {
        return function(value) {
          fn(state, value, unwrap);
        };
      };
      var internalReject = function(state, value, unwrap) {
        if (state.done)
          return;
        state.done = true;
        if (unwrap)
          state = unwrap;
        state.value = value;
        state.state = REJECTED;
        notify(state, true);
      };
      var internalResolve = function(state, value, unwrap) {
        if (state.done)
          return;
        state.done = true;
        if (unwrap)
          state = unwrap;
        try {
          if (state.facade === value)
            throw TypeError2("Promise can't be resolved itself");
          var then = isThenable(value);
          if (then) {
            microtask(function() {
              var wrapper = { done: false };
              try {
                call(
                  then,
                  value,
                  bind3(internalResolve, wrapper, state),
                  bind3(internalReject, wrapper, state)
                );
              } catch (error) {
                internalReject(wrapper, error, state);
              }
            });
          } else {
            state.value = value;
            state.state = FULFILLED;
            notify(state, false);
          }
        } catch (error) {
          internalReject({ done: false }, error, state);
        }
      };
      if (FORCED) {
        PromiseConstructor = function Promise3(executor) {
          anInstance(this, PromisePrototype);
          aCallable(executor);
          call(Internal, this);
          var state = getInternalState(this);
          try {
            executor(bind3(internalResolve, state), bind3(internalReject, state));
          } catch (error) {
            internalReject(state, error);
          }
        };
        PromisePrototype = PromiseConstructor.prototype;
        Internal = function Promise3(executor) {
          setInternalState(this, {
            type: PROMISE,
            done: false,
            notified: false,
            parent: false,
            reactions: [],
            rejection: false,
            state: PENDING,
            value: void 0
          });
        };
        Internal.prototype = redefineAll(PromisePrototype, {
          // `Promise.prototype.then` method
          // https://tc39.es/ecma262/#sec-promise.prototype.then
          then: function then(onFulfilled, onRejected) {
            var state = getInternalPromiseState(this);
            var reactions = state.reactions;
            var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
            reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;
            reaction.fail = isCallable(onRejected) && onRejected;
            reaction.domain = IS_NODE ? process2.domain : void 0;
            state.parent = true;
            reactions[reactions.length] = reaction;
            if (state.state != PENDING)
              notify(state, false);
            return reaction.promise;
          },
          // `Promise.prototype.catch` method
          // https://tc39.es/ecma262/#sec-promise.prototype.catch
          "catch": function(onRejected) {
            return this.then(void 0, onRejected);
          }
        });
        OwnPromiseCapability = function() {
          var promise = new Internal();
          var state = getInternalState(promise);
          this.promise = promise;
          this.resolve = bind3(internalResolve, state);
          this.reject = bind3(internalReject, state);
        };
        newPromiseCapabilityModule.f = newPromiseCapability = function(C) {
          return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);
        };
        if (!IS_PURE && isCallable(NativePromise) && NativePromisePrototype !== Object.prototype) {
          nativeThen = NativePromisePrototype.then;
          if (!SUBCLASSING) {
            redefine(NativePromisePrototype, "then", function then(onFulfilled, onRejected) {
              var that = this;
              return new PromiseConstructor(function(resolve2, reject2) {
                call(nativeThen, that, resolve2, reject2);
              }).then(onFulfilled, onRejected);
            }, { unsafe: true });
            redefine(NativePromisePrototype, "catch", PromisePrototype["catch"], { unsafe: true });
          }
          try {
            delete NativePromisePrototype.constructor;
          } catch (error) {
          }
          if (setPrototypeOf2) {
            setPrototypeOf2(NativePromisePrototype, PromisePrototype);
          }
        }
      }
      $2({ global: true, wrap: true, forced: FORCED }, {
        Promise: PromiseConstructor
      });
      setToStringTag(PromiseConstructor, PROMISE, false, true);
      setSpecies(PROMISE);
      PromiseWrapper = getBuiltIn(PROMISE);
      $2({ target: PROMISE, stat: true, forced: FORCED }, {
        // `Promise.reject` method
        // https://tc39.es/ecma262/#sec-promise.reject
        reject: function reject2(r) {
          var capability = newPromiseCapability(this);
          call(capability.reject, void 0, r);
          return capability.promise;
        }
      });
      $2({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {
        // `Promise.resolve` method
        // https://tc39.es/ecma262/#sec-promise.resolve
        resolve: function resolve2(x) {
          return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
        }
      });
      $2({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
        // `Promise.all` method
        // https://tc39.es/ecma262/#sec-promise.all
        all: function all(iterable) {
          var C = this;
          var capability = newPromiseCapability(C);
          var resolve2 = capability.resolve;
          var reject2 = capability.reject;
          var result2 = perform(function() {
            var $promiseResolve = aCallable(C.resolve);
            var values2 = [];
            var counter = 0;
            var remaining = 1;
            iterate(iterable, function(promise) {
              var index = counter++;
              var alreadyCalled = false;
              remaining++;
              call($promiseResolve, C, promise).then(function(value) {
                if (alreadyCalled)
                  return;
                alreadyCalled = true;
                values2[index] = value;
                --remaining || resolve2(values2);
              }, reject2);
            });
            --remaining || resolve2(values2);
          });
          if (result2.error)
            reject2(result2.value);
          return capability.promise;
        },
        // `Promise.race` method
        // https://tc39.es/ecma262/#sec-promise.race
        race: function race(iterable) {
          var C = this;
          var capability = newPromiseCapability(C);
          var reject2 = capability.reject;
          var result2 = perform(function() {
            var $promiseResolve = aCallable(C.resolve);
            iterate(iterable, function(promise) {
              call($promiseResolve, C, promise).then(capability.resolve, reject2);
            });
          });
          if (result2.error)
            reject2(result2.value);
          return capability.promise;
        }
      });
    }
  });

  // node_modules/core-js/internals/async-iterator-prototype.js
  var require_async_iterator_prototype = __commonJS({
    "node_modules/core-js/internals/async-iterator-prototype.js"(exports, module2) {
      var global2 = require_global();
      var shared = require_shared_store();
      var isCallable = require_is_callable();
      var create5 = require_object_create();
      var getPrototypeOf = require_object_get_prototype_of();
      var redefine = require_redefine();
      var wellKnownSymbol = require_well_known_symbol();
      var IS_PURE = require_is_pure();
      var USE_FUNCTION_CONSTRUCTOR = "USE_FUNCTION_CONSTRUCTOR";
      var ASYNC_ITERATOR = wellKnownSymbol("asyncIterator");
      var AsyncIterator = global2.AsyncIterator;
      var PassedAsyncIteratorPrototype = shared.AsyncIteratorPrototype;
      var AsyncIteratorPrototype;
      var prototype3;
      if (PassedAsyncIteratorPrototype) {
        AsyncIteratorPrototype = PassedAsyncIteratorPrototype;
      } else if (isCallable(AsyncIterator)) {
        AsyncIteratorPrototype = AsyncIterator.prototype;
      } else if (shared[USE_FUNCTION_CONSTRUCTOR] || global2[USE_FUNCTION_CONSTRUCTOR]) {
        try {
          prototype3 = getPrototypeOf(getPrototypeOf(getPrototypeOf(Function("return async function*(){}()")())));
          if (getPrototypeOf(prototype3) === Object.prototype)
            AsyncIteratorPrototype = prototype3;
        } catch (error) {
        }
      }
      if (!AsyncIteratorPrototype)
        AsyncIteratorPrototype = {};
      else if (IS_PURE)
        AsyncIteratorPrototype = create5(AsyncIteratorPrototype);
      if (!isCallable(AsyncIteratorPrototype[ASYNC_ITERATOR])) {
        redefine(AsyncIteratorPrototype, ASYNC_ITERATOR, function() {
          return this;
        });
      }
      module2.exports = AsyncIteratorPrototype;
    }
  });

  // node_modules/core-js/internals/async-from-sync-iterator.js
  var require_async_from_sync_iterator = __commonJS({
    "node_modules/core-js/internals/async-from-sync-iterator.js"(exports, module2) {
      "use strict";
      var apply = require_function_apply();
      var anObject = require_an_object();
      var create5 = require_object_create();
      var getMethod2 = require_get_method();
      var redefineAll = require_redefine_all();
      var InternalStateModule = require_internal_state();
      var getBuiltIn = require_get_built_in();
      var AsyncIteratorPrototype = require_async_iterator_prototype();
      var Promise3 = getBuiltIn("Promise");
      var setInternalState = InternalStateModule.set;
      var getInternalState = InternalStateModule.get;
      var asyncFromSyncIteratorContinuation = function(result2, resolve2, reject2) {
        var done = result2.done;
        Promise3.resolve(result2.value).then(function(value) {
          resolve2({ done, value });
        }, reject2);
      };
      var AsyncFromSyncIterator = function AsyncIterator(iterator) {
        setInternalState(this, {
          iterator: anObject(iterator),
          next: iterator.next
        });
      };
      AsyncFromSyncIterator.prototype = redefineAll(create5(AsyncIteratorPrototype), {
        next: function next(arg) {
          var state = getInternalState(this);
          var hasArg = !!arguments.length;
          return new Promise3(function(resolve2, reject2) {
            var result2 = anObject(apply(state.next, state.iterator, hasArg ? [arg] : []));
            asyncFromSyncIteratorContinuation(result2, resolve2, reject2);
          });
        },
        "return": function(arg) {
          var iterator = getInternalState(this).iterator;
          var hasArg = !!arguments.length;
          return new Promise3(function(resolve2, reject2) {
            var $return = getMethod2(iterator, "return");
            if ($return === void 0)
              return resolve2({ done: true, value: arg });
            var result2 = anObject(apply($return, iterator, hasArg ? [arg] : []));
            asyncFromSyncIteratorContinuation(result2, resolve2, reject2);
          });
        },
        "throw": function(arg) {
          var iterator = getInternalState(this).iterator;
          var hasArg = !!arguments.length;
          return new Promise3(function(resolve2, reject2) {
            var $throw = getMethod2(iterator, "throw");
            if ($throw === void 0)
              return reject2(arg);
            var result2 = anObject(apply($throw, iterator, hasArg ? [arg] : []));
            asyncFromSyncIteratorContinuation(result2, resolve2, reject2);
          });
        }
      });
      module2.exports = AsyncFromSyncIterator;
    }
  });

  // node_modules/core-js/internals/get-async-iterator.js
  var require_get_async_iterator = __commonJS({
    "node_modules/core-js/internals/get-async-iterator.js"(exports, module2) {
      var call = require_function_call();
      var AsyncFromSyncIterator = require_async_from_sync_iterator();
      var anObject = require_an_object();
      var getIterator = require_get_iterator();
      var getMethod2 = require_get_method();
      var wellKnownSymbol = require_well_known_symbol();
      var ASYNC_ITERATOR = wellKnownSymbol("asyncIterator");
      module2.exports = function(it, usingIterator) {
        var method = arguments.length < 2 ? getMethod2(it, ASYNC_ITERATOR) : usingIterator;
        return method ? anObject(call(method, it)) : new AsyncFromSyncIterator(getIterator(it));
      };
    }
  });

  // node_modules/core-js/internals/entry-virtual.js
  var require_entry_virtual = __commonJS({
    "node_modules/core-js/internals/entry-virtual.js"(exports, module2) {
      var global2 = require_global();
      module2.exports = function(CONSTRUCTOR) {
        return global2[CONSTRUCTOR].prototype;
      };
    }
  });

  // node_modules/core-js/internals/async-iterator-iteration.js
  var require_async_iterator_iteration = __commonJS({
    "node_modules/core-js/internals/async-iterator-iteration.js"(exports, module2) {
      "use strict";
      var global2 = require_global();
      var call = require_function_call();
      var aCallable = require_a_callable();
      var anObject = require_an_object();
      var getBuiltIn = require_get_built_in();
      var getMethod2 = require_get_method();
      var MAX_SAFE_INTEGER = 9007199254740991;
      var TypeError2 = global2.TypeError;
      var createMethod = function(TYPE2) {
        var IS_TO_ARRAY = TYPE2 == 0;
        var IS_FOR_EACH = TYPE2 == 1;
        var IS_EVERY = TYPE2 == 2;
        var IS_SOME = TYPE2 == 3;
        return function(iterator, fn, target) {
          anObject(iterator);
          var Promise3 = getBuiltIn("Promise");
          var next = aCallable(iterator.next);
          var index = 0;
          var MAPPING = fn !== void 0;
          if (MAPPING || !IS_TO_ARRAY)
            aCallable(fn);
          return new Promise3(function(resolve2, reject2) {
            var closeIteration = function(method, argument) {
              try {
                var returnMethod = getMethod2(iterator, "return");
                if (returnMethod) {
                  return Promise3.resolve(call(returnMethod, iterator)).then(function() {
                    method(argument);
                  }, function(error) {
                    reject2(error);
                  });
                }
              } catch (error2) {
                return reject2(error2);
              }
              method(argument);
            };
            var onError2 = function(error) {
              closeIteration(reject2, error);
            };
            var loop = function() {
              try {
                if (IS_TO_ARRAY && index > MAX_SAFE_INTEGER && MAPPING) {
                  throw TypeError2("The allowed number of iterations has been exceeded");
                }
                Promise3.resolve(anObject(call(next, iterator))).then(function(step) {
                  try {
                    if (anObject(step).done) {
                      if (IS_TO_ARRAY) {
                        target.length = index;
                        resolve2(target);
                      } else
                        resolve2(IS_SOME ? false : IS_EVERY || void 0);
                    } else {
                      var value = step.value;
                      if (MAPPING) {
                        Promise3.resolve(IS_TO_ARRAY ? fn(value, index) : fn(value)).then(function(result2) {
                          if (IS_FOR_EACH) {
                            loop();
                          } else if (IS_EVERY) {
                            result2 ? loop() : closeIteration(resolve2, false);
                          } else if (IS_TO_ARRAY) {
                            target[index++] = result2;
                            loop();
                          } else {
                            result2 ? closeIteration(resolve2, IS_SOME || value) : loop();
                          }
                        }, onError2);
                      } else {
                        target[index++] = value;
                        loop();
                      }
                    }
                  } catch (error) {
                    onError2(error);
                  }
                }, onError2);
              } catch (error2) {
                onError2(error2);
              }
            };
            loop();
          });
        };
      };
      module2.exports = {
        toArray: createMethod(0),
        forEach: createMethod(1),
        every: createMethod(2),
        some: createMethod(3),
        find: createMethod(4)
      };
    }
  });

  // node_modules/core-js/internals/array-from-async.js
  var require_array_from_async = __commonJS({
    "node_modules/core-js/internals/array-from-async.js"(exports, module2) {
      "use strict";
      var bind3 = require_function_bind_context();
      var toObject = require_to_object();
      var isConstructor = require_is_constructor();
      var getAsyncIterator = require_get_async_iterator();
      var getIterator = require_get_iterator();
      var getIteratorMethod = require_get_iterator_method();
      var getMethod2 = require_get_method();
      var getVirtual = require_entry_virtual();
      var getBuiltIn = require_get_built_in();
      var wellKnownSymbol = require_well_known_symbol();
      var AsyncFromSyncIterator = require_async_from_sync_iterator();
      var toArray = require_async_iterator_iteration().toArray;
      var ASYNC_ITERATOR = wellKnownSymbol("asyncIterator");
      var arrayIterator = getVirtual("Array").values;
      module2.exports = function fromAsync(asyncItems) {
        var C = this;
        var argumentsLength = arguments.length;
        var mapfn = argumentsLength > 1 ? arguments[1] : void 0;
        var thisArg = argumentsLength > 2 ? arguments[2] : void 0;
        return new (getBuiltIn("Promise"))(function(resolve2) {
          var O = toObject(asyncItems);
          if (mapfn !== void 0)
            mapfn = bind3(mapfn, thisArg);
          var usingAsyncIterator = getMethod2(O, ASYNC_ITERATOR);
          var usingSyncIterator = usingAsyncIterator ? void 0 : getIteratorMethod(O) || arrayIterator;
          var A = isConstructor(C) ? new C() : [];
          var iterator = usingAsyncIterator ? getAsyncIterator(O, usingAsyncIterator) : new AsyncFromSyncIterator(getIterator(O, usingSyncIterator));
          resolve2(toArray(iterator, mapfn, A));
        });
      };
    }
  });

  // node_modules/core-js/modules/esnext.array.from-async.js
  var require_esnext_array_from_async = __commonJS({
    "node_modules/core-js/modules/esnext.array.from-async.js"() {
      var $2 = require_export();
      var fromAsync = require_array_from_async();
      $2({ target: "Array", stat: true }, {
        fromAsync
      });
    }
  });

  // node_modules/core-js/modules/esnext.array.at.js
  var require_esnext_array_at = __commonJS({
    "node_modules/core-js/modules/esnext.array.at.js"() {
      require_es_array_at();
    }
  });

  // node_modules/core-js/modules/esnext.array.filter-out.js
  var require_esnext_array_filter_out = __commonJS({
    "node_modules/core-js/modules/esnext.array.filter-out.js"() {
      "use strict";
      var $2 = require_export();
      var $filterReject = require_array_iteration().filterReject;
      var addToUnscopables = require_add_to_unscopables();
      $2({ target: "Array", proto: true }, {
        filterOut: function filterOut(callbackfn) {
          return $filterReject(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
        }
      });
      addToUnscopables("filterOut");
    }
  });

  // node_modules/core-js/modules/esnext.array.filter-reject.js
  var require_esnext_array_filter_reject = __commonJS({
    "node_modules/core-js/modules/esnext.array.filter-reject.js"() {
      "use strict";
      var $2 = require_export();
      var $filterReject = require_array_iteration().filterReject;
      var addToUnscopables = require_add_to_unscopables();
      $2({ target: "Array", proto: true }, {
        filterReject: function filterReject(callbackfn) {
          return $filterReject(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
        }
      });
      addToUnscopables("filterReject");
    }
  });

  // node_modules/core-js/internals/array-iteration-from-last.js
  var require_array_iteration_from_last = __commonJS({
    "node_modules/core-js/internals/array-iteration-from-last.js"(exports, module2) {
      var bind3 = require_function_bind_context();
      var IndexedObject = require_indexed_object();
      var toObject = require_to_object();
      var lengthOfArrayLike = require_length_of_array_like();
      var createMethod = function(TYPE2) {
        var IS_FIND_LAST_INDEX = TYPE2 == 1;
        return function($this, callbackfn, that) {
          var O = toObject($this);
          var self2 = IndexedObject(O);
          var boundFunction = bind3(callbackfn, that);
          var index = lengthOfArrayLike(self2);
          var value, result2;
          while (index-- > 0) {
            value = self2[index];
            result2 = boundFunction(value, index, O);
            if (result2)
              switch (TYPE2) {
                case 0:
                  return value;
                case 1:
                  return index;
              }
          }
          return IS_FIND_LAST_INDEX ? -1 : void 0;
        };
      };
      module2.exports = {
        // `Array.prototype.findLast` method
        // https://github.com/tc39/proposal-array-find-from-last
        findLast: createMethod(0),
        // `Array.prototype.findLastIndex` method
        // https://github.com/tc39/proposal-array-find-from-last
        findLastIndex: createMethod(1)
      };
    }
  });

  // node_modules/core-js/modules/esnext.array.find-last.js
  var require_esnext_array_find_last = __commonJS({
    "node_modules/core-js/modules/esnext.array.find-last.js"() {
      "use strict";
      var $2 = require_export();
      var $findLast = require_array_iteration_from_last().findLast;
      var addToUnscopables = require_add_to_unscopables();
      $2({ target: "Array", proto: true }, {
        findLast: function findLast2(callbackfn) {
          return $findLast(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
        }
      });
      addToUnscopables("findLast");
    }
  });

  // node_modules/core-js/modules/esnext.array.find-last-index.js
  var require_esnext_array_find_last_index = __commonJS({
    "node_modules/core-js/modules/esnext.array.find-last-index.js"() {
      "use strict";
      var $2 = require_export();
      var $findLastIndex = require_array_iteration_from_last().findLastIndex;
      var addToUnscopables = require_add_to_unscopables();
      $2({ target: "Array", proto: true }, {
        findLastIndex: function findLastIndex(callbackfn) {
          return $findLastIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
        }
      });
      addToUnscopables("findLastIndex");
    }
  });

  // node_modules/core-js/internals/array-from-constructor-and-list.js
  var require_array_from_constructor_and_list = __commonJS({
    "node_modules/core-js/internals/array-from-constructor-and-list.js"(exports, module2) {
      module2.exports = function(Constructor, list) {
        var index = 0;
        var length = list.length;
        var result2 = new Constructor(length);
        while (length > index)
          result2[index] = list[index++];
        return result2;
      };
    }
  });

  // node_modules/core-js/internals/array-group-by.js
  var require_array_group_by = __commonJS({
    "node_modules/core-js/internals/array-group-by.js"(exports, module2) {
      var global2 = require_global();
      var bind3 = require_function_bind_context();
      var uncurryThis = require_function_uncurry_this();
      var IndexedObject = require_indexed_object();
      var toObject = require_to_object();
      var toPropertyKey = require_to_property_key();
      var lengthOfArrayLike = require_length_of_array_like();
      var objectCreate = require_object_create();
      var arrayFromConstructorAndList = require_array_from_constructor_and_list();
      var Array2 = global2.Array;
      var push = uncurryThis([].push);
      module2.exports = function($this, callbackfn, that, specificConstructor) {
        var O = toObject($this);
        var self2 = IndexedObject(O);
        var boundFunction = bind3(callbackfn, that);
        var target = objectCreate(null);
        var length = lengthOfArrayLike(self2);
        var index = 0;
        var Constructor, key, value;
        for (; length > index; index++) {
          value = self2[index];
          key = toPropertyKey(boundFunction(value, index, O));
          if (key in target)
            push(target[key], value);
          else
            target[key] = [value];
        }
        if (specificConstructor) {
          Constructor = specificConstructor(O);
          if (Constructor !== Array2) {
            for (key in target)
              target[key] = arrayFromConstructorAndList(Constructor, target[key]);
          }
        }
        return target;
      };
    }
  });

  // node_modules/core-js/modules/esnext.array.group-by.js
  var require_esnext_array_group_by = __commonJS({
    "node_modules/core-js/modules/esnext.array.group-by.js"() {
      "use strict";
      var $2 = require_export();
      var $groupBy = require_array_group_by();
      var arraySpeciesConstructor = require_array_species_constructor();
      var addToUnscopables = require_add_to_unscopables();
      $2({ target: "Array", proto: true }, {
        groupBy: function groupBy(callbackfn) {
          var thisArg = arguments.length > 1 ? arguments[1] : void 0;
          return $groupBy(this, callbackfn, thisArg, arraySpeciesConstructor);
        }
      });
      addToUnscopables("groupBy");
    }
  });

  // node_modules/core-js/modules/esnext.array.is-template-object.js
  var require_esnext_array_is_template_object = __commonJS({
    "node_modules/core-js/modules/esnext.array.is-template-object.js"() {
      var $2 = require_export();
      var isArray2 = require_is_array();
      var isFrozen = Object.isFrozen;
      var isFrozenStringArray = function(array, allowUndefined) {
        if (!isFrozen || !isArray2(array) || !isFrozen(array))
          return false;
        var index = 0;
        var length = array.length;
        var element;
        while (index < length) {
          element = array[index++];
          if (!(typeof element == "string" || allowUndefined && typeof element == "undefined")) {
            return false;
          }
        }
        return length !== 0;
      };
      $2({ target: "Array", stat: true }, {
        isTemplateObject: function isTemplateObject(value) {
          if (!isFrozenStringArray(value, true))
            return false;
          var raw = value.raw;
          if (raw.length !== value.length || !isFrozenStringArray(raw, false))
            return false;
          return true;
        }
      });
    }
  });

  // node_modules/core-js/modules/esnext.array.last-item.js
  var require_esnext_array_last_item = __commonJS({
    "node_modules/core-js/modules/esnext.array.last-item.js"() {
      "use strict";
      var DESCRIPTORS = require_descriptors();
      var addToUnscopables = require_add_to_unscopables();
      var toObject = require_to_object();
      var lengthOfArrayLike = require_length_of_array_like();
      var defineProperty = require_object_define_property().f;
      if (DESCRIPTORS && !("lastItem" in [])) {
        defineProperty(Array.prototype, "lastItem", {
          configurable: true,
          get: function lastItem() {
            var O = toObject(this);
            var len = lengthOfArrayLike(O);
            return len == 0 ? void 0 : O[len - 1];
          },
          set: function lastItem(value) {
            var O = toObject(this);
            var len = lengthOfArrayLike(O);
            return O[len == 0 ? 0 : len - 1] = value;
          }
        });
        addToUnscopables("lastItem");
      }
    }
  });

  // node_modules/core-js/modules/esnext.array.last-index.js
  var require_esnext_array_last_index = __commonJS({
    "node_modules/core-js/modules/esnext.array.last-index.js"() {
      "use strict";
      var DESCRIPTORS = require_descriptors();
      var addToUnscopables = require_add_to_unscopables();
      var toObject = require_to_object();
      var lengthOfArrayLike = require_length_of_array_like();
      var defineProperty = require_object_define_property().f;
      if (DESCRIPTORS && !("lastIndex" in [])) {
        defineProperty(Array.prototype, "lastIndex", {
          configurable: true,
          get: function lastIndex() {
            var O = toObject(this);
            var len = lengthOfArrayLike(O);
            return len == 0 ? 0 : len - 1;
          }
        });
        addToUnscopables("lastIndex");
      }
    }
  });

  // node_modules/core-js/internals/array-unique-by.js
  var require_array_unique_by = __commonJS({
    "node_modules/core-js/internals/array-unique-by.js"(exports, module2) {
      "use strict";
      var getBuiltIn = require_get_built_in();
      var uncurryThis = require_function_uncurry_this();
      var aCallable = require_a_callable();
      var lengthOfArrayLike = require_length_of_array_like();
      var toObject = require_to_object();
      var arraySpeciesCreate = require_array_species_create();
      var Map2 = getBuiltIn("Map");
      var MapPrototype = Map2.prototype;
      var mapForEach = uncurryThis(MapPrototype.forEach);
      var mapHas = uncurryThis(MapPrototype.has);
      var mapSet = uncurryThis(MapPrototype.set);
      var push = uncurryThis([].push);
      module2.exports = function uniqueBy(resolver) {
        var that = toObject(this);
        var length = lengthOfArrayLike(that);
        var result2 = arraySpeciesCreate(that, 0);
        var map = new Map2();
        var resolverFunction = resolver != null ? aCallable(resolver) : function(value) {
          return value;
        };
        var index, item, key;
        for (index = 0; index < length; index++) {
          item = that[index];
          key = resolverFunction(item);
          if (!mapHas(map, key))
            mapSet(map, key, item);
        }
        mapForEach(map, function(value) {
          push(result2, value);
        });
        return result2;
      };
    }
  });

  // node_modules/core-js/modules/esnext.array.unique-by.js
  var require_esnext_array_unique_by = __commonJS({
    "node_modules/core-js/modules/esnext.array.unique-by.js"() {
      "use strict";
      var $2 = require_export();
      var addToUnscopables = require_add_to_unscopables();
      var uniqueBy = require_array_unique_by();
      $2({ target: "Array", proto: true }, {
        uniqueBy
      });
      addToUnscopables("uniqueBy");
    }
  });

  // node_modules/core-js/features/array/index.js
  var require_array3 = __commonJS({
    "node_modules/core-js/features/array/index.js"(exports, module2) {
      var parent = require_array2();
      require_es_map();
      require_es_promise();
      require_esnext_array_from_async();
      require_esnext_array_at();
      require_esnext_array_filter_out();
      require_esnext_array_filter_reject();
      require_esnext_array_find_last();
      require_esnext_array_find_last_index();
      require_esnext_array_group_by();
      require_esnext_array_is_template_object();
      require_esnext_array_last_item();
      require_esnext_array_last_index();
      require_esnext_array_unique_by();
      module2.exports = parent;
    }
  });

  // node_modules/core-js/internals/string-repeat.js
  var require_string_repeat = __commonJS({
    "node_modules/core-js/internals/string-repeat.js"(exports, module2) {
      "use strict";
      var global2 = require_global();
      var toIntegerOrInfinity = require_to_integer_or_infinity();
      var toString3 = require_to_string();
      var requireObjectCoercible = require_require_object_coercible();
      var RangeError = global2.RangeError;
      module2.exports = function repeat(count) {
        var str = toString3(requireObjectCoercible(this));
        var result2 = "";
        var n = toIntegerOrInfinity(count);
        if (n < 0 || n == Infinity)
          throw RangeError("Wrong number of repetitions");
        for (; n > 0; (n >>>= 1) && (str += str))
          if (n & 1)
            result2 += str;
        return result2;
      };
    }
  });

  // node_modules/core-js/modules/es.string.repeat.js
  var require_es_string_repeat = __commonJS({
    "node_modules/core-js/modules/es.string.repeat.js"() {
      var $2 = require_export();
      var repeat = require_string_repeat();
      $2({ target: "String", proto: true }, {
        repeat
      });
    }
  });

  // node_modules/core-js/internals/entry-unbind.js
  var require_entry_unbind = __commonJS({
    "node_modules/core-js/internals/entry-unbind.js"(exports, module2) {
      var global2 = require_global();
      var uncurryThis = require_function_uncurry_this();
      module2.exports = function(CONSTRUCTOR, METHOD) {
        return uncurryThis(global2[CONSTRUCTOR].prototype[METHOD]);
      };
    }
  });

  // node_modules/core-js/es/string/repeat.js
  var require_repeat = __commonJS({
    "node_modules/core-js/es/string/repeat.js"(exports, module2) {
      require_es_string_repeat();
      var entryUnbind = require_entry_unbind();
      module2.exports = entryUnbind("String", "repeat");
    }
  });

  // node_modules/core-js/stable/string/repeat.js
  var require_repeat2 = __commonJS({
    "node_modules/core-js/stable/string/repeat.js"(exports, module2) {
      var parent = require_repeat();
      module2.exports = parent;
    }
  });

  // node_modules/core-js/features/string/repeat.js
  var require_repeat3 = __commonJS({
    "node_modules/core-js/features/string/repeat.js"(exports, module2) {
      var parent = require_repeat2();
      module2.exports = parent;
    }
  });

  // node_modules/core-js/internals/object-to-array.js
  var require_object_to_array = __commonJS({
    "node_modules/core-js/internals/object-to-array.js"(exports, module2) {
      var DESCRIPTORS = require_descriptors();
      var uncurryThis = require_function_uncurry_this();
      var objectKeys = require_object_keys();
      var toIndexedObject = require_to_indexed_object();
      var $propertyIsEnumerable = require_object_property_is_enumerable().f;
      var propertyIsEnumerable = uncurryThis($propertyIsEnumerable);
      var push = uncurryThis([].push);
      var createMethod = function(TO_ENTRIES) {
        return function(it) {
          var O = toIndexedObject(it);
          var keys = objectKeys(O);
          var length = keys.length;
          var i = 0;
          var result2 = [];
          var key;
          while (length > i) {
            key = keys[i++];
            if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {
              push(result2, TO_ENTRIES ? [key, O[key]] : O[key]);
            }
          }
          return result2;
        };
      };
      module2.exports = {
        // `Object.entries` method
        // https://tc39.es/ecma262/#sec-object.entries
        entries: createMethod(true),
        // `Object.values` method
        // https://tc39.es/ecma262/#sec-object.values
        values: createMethod(false)
      };
    }
  });

  // node_modules/core-js/modules/es.object.entries.js
  var require_es_object_entries = __commonJS({
    "node_modules/core-js/modules/es.object.entries.js"() {
      var $2 = require_export();
      var $entries = require_object_to_array().entries;
      $2({ target: "Object", stat: true }, {
        entries: function entries(O) {
          return $entries(O);
        }
      });
    }
  });

  // node_modules/core-js/es/object/entries.js
  var require_entries = __commonJS({
    "node_modules/core-js/es/object/entries.js"(exports, module2) {
      require_es_object_entries();
      var path = require_path();
      module2.exports = path.Object.entries;
    }
  });

  // node_modules/core-js/stable/object/entries.js
  var require_entries2 = __commonJS({
    "node_modules/core-js/stable/object/entries.js"(exports, module2) {
      var parent = require_entries();
      module2.exports = parent;
    }
  });

  // node_modules/core-js/features/object/entries.js
  var require_entries3 = __commonJS({
    "node_modules/core-js/features/object/entries.js"(exports, module2) {
      var parent = require_entries2();
      module2.exports = parent;
    }
  });

  // node_modules/core-js/modules/web.dom-collections.for-each.js
  var require_web_dom_collections_for_each = __commonJS({
    "node_modules/core-js/modules/web.dom-collections.for-each.js"() {
      var global2 = require_global();
      var DOMIterables = require_dom_iterables();
      var DOMTokenListPrototype = require_dom_token_list_prototype();
      var forEach6 = require_array_for_each();
      var createNonEnumerableProperty = require_create_non_enumerable_property();
      var handlePrototype = function(CollectionPrototype) {
        if (CollectionPrototype && CollectionPrototype.forEach !== forEach6)
          try {
            createNonEnumerableProperty(CollectionPrototype, "forEach", forEach6);
          } catch (error) {
            CollectionPrototype.forEach = forEach6;
          }
      };
      for (COLLECTION_NAME in DOMIterables) {
        if (DOMIterables[COLLECTION_NAME]) {
          handlePrototype(global2[COLLECTION_NAME] && global2[COLLECTION_NAME].prototype);
        }
      }
      var COLLECTION_NAME;
      handlePrototype(DOMTokenListPrototype);
    }
  });

  // node_modules/core-js/stable/dom-collections/for-each.js
  var require_for_each = __commonJS({
    "node_modules/core-js/stable/dom-collections/for-each.js"(exports, module2) {
      require_web_dom_collections_for_each();
      var parent = require_array_for_each();
      module2.exports = parent;
    }
  });

  // node_modules/core-js/features/dom-collections/for-each.js
  var require_for_each2 = __commonJS({
    "node_modules/core-js/features/dom-collections/for-each.js"(exports, module2) {
      var parent = require_for_each();
      module2.exports = parent;
    }
  });

  // node_modules/core-js/internals/this-number-value.js
  var require_this_number_value = __commonJS({
    "node_modules/core-js/internals/this-number-value.js"(exports, module2) {
      var uncurryThis = require_function_uncurry_this();
      module2.exports = uncurryThis(1 .valueOf);
    }
  });

  // node_modules/core-js/internals/whitespaces.js
  var require_whitespaces = __commonJS({
    "node_modules/core-js/internals/whitespaces.js"(exports, module2) {
      module2.exports = "	\n\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF";
    }
  });

  // node_modules/core-js/internals/string-trim.js
  var require_string_trim = __commonJS({
    "node_modules/core-js/internals/string-trim.js"(exports, module2) {
      var uncurryThis = require_function_uncurry_this();
      var requireObjectCoercible = require_require_object_coercible();
      var toString3 = require_to_string();
      var whitespaces = require_whitespaces();
      var replace = uncurryThis("".replace);
      var whitespace = "[" + whitespaces + "]";
      var ltrim = RegExp("^" + whitespace + whitespace + "*");
      var rtrim = RegExp(whitespace + whitespace + "*$");
      var createMethod = function(TYPE2) {
        return function($this) {
          var string = toString3(requireObjectCoercible($this));
          if (TYPE2 & 1)
            string = replace(string, ltrim, "");
          if (TYPE2 & 2)
            string = replace(string, rtrim, "");
          return string;
        };
      };
      module2.exports = {
        // `String.prototype.{ trimLeft, trimStart }` methods
        // https://tc39.es/ecma262/#sec-string.prototype.trimstart
        start: createMethod(1),
        // `String.prototype.{ trimRight, trimEnd }` methods
        // https://tc39.es/ecma262/#sec-string.prototype.trimend
        end: createMethod(2),
        // `String.prototype.trim` method
        // https://tc39.es/ecma262/#sec-string.prototype.trim
        trim: createMethod(3)
      };
    }
  });

  // node_modules/core-js/modules/es.number.constructor.js
  var require_es_number_constructor = __commonJS({
    "node_modules/core-js/modules/es.number.constructor.js"() {
      "use strict";
      var DESCRIPTORS = require_descriptors();
      var global2 = require_global();
      var uncurryThis = require_function_uncurry_this();
      var isForced = require_is_forced();
      var redefine = require_redefine();
      var hasOwn2 = require_has_own_property();
      var inheritIfRequired = require_inherit_if_required();
      var isPrototypeOf = require_object_is_prototype_of();
      var isSymbol = require_is_symbol();
      var toPrimitive = require_to_primitive();
      var fails = require_fails();
      var getOwnPropertyNames = require_object_get_own_property_names().f;
      var getOwnPropertyDescriptor = require_object_get_own_property_descriptor().f;
      var defineProperty = require_object_define_property().f;
      var thisNumberValue = require_this_number_value();
      var trim2 = require_string_trim().trim;
      var NUMBER = "Number";
      var NativeNumber = global2[NUMBER];
      var NumberPrototype = NativeNumber.prototype;
      var TypeError2 = global2.TypeError;
      var arraySlice = uncurryThis("".slice);
      var charCodeAt = uncurryThis("".charCodeAt);
      var toNumeric = function(value) {
        var primValue = toPrimitive(value, "number");
        return typeof primValue == "bigint" ? primValue : toNumber(primValue);
      };
      var toNumber = function(argument) {
        var it = toPrimitive(argument, "number");
        var first, third, radix, maxCode, digits, length, index, code;
        if (isSymbol(it))
          throw TypeError2("Cannot convert a Symbol value to a number");
        if (typeof it == "string" && it.length > 2) {
          it = trim2(it);
          first = charCodeAt(it, 0);
          if (first === 43 || first === 45) {
            third = charCodeAt(it, 2);
            if (third === 88 || third === 120)
              return NaN;
          } else if (first === 48) {
            switch (charCodeAt(it, 1)) {
              case 66:
              case 98:
                radix = 2;
                maxCode = 49;
                break;
              case 79:
              case 111:
                radix = 8;
                maxCode = 55;
                break;
              default:
                return +it;
            }
            digits = arraySlice(it, 2);
            length = digits.length;
            for (index = 0; index < length; index++) {
              code = charCodeAt(digits, index);
              if (code < 48 || code > maxCode)
                return NaN;
            }
            return parseInt(digits, radix);
          }
        }
        return +it;
      };
      if (isForced(NUMBER, !NativeNumber(" 0o1") || !NativeNumber("0b1") || NativeNumber("+0x1"))) {
        NumberWrapper = function Number2(value) {
          var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));
          var dummy = this;
          return isPrototypeOf(NumberPrototype, dummy) && fails(function() {
            thisNumberValue(dummy);
          }) ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n;
        };
        for (keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (
          // ES3:
          "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(",")
        ), j = 0; keys.length > j; j++) {
          if (hasOwn2(NativeNumber, key = keys[j]) && !hasOwn2(NumberWrapper, key)) {
            defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));
          }
        }
        NumberWrapper.prototype = NumberPrototype;
        NumberPrototype.constructor = NumberWrapper;
        redefine(global2, NUMBER, NumberWrapper);
      }
      var NumberWrapper;
      var keys;
      var j;
      var key;
    }
  });

  // node_modules/core-js/modules/es.number.epsilon.js
  var require_es_number_epsilon = __commonJS({
    "node_modules/core-js/modules/es.number.epsilon.js"() {
      var $2 = require_export();
      $2({ target: "Number", stat: true }, {
        EPSILON: Math.pow(2, -52)
      });
    }
  });

  // node_modules/core-js/internals/number-is-finite.js
  var require_number_is_finite = __commonJS({
    "node_modules/core-js/internals/number-is-finite.js"(exports, module2) {
      var global2 = require_global();
      var globalIsFinite = global2.isFinite;
      module2.exports = Number.isFinite || function isFinite2(it) {
        return typeof it == "number" && globalIsFinite(it);
      };
    }
  });

  // node_modules/core-js/modules/es.number.is-finite.js
  var require_es_number_is_finite = __commonJS({
    "node_modules/core-js/modules/es.number.is-finite.js"() {
      var $2 = require_export();
      var numberIsFinite = require_number_is_finite();
      $2({ target: "Number", stat: true }, { isFinite: numberIsFinite });
    }
  });

  // node_modules/core-js/internals/is-integral-number.js
  var require_is_integral_number = __commonJS({
    "node_modules/core-js/internals/is-integral-number.js"(exports, module2) {
      var isObject2 = require_is_object();
      var floor = Math.floor;
      module2.exports = Number.isInteger || function isInteger2(it) {
        return !isObject2(it) && isFinite(it) && floor(it) === it;
      };
    }
  });

  // node_modules/core-js/modules/es.number.is-integer.js
  var require_es_number_is_integer = __commonJS({
    "node_modules/core-js/modules/es.number.is-integer.js"() {
      var $2 = require_export();
      var isIntegralNumber = require_is_integral_number();
      $2({ target: "Number", stat: true }, {
        isInteger: isIntegralNumber
      });
    }
  });

  // node_modules/core-js/modules/es.number.is-nan.js
  var require_es_number_is_nan = __commonJS({
    "node_modules/core-js/modules/es.number.is-nan.js"() {
      var $2 = require_export();
      $2({ target: "Number", stat: true }, {
        isNaN: function isNaN2(number) {
          return number != number;
        }
      });
    }
  });

  // node_modules/core-js/modules/es.number.is-safe-integer.js
  var require_es_number_is_safe_integer = __commonJS({
    "node_modules/core-js/modules/es.number.is-safe-integer.js"() {
      var $2 = require_export();
      var isIntegralNumber = require_is_integral_number();
      var abs = Math.abs;
      $2({ target: "Number", stat: true }, {
        isSafeInteger: function isSafeInteger(number) {
          return isIntegralNumber(number) && abs(number) <= 9007199254740991;
        }
      });
    }
  });

  // node_modules/core-js/modules/es.number.max-safe-integer.js
  var require_es_number_max_safe_integer = __commonJS({
    "node_modules/core-js/modules/es.number.max-safe-integer.js"() {
      var $2 = require_export();
      $2({ target: "Number", stat: true }, {
        MAX_SAFE_INTEGER: 9007199254740991
      });
    }
  });

  // node_modules/core-js/modules/es.number.min-safe-integer.js
  var require_es_number_min_safe_integer = __commonJS({
    "node_modules/core-js/modules/es.number.min-safe-integer.js"() {
      var $2 = require_export();
      $2({ target: "Number", stat: true }, {
        MIN_SAFE_INTEGER: -9007199254740991
      });
    }
  });

  // node_modules/core-js/internals/number-parse-float.js
  var require_number_parse_float = __commonJS({
    "node_modules/core-js/internals/number-parse-float.js"(exports, module2) {
      var global2 = require_global();
      var fails = require_fails();
      var uncurryThis = require_function_uncurry_this();
      var toString3 = require_to_string();
      var trim2 = require_string_trim().trim;
      var whitespaces = require_whitespaces();
      var charAt = uncurryThis("".charAt);
      var n$ParseFloat = global2.parseFloat;
      var Symbol2 = global2.Symbol;
      var ITERATOR = Symbol2 && Symbol2.iterator;
      var FORCED = 1 / n$ParseFloat(whitespaces + "-0") !== -Infinity || ITERATOR && !fails(function() {
        n$ParseFloat(Object(ITERATOR));
      });
      module2.exports = FORCED ? function parseFloat2(string) {
        var trimmedString = trim2(toString3(string));
        var result2 = n$ParseFloat(trimmedString);
        return result2 === 0 && charAt(trimmedString, 0) == "-" ? -0 : result2;
      } : n$ParseFloat;
    }
  });

  // node_modules/core-js/modules/es.number.parse-float.js
  var require_es_number_parse_float = __commonJS({
    "node_modules/core-js/modules/es.number.parse-float.js"() {
      var $2 = require_export();
      var parseFloat2 = require_number_parse_float();
      $2({ target: "Number", stat: true, forced: Number.parseFloat != parseFloat2 }, {
        parseFloat: parseFloat2
      });
    }
  });

  // node_modules/core-js/internals/number-parse-int.js
  var require_number_parse_int = __commonJS({
    "node_modules/core-js/internals/number-parse-int.js"(exports, module2) {
      var global2 = require_global();
      var fails = require_fails();
      var uncurryThis = require_function_uncurry_this();
      var toString3 = require_to_string();
      var trim2 = require_string_trim().trim;
      var whitespaces = require_whitespaces();
      var $parseInt = global2.parseInt;
      var Symbol2 = global2.Symbol;
      var ITERATOR = Symbol2 && Symbol2.iterator;
      var hex = /^[+-]?0x/i;
      var exec = uncurryThis(hex.exec);
      var FORCED = $parseInt(whitespaces + "08") !== 8 || $parseInt(whitespaces + "0x16") !== 22 || ITERATOR && !fails(function() {
        $parseInt(Object(ITERATOR));
      });
      module2.exports = FORCED ? function parseInt2(string, radix) {
        var S = trim2(toString3(string));
        return $parseInt(S, radix >>> 0 || (exec(hex, S) ? 16 : 10));
      } : $parseInt;
    }
  });

  // node_modules/core-js/modules/es.number.parse-int.js
  var require_es_number_parse_int = __commonJS({
    "node_modules/core-js/modules/es.number.parse-int.js"() {
      var $2 = require_export();
      var parseInt2 = require_number_parse_int();
      $2({ target: "Number", stat: true, forced: Number.parseInt != parseInt2 }, {
        parseInt: parseInt2
      });
    }
  });

  // node_modules/core-js/modules/es.number.to-fixed.js
  var require_es_number_to_fixed = __commonJS({
    "node_modules/core-js/modules/es.number.to-fixed.js"() {
      "use strict";
      var $2 = require_export();
      var global2 = require_global();
      var uncurryThis = require_function_uncurry_this();
      var toIntegerOrInfinity = require_to_integer_or_infinity();
      var thisNumberValue = require_this_number_value();
      var $repeat = require_string_repeat();
      var fails = require_fails();
      var RangeError = global2.RangeError;
      var String2 = global2.String;
      var floor = Math.floor;
      var repeat = uncurryThis($repeat);
      var stringSlice = uncurryThis("".slice);
      var un$ToFixed = uncurryThis(1 .toFixed);
      var pow = function(x, n, acc) {
        return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
      };
      var log = function(x) {
        var n = 0;
        var x2 = x;
        while (x2 >= 4096) {
          n += 12;
          x2 /= 4096;
        }
        while (x2 >= 2) {
          n += 1;
          x2 /= 2;
        }
        return n;
      };
      var multiply = function(data, n, c) {
        var index = -1;
        var c2 = c;
        while (++index < 6) {
          c2 += n * data[index];
          data[index] = c2 % 1e7;
          c2 = floor(c2 / 1e7);
        }
      };
      var divide = function(data, n) {
        var index = 6;
        var c = 0;
        while (--index >= 0) {
          c += data[index];
          data[index] = floor(c / n);
          c = c % n * 1e7;
        }
      };
      var dataToString = function(data) {
        var index = 6;
        var s = "";
        while (--index >= 0) {
          if (s !== "" || index === 0 || data[index] !== 0) {
            var t = String2(data[index]);
            s = s === "" ? t : s + repeat("0", 7 - t.length) + t;
          }
        }
        return s;
      };
      var FORCED = fails(function() {
        return un$ToFixed(8e-5, 3) !== "0.000" || un$ToFixed(0.9, 0) !== "1" || un$ToFixed(1.255, 2) !== "1.25" || un$ToFixed(1000000000000000100, 0) !== "1000000000000000128";
      }) || !fails(function() {
        un$ToFixed({});
      });
      $2({ target: "Number", proto: true, forced: FORCED }, {
        toFixed: function toFixed(fractionDigits) {
          var number = thisNumberValue(this);
          var fractDigits = toIntegerOrInfinity(fractionDigits);
          var data = [0, 0, 0, 0, 0, 0];
          var sign = "";
          var result2 = "0";
          var e, z, j, k;
          if (fractDigits < 0 || fractDigits > 20)
            throw RangeError("Incorrect fraction digits");
          if (number != number)
            return "NaN";
          if (number <= -1e21 || number >= 1e21)
            return String2(number);
          if (number < 0) {
            sign = "-";
            number = -number;
          }
          if (number > 1e-21) {
            e = log(number * pow(2, 69, 1)) - 69;
            z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);
            z *= 4503599627370496;
            e = 52 - e;
            if (e > 0) {
              multiply(data, 0, z);
              j = fractDigits;
              while (j >= 7) {
                multiply(data, 1e7, 0);
                j -= 7;
              }
              multiply(data, pow(10, j, 1), 0);
              j = e - 1;
              while (j >= 23) {
                divide(data, 1 << 23);
                j -= 23;
              }
              divide(data, 1 << j);
              multiply(data, 1, 1);
              divide(data, 2);
              result2 = dataToString(data);
            } else {
              multiply(data, 0, z);
              multiply(data, 1 << -e, 0);
              result2 = dataToString(data) + repeat("0", fractDigits);
            }
          }
          if (fractDigits > 0) {
            k = result2.length;
            result2 = sign + (k <= fractDigits ? "0." + repeat("0", fractDigits - k) + result2 : stringSlice(result2, 0, k - fractDigits) + "." + stringSlice(result2, k - fractDigits));
          } else {
            result2 = sign + result2;
          }
          return result2;
        }
      });
    }
  });

  // node_modules/core-js/modules/es.number.to-precision.js
  var require_es_number_to_precision = __commonJS({
    "node_modules/core-js/modules/es.number.to-precision.js"() {
      "use strict";
      var $2 = require_export();
      var uncurryThis = require_function_uncurry_this();
      var fails = require_fails();
      var thisNumberValue = require_this_number_value();
      var un$ToPrecision = uncurryThis(1 .toPrecision);
      var FORCED = fails(function() {
        return un$ToPrecision(1, void 0) !== "1";
      }) || !fails(function() {
        un$ToPrecision({});
      });
      $2({ target: "Number", proto: true, forced: FORCED }, {
        toPrecision: function toPrecision(precision) {
          return precision === void 0 ? un$ToPrecision(thisNumberValue(this)) : un$ToPrecision(thisNumberValue(this), precision);
        }
      });
    }
  });

  // node_modules/core-js/es/number/index.js
  var require_number = __commonJS({
    "node_modules/core-js/es/number/index.js"(exports, module2) {
      require_es_number_constructor();
      require_es_number_epsilon();
      require_es_number_is_finite();
      require_es_number_is_integer();
      require_es_number_is_nan();
      require_es_number_is_safe_integer();
      require_es_number_max_safe_integer();
      require_es_number_min_safe_integer();
      require_es_number_parse_float();
      require_es_number_parse_int();
      require_es_number_to_fixed();
      require_es_number_to_precision();
      var path = require_path();
      module2.exports = path.Number;
    }
  });

  // node_modules/core-js/stable/number/index.js
  var require_number2 = __commonJS({
    "node_modules/core-js/stable/number/index.js"(exports, module2) {
      var parent = require_number();
      module2.exports = parent;
    }
  });

  // node_modules/core-js/modules/esnext.number.from-string.js
  var require_esnext_number_from_string = __commonJS({
    "node_modules/core-js/modules/esnext.number.from-string.js"() {
      "use strict";
      var $2 = require_export();
      var global2 = require_global();
      var uncurryThis = require_function_uncurry_this();
      var toIntegerOrInfinity = require_to_integer_or_infinity();
      var parseInt2 = require_number_parse_int();
      var INVALID_NUMBER_REPRESENTATION = "Invalid number representation";
      var INVALID_RADIX = "Invalid radix";
      var RangeError = global2.RangeError;
      var SyntaxError2 = global2.SyntaxError;
      var TypeError2 = global2.TypeError;
      var valid = /^[\da-z]+$/;
      var charAt = uncurryThis("".charAt);
      var exec = uncurryThis(valid.exec);
      var numberToString = uncurryThis(1 .toString);
      var stringSlice = uncurryThis("".slice);
      $2({ target: "Number", stat: true }, {
        fromString: function fromString(string, radix) {
          var sign = 1;
          var R, mathNum;
          if (typeof string != "string")
            throw TypeError2(INVALID_NUMBER_REPRESENTATION);
          if (!string.length)
            throw SyntaxError2(INVALID_NUMBER_REPRESENTATION);
          if (charAt(string, 0) == "-") {
            sign = -1;
            string = stringSlice(string, 1);
            if (!string.length)
              throw SyntaxError2(INVALID_NUMBER_REPRESENTATION);
          }
          R = radix === void 0 ? 10 : toIntegerOrInfinity(radix);
          if (R < 2 || R > 36)
            throw RangeError(INVALID_RADIX);
          if (!exec(valid, string) || numberToString(mathNum = parseInt2(string, R), R) !== string) {
            throw SyntaxError2(INVALID_NUMBER_REPRESENTATION);
          }
          return sign * mathNum;
        }
      });
    }
  });

  // node_modules/core-js/internals/numeric-range-iterator.js
  var require_numeric_range_iterator = __commonJS({
    "node_modules/core-js/internals/numeric-range-iterator.js"(exports, module2) {
      "use strict";
      var global2 = require_global();
      var InternalStateModule = require_internal_state();
      var createIteratorConstructor = require_create_iterator_constructor();
      var isObject2 = require_is_object();
      var defineProperties = require_object_define_properties();
      var DESCRIPTORS = require_descriptors();
      var INCORRECT_RANGE = "Incorrect Number.range arguments";
      var NUMERIC_RANGE_ITERATOR = "NumericRangeIterator";
      var setInternalState = InternalStateModule.set;
      var getInternalState = InternalStateModule.getterFor(NUMERIC_RANGE_ITERATOR);
      var RangeError = global2.RangeError;
      var TypeError2 = global2.TypeError;
      var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) {
        if (typeof start != type || end !== Infinity && end !== -Infinity && typeof end != type) {
          throw new TypeError2(INCORRECT_RANGE);
        }
        if (start === Infinity || start === -Infinity) {
          throw new RangeError(INCORRECT_RANGE);
        }
        var ifIncrease = end > start;
        var inclusiveEnd = false;
        var step;
        if (option === void 0) {
          step = void 0;
        } else if (isObject2(option)) {
          step = option.step;
          inclusiveEnd = !!option.inclusive;
        } else if (typeof option == type) {
          step = option;
        } else {
          throw new TypeError2(INCORRECT_RANGE);
        }
        if (step == null) {
          step = ifIncrease ? one : -one;
        }
        if (typeof step != type) {
          throw new TypeError2(INCORRECT_RANGE);
        }
        if (step === Infinity || step === -Infinity || step === zero && start !== end) {
          throw new RangeError(INCORRECT_RANGE);
        }
        var hitsEnd = start != start || end != end || step != step || end > start !== step > zero;
        setInternalState(this, {
          type: NUMERIC_RANGE_ITERATOR,
          start,
          end,
          step,
          inclusiveEnd,
          hitsEnd,
          currentCount: zero,
          zero
        });
        if (!DESCRIPTORS) {
          this.start = start;
          this.end = end;
          this.step = step;
          this.inclusive = inclusiveEnd;
        }
      }, NUMERIC_RANGE_ITERATOR, function next() {
        var state = getInternalState(this);
        if (state.hitsEnd)
          return { value: void 0, done: true };
        var start = state.start;
        var end = state.end;
        var step = state.step;
        var currentYieldingValue = start + step * state.currentCount++;
        if (currentYieldingValue === end)
          state.hitsEnd = true;
        var inclusiveEnd = state.inclusiveEnd;
        var endCondition;
        if (end > start) {
          endCondition = inclusiveEnd ? currentYieldingValue > end : currentYieldingValue >= end;
        } else {
          endCondition = inclusiveEnd ? end > currentYieldingValue : end >= currentYieldingValue;
        }
        if (endCondition) {
          return { value: void 0, done: state.hitsEnd = true };
        }
        return { value: currentYieldingValue, done: false };
      });
      var getter = function(fn) {
        return { get: fn, set: function() {
        }, configurable: true, enumerable: false };
      };
      if (DESCRIPTORS) {
        defineProperties($RangeIterator.prototype, {
          start: getter(function() {
            return getInternalState(this).start;
          }),
          end: getter(function() {
            return getInternalState(this).end;
          }),
          inclusive: getter(function() {
            return getInternalState(this).inclusiveEnd;
          }),
          step: getter(function() {
            return getInternalState(this).step;
          })
        });
      }
      module2.exports = $RangeIterator;
    }
  });

  // node_modules/core-js/modules/esnext.number.range.js
  var require_esnext_number_range = __commonJS({
    "node_modules/core-js/modules/esnext.number.range.js"() {
      "use strict";
      var $2 = require_export();
      var NumericRangeIterator = require_numeric_range_iterator();
      $2({ target: "Number", stat: true }, {
        range: function range(start, end, option) {
          return new NumericRangeIterator(start, end, option, "number", 0, 1);
        }
      });
    }
  });

  // node_modules/core-js/features/number/index.js
  var require_number3 = __commonJS({
    "node_modules/core-js/features/number/index.js"(exports, module2) {
      var parent = require_number2();
      module2.exports = parent;
      require_es_object_to_string();
      require_esnext_number_from_string();
      require_esnext_number_range();
    }
  });

  // node_modules/tslib/tslib.es6.mjs
  function __extends(d, b) {
    if (typeof b !== "function" && b !== null)
      throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
    extendStatics(d, b);
    function __() {
      this.constructor = d;
    }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  }
  function __rest(s, e) {
    var t = {};
    for (var p in s)
      if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
      for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
        if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
          t[p[i]] = s[p[i]];
      }
    return t;
  }
  function __awaiter(thisArg, _arguments, P, generator) {
    function adopt(value) {
      return value instanceof P ? value : new P(function(resolve2) {
        resolve2(value);
      });
    }
    return new (P || (P = Promise))(function(resolve2, reject2) {
      function fulfilled(value) {
        try {
          step(generator.next(value));
        } catch (e) {
          reject2(e);
        }
      }
      function rejected(value) {
        try {
          step(generator["throw"](value));
        } catch (e) {
          reject2(e);
        }
      }
      function step(result2) {
        result2.done ? resolve2(result2.value) : adopt(result2.value).then(fulfilled, rejected);
      }
      step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
  }
  function __generator(thisArg, body) {
    var _ = { label: 0, sent: function() {
      if (t[0] & 1)
        throw t[1];
      return t[1];
    }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
      return this;
    }), g;
    function verb(n) {
      return function(v) {
        return step([n, v]);
      };
    }
    function step(op) {
      if (f)
        throw new TypeError("Generator is already executing.");
      while (g && (g = 0, op[0] && (_ = 0)), _)
        try {
          if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
            return t;
          if (y = 0, t)
            op = [op[0] & 2, t.value];
          switch (op[0]) {
            case 0:
            case 1:
              t = op;
              break;
            case 4:
              _.label++;
              return { value: op[1], done: false };
            case 5:
              _.label++;
              y = op[1];
              op = [0];
              continue;
            case 7:
              op = _.ops.pop();
              _.trys.pop();
              continue;
            default:
              if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
                _ = 0;
                continue;
              }
              if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
                _.label = op[1];
                break;
              }
              if (op[0] === 6 && _.label < t[1]) {
                _.label = t[1];
                t = op;
                break;
              }
              if (t && _.label < t[2]) {
                _.label = t[2];
                _.ops.push(op);
                break;
              }
              if (t[2])
                _.ops.pop();
              _.trys.pop();
              continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [6, e];
          y = 0;
        } finally {
          f = t = 0;
        }
      if (op[0] & 5)
        throw op[1];
      return { value: op[0] ? op[1] : void 0, done: true };
    }
  }
  function __spreadArray(to, from, pack) {
    if (pack || arguments.length === 2)
      for (var i = 0, l = from.length, ar; i < l; i++) {
        if (ar || !(i in from)) {
          if (!ar)
            ar = Array.prototype.slice.call(from, 0, i);
          ar[i] = from[i];
        }
      }
    return to.concat(ar || Array.prototype.slice.call(from));
  }
  var extendStatics, __assign;
  var init_tslib_es6 = __esm({
    "node_modules/tslib/tslib.es6.mjs"() {
      extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2)
            if (Object.prototype.hasOwnProperty.call(b2, p))
              d2[p] = b2[p];
        };
        return extendStatics(d, b);
      };
      __assign = function() {
        __assign = Object.assign || function __assign2(t) {
          for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s)
              if (Object.prototype.hasOwnProperty.call(s, p))
                t[p] = s[p];
          }
          return t;
        };
        return __assign.apply(this, arguments);
      };
    }
  });

  // node_modules/ts-invariant/lib/invariant.js
  function invariant(condition, message) {
    if (!condition) {
      throw new InvariantError(message);
    }
  }
  function wrapConsoleMethod(name) {
    return function() {
      if (verbosityLevels.indexOf(name) >= verbosityLevel) {
        var method = console[name] || console.log;
        return method.apply(console, arguments);
      }
    };
  }
  function setVerbosity(level) {
    var old = verbosityLevels[verbosityLevel];
    verbosityLevel = Math.max(0, verbosityLevels.indexOf(level));
    return old;
  }
  var genericMessage, _a, setPrototypeOf, InvariantError, verbosityLevels, verbosityLevel;
  var init_invariant = __esm({
    "node_modules/ts-invariant/lib/invariant.js"() {
      init_tslib_es6();
      genericMessage = "Invariant Violation";
      _a = Object.setPrototypeOf;
      setPrototypeOf = _a === void 0 ? function(obj, proto) {
        obj.__proto__ = proto;
        return obj;
      } : _a;
      InvariantError = /** @class */
      function(_super) {
        __extends(InvariantError2, _super);
        function InvariantError2(message) {
          if (message === void 0) {
            message = genericMessage;
          }
          var _this = _super.call(this, typeof message === "number" ? genericMessage + ": " + message + " (see https://github.com/apollographql/invariant-packages)" : message) || this;
          _this.framesToPop = 1;
          _this.name = genericMessage;
          setPrototypeOf(_this, InvariantError2.prototype);
          return _this;
        }
        return InvariantError2;
      }(Error);
      verbosityLevels = ["debug", "log", "warn", "error", "silent"];
      verbosityLevel = verbosityLevels.indexOf("log");
      (function(invariant5) {
        invariant5.debug = wrapConsoleMethod("debug");
        invariant5.log = wrapConsoleMethod("log");
        invariant5.warn = wrapConsoleMethod("warn");
        invariant5.error = wrapConsoleMethod("error");
      })(invariant || (invariant = {}));
    }
  });

  // node_modules/@apollo/client/version.js
  var version;
  var init_version = __esm({
    "node_modules/@apollo/client/version.js"() {
      version = "3.8.8";
    }
  });

  // node_modules/@apollo/client/utilities/globals/maybe.js
  function maybe(thunk) {
    try {
      return thunk();
    } catch (_a2) {
    }
  }
  var init_maybe = __esm({
    "node_modules/@apollo/client/utilities/globals/maybe.js"() {
    }
  });

  // node_modules/@apollo/client/utilities/globals/global.js
  var global_default;
  var init_global = __esm({
    "node_modules/@apollo/client/utilities/globals/global.js"() {
      init_maybe();
      global_default = maybe(function() {
        return globalThis;
      }) || maybe(function() {
        return window;
      }) || maybe(function() {
        return self;
      }) || maybe(function() {
        return global;
      }) || // We don't expect the Function constructor ever to be invoked at runtime, as
      // long as at least one of globalThis, window, self, or global is defined, so
      // we are under no obligation to make it easy for static analysis tools to
      // detect syntactic usage of the Function constructor. If you think you can
      // improve your static analysis to detect this obfuscation, think again. This
      // is an arms race you cannot win, at least not in JavaScript.
      maybe(function() {
        return maybe.constructor("return this")();
      });
    }
  });

  // node_modules/@apollo/client/utilities/common/makeUniqueId.js
  function makeUniqueId(prefix) {
    var count = prefixCounts.get(prefix) || 1;
    prefixCounts.set(prefix, count + 1);
    return "".concat(prefix, ":").concat(count, ":").concat(Math.random().toString(36).slice(2));
  }
  var prefixCounts;
  var init_makeUniqueId = __esm({
    "node_modules/@apollo/client/utilities/common/makeUniqueId.js"() {
      prefixCounts = /* @__PURE__ */ new Map();
    }
  });

  // node_modules/@apollo/client/utilities/common/stringifyForDisplay.js
  function stringifyForDisplay(value, space) {
    if (space === void 0) {
      space = 0;
    }
    var undefId = makeUniqueId("stringifyForDisplay");
    return JSON.stringify(value, function(key, value2) {
      return value2 === void 0 ? undefId : value2;
    }, space).split(JSON.stringify(undefId)).join("<undefined>");
  }
  var init_stringifyForDisplay = __esm({
    "node_modules/@apollo/client/utilities/common/stringifyForDisplay.js"() {
      init_makeUniqueId();
    }
  });

  // node_modules/@apollo/client/utilities/globals/invariantWrappers.js
  function wrap(fn) {
    return function(message) {
      var args = [];
      for (var _i = 1; _i < arguments.length; _i++) {
        args[_i - 1] = arguments[_i];
      }
      if (typeof message === "number") {
        var arg0 = message;
        message = getHandledErrorMsg(arg0);
        if (!message) {
          message = getFallbackErrorMsg(arg0, args);
          args = [];
        }
      }
      fn.apply(void 0, [message].concat(args));
    };
  }
  function newInvariantError(message) {
    var optionalParams = [];
    for (var _i = 1; _i < arguments.length; _i++) {
      optionalParams[_i - 1] = arguments[_i];
    }
    return new InvariantError(getHandledErrorMsg(message, optionalParams) || getFallbackErrorMsg(message, optionalParams));
  }
  function stringify(arg) {
    return typeof arg == "string" ? arg : stringifyForDisplay(arg, 2).slice(0, 1e3);
  }
  function getHandledErrorMsg(message, messageArgs) {
    if (messageArgs === void 0) {
      messageArgs = [];
    }
    if (!message)
      return;
    return global_default[ApolloErrorMessageHandler] && global_default[ApolloErrorMessageHandler](message, messageArgs.map(stringify));
  }
  function getFallbackErrorMsg(message, messageArgs) {
    if (messageArgs === void 0) {
      messageArgs = [];
    }
    if (!message)
      return;
    return "An error occurred! For more details, see the full error text at https://go.apollo.dev/c/err#".concat(encodeURIComponent(JSON.stringify({
      version,
      message,
      args: messageArgs.map(stringify)
    })));
  }
  var invariant2, ApolloErrorMessageHandler;
  var init_invariantWrappers = __esm({
    "node_modules/@apollo/client/utilities/globals/invariantWrappers.js"() {
      init_invariant();
      init_version();
      init_global();
      init_stringifyForDisplay();
      invariant2 = Object.assign(function invariant3(condition, message) {
        var args = [];
        for (var _i = 2; _i < arguments.length; _i++) {
          args[_i - 2] = arguments[_i];
        }
        if (!condition) {
          invariant(condition, getHandledErrorMsg(message, args) || getFallbackErrorMsg(message, args));
        }
      }, {
        debug: wrap(invariant.debug),
        log: wrap(invariant.log),
        warn: wrap(invariant.warn),
        error: wrap(invariant.error)
      });
      ApolloErrorMessageHandler = Symbol.for("ApolloErrorMessageHandler_" + version);
    }
  });

  // node_modules/@apollo/client/utilities/globals/index.js
  var init_globals = __esm({
    "node_modules/@apollo/client/utilities/globals/index.js"() {
      init_invariantWrappers();
      init_maybe();
      init_global();
    }
  });

  // node_modules/graphql/jsutils/devAssert.mjs
  function devAssert(condition, message) {
    const booleanCondition = Boolean(condition);
    if (!booleanCondition) {
      throw new Error(message);
    }
  }
  var init_devAssert = __esm({
    "node_modules/graphql/jsutils/devAssert.mjs"() {
    }
  });

  // node_modules/graphql/jsutils/isObjectLike.mjs
  function isObjectLike(value) {
    return typeof value == "object" && value !== null;
  }
  var init_isObjectLike = __esm({
    "node_modules/graphql/jsutils/isObjectLike.mjs"() {
    }
  });

  // node_modules/graphql/jsutils/invariant.mjs
  function invariant4(condition, message) {
    const booleanCondition = Boolean(condition);
    if (!booleanCondition) {
      throw new Error(
        message != null ? message : "Unexpected invariant triggered."
      );
    }
  }
  var init_invariant2 = __esm({
    "node_modules/graphql/jsutils/invariant.mjs"() {
    }
  });

  // node_modules/graphql/language/location.mjs
  function getLocation(source, position) {
    let lastLineStart = 0;
    let line = 1;
    for (const match of source.body.matchAll(LineRegExp)) {
      typeof match.index === "number" || invariant4(false);
      if (match.index >= position) {
        break;
      }
      lastLineStart = match.index + match[0].length;
      line += 1;
    }
    return {
      line,
      column: position + 1 - lastLineStart
    };
  }
  var LineRegExp;
  var init_location = __esm({
    "node_modules/graphql/language/location.mjs"() {
      init_invariant2();
      LineRegExp = /\r\n|[\n\r]/g;
    }
  });

  // node_modules/graphql/language/printLocation.mjs
  function printLocation(location) {
    return printSourceLocation(
      location.source,
      getLocation(location.source, location.start)
    );
  }
  function printSourceLocation(source, sourceLocation) {
    const firstLineColumnOffset = source.locationOffset.column - 1;
    const body = "".padStart(firstLineColumnOffset) + source.body;
    const lineIndex = sourceLocation.line - 1;
    const lineOffset = source.locationOffset.line - 1;
    const lineNum = sourceLocation.line + lineOffset;
    const columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;
    const columnNum = sourceLocation.column + columnOffset;
    const locationStr = `${source.name}:${lineNum}:${columnNum}
`;
    const lines = body.split(/\r\n|[\n\r]/g);
    const locationLine = lines[lineIndex];
    if (locationLine.length > 120) {
      const subLineIndex = Math.floor(columnNum / 80);
      const subLineColumnNum = columnNum % 80;
      const subLines = [];
      for (let i = 0; i < locationLine.length; i += 80) {
        subLines.push(locationLine.slice(i, i + 80));
      }
      return locationStr + printPrefixedLines([
        [`${lineNum} |`, subLines[0]],
        ...subLines.slice(1, subLineIndex + 1).map((subLine) => ["|", subLine]),
        ["|", "^".padStart(subLineColumnNum)],
        ["|", subLines[subLineIndex + 1]]
      ]);
    }
    return locationStr + printPrefixedLines([
      // Lines specified like this: ["prefix", "string"],
      [`${lineNum - 1} |`, lines[lineIndex - 1]],
      [`${lineNum} |`, locationLine],
      ["|", "^".padStart(columnNum)],
      [`${lineNum + 1} |`, lines[lineIndex + 1]]
    ]);
  }
  function printPrefixedLines(lines) {
    const existingLines = lines.filter(([_, line]) => line !== void 0);
    const padLen = Math.max(...existingLines.map(([prefix]) => prefix.length));
    return existingLines.map(([prefix, line]) => prefix.padStart(padLen) + (line ? " " + line : "")).join("\n");
  }
  var init_printLocation = __esm({
    "node_modules/graphql/language/printLocation.mjs"() {
      init_location();
    }
  });

  // node_modules/graphql/error/GraphQLError.mjs
  function toNormalizedOptions(args) {
    const firstArg = args[0];
    if (firstArg == null || "kind" in firstArg || "length" in firstArg) {
      return {
        nodes: firstArg,
        source: args[1],
        positions: args[2],
        path: args[3],
        originalError: args[4],
        extensions: args[5]
      };
    }
    return firstArg;
  }
  function undefinedIfEmpty(array) {
    return array === void 0 || array.length === 0 ? void 0 : array;
  }
  var GraphQLError;
  var init_GraphQLError = __esm({
    "node_modules/graphql/error/GraphQLError.mjs"() {
      init_isObjectLike();
      init_location();
      init_printLocation();
      GraphQLError = class extends Error {
        /**
         * An array of `{ line, column }` locations within the source GraphQL document
         * which correspond to this error.
         *
         * Errors during validation often contain multiple locations, for example to
         * point out two things with the same name. Errors during execution include a
         * single location, the field which produced the error.
         *
         * Enumerable, and appears in the result of JSON.stringify().
         */
        /**
         * An array describing the JSON-path into the execution response which
         * corresponds to this error. Only included for errors during execution.
         *
         * Enumerable, and appears in the result of JSON.stringify().
         */
        /**
         * An array of GraphQL AST Nodes corresponding to this error.
         */
        /**
         * The source GraphQL document for the first location of this error.
         *
         * Note that if this Error represents more than one node, the source may not
         * represent nodes after the first node.
         */
        /**
         * An array of character offsets within the source GraphQL document
         * which correspond to this error.
         */
        /**
         * The original error thrown from a field resolver during execution.
         */
        /**
         * Extension fields to add to the formatted error.
         */
        /**
         * @deprecated Please use the `GraphQLErrorOptions` constructor overload instead.
         */
        constructor(message, ...rawArgs) {
          var _this$nodes, _nodeLocations$, _ref;
          const { nodes, source, positions, path, originalError, extensions } = toNormalizedOptions(rawArgs);
          super(message);
          this.name = "GraphQLError";
          this.path = path !== null && path !== void 0 ? path : void 0;
          this.originalError = originalError !== null && originalError !== void 0 ? originalError : void 0;
          this.nodes = undefinedIfEmpty(
            Array.isArray(nodes) ? nodes : nodes ? [nodes] : void 0
          );
          const nodeLocations = undefinedIfEmpty(
            (_this$nodes = this.nodes) === null || _this$nodes === void 0 ? void 0 : _this$nodes.map((node) => node.loc).filter((loc) => loc != null)
          );
          this.source = source !== null && source !== void 0 ? source : nodeLocations === null || nodeLocations === void 0 ? void 0 : (_nodeLocations$ = nodeLocations[0]) === null || _nodeLocations$ === void 0 ? void 0 : _nodeLocations$.source;
          this.positions = positions !== null && positions !== void 0 ? positions : nodeLocations === null || nodeLocations === void 0 ? void 0 : nodeLocations.map((loc) => loc.start);
          this.locations = positions && source ? positions.map((pos) => getLocation(source, pos)) : nodeLocations === null || nodeLocations === void 0 ? void 0 : nodeLocations.map((loc) => getLocation(loc.source, loc.start));
          const originalExtensions = isObjectLike(
            originalError === null || originalError === void 0 ? void 0 : originalError.extensions
          ) ? originalError === null || originalError === void 0 ? void 0 : originalError.extensions : void 0;
          this.extensions = (_ref = extensions !== null && extensions !== void 0 ? extensions : originalExtensions) !== null && _ref !== void 0 ? _ref : /* @__PURE__ */ Object.create(null);
          Object.defineProperties(this, {
            message: {
              writable: true,
              enumerable: true
            },
            name: {
              enumerable: false
            },
            nodes: {
              enumerable: false
            },
            source: {
              enumerable: false
            },
            positions: {
              enumerable: false
            },
            originalError: {
              enumerable: false
            }
          });
          if (originalError !== null && originalError !== void 0 && originalError.stack) {
            Object.defineProperty(this, "stack", {
              value: originalError.stack,
              writable: true,
              configurable: true
            });
          } else if (Error.captureStackTrace) {
            Error.captureStackTrace(this, GraphQLError);
          } else {
            Object.defineProperty(this, "stack", {
              value: Error().stack,
              writable: true,
              configurable: true
            });
          }
        }
        get [Symbol.toStringTag]() {
          return "GraphQLError";
        }
        toString() {
          let output = this.message;
          if (this.nodes) {
            for (const node of this.nodes) {
              if (node.loc) {
                output += "\n\n" + printLocation(node.loc);
              }
            }
          } else if (this.source && this.locations) {
            for (const location of this.locations) {
              output += "\n\n" + printSourceLocation(this.source, location);
            }
          }
          return output;
        }
        toJSON() {
          const formattedError = {
            message: this.message
          };
          if (this.locations != null) {
            formattedError.locations = this.locations;
          }
          if (this.path != null) {
            formattedError.path = this.path;
          }
          if (this.extensions != null && Object.keys(this.extensions).length > 0) {
            formattedError.extensions = this.extensions;
          }
          return formattedError;
        }
      };
    }
  });

  // node_modules/graphql/error/syntaxError.mjs
  function syntaxError(source, position, description) {
    return new GraphQLError(`Syntax Error: ${description}`, {
      source,
      positions: [position]
    });
  }
  var init_syntaxError = __esm({
    "node_modules/graphql/error/syntaxError.mjs"() {
      init_GraphQLError();
    }
  });

  // node_modules/graphql/language/ast.mjs
  function isNode(maybeNode) {
    const maybeKind = maybeNode === null || maybeNode === void 0 ? void 0 : maybeNode.kind;
    return typeof maybeKind === "string" && kindValues.has(maybeKind);
  }
  var Location, Token, QueryDocumentKeys, kindValues, OperationTypeNode;
  var init_ast = __esm({
    "node_modules/graphql/language/ast.mjs"() {
      Location = class {
        /**
         * The character offset at which this Node begins.
         */
        /**
         * The character offset at which this Node ends.
         */
        /**
         * The Token at which this Node begins.
         */
        /**
         * The Token at which this Node ends.
         */
        /**
         * The Source document the AST represents.
         */
        constructor(startToken, endToken, source) {
          this.start = startToken.start;
          this.end = endToken.end;
          this.startToken = startToken;
          this.endToken = endToken;
          this.source = source;
        }
        get [Symbol.toStringTag]() {
          return "Location";
        }
        toJSON() {
          return {
            start: this.start,
            end: this.end
          };
        }
      };
      Token = class {
        /**
         * The kind of Token.
         */
        /**
         * The character offset at which this Node begins.
         */
        /**
         * The character offset at which this Node ends.
         */
        /**
         * The 1-indexed line number on which this Token appears.
         */
        /**
         * The 1-indexed column number at which this Token begins.
         */
        /**
         * For non-punctuation tokens, represents the interpreted value of the token.
         *
         * Note: is undefined for punctuation tokens, but typed as string for
         * convenience in the parser.
         */
        /**
         * Tokens exist as nodes in a double-linked-list amongst all tokens
         * including ignored tokens. <SOF> is always the first node and <EOF>
         * the last.
         */
        constructor(kind, start, end, line, column, value) {
          this.kind = kind;
          this.start = start;
          this.end = end;
          this.line = line;
          this.column = column;
          this.value = value;
          this.prev = null;
          this.next = null;
        }
        get [Symbol.toStringTag]() {
          return "Token";
        }
        toJSON() {
          return {
            kind: this.kind,
            value: this.value,
            line: this.line,
            column: this.column
          };
        }
      };
      QueryDocumentKeys = {
        Name: [],
        Document: ["definitions"],
        OperationDefinition: [
          "name",
          "variableDefinitions",
          "directives",
          "selectionSet"
        ],
        VariableDefinition: ["variable", "type", "defaultValue", "directives"],
        Variable: ["name"],
        SelectionSet: ["selections"],
        Field: ["alias", "name", "arguments", "directives", "selectionSet"],
        Argument: ["name", "value"],
        FragmentSpread: ["name", "directives"],
        InlineFragment: ["typeCondition", "directives", "selectionSet"],
        FragmentDefinition: [
          "name",
          // Note: fragment variable definitions are deprecated and will removed in v17.0.0
          "variableDefinitions",
          "typeCondition",
          "directives",
          "selectionSet"
        ],
        IntValue: [],
        FloatValue: [],
        StringValue: [],
        BooleanValue: [],
        NullValue: [],
        EnumValue: [],
        ListValue: ["values"],
        ObjectValue: ["fields"],
        ObjectField: ["name", "value"],
        Directive: ["name", "arguments"],
        NamedType: ["name"],
        ListType: ["type"],
        NonNullType: ["type"],
        SchemaDefinition: ["description", "directives", "operationTypes"],
        OperationTypeDefinition: ["type"],
        ScalarTypeDefinition: ["description", "name", "directives"],
        ObjectTypeDefinition: [
          "description",
          "name",
          "interfaces",
          "directives",
          "fields"
        ],
        FieldDefinition: ["description", "name", "arguments", "type", "directives"],
        InputValueDefinition: [
          "description",
          "name",
          "type",
          "defaultValue",
          "directives"
        ],
        InterfaceTypeDefinition: [
          "description",
          "name",
          "interfaces",
          "directives",
          "fields"
        ],
        UnionTypeDefinition: ["description", "name", "directives", "types"],
        EnumTypeDefinition: ["description", "name", "directives", "values"],
        EnumValueDefinition: ["description", "name", "directives"],
        InputObjectTypeDefinition: ["description", "name", "directives", "fields"],
        DirectiveDefinition: ["description", "name", "arguments", "locations"],
        SchemaExtension: ["directives", "operationTypes"],
        ScalarTypeExtension: ["name", "directives"],
        ObjectTypeExtension: ["name", "interfaces", "directives", "fields"],
        InterfaceTypeExtension: ["name", "interfaces", "directives", "fields"],
        UnionTypeExtension: ["name", "directives", "types"],
        EnumTypeExtension: ["name", "directives", "values"],
        InputObjectTypeExtension: ["name", "directives", "fields"]
      };
      kindValues = new Set(Object.keys(QueryDocumentKeys));
      (function(OperationTypeNode2) {
        OperationTypeNode2["QUERY"] = "query";
        OperationTypeNode2["MUTATION"] = "mutation";
        OperationTypeNode2["SUBSCRIPTION"] = "subscription";
      })(OperationTypeNode || (OperationTypeNode = {}));
    }
  });

  // node_modules/graphql/language/directiveLocation.mjs
  var DirectiveLocation;
  var init_directiveLocation = __esm({
    "node_modules/graphql/language/directiveLocation.mjs"() {
      (function(DirectiveLocation2) {
        DirectiveLocation2["QUERY"] = "QUERY";
        DirectiveLocation2["MUTATION"] = "MUTATION";
        DirectiveLocation2["SUBSCRIPTION"] = "SUBSCRIPTION";
        DirectiveLocation2["FIELD"] = "FIELD";
        DirectiveLocation2["FRAGMENT_DEFINITION"] = "FRAGMENT_DEFINITION";
        DirectiveLocation2["FRAGMENT_SPREAD"] = "FRAGMENT_SPREAD";
        DirectiveLocation2["INLINE_FRAGMENT"] = "INLINE_FRAGMENT";
        DirectiveLocation2["VARIABLE_DEFINITION"] = "VARIABLE_DEFINITION";
        DirectiveLocation2["SCHEMA"] = "SCHEMA";
        DirectiveLocation2["SCALAR"] = "SCALAR";
        DirectiveLocation2["OBJECT"] = "OBJECT";
        DirectiveLocation2["FIELD_DEFINITION"] = "FIELD_DEFINITION";
        DirectiveLocation2["ARGUMENT_DEFINITION"] = "ARGUMENT_DEFINITION";
        DirectiveLocation2["INTERFACE"] = "INTERFACE";
        DirectiveLocation2["UNION"] = "UNION";
        DirectiveLocation2["ENUM"] = "ENUM";
        DirectiveLocation2["ENUM_VALUE"] = "ENUM_VALUE";
        DirectiveLocation2["INPUT_OBJECT"] = "INPUT_OBJECT";
        DirectiveLocation2["INPUT_FIELD_DEFINITION"] = "INPUT_FIELD_DEFINITION";
      })(DirectiveLocation || (DirectiveLocation = {}));
    }
  });

  // node_modules/graphql/language/kinds.mjs
  var Kind;
  var init_kinds = __esm({
    "node_modules/graphql/language/kinds.mjs"() {
      (function(Kind2) {
        Kind2["NAME"] = "Name";
        Kind2["DOCUMENT"] = "Document";
        Kind2["OPERATION_DEFINITION"] = "OperationDefinition";
        Kind2["VARIABLE_DEFINITION"] = "VariableDefinition";
        Kind2["SELECTION_SET"] = "SelectionSet";
        Kind2["FIELD"] = "Field";
        Kind2["ARGUMENT"] = "Argument";
        Kind2["FRAGMENT_SPREAD"] = "FragmentSpread";
        Kind2["INLINE_FRAGMENT"] = "InlineFragment";
        Kind2["FRAGMENT_DEFINITION"] = "FragmentDefinition";
        Kind2["VARIABLE"] = "Variable";
        Kind2["INT"] = "IntValue";
        Kind2["FLOAT"] = "FloatValue";
        Kind2["STRING"] = "StringValue";
        Kind2["BOOLEAN"] = "BooleanValue";
        Kind2["NULL"] = "NullValue";
        Kind2["ENUM"] = "EnumValue";
        Kind2["LIST"] = "ListValue";
        Kind2["OBJECT"] = "ObjectValue";
        Kind2["OBJECT_FIELD"] = "ObjectField";
        Kind2["DIRECTIVE"] = "Directive";
        Kind2["NAMED_TYPE"] = "NamedType";
        Kind2["LIST_TYPE"] = "ListType";
        Kind2["NON_NULL_TYPE"] = "NonNullType";
        Kind2["SCHEMA_DEFINITION"] = "SchemaDefinition";
        Kind2["OPERATION_TYPE_DEFINITION"] = "OperationTypeDefinition";
        Kind2["SCALAR_TYPE_DEFINITION"] = "ScalarTypeDefinition";
        Kind2["OBJECT_TYPE_DEFINITION"] = "ObjectTypeDefinition";
        Kind2["FIELD_DEFINITION"] = "FieldDefinition";
        Kind2["INPUT_VALUE_DEFINITION"] = "InputValueDefinition";
        Kind2["INTERFACE_TYPE_DEFINITION"] = "InterfaceTypeDefinition";
        Kind2["UNION_TYPE_DEFINITION"] = "UnionTypeDefinition";
        Kind2["ENUM_TYPE_DEFINITION"] = "EnumTypeDefinition";
        Kind2["ENUM_VALUE_DEFINITION"] = "EnumValueDefinition";
        Kind2["INPUT_OBJECT_TYPE_DEFINITION"] = "InputObjectTypeDefinition";
        Kind2["DIRECTIVE_DEFINITION"] = "DirectiveDefinition";
        Kind2["SCHEMA_EXTENSION"] = "SchemaExtension";
        Kind2["SCALAR_TYPE_EXTENSION"] = "ScalarTypeExtension";
        Kind2["OBJECT_TYPE_EXTENSION"] = "ObjectTypeExtension";
        Kind2["INTERFACE_TYPE_EXTENSION"] = "InterfaceTypeExtension";
        Kind2["UNION_TYPE_EXTENSION"] = "UnionTypeExtension";
        Kind2["ENUM_TYPE_EXTENSION"] = "EnumTypeExtension";
        Kind2["INPUT_OBJECT_TYPE_EXTENSION"] = "InputObjectTypeExtension";
      })(Kind || (Kind = {}));
    }
  });

  // node_modules/graphql/language/characterClasses.mjs
  function isWhiteSpace(code) {
    return code === 9 || code === 32;
  }
  function isDigit(code) {
    return code >= 48 && code <= 57;
  }
  function isLetter(code) {
    return code >= 97 && code <= 122 || // A-Z
    code >= 65 && code <= 90;
  }
  function isNameStart(code) {
    return isLetter(code) || code === 95;
  }
  function isNameContinue(code) {
    return isLetter(code) || isDigit(code) || code === 95;
  }
  var init_characterClasses = __esm({
    "node_modules/graphql/language/characterClasses.mjs"() {
    }
  });

  // node_modules/graphql/language/blockString.mjs
  function dedentBlockStringLines(lines) {
    var _firstNonEmptyLine2;
    let commonIndent = Number.MAX_SAFE_INTEGER;
    let firstNonEmptyLine = null;
    let lastNonEmptyLine = -1;
    for (let i = 0; i < lines.length; ++i) {
      var _firstNonEmptyLine;
      const line = lines[i];
      const indent2 = leadingWhitespace(line);
      if (indent2 === line.length) {
        continue;
      }
      firstNonEmptyLine = (_firstNonEmptyLine = firstNonEmptyLine) !== null && _firstNonEmptyLine !== void 0 ? _firstNonEmptyLine : i;
      lastNonEmptyLine = i;
      if (i !== 0 && indent2 < commonIndent) {
        commonIndent = indent2;
      }
    }
    return lines.map((line, i) => i === 0 ? line : line.slice(commonIndent)).slice(
      (_firstNonEmptyLine2 = firstNonEmptyLine) !== null && _firstNonEmptyLine2 !== void 0 ? _firstNonEmptyLine2 : 0,
      lastNonEmptyLine + 1
    );
  }
  function leadingWhitespace(str) {
    let i = 0;
    while (i < str.length && isWhiteSpace(str.charCodeAt(i))) {
      ++i;
    }
    return i;
  }
  function printBlockString(value, options) {
    const escapedValue = value.replace(/"""/g, '\\"""');
    const lines = escapedValue.split(/\r\n|[\n\r]/g);
    const isSingleLine = lines.length === 1;
    const forceLeadingNewLine = lines.length > 1 && lines.slice(1).every((line) => line.length === 0 || isWhiteSpace(line.charCodeAt(0)));
    const hasTrailingTripleQuotes = escapedValue.endsWith('\\"""');
    const hasTrailingQuote = value.endsWith('"') && !hasTrailingTripleQuotes;
    const hasTrailingSlash = value.endsWith("\\");
    const forceTrailingNewline = hasTrailingQuote || hasTrailingSlash;
    const printAsMultipleLines = !(options !== null && options !== void 0 && options.minimize) && // add leading and trailing new lines only if it improves readability
    (!isSingleLine || value.length > 70 || forceTrailingNewline || forceLeadingNewLine || hasTrailingTripleQuotes);
    let result2 = "";
    const skipLeadingNewLine = isSingleLine && isWhiteSpace(value.charCodeAt(0));
    if (printAsMultipleLines && !skipLeadingNewLine || forceLeadingNewLine) {
      result2 += "\n";
    }
    result2 += escapedValue;
    if (printAsMultipleLines || forceTrailingNewline) {
      result2 += "\n";
    }
    return '"""' + result2 + '"""';
  }
  var init_blockString = __esm({
    "node_modules/graphql/language/blockString.mjs"() {
      init_characterClasses();
    }
  });

  // node_modules/graphql/language/tokenKind.mjs
  var TokenKind;
  var init_tokenKind = __esm({
    "node_modules/graphql/language/tokenKind.mjs"() {
      (function(TokenKind2) {
        TokenKind2["SOF"] = "<SOF>";
        TokenKind2["EOF"] = "<EOF>";
        TokenKind2["BANG"] = "!";
        TokenKind2["DOLLAR"] = "$";
        TokenKind2["AMP"] = "&";
        TokenKind2["PAREN_L"] = "(";
        TokenKind2["PAREN_R"] = ")";
        TokenKind2["SPREAD"] = "...";
        TokenKind2["COLON"] = ":";
        TokenKind2["EQUALS"] = "=";
        TokenKind2["AT"] = "@";
        TokenKind2["BRACKET_L"] = "[";
        TokenKind2["BRACKET_R"] = "]";
        TokenKind2["BRACE_L"] = "{";
        TokenKind2["PIPE"] = "|";
        TokenKind2["BRACE_R"] = "}";
        TokenKind2["NAME"] = "Name";
        TokenKind2["INT"] = "Int";
        TokenKind2["FLOAT"] = "Float";
        TokenKind2["STRING"] = "String";
        TokenKind2["BLOCK_STRING"] = "BlockString";
        TokenKind2["COMMENT"] = "Comment";
      })(TokenKind || (TokenKind = {}));
    }
  });

  // node_modules/graphql/language/lexer.mjs
  function isPunctuatorTokenKind(kind) {
    return kind === TokenKind.BANG || kind === TokenKind.DOLLAR || kind === TokenKind.AMP || kind === TokenKind.PAREN_L || kind === TokenKind.PAREN_R || kind === TokenKind.SPREAD || kind === TokenKind.COLON || kind === TokenKind.EQUALS || kind === TokenKind.AT || kind === TokenKind.BRACKET_L || kind === TokenKind.BRACKET_R || kind === TokenKind.BRACE_L || kind === TokenKind.PIPE || kind === TokenKind.BRACE_R;
  }
  function isUnicodeScalarValue(code) {
    return code >= 0 && code <= 55295 || code >= 57344 && code <= 1114111;
  }
  function isSupplementaryCodePoint(body, location) {
    return isLeadingSurrogate(body.charCodeAt(location)) && isTrailingSurrogate(body.charCodeAt(location + 1));
  }
  function isLeadingSurrogate(code) {
    return code >= 55296 && code <= 56319;
  }
  function isTrailingSurrogate(code) {
    return code >= 56320 && code <= 57343;
  }
  function printCodePointAt(lexer, location) {
    const code = lexer.source.body.codePointAt(location);
    if (code === void 0) {
      return TokenKind.EOF;
    } else if (code >= 32 && code <= 126) {
      const char = String.fromCodePoint(code);
      return char === '"' ? `'"'` : `"${char}"`;
    }
    return "U+" + code.toString(16).toUpperCase().padStart(4, "0");
  }
  function createToken(lexer, kind, start, end, value) {
    const line = lexer.line;
    const col = 1 + start - lexer.lineStart;
    return new Token(kind, start, end, line, col, value);
  }
  function readNextToken(lexer, start) {
    const body = lexer.source.body;
    const bodyLength = body.length;
    let position = start;
    while (position < bodyLength) {
      const code = body.charCodeAt(position);
      switch (code) {
        case 65279:
        case 9:
        case 32:
        case 44:
          ++position;
          continue;
        case 10:
          ++position;
          ++lexer.line;
          lexer.lineStart = position;
          continue;
        case 13:
          if (body.charCodeAt(position + 1) === 10) {
            position += 2;
          } else {
            ++position;
          }
          ++lexer.line;
          lexer.lineStart = position;
          continue;
        case 35:
          return readComment(lexer, position);
        case 33:
          return createToken(lexer, TokenKind.BANG, position, position + 1);
        case 36:
          return createToken(lexer, TokenKind.DOLLAR, position, position + 1);
        case 38:
          return createToken(lexer, TokenKind.AMP, position, position + 1);
        case 40:
          return createToken(lexer, TokenKind.PAREN_L, position, position + 1);
        case 41:
          return createToken(lexer, TokenKind.PAREN_R, position, position + 1);
        case 46:
          if (body.charCodeAt(position + 1) === 46 && body.charCodeAt(position + 2) === 46) {
            return createToken(lexer, TokenKind.SPREAD, position, position + 3);
          }
          break;
        case 58:
          return createToken(lexer, TokenKind.COLON, position, position + 1);
        case 61:
          return createToken(lexer, TokenKind.EQUALS, position, position + 1);
        case 64:
          return createToken(lexer, TokenKind.AT, position, position + 1);
        case 91:
          return createToken(lexer, TokenKind.BRACKET_L, position, position + 1);
        case 93:
          return createToken(lexer, TokenKind.BRACKET_R, position, position + 1);
        case 123:
          return createToken(lexer, TokenKind.BRACE_L, position, position + 1);
        case 124:
          return createToken(lexer, TokenKind.PIPE, position, position + 1);
        case 125:
          return createToken(lexer, TokenKind.BRACE_R, position, position + 1);
        case 34:
          if (body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {
            return readBlockString(lexer, position);
          }
          return readString(lexer, position);
      }
      if (isDigit(code) || code === 45) {
        return readNumber(lexer, position, code);
      }
      if (isNameStart(code)) {
        return readName(lexer, position);
      }
      throw syntaxError(
        lexer.source,
        position,
        code === 39 ? `Unexpected single quote character ('), did you mean to use a double quote (")?` : isUnicodeScalarValue(code) || isSupplementaryCodePoint(body, position) ? `Unexpected character: ${printCodePointAt(lexer, position)}.` : `Invalid character: ${printCodePointAt(lexer, position)}.`
      );
    }
    return createToken(lexer, TokenKind.EOF, bodyLength, bodyLength);
  }
  function readComment(lexer, start) {
    const body = lexer.source.body;
    const bodyLength = body.length;
    let position = start + 1;
    while (position < bodyLength) {
      const code = body.charCodeAt(position);
      if (code === 10 || code === 13) {
        break;
      }
      if (isUnicodeScalarValue(code)) {
        ++position;
      } else if (isSupplementaryCodePoint(body, position)) {
        position += 2;
      } else {
        break;
      }
    }
    return createToken(
      lexer,
      TokenKind.COMMENT,
      start,
      position,
      body.slice(start + 1, position)
    );
  }
  function readNumber(lexer, start, firstCode) {
    const body = lexer.source.body;
    let position = start;
    let code = firstCode;
    let isFloat = false;
    if (code === 45) {
      code = body.charCodeAt(++position);
    }
    if (code === 48) {
      code = body.charCodeAt(++position);
      if (isDigit(code)) {
        throw syntaxError(
          lexer.source,
          position,
          `Invalid number, unexpected digit after 0: ${printCodePointAt(
            lexer,
            position
          )}.`
        );
      }
    } else {
      position = readDigits(lexer, position, code);
      code = body.charCodeAt(position);
    }
    if (code === 46) {
      isFloat = true;
      code = body.charCodeAt(++position);
      position = readDigits(lexer, position, code);
      code = body.charCodeAt(position);
    }
    if (code === 69 || code === 101) {
      isFloat = true;
      code = body.charCodeAt(++position);
      if (code === 43 || code === 45) {
        code = body.charCodeAt(++position);
      }
      position = readDigits(lexer, position, code);
      code = body.charCodeAt(position);
    }
    if (code === 46 || isNameStart(code)) {
      throw syntaxError(
        lexer.source,
        position,
        `Invalid number, expected digit but got: ${printCodePointAt(
          lexer,
          position
        )}.`
      );
    }
    return createToken(
      lexer,
      isFloat ? TokenKind.FLOAT : TokenKind.INT,
      start,
      position,
      body.slice(start, position)
    );
  }
  function readDigits(lexer, start, firstCode) {
    if (!isDigit(firstCode)) {
      throw syntaxError(
        lexer.source,
        start,
        `Invalid number, expected digit but got: ${printCodePointAt(
          lexer,
          start
        )}.`
      );
    }
    const body = lexer.source.body;
    let position = start + 1;
    while (isDigit(body.charCodeAt(position))) {
      ++position;
    }
    return position;
  }
  function readString(lexer, start) {
    const body = lexer.source.body;
    const bodyLength = body.length;
    let position = start + 1;
    let chunkStart = position;
    let value = "";
    while (position < bodyLength) {
      const code = body.charCodeAt(position);
      if (code === 34) {
        value += body.slice(chunkStart, position);
        return createToken(lexer, TokenKind.STRING, start, position + 1, value);
      }
      if (code === 92) {
        value += body.slice(chunkStart, position);
        const escape5 = body.charCodeAt(position + 1) === 117 ? body.charCodeAt(position + 2) === 123 ? readEscapedUnicodeVariableWidth(lexer, position) : readEscapedUnicodeFixedWidth(lexer, position) : readEscapedCharacter(lexer, position);
        value += escape5.value;
        position += escape5.size;
        chunkStart = position;
        continue;
      }
      if (code === 10 || code === 13) {
        break;
      }
      if (isUnicodeScalarValue(code)) {
        ++position;
      } else if (isSupplementaryCodePoint(body, position)) {
        position += 2;
      } else {
        throw syntaxError(
          lexer.source,
          position,
          `Invalid character within String: ${printCodePointAt(
            lexer,
            position
          )}.`
        );
      }
    }
    throw syntaxError(lexer.source, position, "Unterminated string.");
  }
  function readEscapedUnicodeVariableWidth(lexer, position) {
    const body = lexer.source.body;
    let point = 0;
    let size2 = 3;
    while (size2 < 12) {
      const code = body.charCodeAt(position + size2++);
      if (code === 125) {
        if (size2 < 5 || !isUnicodeScalarValue(point)) {
          break;
        }
        return {
          value: String.fromCodePoint(point),
          size: size2
        };
      }
      point = point << 4 | readHexDigit(code);
      if (point < 0) {
        break;
      }
    }
    throw syntaxError(
      lexer.source,
      position,
      `Invalid Unicode escape sequence: "${body.slice(
        position,
        position + size2
      )}".`
    );
  }
  function readEscapedUnicodeFixedWidth(lexer, position) {
    const body = lexer.source.body;
    const code = read16BitHexCode(body, position + 2);
    if (isUnicodeScalarValue(code)) {
      return {
        value: String.fromCodePoint(code),
        size: 6
      };
    }
    if (isLeadingSurrogate(code)) {
      if (body.charCodeAt(position + 6) === 92 && body.charCodeAt(position + 7) === 117) {
        const trailingCode = read16BitHexCode(body, position + 8);
        if (isTrailingSurrogate(trailingCode)) {
          return {
            value: String.fromCodePoint(code, trailingCode),
            size: 12
          };
        }
      }
    }
    throw syntaxError(
      lexer.source,
      position,
      `Invalid Unicode escape sequence: "${body.slice(position, position + 6)}".`
    );
  }
  function read16BitHexCode(body, position) {
    return readHexDigit(body.charCodeAt(position)) << 12 | readHexDigit(body.charCodeAt(position + 1)) << 8 | readHexDigit(body.charCodeAt(position + 2)) << 4 | readHexDigit(body.charCodeAt(position + 3));
  }
  function readHexDigit(code) {
    return code >= 48 && code <= 57 ? code - 48 : code >= 65 && code <= 70 ? code - 55 : code >= 97 && code <= 102 ? code - 87 : -1;
  }
  function readEscapedCharacter(lexer, position) {
    const body = lexer.source.body;
    const code = body.charCodeAt(position + 1);
    switch (code) {
      case 34:
        return {
          value: '"',
          size: 2
        };
      case 92:
        return {
          value: "\\",
          size: 2
        };
      case 47:
        return {
          value: "/",
          size: 2
        };
      case 98:
        return {
          value: "\b",
          size: 2
        };
      case 102:
        return {
          value: "\f",
          size: 2
        };
      case 110:
        return {
          value: "\n",
          size: 2
        };
      case 114:
        return {
          value: "\r",
          size: 2
        };
      case 116:
        return {
          value: "	",
          size: 2
        };
    }
    throw syntaxError(
      lexer.source,
      position,
      `Invalid character escape sequence: "${body.slice(
        position,
        position + 2
      )}".`
    );
  }
  function readBlockString(lexer, start) {
    const body = lexer.source.body;
    const bodyLength = body.length;
    let lineStart = lexer.lineStart;
    let position = start + 3;
    let chunkStart = position;
    let currentLine = "";
    const blockLines = [];
    while (position < bodyLength) {
      const code = body.charCodeAt(position);
      if (code === 34 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {
        currentLine += body.slice(chunkStart, position);
        blockLines.push(currentLine);
        const token = createToken(
          lexer,
          TokenKind.BLOCK_STRING,
          start,
          position + 3,
          // Return a string of the lines joined with U+000A.
          dedentBlockStringLines(blockLines).join("\n")
        );
        lexer.line += blockLines.length - 1;
        lexer.lineStart = lineStart;
        return token;
      }
      if (code === 92 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34 && body.charCodeAt(position + 3) === 34) {
        currentLine += body.slice(chunkStart, position);
        chunkStart = position + 1;
        position += 4;
        continue;
      }
      if (code === 10 || code === 13) {
        currentLine += body.slice(chunkStart, position);
        blockLines.push(currentLine);
        if (code === 13 && body.charCodeAt(position + 1) === 10) {
          position += 2;
        } else {
          ++position;
        }
        currentLine = "";
        chunkStart = position;
        lineStart = position;
        continue;
      }
      if (isUnicodeScalarValue(code)) {
        ++position;
      } else if (isSupplementaryCodePoint(body, position)) {
        position += 2;
      } else {
        throw syntaxError(
          lexer.source,
          position,
          `Invalid character within String: ${printCodePointAt(
            lexer,
            position
          )}.`
        );
      }
    }
    throw syntaxError(lexer.source, position, "Unterminated string.");
  }
  function readName(lexer, start) {
    const body = lexer.source.body;
    const bodyLength = body.length;
    let position = start + 1;
    while (position < bodyLength) {
      const code = body.charCodeAt(position);
      if (isNameContinue(code)) {
        ++position;
      } else {
        break;
      }
    }
    return createToken(
      lexer,
      TokenKind.NAME,
      start,
      position,
      body.slice(start, position)
    );
  }
  var Lexer;
  var init_lexer = __esm({
    "node_modules/graphql/language/lexer.mjs"() {
      init_syntaxError();
      init_ast();
      init_blockString();
      init_characterClasses();
      init_tokenKind();
      Lexer = class {
        /**
         * The previously focused non-ignored token.
         */
        /**
         * The currently focused non-ignored token.
         */
        /**
         * The (1-indexed) line containing the current token.
         */
        /**
         * The character offset at which the current line begins.
         */
        constructor(source) {
          const startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0);
          this.source = source;
          this.lastToken = startOfFileToken;
          this.token = startOfFileToken;
          this.line = 1;
          this.lineStart = 0;
        }
        get [Symbol.toStringTag]() {
          return "Lexer";
        }
        /**
         * Advances the token stream to the next non-ignored token.
         */
        advance() {
          this.lastToken = this.token;
          const token = this.token = this.lookahead();
          return token;
        }
        /**
         * Looks ahead and returns the next non-ignored token, but does not change
         * the state of Lexer.
         */
        lookahead() {
          let token = this.token;
          if (token.kind !== TokenKind.EOF) {
            do {
              if (token.next) {
                token = token.next;
              } else {
                const nextToken = readNextToken(this, token.end);
                token.next = nextToken;
                nextToken.prev = token;
                token = nextToken;
              }
            } while (token.kind === TokenKind.COMMENT);
          }
          return token;
        }
      };
    }
  });

  // node_modules/graphql/jsutils/inspect.mjs
  function inspect(value) {
    return formatValue(value, []);
  }
  function formatValue(value, seenValues) {
    switch (typeof value) {
      case "string":
        return JSON.stringify(value);
      case "function":
        return value.name ? `[function ${value.name}]` : "[function]";
      case "object":
        return formatObjectValue(value, seenValues);
      default:
        return String(value);
    }
  }
  function formatObjectValue(value, previouslySeenValues) {
    if (value === null) {
      return "null";
    }
    if (previouslySeenValues.includes(value)) {
      return "[Circular]";
    }
    const seenValues = [...previouslySeenValues, value];
    if (isJSONable(value)) {
      const jsonValue = value.toJSON();
      if (jsonValue !== value) {
        return typeof jsonValue === "string" ? jsonValue : formatValue(jsonValue, seenValues);
      }
    } else if (Array.isArray(value)) {
      return formatArray(value, seenValues);
    }
    return formatObject(value, seenValues);
  }
  function isJSONable(value) {
    return typeof value.toJSON === "function";
  }
  function formatObject(object, seenValues) {
    const entries = Object.entries(object);
    if (entries.length === 0) {
      return "{}";
    }
    if (seenValues.length > MAX_RECURSIVE_DEPTH) {
      return "[" + getObjectTag(object) + "]";
    }
    const properties = entries.map(
      ([key, value]) => key + ": " + formatValue(value, seenValues)
    );
    return "{ " + properties.join(", ") + " }";
  }
  function formatArray(array, seenValues) {
    if (array.length === 0) {
      return "[]";
    }
    if (seenValues.length > MAX_RECURSIVE_DEPTH) {
      return "[Array]";
    }
    const len = Math.min(MAX_ARRAY_LENGTH, array.length);
    const remaining = array.length - len;
    const items = [];
    for (let i = 0; i < len; ++i) {
      items.push(formatValue(array[i], seenValues));
    }
    if (remaining === 1) {
      items.push("... 1 more item");
    } else if (remaining > 1) {
      items.push(`... ${remaining} more items`);
    }
    return "[" + items.join(", ") + "]";
  }
  function getObjectTag(object) {
    const tag = Object.prototype.toString.call(object).replace(/^\[object /, "").replace(/]$/, "");
    if (tag === "Object" && typeof object.constructor === "function") {
      const name = object.constructor.name;
      if (typeof name === "string" && name !== "") {
        return name;
      }
    }
    return tag;
  }
  var MAX_ARRAY_LENGTH, MAX_RECURSIVE_DEPTH;
  var init_inspect = __esm({
    "node_modules/graphql/jsutils/inspect.mjs"() {
      MAX_ARRAY_LENGTH = 10;
      MAX_RECURSIVE_DEPTH = 2;
    }
  });

  // node_modules/graphql/jsutils/instanceOf.mjs
  var instanceOf;
  var init_instanceOf = __esm({
    "node_modules/graphql/jsutils/instanceOf.mjs"() {
      init_inspect();
      instanceOf = /* c8 ignore next 6 */
      // FIXME: https://github.com/graphql/graphql-js/issues/2317
      globalThis.process && true ? function instanceOf2(value, constructor) {
        return value instanceof constructor;
      } : function instanceOf3(value, constructor) {
        if (value instanceof constructor) {
          return true;
        }
        if (typeof value === "object" && value !== null) {
          var _value$constructor;
          const className = constructor.prototype[Symbol.toStringTag];
          const valueClassName = (
            // We still need to support constructor's name to detect conflicts with older versions of this library.
            Symbol.toStringTag in value ? value[Symbol.toStringTag] : (_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor.name
          );
          if (className === valueClassName) {
            const stringifiedValue = inspect(value);
            throw new Error(`Cannot use ${className} "${stringifiedValue}" from another module or realm.

Ensure that there is only one instance of "graphql" in the node_modules
directory. If different versions of "graphql" are the dependencies of other
relied on modules, use "resolutions" to ensure only one version is installed.

https://yarnpkg.com/en/docs/selective-version-resolutions

Duplicate "graphql" modules cannot be used at the same time since different
versions may have different capabilities and behavior. The data from one
version used in the function from another could produce confusing and
spurious results.`);
          }
        }
        return false;
      };
    }
  });

  // node_modules/graphql/language/source.mjs
  function isSource(source) {
    return instanceOf(source, Source);
  }
  var Source;
  var init_source = __esm({
    "node_modules/graphql/language/source.mjs"() {
      init_devAssert();
      init_inspect();
      init_instanceOf();
      Source = class {
        constructor(body, name = "GraphQL request", locationOffset = {
          line: 1,
          column: 1
        }) {
          typeof body === "string" || devAssert(false, `Body must be a string. Received: ${inspect(body)}.`);
          this.body = body;
          this.name = name;
          this.locationOffset = locationOffset;
          this.locationOffset.line > 0 || devAssert(
            false,
            "line in locationOffset is 1-indexed and must be positive."
          );
          this.locationOffset.column > 0 || devAssert(
            false,
            "column in locationOffset is 1-indexed and must be positive."
          );
        }
        get [Symbol.toStringTag]() {
          return "Source";
        }
      };
    }
  });

  // node_modules/graphql/language/parser.mjs
  function parse(source, options) {
    const parser = new Parser(source, options);
    return parser.parseDocument();
  }
  function getTokenDesc(token) {
    const value = token.value;
    return getTokenKindDesc(token.kind) + (value != null ? ` "${value}"` : "");
  }
  function getTokenKindDesc(kind) {
    return isPunctuatorTokenKind(kind) ? `"${kind}"` : kind;
  }
  var Parser;
  var init_parser = __esm({
    "node_modules/graphql/language/parser.mjs"() {
      init_syntaxError();
      init_ast();
      init_directiveLocation();
      init_kinds();
      init_lexer();
      init_source();
      init_tokenKind();
      Parser = class {
        constructor(source, options = {}) {
          const sourceObj = isSource(source) ? source : new Source(source);
          this._lexer = new Lexer(sourceObj);
          this._options = options;
          this._tokenCounter = 0;
        }
        /**
         * Converts a name lex token into a name parse node.
         */
        parseName() {
          const token = this.expectToken(TokenKind.NAME);
          return this.node(token, {
            kind: Kind.NAME,
            value: token.value
          });
        }
        // Implements the parsing rules in the Document section.
        /**
         * Document : Definition+
         */
        parseDocument() {
          return this.node(this._lexer.token, {
            kind: Kind.DOCUMENT,
            definitions: this.many(
              TokenKind.SOF,
              this.parseDefinition,
              TokenKind.EOF
            )
          });
        }
        /**
         * Definition :
         *   - ExecutableDefinition
         *   - TypeSystemDefinition
         *   - TypeSystemExtension
         *
         * ExecutableDefinition :
         *   - OperationDefinition
         *   - FragmentDefinition
         *
         * TypeSystemDefinition :
         *   - SchemaDefinition
         *   - TypeDefinition
         *   - DirectiveDefinition
         *
         * TypeDefinition :
         *   - ScalarTypeDefinition
         *   - ObjectTypeDefinition
         *   - InterfaceTypeDefinition
         *   - UnionTypeDefinition
         *   - EnumTypeDefinition
         *   - InputObjectTypeDefinition
         */
        parseDefinition() {
          if (this.peek(TokenKind.BRACE_L)) {
            return this.parseOperationDefinition();
          }
          const hasDescription = this.peekDescription();
          const keywordToken = hasDescription ? this._lexer.lookahead() : this._lexer.token;
          if (keywordToken.kind === TokenKind.NAME) {
            switch (keywordToken.value) {
              case "schema":
                return this.parseSchemaDefinition();
              case "scalar":
                return this.parseScalarTypeDefinition();
              case "type":
                return this.parseObjectTypeDefinition();
              case "interface":
                return this.parseInterfaceTypeDefinition();
              case "union":
                return this.parseUnionTypeDefinition();
              case "enum":
                return this.parseEnumTypeDefinition();
              case "input":
                return this.parseInputObjectTypeDefinition();
              case "directive":
                return this.parseDirectiveDefinition();
            }
            if (hasDescription) {
              throw syntaxError(
                this._lexer.source,
                this._lexer.token.start,
                "Unexpected description, descriptions are supported only on type definitions."
              );
            }
            switch (keywordToken.value) {
              case "query":
              case "mutation":
              case "subscription":
                return this.parseOperationDefinition();
              case "fragment":
                return this.parseFragmentDefinition();
              case "extend":
                return this.parseTypeSystemExtension();
            }
          }
          throw this.unexpected(keywordToken);
        }
        // Implements the parsing rules in the Operations section.
        /**
         * OperationDefinition :
         *  - SelectionSet
         *  - OperationType Name? VariableDefinitions? Directives? SelectionSet
         */
        parseOperationDefinition() {
          const start = this._lexer.token;
          if (this.peek(TokenKind.BRACE_L)) {
            return this.node(start, {
              kind: Kind.OPERATION_DEFINITION,
              operation: OperationTypeNode.QUERY,
              name: void 0,
              variableDefinitions: [],
              directives: [],
              selectionSet: this.parseSelectionSet()
            });
          }
          const operation = this.parseOperationType();
          let name;
          if (this.peek(TokenKind.NAME)) {
            name = this.parseName();
          }
          return this.node(start, {
            kind: Kind.OPERATION_DEFINITION,
            operation,
            name,
            variableDefinitions: this.parseVariableDefinitions(),
            directives: this.parseDirectives(false),
            selectionSet: this.parseSelectionSet()
          });
        }
        /**
         * OperationType : one of query mutation subscription
         */
        parseOperationType() {
          const operationToken = this.expectToken(TokenKind.NAME);
          switch (operationToken.value) {
            case "query":
              return OperationTypeNode.QUERY;
            case "mutation":
              return OperationTypeNode.MUTATION;
            case "subscription":
              return OperationTypeNode.SUBSCRIPTION;
          }
          throw this.unexpected(operationToken);
        }
        /**
         * VariableDefinitions : ( VariableDefinition+ )
         */
        parseVariableDefinitions() {
          return this.optionalMany(
            TokenKind.PAREN_L,
            this.parseVariableDefinition,
            TokenKind.PAREN_R
          );
        }
        /**
         * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?
         */
        parseVariableDefinition() {
          return this.node(this._lexer.token, {
            kind: Kind.VARIABLE_DEFINITION,
            variable: this.parseVariable(),
            type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),
            defaultValue: this.expectOptionalToken(TokenKind.EQUALS) ? this.parseConstValueLiteral() : void 0,
            directives: this.parseConstDirectives()
          });
        }
        /**
         * Variable : $ Name
         */
        parseVariable() {
          const start = this._lexer.token;
          this.expectToken(TokenKind.DOLLAR);
          return this.node(start, {
            kind: Kind.VARIABLE,
            name: this.parseName()
          });
        }
        /**
         * ```
         * SelectionSet : { Selection+ }
         * ```
         */
        parseSelectionSet() {
          return this.node(this._lexer.token, {
            kind: Kind.SELECTION_SET,
            selections: this.many(
              TokenKind.BRACE_L,
              this.parseSelection,
              TokenKind.BRACE_R
            )
          });
        }
        /**
         * Selection :
         *   - Field
         *   - FragmentSpread
         *   - InlineFragment
         */
        parseSelection() {
          return this.peek(TokenKind.SPREAD) ? this.parseFragment() : this.parseField();
        }
        /**
         * Field : Alias? Name Arguments? Directives? SelectionSet?
         *
         * Alias : Name :
         */
        parseField() {
          const start = this._lexer.token;
          const nameOrAlias = this.parseName();
          let alias;
          let name;
          if (this.expectOptionalToken(TokenKind.COLON)) {
            alias = nameOrAlias;
            name = this.parseName();
          } else {
            name = nameOrAlias;
          }
          return this.node(start, {
            kind: Kind.FIELD,
            alias,
            name,
            arguments: this.parseArguments(false),
            directives: this.parseDirectives(false),
            selectionSet: this.peek(TokenKind.BRACE_L) ? this.parseSelectionSet() : void 0
          });
        }
        /**
         * Arguments[Const] : ( Argument[?Const]+ )
         */
        parseArguments(isConst) {
          const item = isConst ? this.parseConstArgument : this.parseArgument;
          return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);
        }
        /**
         * Argument[Const] : Name : Value[?Const]
         */
        parseArgument(isConst = false) {
          const start = this._lexer.token;
          const name = this.parseName();
          this.expectToken(TokenKind.COLON);
          return this.node(start, {
            kind: Kind.ARGUMENT,
            name,
            value: this.parseValueLiteral(isConst)
          });
        }
        parseConstArgument() {
          return this.parseArgument(true);
        }
        // Implements the parsing rules in the Fragments section.
        /**
         * Corresponds to both FragmentSpread and InlineFragment in the spec.
         *
         * FragmentSpread : ... FragmentName Directives?
         *
         * InlineFragment : ... TypeCondition? Directives? SelectionSet
         */
        parseFragment() {
          const start = this._lexer.token;
          this.expectToken(TokenKind.SPREAD);
          const hasTypeCondition = this.expectOptionalKeyword("on");
          if (!hasTypeCondition && this.peek(TokenKind.NAME)) {
            return this.node(start, {
              kind: Kind.FRAGMENT_SPREAD,
              name: this.parseFragmentName(),
              directives: this.parseDirectives(false)
            });
          }
          return this.node(start, {
            kind: Kind.INLINE_FRAGMENT,
            typeCondition: hasTypeCondition ? this.parseNamedType() : void 0,
            directives: this.parseDirectives(false),
            selectionSet: this.parseSelectionSet()
          });
        }
        /**
         * FragmentDefinition :
         *   - fragment FragmentName on TypeCondition Directives? SelectionSet
         *
         * TypeCondition : NamedType
         */
        parseFragmentDefinition() {
          const start = this._lexer.token;
          this.expectKeyword("fragment");
          if (this._options.allowLegacyFragmentVariables === true) {
            return this.node(start, {
              kind: Kind.FRAGMENT_DEFINITION,
              name: this.parseFragmentName(),
              variableDefinitions: this.parseVariableDefinitions(),
              typeCondition: (this.expectKeyword("on"), this.parseNamedType()),
              directives: this.parseDirectives(false),
              selectionSet: this.parseSelectionSet()
            });
          }
          return this.node(start, {
            kind: Kind.FRAGMENT_DEFINITION,
            name: this.parseFragmentName(),
            typeCondition: (this.expectKeyword("on"), this.parseNamedType()),
            directives: this.parseDirectives(false),
            selectionSet: this.parseSelectionSet()
          });
        }
        /**
         * FragmentName : Name but not `on`
         */
        parseFragmentName() {
          if (this._lexer.token.value === "on") {
            throw this.unexpected();
          }
          return this.parseName();
        }
        // Implements the parsing rules in the Values section.
        /**
         * Value[Const] :
         *   - [~Const] Variable
         *   - IntValue
         *   - FloatValue
         *   - StringValue
         *   - BooleanValue
         *   - NullValue
         *   - EnumValue
         *   - ListValue[?Const]
         *   - ObjectValue[?Const]
         *
         * BooleanValue : one of `true` `false`
         *
         * NullValue : `null`
         *
         * EnumValue : Name but not `true`, `false` or `null`
         */
        parseValueLiteral(isConst) {
          const token = this._lexer.token;
          switch (token.kind) {
            case TokenKind.BRACKET_L:
              return this.parseList(isConst);
            case TokenKind.BRACE_L:
              return this.parseObject(isConst);
            case TokenKind.INT:
              this.advanceLexer();
              return this.node(token, {
                kind: Kind.INT,
                value: token.value
              });
            case TokenKind.FLOAT:
              this.advanceLexer();
              return this.node(token, {
                kind: Kind.FLOAT,
                value: token.value
              });
            case TokenKind.STRING:
            case TokenKind.BLOCK_STRING:
              return this.parseStringLiteral();
            case TokenKind.NAME:
              this.advanceLexer();
              switch (token.value) {
                case "true":
                  return this.node(token, {
                    kind: Kind.BOOLEAN,
                    value: true
                  });
                case "false":
                  return this.node(token, {
                    kind: Kind.BOOLEAN,
                    value: false
                  });
                case "null":
                  return this.node(token, {
                    kind: Kind.NULL
                  });
                default:
                  return this.node(token, {
                    kind: Kind.ENUM,
                    value: token.value
                  });
              }
            case TokenKind.DOLLAR:
              if (isConst) {
                this.expectToken(TokenKind.DOLLAR);
                if (this._lexer.token.kind === TokenKind.NAME) {
                  const varName = this._lexer.token.value;
                  throw syntaxError(
                    this._lexer.source,
                    token.start,
                    `Unexpected variable "$${varName}" in constant value.`
                  );
                } else {
                  throw this.unexpected(token);
                }
              }
              return this.parseVariable();
            default:
              throw this.unexpected();
          }
        }
        parseConstValueLiteral() {
          return this.parseValueLiteral(true);
        }
        parseStringLiteral() {
          const token = this._lexer.token;
          this.advanceLexer();
          return this.node(token, {
            kind: Kind.STRING,
            value: token.value,
            block: token.kind === TokenKind.BLOCK_STRING
          });
        }
        /**
         * ListValue[Const] :
         *   - [ ]
         *   - [ Value[?Const]+ ]
         */
        parseList(isConst) {
          const item = () => this.parseValueLiteral(isConst);
          return this.node(this._lexer.token, {
            kind: Kind.LIST,
            values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R)
          });
        }
        /**
         * ```
         * ObjectValue[Const] :
         *   - { }
         *   - { ObjectField[?Const]+ }
         * ```
         */
        parseObject(isConst) {
          const item = () => this.parseObjectField(isConst);
          return this.node(this._lexer.token, {
            kind: Kind.OBJECT,
            fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R)
          });
        }
        /**
         * ObjectField[Const] : Name : Value[?Const]
         */
        parseObjectField(isConst) {
          const start = this._lexer.token;
          const name = this.parseName();
          this.expectToken(TokenKind.COLON);
          return this.node(start, {
            kind: Kind.OBJECT_FIELD,
            name,
            value: this.parseValueLiteral(isConst)
          });
        }
        // Implements the parsing rules in the Directives section.
        /**
         * Directives[Const] : Directive[?Const]+
         */
        parseDirectives(isConst) {
          const directives = [];
          while (this.peek(TokenKind.AT)) {
            directives.push(this.parseDirective(isConst));
          }
          return directives;
        }
        parseConstDirectives() {
          return this.parseDirectives(true);
        }
        /**
         * ```
         * Directive[Const] : @ Name Arguments[?Const]?
         * ```
         */
        parseDirective(isConst) {
          const start = this._lexer.token;
          this.expectToken(TokenKind.AT);
          return this.node(start, {
            kind: Kind.DIRECTIVE,
            name: this.parseName(),
            arguments: this.parseArguments(isConst)
          });
        }
        // Implements the parsing rules in the Types section.
        /**
         * Type :
         *   - NamedType
         *   - ListType
         *   - NonNullType
         */
        parseTypeReference() {
          const start = this._lexer.token;
          let type;
          if (this.expectOptionalToken(TokenKind.BRACKET_L)) {
            const innerType = this.parseTypeReference();
            this.expectToken(TokenKind.BRACKET_R);
            type = this.node(start, {
              kind: Kind.LIST_TYPE,
              type: innerType
            });
          } else {
            type = this.parseNamedType();
          }
          if (this.expectOptionalToken(TokenKind.BANG)) {
            return this.node(start, {
              kind: Kind.NON_NULL_TYPE,
              type
            });
          }
          return type;
        }
        /**
         * NamedType : Name
         */
        parseNamedType() {
          return this.node(this._lexer.token, {
            kind: Kind.NAMED_TYPE,
            name: this.parseName()
          });
        }
        // Implements the parsing rules in the Type Definition section.
        peekDescription() {
          return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);
        }
        /**
         * Description : StringValue
         */
        parseDescription() {
          if (this.peekDescription()) {
            return this.parseStringLiteral();
          }
        }
        /**
         * ```
         * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }
         * ```
         */
        parseSchemaDefinition() {
          const start = this._lexer.token;
          const description = this.parseDescription();
          this.expectKeyword("schema");
          const directives = this.parseConstDirectives();
          const operationTypes = this.many(
            TokenKind.BRACE_L,
            this.parseOperationTypeDefinition,
            TokenKind.BRACE_R
          );
          return this.node(start, {
            kind: Kind.SCHEMA_DEFINITION,
            description,
            directives,
            operationTypes
          });
        }
        /**
         * OperationTypeDefinition : OperationType : NamedType
         */
        parseOperationTypeDefinition() {
          const start = this._lexer.token;
          const operation = this.parseOperationType();
          this.expectToken(TokenKind.COLON);
          const type = this.parseNamedType();
          return this.node(start, {
            kind: Kind.OPERATION_TYPE_DEFINITION,
            operation,
            type
          });
        }
        /**
         * ScalarTypeDefinition : Description? scalar Name Directives[Const]?
         */
        parseScalarTypeDefinition() {
          const start = this._lexer.token;
          const description = this.parseDescription();
          this.expectKeyword("scalar");
          const name = this.parseName();
          const directives = this.parseConstDirectives();
          return this.node(start, {
            kind: Kind.SCALAR_TYPE_DEFINITION,
            description,
            name,
            directives
          });
        }
        /**
         * ObjectTypeDefinition :
         *   Description?
         *   type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?
         */
        parseObjectTypeDefinition() {
          const start = this._lexer.token;
          const description = this.parseDescription();
          this.expectKeyword("type");
          const name = this.parseName();
          const interfaces = this.parseImplementsInterfaces();
          const directives = this.parseConstDirectives();
          const fields = this.parseFieldsDefinition();
          return this.node(start, {
            kind: Kind.OBJECT_TYPE_DEFINITION,
            description,
            name,
            interfaces,
            directives,
            fields
          });
        }
        /**
         * ImplementsInterfaces :
         *   - implements `&`? NamedType
         *   - ImplementsInterfaces & NamedType
         */
        parseImplementsInterfaces() {
          return this.expectOptionalKeyword("implements") ? this.delimitedMany(TokenKind.AMP, this.parseNamedType) : [];
        }
        /**
         * ```
         * FieldsDefinition : { FieldDefinition+ }
         * ```
         */
        parseFieldsDefinition() {
          return this.optionalMany(
            TokenKind.BRACE_L,
            this.parseFieldDefinition,
            TokenKind.BRACE_R
          );
        }
        /**
         * FieldDefinition :
         *   - Description? Name ArgumentsDefinition? : Type Directives[Const]?
         */
        parseFieldDefinition() {
          const start = this._lexer.token;
          const description = this.parseDescription();
          const name = this.parseName();
          const args = this.parseArgumentDefs();
          this.expectToken(TokenKind.COLON);
          const type = this.parseTypeReference();
          const directives = this.parseConstDirectives();
          return this.node(start, {
            kind: Kind.FIELD_DEFINITION,
            description,
            name,
            arguments: args,
            type,
            directives
          });
        }
        /**
         * ArgumentsDefinition : ( InputValueDefinition+ )
         */
        parseArgumentDefs() {
          return this.optionalMany(
            TokenKind.PAREN_L,
            this.parseInputValueDef,
            TokenKind.PAREN_R
          );
        }
        /**
         * InputValueDefinition :
         *   - Description? Name : Type DefaultValue? Directives[Const]?
         */
        parseInputValueDef() {
          const start = this._lexer.token;
          const description = this.parseDescription();
          const name = this.parseName();
          this.expectToken(TokenKind.COLON);
          const type = this.parseTypeReference();
          let defaultValue;
          if (this.expectOptionalToken(TokenKind.EQUALS)) {
            defaultValue = this.parseConstValueLiteral();
          }
          const directives = this.parseConstDirectives();
          return this.node(start, {
            kind: Kind.INPUT_VALUE_DEFINITION,
            description,
            name,
            type,
            defaultValue,
            directives
          });
        }
        /**
         * InterfaceTypeDefinition :
         *   - Description? interface Name Directives[Const]? FieldsDefinition?
         */
        parseInterfaceTypeDefinition() {
          const start = this._lexer.token;
          const description = this.parseDescription();
          this.expectKeyword("interface");
          const name = this.parseName();
          const interfaces = this.parseImplementsInterfaces();
          const directives = this.parseConstDirectives();
          const fields = this.parseFieldsDefinition();
          return this.node(start, {
            kind: Kind.INTERFACE_TYPE_DEFINITION,
            description,
            name,
            interfaces,
            directives,
            fields
          });
        }
        /**
         * UnionTypeDefinition :
         *   - Description? union Name Directives[Const]? UnionMemberTypes?
         */
        parseUnionTypeDefinition() {
          const start = this._lexer.token;
          const description = this.parseDescription();
          this.expectKeyword("union");
          const name = this.parseName();
          const directives = this.parseConstDirectives();
          const types = this.parseUnionMemberTypes();
          return this.node(start, {
            kind: Kind.UNION_TYPE_DEFINITION,
            description,
            name,
            directives,
            types
          });
        }
        /**
         * UnionMemberTypes :
         *   - = `|`? NamedType
         *   - UnionMemberTypes | NamedType
         */
        parseUnionMemberTypes() {
          return this.expectOptionalToken(TokenKind.EQUALS) ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType) : [];
        }
        /**
         * EnumTypeDefinition :
         *   - Description? enum Name Directives[Const]? EnumValuesDefinition?
         */
        parseEnumTypeDefinition() {
          const start = this._lexer.token;
          const description = this.parseDescription();
          this.expectKeyword("enum");
          const name = this.parseName();
          const directives = this.parseConstDirectives();
          const values2 = this.parseEnumValuesDefinition();
          return this.node(start, {
            kind: Kind.ENUM_TYPE_DEFINITION,
            description,
            name,
            directives,
            values: values2
          });
        }
        /**
         * ```
         * EnumValuesDefinition : { EnumValueDefinition+ }
         * ```
         */
        parseEnumValuesDefinition() {
          return this.optionalMany(
            TokenKind.BRACE_L,
            this.parseEnumValueDefinition,
            TokenKind.BRACE_R
          );
        }
        /**
         * EnumValueDefinition : Description? EnumValue Directives[Const]?
         */
        parseEnumValueDefinition() {
          const start = this._lexer.token;
          const description = this.parseDescription();
          const name = this.parseEnumValueName();
          const directives = this.parseConstDirectives();
          return this.node(start, {
            kind: Kind.ENUM_VALUE_DEFINITION,
            description,
            name,
            directives
          });
        }
        /**
         * EnumValue : Name but not `true`, `false` or `null`
         */
        parseEnumValueName() {
          if (this._lexer.token.value === "true" || this._lexer.token.value === "false" || this._lexer.token.value === "null") {
            throw syntaxError(
              this._lexer.source,
              this._lexer.token.start,
              `${getTokenDesc(
                this._lexer.token
              )} is reserved and cannot be used for an enum value.`
            );
          }
          return this.parseName();
        }
        /**
         * InputObjectTypeDefinition :
         *   - Description? input Name Directives[Const]? InputFieldsDefinition?
         */
        parseInputObjectTypeDefinition() {
          const start = this._lexer.token;
          const description = this.parseDescription();
          this.expectKeyword("input");
          const name = this.parseName();
          const directives = this.parseConstDirectives();
          const fields = this.parseInputFieldsDefinition();
          return this.node(start, {
            kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,
            description,
            name,
            directives,
            fields
          });
        }
        /**
         * ```
         * InputFieldsDefinition : { InputValueDefinition+ }
         * ```
         */
        parseInputFieldsDefinition() {
          return this.optionalMany(
            TokenKind.BRACE_L,
            this.parseInputValueDef,
            TokenKind.BRACE_R
          );
        }
        /**
         * TypeSystemExtension :
         *   - SchemaExtension
         *   - TypeExtension
         *
         * TypeExtension :
         *   - ScalarTypeExtension
         *   - ObjectTypeExtension
         *   - InterfaceTypeExtension
         *   - UnionTypeExtension
         *   - EnumTypeExtension
         *   - InputObjectTypeDefinition
         */
        parseTypeSystemExtension() {
          const keywordToken = this._lexer.lookahead();
          if (keywordToken.kind === TokenKind.NAME) {
            switch (keywordToken.value) {
              case "schema":
                return this.parseSchemaExtension();
              case "scalar":
                return this.parseScalarTypeExtension();
              case "type":
                return this.parseObjectTypeExtension();
              case "interface":
                return this.parseInterfaceTypeExtension();
              case "union":
                return this.parseUnionTypeExtension();
              case "enum":
                return this.parseEnumTypeExtension();
              case "input":
                return this.parseInputObjectTypeExtension();
            }
          }
          throw this.unexpected(keywordToken);
        }
        /**
         * ```
         * SchemaExtension :
         *  - extend schema Directives[Const]? { OperationTypeDefinition+ }
         *  - extend schema Directives[Const]
         * ```
         */
        parseSchemaExtension() {
          const start = this._lexer.token;
          this.expectKeyword("extend");
          this.expectKeyword("schema");
          const directives = this.parseConstDirectives();
          const operationTypes = this.optionalMany(
            TokenKind.BRACE_L,
            this.parseOperationTypeDefinition,
            TokenKind.BRACE_R
          );
          if (directives.length === 0 && operationTypes.length === 0) {
            throw this.unexpected();
          }
          return this.node(start, {
            kind: Kind.SCHEMA_EXTENSION,
            directives,
            operationTypes
          });
        }
        /**
         * ScalarTypeExtension :
         *   - extend scalar Name Directives[Const]
         */
        parseScalarTypeExtension() {
          const start = this._lexer.token;
          this.expectKeyword("extend");
          this.expectKeyword("scalar");
          const name = this.parseName();
          const directives = this.parseConstDirectives();
          if (directives.length === 0) {
            throw this.unexpected();
          }
          return this.node(start, {
            kind: Kind.SCALAR_TYPE_EXTENSION,
            name,
            directives
          });
        }
        /**
         * ObjectTypeExtension :
         *  - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition
         *  - extend type Name ImplementsInterfaces? Directives[Const]
         *  - extend type Name ImplementsInterfaces
         */
        parseObjectTypeExtension() {
          const start = this._lexer.token;
          this.expectKeyword("extend");
          this.expectKeyword("type");
          const name = this.parseName();
          const interfaces = this.parseImplementsInterfaces();
          const directives = this.parseConstDirectives();
          const fields = this.parseFieldsDefinition();
          if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {
            throw this.unexpected();
          }
          return this.node(start, {
            kind: Kind.OBJECT_TYPE_EXTENSION,
            name,
            interfaces,
            directives,
            fields
          });
        }
        /**
         * InterfaceTypeExtension :
         *  - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition
         *  - extend interface Name ImplementsInterfaces? Directives[Const]
         *  - extend interface Name ImplementsInterfaces
         */
        parseInterfaceTypeExtension() {
          const start = this._lexer.token;
          this.expectKeyword("extend");
          this.expectKeyword("interface");
          const name = this.parseName();
          const interfaces = this.parseImplementsInterfaces();
          const directives = this.parseConstDirectives();
          const fields = this.parseFieldsDefinition();
          if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {
            throw this.unexpected();
          }
          return this.node(start, {
            kind: Kind.INTERFACE_TYPE_EXTENSION,
            name,
            interfaces,
            directives,
            fields
          });
        }
        /**
         * UnionTypeExtension :
         *   - extend union Name Directives[Const]? UnionMemberTypes
         *   - extend union Name Directives[Const]
         */
        parseUnionTypeExtension() {
          const start = this._lexer.token;
          this.expectKeyword("extend");
          this.expectKeyword("union");
          const name = this.parseName();
          const directives = this.parseConstDirectives();
          const types = this.parseUnionMemberTypes();
          if (directives.length === 0 && types.length === 0) {
            throw this.unexpected();
          }
          return this.node(start, {
            kind: Kind.UNION_TYPE_EXTENSION,
            name,
            directives,
            types
          });
        }
        /**
         * EnumTypeExtension :
         *   - extend enum Name Directives[Const]? EnumValuesDefinition
         *   - extend enum Name Directives[Const]
         */
        parseEnumTypeExtension() {
          const start = this._lexer.token;
          this.expectKeyword("extend");
          this.expectKeyword("enum");
          const name = this.parseName();
          const directives = this.parseConstDirectives();
          const values2 = this.parseEnumValuesDefinition();
          if (directives.length === 0 && values2.length === 0) {
            throw this.unexpected();
          }
          return this.node(start, {
            kind: Kind.ENUM_TYPE_EXTENSION,
            name,
            directives,
            values: values2
          });
        }
        /**
         * InputObjectTypeExtension :
         *   - extend input Name Directives[Const]? InputFieldsDefinition
         *   - extend input Name Directives[Const]
         */
        parseInputObjectTypeExtension() {
          const start = this._lexer.token;
          this.expectKeyword("extend");
          this.expectKeyword("input");
          const name = this.parseName();
          const directives = this.parseConstDirectives();
          const fields = this.parseInputFieldsDefinition();
          if (directives.length === 0 && fields.length === 0) {
            throw this.unexpected();
          }
          return this.node(start, {
            kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,
            name,
            directives,
            fields
          });
        }
        /**
         * ```
         * DirectiveDefinition :
         *   - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations
         * ```
         */
        parseDirectiveDefinition() {
          const start = this._lexer.token;
          const description = this.parseDescription();
          this.expectKeyword("directive");
          this.expectToken(TokenKind.AT);
          const name = this.parseName();
          const args = this.parseArgumentDefs();
          const repeatable = this.expectOptionalKeyword("repeatable");
          this.expectKeyword("on");
          const locations = this.parseDirectiveLocations();
          return this.node(start, {
            kind: Kind.DIRECTIVE_DEFINITION,
            description,
            name,
            arguments: args,
            repeatable,
            locations
          });
        }
        /**
         * DirectiveLocations :
         *   - `|`? DirectiveLocation
         *   - DirectiveLocations | DirectiveLocation
         */
        parseDirectiveLocations() {
          return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);
        }
        /*
         * DirectiveLocation :
         *   - ExecutableDirectiveLocation
         *   - TypeSystemDirectiveLocation
         *
         * ExecutableDirectiveLocation : one of
         *   `QUERY`
         *   `MUTATION`
         *   `SUBSCRIPTION`
         *   `FIELD`
         *   `FRAGMENT_DEFINITION`
         *   `FRAGMENT_SPREAD`
         *   `INLINE_FRAGMENT`
         *
         * TypeSystemDirectiveLocation : one of
         *   `SCHEMA`
         *   `SCALAR`
         *   `OBJECT`
         *   `FIELD_DEFINITION`
         *   `ARGUMENT_DEFINITION`
         *   `INTERFACE`
         *   `UNION`
         *   `ENUM`
         *   `ENUM_VALUE`
         *   `INPUT_OBJECT`
         *   `INPUT_FIELD_DEFINITION`
         */
        parseDirectiveLocation() {
          const start = this._lexer.token;
          const name = this.parseName();
          if (Object.prototype.hasOwnProperty.call(DirectiveLocation, name.value)) {
            return name;
          }
          throw this.unexpected(start);
        }
        // Core parsing utility functions
        /**
         * Returns a node that, if configured to do so, sets a "loc" field as a
         * location object, used to identify the place in the source that created a
         * given parsed object.
         */
        node(startToken, node) {
          if (this._options.noLocation !== true) {
            node.loc = new Location(
              startToken,
              this._lexer.lastToken,
              this._lexer.source
            );
          }
          return node;
        }
        /**
         * Determines if the next token is of a given kind
         */
        peek(kind) {
          return this._lexer.token.kind === kind;
        }
        /**
         * If the next token is of the given kind, return that token after advancing the lexer.
         * Otherwise, do not change the parser state and throw an error.
         */
        expectToken(kind) {
          const token = this._lexer.token;
          if (token.kind === kind) {
            this.advanceLexer();
            return token;
          }
          throw syntaxError(
            this._lexer.source,
            token.start,
            `Expected ${getTokenKindDesc(kind)}, found ${getTokenDesc(token)}.`
          );
        }
        /**
         * If the next token is of the given kind, return "true" after advancing the lexer.
         * Otherwise, do not change the parser state and return "false".
         */
        expectOptionalToken(kind) {
          const token = this._lexer.token;
          if (token.kind === kind) {
            this.advanceLexer();
            return true;
          }
          return false;
        }
        /**
         * If the next token is a given keyword, advance the lexer.
         * Otherwise, do not change the parser state and throw an error.
         */
        expectKeyword(value) {
          const token = this._lexer.token;
          if (token.kind === TokenKind.NAME && token.value === value) {
            this.advanceLexer();
          } else {
            throw syntaxError(
              this._lexer.source,
              token.start,
              `Expected "${value}", found ${getTokenDesc(token)}.`
            );
          }
        }
        /**
         * If the next token is a given keyword, return "true" after advancing the lexer.
         * Otherwise, do not change the parser state and return "false".
         */
        expectOptionalKeyword(value) {
          const token = this._lexer.token;
          if (token.kind === TokenKind.NAME && token.value === value) {
            this.advanceLexer();
            return true;
          }
          return false;
        }
        /**
         * Helper function for creating an error when an unexpected lexed token is encountered.
         */
        unexpected(atToken) {
          const token = atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;
          return syntaxError(
            this._lexer.source,
            token.start,
            `Unexpected ${getTokenDesc(token)}.`
          );
        }
        /**
         * Returns a possibly empty list of parse nodes, determined by the parseFn.
         * This list begins with a lex token of openKind and ends with a lex token of closeKind.
         * Advances the parser to the next lex token after the closing token.
         */
        any(openKind, parseFn, closeKind) {
          this.expectToken(openKind);
          const nodes = [];
          while (!this.expectOptionalToken(closeKind)) {
            nodes.push(parseFn.call(this));
          }
          return nodes;
        }
        /**
         * Returns a list of parse nodes, determined by the parseFn.
         * It can be empty only if open token is missing otherwise it will always return non-empty list
         * that begins with a lex token of openKind and ends with a lex token of closeKind.
         * Advances the parser to the next lex token after the closing token.
         */
        optionalMany(openKind, parseFn, closeKind) {
          if (this.expectOptionalToken(openKind)) {
            const nodes = [];
            do {
              nodes.push(parseFn.call(this));
            } while (!this.expectOptionalToken(closeKind));
            return nodes;
          }
          return [];
        }
        /**
         * Returns a non-empty list of parse nodes, determined by the parseFn.
         * This list begins with a lex token of openKind and ends with a lex token of closeKind.
         * Advances the parser to the next lex token after the closing token.
         */
        many(openKind, parseFn, closeKind) {
          this.expectToken(openKind);
          const nodes = [];
          do {
            nodes.push(parseFn.call(this));
          } while (!this.expectOptionalToken(closeKind));
          return nodes;
        }
        /**
         * Returns a non-empty list of parse nodes, determined by the parseFn.
         * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.
         * Advances the parser to the next lex token after last item in the list.
         */
        delimitedMany(delimiterKind, parseFn) {
          this.expectOptionalToken(delimiterKind);
          const nodes = [];
          do {
            nodes.push(parseFn.call(this));
          } while (this.expectOptionalToken(delimiterKind));
          return nodes;
        }
        advanceLexer() {
          const { maxTokens } = this._options;
          const token = this._lexer.advance();
          if (maxTokens !== void 0 && token.kind !== TokenKind.EOF) {
            ++this._tokenCounter;
            if (this._tokenCounter > maxTokens) {
              throw syntaxError(
                this._lexer.source,
                token.start,
                `Document contains more that ${maxTokens} tokens. Parsing aborted.`
              );
            }
          }
        }
      };
    }
  });

  // node_modules/graphql/language/printString.mjs
  function printString(str) {
    return `"${str.replace(escapedRegExp, escapedReplacer)}"`;
  }
  function escapedReplacer(str) {
    return escapeSequences[str.charCodeAt(0)];
  }
  var escapedRegExp, escapeSequences;
  var init_printString = __esm({
    "node_modules/graphql/language/printString.mjs"() {
      escapedRegExp = /[\x00-\x1f\x22\x5c\x7f-\x9f]/g;
      escapeSequences = [
        "\\u0000",
        "\\u0001",
        "\\u0002",
        "\\u0003",
        "\\u0004",
        "\\u0005",
        "\\u0006",
        "\\u0007",
        "\\b",
        "\\t",
        "\\n",
        "\\u000B",
        "\\f",
        "\\r",
        "\\u000E",
        "\\u000F",
        "\\u0010",
        "\\u0011",
        "\\u0012",
        "\\u0013",
        "\\u0014",
        "\\u0015",
        "\\u0016",
        "\\u0017",
        "\\u0018",
        "\\u0019",
        "\\u001A",
        "\\u001B",
        "\\u001C",
        "\\u001D",
        "\\u001E",
        "\\u001F",
        "",
        "",
        '\\"',
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        // 2F
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        // 3F
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        // 4F
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "\\\\",
        "",
        "",
        "",
        // 5F
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        // 6F
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "\\u007F",
        "\\u0080",
        "\\u0081",
        "\\u0082",
        "\\u0083",
        "\\u0084",
        "\\u0085",
        "\\u0086",
        "\\u0087",
        "\\u0088",
        "\\u0089",
        "\\u008A",
        "\\u008B",
        "\\u008C",
        "\\u008D",
        "\\u008E",
        "\\u008F",
        "\\u0090",
        "\\u0091",
        "\\u0092",
        "\\u0093",
        "\\u0094",
        "\\u0095",
        "\\u0096",
        "\\u0097",
        "\\u0098",
        "\\u0099",
        "\\u009A",
        "\\u009B",
        "\\u009C",
        "\\u009D",
        "\\u009E",
        "\\u009F"
      ];
    }
  });

  // node_modules/graphql/language/visitor.mjs
  function visit(root2, visitor, visitorKeys = QueryDocumentKeys) {
    const enterLeaveMap = /* @__PURE__ */ new Map();
    for (const kind of Object.values(Kind)) {
      enterLeaveMap.set(kind, getEnterLeaveForKind(visitor, kind));
    }
    let stack = void 0;
    let inArray = Array.isArray(root2);
    let keys = [root2];
    let index = -1;
    let edits = [];
    let node = root2;
    let key = void 0;
    let parent = void 0;
    const path = [];
    const ancestors = [];
    do {
      index++;
      const isLeaving = index === keys.length;
      const isEdited = isLeaving && edits.length !== 0;
      if (isLeaving) {
        key = ancestors.length === 0 ? void 0 : path[path.length - 1];
        node = parent;
        parent = ancestors.pop();
        if (isEdited) {
          if (inArray) {
            node = node.slice();
            let editOffset = 0;
            for (const [editKey, editValue] of edits) {
              const arrayKey = editKey - editOffset;
              if (editValue === null) {
                node.splice(arrayKey, 1);
                editOffset++;
              } else {
                node[arrayKey] = editValue;
              }
            }
          } else {
            node = Object.defineProperties(
              {},
              Object.getOwnPropertyDescriptors(node)
            );
            for (const [editKey, editValue] of edits) {
              node[editKey] = editValue;
            }
          }
        }
        index = stack.index;
        keys = stack.keys;
        edits = stack.edits;
        inArray = stack.inArray;
        stack = stack.prev;
      } else if (parent) {
        key = inArray ? index : keys[index];
        node = parent[key];
        if (node === null || node === void 0) {
          continue;
        }
        path.push(key);
      }
      let result2;
      if (!Array.isArray(node)) {
        var _enterLeaveMap$get, _enterLeaveMap$get2;
        isNode(node) || devAssert(false, `Invalid AST Node: ${inspect(node)}.`);
        const visitFn = isLeaving ? (_enterLeaveMap$get = enterLeaveMap.get(node.kind)) === null || _enterLeaveMap$get === void 0 ? void 0 : _enterLeaveMap$get.leave : (_enterLeaveMap$get2 = enterLeaveMap.get(node.kind)) === null || _enterLeaveMap$get2 === void 0 ? void 0 : _enterLeaveMap$get2.enter;
        result2 = visitFn === null || visitFn === void 0 ? void 0 : visitFn.call(visitor, node, key, parent, path, ancestors);
        if (result2 === BREAK) {
          break;
        }
        if (result2 === false) {
          if (!isLeaving) {
            path.pop();
            continue;
          }
        } else if (result2 !== void 0) {
          edits.push([key, result2]);
          if (!isLeaving) {
            if (isNode(result2)) {
              node = result2;
            } else {
              path.pop();
              continue;
            }
          }
        }
      }
      if (result2 === void 0 && isEdited) {
        edits.push([key, node]);
      }
      if (isLeaving) {
        path.pop();
      } else {
        var _node$kind;
        stack = {
          inArray,
          index,
          keys,
          edits,
          prev: stack
        };
        inArray = Array.isArray(node);
        keys = inArray ? node : (_node$kind = visitorKeys[node.kind]) !== null && _node$kind !== void 0 ? _node$kind : [];
        index = -1;
        edits = [];
        if (parent) {
          ancestors.push(parent);
        }
        parent = node;
      }
    } while (stack !== void 0);
    if (edits.length !== 0) {
      return edits[edits.length - 1][1];
    }
    return root2;
  }
  function getEnterLeaveForKind(visitor, kind) {
    const kindVisitor = visitor[kind];
    if (typeof kindVisitor === "object") {
      return kindVisitor;
    } else if (typeof kindVisitor === "function") {
      return {
        enter: kindVisitor,
        leave: void 0
      };
    }
    return {
      enter: visitor.enter,
      leave: visitor.leave
    };
  }
  var BREAK;
  var init_visitor = __esm({
    "node_modules/graphql/language/visitor.mjs"() {
      init_devAssert();
      init_inspect();
      init_ast();
      init_kinds();
      BREAK = Object.freeze({});
    }
  });

  // node_modules/graphql/language/printer.mjs
  function print(ast) {
    return visit(ast, printDocASTReducer);
  }
  function join(maybeArray, separator = "") {
    var _maybeArray$filter$jo;
    return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter((x) => x).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : "";
  }
  function block(array) {
    return wrap2("{\n", indent(join(array, "\n")), "\n}");
  }
  function wrap2(start, maybeString, end = "") {
    return maybeString != null && maybeString !== "" ? start + maybeString + end : "";
  }
  function indent(str) {
    return wrap2("  ", str.replace(/\n/g, "\n  "));
  }
  function hasMultilineItems(maybeArray) {
    var _maybeArray$some;
    return (_maybeArray$some = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.some((str) => str.includes("\n"))) !== null && _maybeArray$some !== void 0 ? _maybeArray$some : false;
  }
  var MAX_LINE_LENGTH, printDocASTReducer;
  var init_printer = __esm({
    "node_modules/graphql/language/printer.mjs"() {
      init_blockString();
      init_printString();
      init_visitor();
      MAX_LINE_LENGTH = 80;
      printDocASTReducer = {
        Name: {
          leave: (node) => node.value
        },
        Variable: {
          leave: (node) => "$" + node.name
        },
        // Document
        Document: {
          leave: (node) => join(node.definitions, "\n\n")
        },
        OperationDefinition: {
          leave(node) {
            const varDefs = wrap2("(", join(node.variableDefinitions, ", "), ")");
            const prefix = join(
              [
                node.operation,
                join([node.name, varDefs]),
                join(node.directives, " ")
              ],
              " "
            );
            return (prefix === "query" ? "" : prefix + " ") + node.selectionSet;
          }
        },
        VariableDefinition: {
          leave: ({ variable, type, defaultValue, directives }) => variable + ": " + type + wrap2(" = ", defaultValue) + wrap2(" ", join(directives, " "))
        },
        SelectionSet: {
          leave: ({ selections }) => block(selections)
        },
        Field: {
          leave({ alias, name, arguments: args, directives, selectionSet }) {
            const prefix = wrap2("", alias, ": ") + name;
            let argsLine = prefix + wrap2("(", join(args, ", "), ")");
            if (argsLine.length > MAX_LINE_LENGTH) {
              argsLine = prefix + wrap2("(\n", indent(join(args, "\n")), "\n)");
            }
            return join([argsLine, join(directives, " "), selectionSet], " ");
          }
        },
        Argument: {
          leave: ({ name, value }) => name + ": " + value
        },
        // Fragments
        FragmentSpread: {
          leave: ({ name, directives }) => "..." + name + wrap2(" ", join(directives, " "))
        },
        InlineFragment: {
          leave: ({ typeCondition, directives, selectionSet }) => join(
            [
              "...",
              wrap2("on ", typeCondition),
              join(directives, " "),
              selectionSet
            ],
            " "
          )
        },
        FragmentDefinition: {
          leave: ({ name, typeCondition, variableDefinitions, directives, selectionSet }) => (
            // or removed in the future.
            `fragment ${name}${wrap2("(", join(variableDefinitions, ", "), ")")} on ${typeCondition} ${wrap2("", join(directives, " "), " ")}` + selectionSet
          )
        },
        // Value
        IntValue: {
          leave: ({ value }) => value
        },
        FloatValue: {
          leave: ({ value }) => value
        },
        StringValue: {
          leave: ({ value, block: isBlockString }) => isBlockString ? printBlockString(value) : printString(value)
        },
        BooleanValue: {
          leave: ({ value }) => value ? "true" : "false"
        },
        NullValue: {
          leave: () => "null"
        },
        EnumValue: {
          leave: ({ value }) => value
        },
        ListValue: {
          leave: ({ values: values2 }) => "[" + join(values2, ", ") + "]"
        },
        ObjectValue: {
          leave: ({ fields }) => "{" + join(fields, ", ") + "}"
        },
        ObjectField: {
          leave: ({ name, value }) => name + ": " + value
        },
        // Directive
        Directive: {
          leave: ({ name, arguments: args }) => "@" + name + wrap2("(", join(args, ", "), ")")
        },
        // Type
        NamedType: {
          leave: ({ name }) => name
        },
        ListType: {
          leave: ({ type }) => "[" + type + "]"
        },
        NonNullType: {
          leave: ({ type }) => type + "!"
        },
        // Type System Definitions
        SchemaDefinition: {
          leave: ({ description, directives, operationTypes }) => wrap2("", description, "\n") + join(["schema", join(directives, " "), block(operationTypes)], " ")
        },
        OperationTypeDefinition: {
          leave: ({ operation, type }) => operation + ": " + type
        },
        ScalarTypeDefinition: {
          leave: ({ description, name, directives }) => wrap2("", description, "\n") + join(["scalar", name, join(directives, " ")], " ")
        },
        ObjectTypeDefinition: {
          leave: ({ description, name, interfaces, directives, fields }) => wrap2("", description, "\n") + join(
            [
              "type",
              name,
              wrap2("implements ", join(interfaces, " & ")),
              join(directives, " "),
              block(fields)
            ],
            " "
          )
        },
        FieldDefinition: {
          leave: ({ description, name, arguments: args, type, directives }) => wrap2("", description, "\n") + name + (hasMultilineItems(args) ? wrap2("(\n", indent(join(args, "\n")), "\n)") : wrap2("(", join(args, ", "), ")")) + ": " + type + wrap2(" ", join(directives, " "))
        },
        InputValueDefinition: {
          leave: ({ description, name, type, defaultValue, directives }) => wrap2("", description, "\n") + join(
            [name + ": " + type, wrap2("= ", defaultValue), join(directives, " ")],
            " "
          )
        },
        InterfaceTypeDefinition: {
          leave: ({ description, name, interfaces, directives, fields }) => wrap2("", description, "\n") + join(
            [
              "interface",
              name,
              wrap2("implements ", join(interfaces, " & ")),
              join(directives, " "),
              block(fields)
            ],
            " "
          )
        },
        UnionTypeDefinition: {
          leave: ({ description, name, directives, types }) => wrap2("", description, "\n") + join(
            ["union", name, join(directives, " "), wrap2("= ", join(types, " | "))],
            " "
          )
        },
        EnumTypeDefinition: {
          leave: ({ description, name, directives, values: values2 }) => wrap2("", description, "\n") + join(["enum", name, join(directives, " "), block(values2)], " ")
        },
        EnumValueDefinition: {
          leave: ({ description, name, directives }) => wrap2("", description, "\n") + join([name, join(directives, " ")], " ")
        },
        InputObjectTypeDefinition: {
          leave: ({ description, name, directives, fields }) => wrap2("", description, "\n") + join(["input", name, join(directives, " "), block(fields)], " ")
        },
        DirectiveDefinition: {
          leave: ({ description, name, arguments: args, repeatable, locations }) => wrap2("", description, "\n") + "directive @" + name + (hasMultilineItems(args) ? wrap2("(\n", indent(join(args, "\n")), "\n)") : wrap2("(", join(args, ", "), ")")) + (repeatable ? " repeatable" : "") + " on " + join(locations, " | ")
        },
        SchemaExtension: {
          leave: ({ directives, operationTypes }) => join(
            ["extend schema", join(directives, " "), block(operationTypes)],
            " "
          )
        },
        ScalarTypeExtension: {
          leave: ({ name, directives }) => join(["extend scalar", name, join(directives, " ")], " ")
        },
        ObjectTypeExtension: {
          leave: ({ name, interfaces, directives, fields }) => join(
            [
              "extend type",
              name,
              wrap2("implements ", join(interfaces, " & ")),
              join(directives, " "),
              block(fields)
            ],
            " "
          )
        },
        InterfaceTypeExtension: {
          leave: ({ name, interfaces, directives, fields }) => join(
            [
              "extend interface",
              name,
              wrap2("implements ", join(interfaces, " & ")),
              join(directives, " "),
              block(fields)
            ],
            " "
          )
        },
        UnionTypeExtension: {
          leave: ({ name, directives, types }) => join(
            [
              "extend union",
              name,
              join(directives, " "),
              wrap2("= ", join(types, " | "))
            ],
            " "
          )
        },
        EnumTypeExtension: {
          leave: ({ name, directives, values: values2 }) => join(["extend enum", name, join(directives, " "), block(values2)], " ")
        },
        InputObjectTypeExtension: {
          leave: ({ name, directives, fields }) => join(["extend input", name, join(directives, " "), block(fields)], " ")
        }
      };
    }
  });

  // node_modules/graphql/language/predicates.mjs
  function isSelectionNode(node) {
    return node.kind === Kind.FIELD || node.kind === Kind.FRAGMENT_SPREAD || node.kind === Kind.INLINE_FRAGMENT;
  }
  var init_predicates = __esm({
    "node_modules/graphql/language/predicates.mjs"() {
      init_kinds();
    }
  });

  // node_modules/graphql/language/index.mjs
  var init_language = __esm({
    "node_modules/graphql/language/index.mjs"() {
      init_kinds();
      init_parser();
      init_printer();
      init_visitor();
      init_predicates();
    }
  });

  // node_modules/graphql/index.mjs
  var init_graphql = __esm({
    "node_modules/graphql/index.mjs"() {
      init_language();
    }
  });

  // node_modules/@apollo/client/utilities/graphql/directives.js
  function shouldInclude(_a2, variables) {
    var directives = _a2.directives;
    if (!directives || !directives.length) {
      return true;
    }
    return getInclusionDirectives(directives).every(function(_a3) {
      var directive = _a3.directive, ifArgument = _a3.ifArgument;
      var evaledValue = false;
      if (ifArgument.value.kind === "Variable") {
        evaledValue = variables && variables[ifArgument.value.name.value];
        invariant2(evaledValue !== void 0, 66, directive.name.value);
      } else {
        evaledValue = ifArgument.value.value;
      }
      return directive.name.value === "skip" ? !evaledValue : evaledValue;
    });
  }
  function hasDirectives(names, root2, all) {
    var nameSet = new Set(names);
    var uniqueCount = nameSet.size;
    visit(root2, {
      Directive: function(node) {
        if (nameSet.delete(node.name.value) && (!all || !nameSet.size)) {
          return BREAK;
        }
      }
    });
    return all ? !nameSet.size : nameSet.size < uniqueCount;
  }
  function hasClientExports(document2) {
    return document2 && hasDirectives(["client", "export"], document2, true);
  }
  function isInclusionDirective(_a2) {
    var value = _a2.name.value;
    return value === "skip" || value === "include";
  }
  function getInclusionDirectives(directives) {
    var result2 = [];
    if (directives && directives.length) {
      directives.forEach(function(directive) {
        if (!isInclusionDirective(directive))
          return;
        var directiveArguments = directive.arguments;
        var directiveName = directive.name.value;
        invariant2(directiveArguments && directiveArguments.length === 1, 67, directiveName);
        var ifArgument = directiveArguments[0];
        invariant2(ifArgument.name && ifArgument.name.value === "if", 68, directiveName);
        var ifValue = ifArgument.value;
        invariant2(ifValue && (ifValue.kind === "Variable" || ifValue.kind === "BooleanValue"), 69, directiveName);
        result2.push({ directive, ifArgument });
      });
    }
    return result2;
  }
  var init_directives = __esm({
    "node_modules/@apollo/client/utilities/graphql/directives.js"() {
      init_globals();
      init_graphql();
    }
  });

  // node_modules/@wry/trie/lib/index.js
  function isObjRef(value) {
    switch (typeof value) {
      case "object":
        if (value === null)
          break;
      case "function":
        return true;
    }
    return false;
  }
  var defaultMakeData, forEach2, slice, hasOwnProperty, Trie;
  var init_lib = __esm({
    "node_modules/@wry/trie/lib/index.js"() {
      defaultMakeData = () => /* @__PURE__ */ Object.create(null);
      ({ forEach: forEach2, slice } = Array.prototype);
      ({ hasOwnProperty } = Object.prototype);
      Trie = class {
        constructor(weakness = true, makeData = defaultMakeData) {
          this.weakness = weakness;
          this.makeData = makeData;
        }
        lookup() {
          return this.lookupArray(arguments);
        }
        lookupArray(array) {
          let node = this;
          forEach2.call(array, (key) => node = node.getChildTrie(key));
          return hasOwnProperty.call(node, "data") ? node.data : node.data = this.makeData(slice.call(array));
        }
        peek() {
          return this.peekArray(arguments);
        }
        peekArray(array) {
          let node = this;
          for (let i = 0, len = array.length; node && i < len; ++i) {
            const map = node.mapFor(array[i], false);
            node = map && map.get(array[i]);
          }
          return node && node.data;
        }
        remove() {
          return this.removeArray(arguments);
        }
        removeArray(array) {
          let data;
          if (array.length) {
            const head = array[0];
            const map = this.mapFor(head, false);
            const child = map && map.get(head);
            if (child) {
              data = child.removeArray(slice.call(array, 1));
              if (!child.data && !child.weak && !(child.strong && child.strong.size)) {
                map.delete(head);
              }
            }
          } else {
            data = this.data;
            delete this.data;
          }
          return data;
        }
        getChildTrie(key) {
          const map = this.mapFor(key, true);
          let child = map.get(key);
          if (!child)
            map.set(key, child = new Trie(this.weakness, this.makeData));
          return child;
        }
        mapFor(key, create5) {
          return this.weakness && isObjRef(key) ? this.weak || (create5 ? this.weak = /* @__PURE__ */ new WeakMap() : void 0) : this.strong || (create5 ? this.strong = /* @__PURE__ */ new Map() : void 0);
        }
      };
    }
  });

  // node_modules/@apollo/client/utilities/common/canUse.js
  var canUseWeakMap, canUseWeakSet, canUseSymbol, canUseAsyncIteratorSymbol, canUseDOM, usingJSDOM;
  var init_canUse = __esm({
    "node_modules/@apollo/client/utilities/common/canUse.js"() {
      init_globals();
      canUseWeakMap = typeof WeakMap === "function" && maybe(function() {
        return navigator.product;
      }) !== "ReactNative";
      canUseWeakSet = typeof WeakSet === "function";
      canUseSymbol = typeof Symbol === "function" && typeof Symbol.for === "function";
      canUseAsyncIteratorSymbol = canUseSymbol && Symbol.asyncIterator;
      canUseDOM = typeof maybe(function() {
        return window.document.createElement;
      }) === "function";
      usingJSDOM = // Following advice found in this comment from @domenic (maintainer of jsdom):
      // https://github.com/jsdom/jsdom/issues/1537#issuecomment-229405327
      //
      // Since we control the version of Jest and jsdom used when running Apollo
      // Client tests, and that version is recent enought to include " jsdom/x.y.z"
      // at the end of the user agent string, I believe this case is all we need to
      // check. Testing for "Node.js" was recommended for backwards compatibility
      // with older version of jsdom, but we don't have that problem.
      maybe(function() {
        return navigator.userAgent.indexOf("jsdom") >= 0;
      }) || false;
    }
  });

  // node_modules/@apollo/client/utilities/common/objects.js
  function isNonNullObject(obj) {
    return obj !== null && typeof obj === "object";
  }
  var init_objects = __esm({
    "node_modules/@apollo/client/utilities/common/objects.js"() {
    }
  });

  // node_modules/@apollo/client/utilities/graphql/fragments.js
  function getFragmentQueryDocument(document2, fragmentName) {
    var actualFragmentName = fragmentName;
    var fragments = [];
    document2.definitions.forEach(function(definition) {
      if (definition.kind === "OperationDefinition") {
        throw newInvariantError(
          70,
          definition.operation,
          definition.name ? " named '".concat(definition.name.value, "'") : ""
        );
      }
      if (definition.kind === "FragmentDefinition") {
        fragments.push(definition);
      }
    });
    if (typeof actualFragmentName === "undefined") {
      invariant2(fragments.length === 1, 71, fragments.length);
      actualFragmentName = fragments[0].name.value;
    }
    var query = __assign(__assign({}, document2), { definitions: __spreadArray([
      {
        kind: "OperationDefinition",
        // OperationTypeNode is an enum
        operation: "query",
        selectionSet: {
          kind: "SelectionSet",
          selections: [
            {
              kind: "FragmentSpread",
              name: {
                kind: "Name",
                value: actualFragmentName
              }
            }
          ]
        }
      }
    ], document2.definitions, true) });
    return query;
  }
  function createFragmentMap(fragments) {
    if (fragments === void 0) {
      fragments = [];
    }
    var symTable = {};
    fragments.forEach(function(fragment) {
      symTable[fragment.name.value] = fragment;
    });
    return symTable;
  }
  function getFragmentFromSelection(selection, fragmentMap) {
    switch (selection.kind) {
      case "InlineFragment":
        return selection;
      case "FragmentSpread": {
        var fragmentName = selection.name.value;
        if (typeof fragmentMap === "function") {
          return fragmentMap(fragmentName);
        }
        var fragment = fragmentMap && fragmentMap[fragmentName];
        invariant2(fragment, 72, fragmentName);
        return fragment || null;
      }
      default:
        return null;
    }
  }
  var init_fragments = __esm({
    "node_modules/@apollo/client/utilities/graphql/fragments.js"() {
      init_tslib_es6();
      init_globals();
    }
  });

  // node_modules/@apollo/client/utilities/graphql/storeUtils.js
  function makeReference(id) {
    return { __ref: String(id) };
  }
  function isReference(obj) {
    return Boolean(obj && typeof obj === "object" && typeof obj.__ref === "string");
  }
  function isDocumentNode(value) {
    return isNonNullObject(value) && value.kind === "Document" && Array.isArray(value.definitions);
  }
  function isStringValue(value) {
    return value.kind === "StringValue";
  }
  function isBooleanValue(value) {
    return value.kind === "BooleanValue";
  }
  function isIntValue(value) {
    return value.kind === "IntValue";
  }
  function isFloatValue(value) {
    return value.kind === "FloatValue";
  }
  function isVariable(value) {
    return value.kind === "Variable";
  }
  function isObjectValue(value) {
    return value.kind === "ObjectValue";
  }
  function isListValue(value) {
    return value.kind === "ListValue";
  }
  function isEnumValue(value) {
    return value.kind === "EnumValue";
  }
  function isNullValue(value) {
    return value.kind === "NullValue";
  }
  function valueToObjectRepresentation(argObj, name, value, variables) {
    if (isIntValue(value) || isFloatValue(value)) {
      argObj[name.value] = Number(value.value);
    } else if (isBooleanValue(value) || isStringValue(value)) {
      argObj[name.value] = value.value;
    } else if (isObjectValue(value)) {
      var nestedArgObj_1 = {};
      value.fields.map(function(obj) {
        return valueToObjectRepresentation(nestedArgObj_1, obj.name, obj.value, variables);
      });
      argObj[name.value] = nestedArgObj_1;
    } else if (isVariable(value)) {
      var variableValue = (variables || {})[value.name.value];
      argObj[name.value] = variableValue;
    } else if (isListValue(value)) {
      argObj[name.value] = value.values.map(function(listValue) {
        var nestedArgArrayObj = {};
        valueToObjectRepresentation(nestedArgArrayObj, name, listValue, variables);
        return nestedArgArrayObj[name.value];
      });
    } else if (isEnumValue(value)) {
      argObj[name.value] = value.value;
    } else if (isNullValue(value)) {
      argObj[name.value] = null;
    } else {
      throw newInvariantError(81, name.value, value.kind);
    }
  }
  function storeKeyNameFromField(field, variables) {
    var directivesObj = null;
    if (field.directives) {
      directivesObj = {};
      field.directives.forEach(function(directive) {
        directivesObj[directive.name.value] = {};
        if (directive.arguments) {
          directive.arguments.forEach(function(_a2) {
            var name = _a2.name, value = _a2.value;
            return valueToObjectRepresentation(directivesObj[directive.name.value], name, value, variables);
          });
        }
      });
    }
    var argObj = null;
    if (field.arguments && field.arguments.length) {
      argObj = {};
      field.arguments.forEach(function(_a2) {
        var name = _a2.name, value = _a2.value;
        return valueToObjectRepresentation(argObj, name, value, variables);
      });
    }
    return getStoreKeyName(field.name.value, argObj, directivesObj);
  }
  function stringifyReplacer(_key, value) {
    if (isNonNullObject(value) && !Array.isArray(value)) {
      value = Object.keys(value).sort().reduce(function(copy, key) {
        copy[key] = value[key];
        return copy;
      }, {});
    }
    return value;
  }
  function argumentsObjectFromField(field, variables) {
    if (field.arguments && field.arguments.length) {
      var argObj_1 = {};
      field.arguments.forEach(function(_a2) {
        var name = _a2.name, value = _a2.value;
        return valueToObjectRepresentation(argObj_1, name, value, variables);
      });
      return argObj_1;
    }
    return null;
  }
  function resultKeyNameFromField(field) {
    return field.alias ? field.alias.value : field.name.value;
  }
  function getTypenameFromResult(result2, selectionSet, fragmentMap) {
    var fragments;
    for (var _i = 0, _a2 = selectionSet.selections; _i < _a2.length; _i++) {
      var selection = _a2[_i];
      if (isField(selection)) {
        if (selection.name.value === "__typename") {
          return result2[resultKeyNameFromField(selection)];
        }
      } else if (fragments) {
        fragments.push(selection);
      } else {
        fragments = [selection];
      }
    }
    if (typeof result2.__typename === "string") {
      return result2.__typename;
    }
    if (fragments) {
      for (var _b = 0, fragments_1 = fragments; _b < fragments_1.length; _b++) {
        var selection = fragments_1[_b];
        var typename = getTypenameFromResult(result2, getFragmentFromSelection(selection, fragmentMap).selectionSet, fragmentMap);
        if (typeof typename === "string") {
          return typename;
        }
      }
    }
  }
  function isField(selection) {
    return selection.kind === "Field";
  }
  function isInlineFragment(selection) {
    return selection.kind === "InlineFragment";
  }
  var KNOWN_DIRECTIVES, getStoreKeyName, stringify2;
  var init_storeUtils = __esm({
    "node_modules/@apollo/client/utilities/graphql/storeUtils.js"() {
      init_globals();
      init_objects();
      init_fragments();
      KNOWN_DIRECTIVES = [
        "connection",
        "include",
        "skip",
        "client",
        "rest",
        "export",
        "nonreactive"
      ];
      getStoreKeyName = Object.assign(function(fieldName, args, directives) {
        if (args && directives && directives["connection"] && directives["connection"]["key"]) {
          if (directives["connection"]["filter"] && directives["connection"]["filter"].length > 0) {
            var filterKeys = directives["connection"]["filter"] ? directives["connection"]["filter"] : [];
            filterKeys.sort();
            var filteredArgs_1 = {};
            filterKeys.forEach(function(key) {
              filteredArgs_1[key] = args[key];
            });
            return "".concat(directives["connection"]["key"], "(").concat(stringify2(filteredArgs_1), ")");
          } else {
            return directives["connection"]["key"];
          }
        }
        var completeFieldName = fieldName;
        if (args) {
          var stringifiedArgs = stringify2(args);
          completeFieldName += "(".concat(stringifiedArgs, ")");
        }
        if (directives) {
          Object.keys(directives).forEach(function(key) {
            if (KNOWN_DIRECTIVES.indexOf(key) !== -1)
              return;
            if (directives[key] && Object.keys(directives[key]).length) {
              completeFieldName += "@".concat(key, "(").concat(stringify2(directives[key]), ")");
            } else {
              completeFieldName += "@".concat(key);
            }
          });
        }
        return completeFieldName;
      }, {
        setStringify: function(s) {
          var previous = stringify2;
          stringify2 = s;
          return previous;
        }
      });
      stringify2 = function defaultStringify(value) {
        return JSON.stringify(value, stringifyReplacer);
      };
    }
  });

  // node_modules/@apollo/client/utilities/graphql/getFromAST.js
  function checkDocument(doc) {
    invariant2(doc && doc.kind === "Document", 73);
    var operations = doc.definitions.filter(function(d) {
      return d.kind !== "FragmentDefinition";
    }).map(function(definition) {
      if (definition.kind !== "OperationDefinition") {
        throw newInvariantError(74, definition.kind);
      }
      return definition;
    });
    invariant2(operations.length <= 1, 75, operations.length);
    return doc;
  }
  function getOperationDefinition(doc) {
    checkDocument(doc);
    return doc.definitions.filter(function(definition) {
      return definition.kind === "OperationDefinition";
    })[0];
  }
  function getOperationName(doc) {
    return doc.definitions.filter(function(definition) {
      return definition.kind === "OperationDefinition" && !!definition.name;
    }).map(function(x) {
      return x.name.value;
    })[0] || null;
  }
  function getFragmentDefinitions(doc) {
    return doc.definitions.filter(function(definition) {
      return definition.kind === "FragmentDefinition";
    });
  }
  function getQueryDefinition(doc) {
    var queryDef = getOperationDefinition(doc);
    invariant2(queryDef && queryDef.operation === "query", 76);
    return queryDef;
  }
  function getFragmentDefinition(doc) {
    invariant2(doc.kind === "Document", 77);
    invariant2(doc.definitions.length <= 1, 78);
    var fragmentDef = doc.definitions[0];
    invariant2(fragmentDef.kind === "FragmentDefinition", 79);
    return fragmentDef;
  }
  function getMainDefinition(queryDoc) {
    checkDocument(queryDoc);
    var fragmentDefinition;
    for (var _i = 0, _a2 = queryDoc.definitions; _i < _a2.length; _i++) {
      var definition = _a2[_i];
      if (definition.kind === "OperationDefinition") {
        var operation = definition.operation;
        if (operation === "query" || operation === "mutation" || operation === "subscription") {
          return definition;
        }
      }
      if (definition.kind === "FragmentDefinition" && !fragmentDefinition) {
        fragmentDefinition = definition;
      }
    }
    if (fragmentDefinition) {
      return fragmentDefinition;
    }
    throw newInvariantError(80);
  }
  function getDefaultValues(definition) {
    var defaultValues = /* @__PURE__ */ Object.create(null);
    var defs = definition && definition.variableDefinitions;
    if (defs && defs.length) {
      defs.forEach(function(def) {
        if (def.defaultValue) {
          valueToObjectRepresentation(defaultValues, def.variable.name, def.defaultValue);
        }
      });
    }
    return defaultValues;
  }
  var init_getFromAST = __esm({
    "node_modules/@apollo/client/utilities/graphql/getFromAST.js"() {
      init_globals();
      init_storeUtils();
    }
  });

  // node_modules/@apollo/client/utilities/graphql/DocumentTransform.js
  function identity(document2) {
    return document2;
  }
  var DocumentTransform;
  var init_DocumentTransform = __esm({
    "node_modules/@apollo/client/utilities/graphql/DocumentTransform.js"() {
      init_lib();
      init_canUse();
      init_getFromAST();
      init_globals();
      DocumentTransform = /** @class */
      function() {
        function DocumentTransform2(transform2, options) {
          if (options === void 0) {
            options = /* @__PURE__ */ Object.create(null);
          }
          this.resultCache = canUseWeakSet ? /* @__PURE__ */ new WeakSet() : /* @__PURE__ */ new Set();
          this.transform = transform2;
          if (options.getCacheKey) {
            this.getCacheKey = options.getCacheKey;
          }
          if (options.cache !== false) {
            this.stableCacheKeys = new Trie(canUseWeakMap, function(key) {
              return { key };
            });
          }
        }
        DocumentTransform2.prototype.getCacheKey = function(document2) {
          return [document2];
        };
        DocumentTransform2.identity = function() {
          return new DocumentTransform2(identity, { cache: false });
        };
        DocumentTransform2.split = function(predicate, left, right) {
          if (right === void 0) {
            right = DocumentTransform2.identity();
          }
          return new DocumentTransform2(
            function(document2) {
              var documentTransform = predicate(document2) ? left : right;
              return documentTransform.transformDocument(document2);
            },
            // Reasonably assume both `left` and `right` transforms handle their own caching
            { cache: false }
          );
        };
        DocumentTransform2.prototype.transformDocument = function(document2) {
          if (this.resultCache.has(document2)) {
            return document2;
          }
          var cacheEntry = this.getStableCacheEntry(document2);
          if (cacheEntry && cacheEntry.value) {
            return cacheEntry.value;
          }
          checkDocument(document2);
          var transformedDocument = this.transform(document2);
          this.resultCache.add(transformedDocument);
          if (cacheEntry) {
            cacheEntry.value = transformedDocument;
          }
          return transformedDocument;
        };
        DocumentTransform2.prototype.concat = function(otherTransform) {
          var _this = this;
          return new DocumentTransform2(
            function(document2) {
              return otherTransform.transformDocument(_this.transformDocument(document2));
            },
            // Reasonably assume both transforms handle their own caching
            { cache: false }
          );
        };
        DocumentTransform2.prototype.getStableCacheEntry = function(document2) {
          if (!this.stableCacheKeys)
            return;
          var cacheKeys = this.getCacheKey(document2);
          if (cacheKeys) {
            invariant2(Array.isArray(cacheKeys), 65);
            return this.stableCacheKeys.lookupArray(cacheKeys);
          }
        };
        return DocumentTransform2;
      }();
    }
  });

  // node_modules/@apollo/client/utilities/graphql/print.js
  var printCache, print2;
  var init_print = __esm({
    "node_modules/@apollo/client/utilities/graphql/print.js"() {
      init_graphql();
      init_canUse();
      printCache = canUseWeakMap ? /* @__PURE__ */ new WeakMap() : void 0;
      print2 = function(ast) {
        var result2;
        result2 = printCache === null || printCache === void 0 ? void 0 : printCache.get(ast);
        if (!result2) {
          result2 = print(ast);
          printCache === null || printCache === void 0 ? void 0 : printCache.set(ast, result2);
        }
        return result2;
      };
    }
  });

  // node_modules/@apollo/client/utilities/common/arrays.js
  function isNonEmptyArray(value) {
    return Array.isArray(value) && value.length > 0;
  }
  var isArray;
  var init_arrays = __esm({
    "node_modules/@apollo/client/utilities/common/arrays.js"() {
      isArray = Array.isArray;
    }
  });

  // node_modules/@apollo/client/utilities/graphql/transform.js
  function isEmpty2(op, fragmentMap) {
    return !op || op.selectionSet.selections.every(function(selection) {
      return selection.kind === Kind.FRAGMENT_SPREAD && isEmpty2(fragmentMap[selection.name.value], fragmentMap);
    });
  }
  function nullIfDocIsEmpty(doc) {
    return isEmpty2(getOperationDefinition(doc) || getFragmentDefinition(doc), createFragmentMap(getFragmentDefinitions(doc))) ? null : doc;
  }
  function getDirectiveMatcher(configs) {
    var names = /* @__PURE__ */ new Map();
    var tests = /* @__PURE__ */ new Map();
    configs.forEach(function(directive) {
      if (directive) {
        if (directive.name) {
          names.set(directive.name, directive);
        } else if (directive.test) {
          tests.set(directive.test, directive);
        }
      }
    });
    return function(directive) {
      var config = names.get(directive.name.value);
      if (!config && tests.size) {
        tests.forEach(function(testConfig, test2) {
          if (test2(directive)) {
            config = testConfig;
          }
        });
      }
      return config;
    };
  }
  function makeInUseGetterFunction(defaultKey) {
    var map = /* @__PURE__ */ new Map();
    return function inUseGetterFunction(key) {
      if (key === void 0) {
        key = defaultKey;
      }
      var inUse = map.get(key);
      if (!inUse) {
        map.set(key, inUse = {
          // Variable and fragment spread names used directly within this
          // operation or fragment definition, as identified by key. These sets
          // will be populated during the first traversal of the document in
          // removeDirectivesFromDocument below.
          variables: /* @__PURE__ */ new Set(),
          fragmentSpreads: /* @__PURE__ */ new Set()
        });
      }
      return inUse;
    };
  }
  function removeDirectivesFromDocument(directives, doc) {
    checkDocument(doc);
    var getInUseByOperationName = makeInUseGetterFunction("");
    var getInUseByFragmentName = makeInUseGetterFunction("");
    var getInUse = function(ancestors) {
      for (var p = 0, ancestor = void 0; p < ancestors.length && (ancestor = ancestors[p]); ++p) {
        if (isArray(ancestor))
          continue;
        if (ancestor.kind === Kind.OPERATION_DEFINITION) {
          return getInUseByOperationName(ancestor.name && ancestor.name.value);
        }
        if (ancestor.kind === Kind.FRAGMENT_DEFINITION) {
          return getInUseByFragmentName(ancestor.name.value);
        }
      }
      return null;
    };
    var operationCount = 0;
    for (var i = doc.definitions.length - 1; i >= 0; --i) {
      if (doc.definitions[i].kind === Kind.OPERATION_DEFINITION) {
        ++operationCount;
      }
    }
    var directiveMatcher = getDirectiveMatcher(directives);
    var shouldRemoveField = function(nodeDirectives) {
      return isNonEmptyArray(nodeDirectives) && nodeDirectives.map(directiveMatcher).some(function(config) {
        return config && config.remove;
      });
    };
    var originalFragmentDefsByPath = /* @__PURE__ */ new Map();
    var firstVisitMadeChanges = false;
    var fieldOrInlineFragmentVisitor = {
      enter: function(node) {
        if (shouldRemoveField(node.directives)) {
          firstVisitMadeChanges = true;
          return null;
        }
      }
    };
    var docWithoutDirectiveSubtrees = visit(doc, {
      // These two AST node types share the same implementation, defined above.
      Field: fieldOrInlineFragmentVisitor,
      InlineFragment: fieldOrInlineFragmentVisitor,
      VariableDefinition: {
        enter: function() {
          return false;
        }
      },
      Variable: {
        enter: function(node, _key, _parent, _path, ancestors) {
          var inUse = getInUse(ancestors);
          if (inUse) {
            inUse.variables.add(node.name.value);
          }
        }
      },
      FragmentSpread: {
        enter: function(node, _key, _parent, _path, ancestors) {
          if (shouldRemoveField(node.directives)) {
            firstVisitMadeChanges = true;
            return null;
          }
          var inUse = getInUse(ancestors);
          if (inUse) {
            inUse.fragmentSpreads.add(node.name.value);
          }
        }
      },
      FragmentDefinition: {
        enter: function(node, _key, _parent, path) {
          originalFragmentDefsByPath.set(JSON.stringify(path), node);
        },
        leave: function(node, _key, _parent, path) {
          var originalNode = originalFragmentDefsByPath.get(JSON.stringify(path));
          if (node === originalNode) {
            return node;
          }
          if (
            // This logic applies only if the document contains one or more
            // operations, since removing all fragments from a document containing
            // only fragments makes the document useless.
            operationCount > 0 && node.selectionSet.selections.every(function(selection) {
              return selection.kind === Kind.FIELD && selection.name.value === "__typename";
            })
          ) {
            getInUseByFragmentName(node.name.value).removed = true;
            firstVisitMadeChanges = true;
            return null;
          }
        }
      },
      Directive: {
        leave: function(node) {
          if (directiveMatcher(node)) {
            firstVisitMadeChanges = true;
            return null;
          }
        }
      }
    });
    if (!firstVisitMadeChanges) {
      return doc;
    }
    var populateTransitiveVars = function(inUse) {
      if (!inUse.transitiveVars) {
        inUse.transitiveVars = new Set(inUse.variables);
        if (!inUse.removed) {
          inUse.fragmentSpreads.forEach(function(childFragmentName) {
            populateTransitiveVars(getInUseByFragmentName(childFragmentName)).transitiveVars.forEach(function(varName) {
              inUse.transitiveVars.add(varName);
            });
          });
        }
      }
      return inUse;
    };
    var allFragmentNamesUsed = /* @__PURE__ */ new Set();
    docWithoutDirectiveSubtrees.definitions.forEach(function(def) {
      if (def.kind === Kind.OPERATION_DEFINITION) {
        populateTransitiveVars(getInUseByOperationName(def.name && def.name.value)).fragmentSpreads.forEach(function(childFragmentName) {
          allFragmentNamesUsed.add(childFragmentName);
        });
      } else if (def.kind === Kind.FRAGMENT_DEFINITION && // If there are no operations in the document, then all fragment
      // definitions count as usages of their own fragment names. This heuristic
      // prevents accidentally removing all fragment definitions from the
      // document just because it contains no operations that use the fragments.
      operationCount === 0 && !getInUseByFragmentName(def.name.value).removed) {
        allFragmentNamesUsed.add(def.name.value);
      }
    });
    allFragmentNamesUsed.forEach(function(fragmentName) {
      populateTransitiveVars(getInUseByFragmentName(fragmentName)).fragmentSpreads.forEach(function(childFragmentName) {
        allFragmentNamesUsed.add(childFragmentName);
      });
    });
    var fragmentWillBeRemoved = function(fragmentName) {
      return !!// A fragment definition will be removed if there are no spreads that refer
      // to it, or the fragment was explicitly removed because it had no fields
      // other than __typename.
      (!allFragmentNamesUsed.has(fragmentName) || getInUseByFragmentName(fragmentName).removed);
    };
    var enterVisitor = {
      enter: function(node) {
        if (fragmentWillBeRemoved(node.name.value)) {
          return null;
        }
      }
    };
    return nullIfDocIsEmpty(visit(docWithoutDirectiveSubtrees, {
      // If the fragment is going to be removed, then leaving any dangling
      // FragmentSpread nodes with the same name would be a mistake.
      FragmentSpread: enterVisitor,
      // This is where the fragment definition is actually removed.
      FragmentDefinition: enterVisitor,
      OperationDefinition: {
        leave: function(node) {
          if (node.variableDefinitions) {
            var usedVariableNames_1 = populateTransitiveVars(
              // If an operation is anonymous, we use the empty string as its key.
              getInUseByOperationName(node.name && node.name.value)
            ).transitiveVars;
            if (usedVariableNames_1.size < node.variableDefinitions.length) {
              return __assign(__assign({}, node), { variableDefinitions: node.variableDefinitions.filter(function(varDef) {
                return usedVariableNames_1.has(varDef.variable.name.value);
              }) });
            }
          }
        }
      }
    }));
  }
  function buildQueryFromSelectionSet(document2) {
    var definition = getMainDefinition(document2);
    var definitionOperation = definition.operation;
    if (definitionOperation === "query") {
      return document2;
    }
    var modifiedDoc = visit(document2, {
      OperationDefinition: {
        enter: function(node) {
          return __assign(__assign({}, node), { operation: "query" });
        }
      }
    });
    return modifiedDoc;
  }
  function removeClientSetsFromDocument(document2) {
    checkDocument(document2);
    var modifiedDoc = removeDirectivesFromDocument([
      {
        test: function(directive) {
          return directive.name.value === "client";
        },
        remove: true
      }
    ], document2);
    return modifiedDoc;
  }
  var TYPENAME_FIELD, addTypenameToDocument;
  var init_transform = __esm({
    "node_modules/@apollo/client/utilities/graphql/transform.js"() {
      init_tslib_es6();
      init_globals();
      init_graphql();
      init_getFromAST();
      init_storeUtils();
      init_fragments();
      init_arrays();
      TYPENAME_FIELD = {
        kind: Kind.FIELD,
        name: {
          kind: Kind.NAME,
          value: "__typename"
        }
      };
      addTypenameToDocument = Object.assign(function(doc) {
        return visit(doc, {
          SelectionSet: {
            enter: function(node, _key, parent) {
              if (parent && parent.kind === Kind.OPERATION_DEFINITION) {
                return;
              }
              var selections = node.selections;
              if (!selections) {
                return;
              }
              var skip = selections.some(function(selection) {
                return isField(selection) && (selection.name.value === "__typename" || selection.name.value.lastIndexOf("__", 0) === 0);
              });
              if (skip) {
                return;
              }
              var field = parent;
              if (isField(field) && field.directives && field.directives.some(function(d) {
                return d.name.value === "export";
              })) {
                return;
              }
              return __assign(__assign({}, node), { selections: __spreadArray(__spreadArray([], selections, true), [TYPENAME_FIELD], false) });
            }
          }
        });
      }, {
        added: function(field) {
          return field === TYPENAME_FIELD;
        }
      });
    }
  });

  // node_modules/@apollo/client/utilities/common/mergeDeep.js
  function mergeDeep() {
    var sources = [];
    for (var _i = 0; _i < arguments.length; _i++) {
      sources[_i] = arguments[_i];
    }
    return mergeDeepArray(sources);
  }
  function mergeDeepArray(sources) {
    var target = sources[0] || {};
    var count = sources.length;
    if (count > 1) {
      var merger = new DeepMerger();
      for (var i = 1; i < count; ++i) {
        target = merger.merge(target, sources[i]);
      }
    }
    return target;
  }
  var hasOwnProperty2, defaultReconciler, DeepMerger;
  var init_mergeDeep = __esm({
    "node_modules/@apollo/client/utilities/common/mergeDeep.js"() {
      init_tslib_es6();
      init_objects();
      hasOwnProperty2 = Object.prototype.hasOwnProperty;
      defaultReconciler = function(target, source, property) {
        return this.merge(target[property], source[property]);
      };
      DeepMerger = /** @class */
      function() {
        function DeepMerger2(reconciler) {
          if (reconciler === void 0) {
            reconciler = defaultReconciler;
          }
          this.reconciler = reconciler;
          this.isObject = isNonNullObject;
          this.pastCopies = /* @__PURE__ */ new Set();
        }
        DeepMerger2.prototype.merge = function(target, source) {
          var _this = this;
          var context = [];
          for (var _i = 2; _i < arguments.length; _i++) {
            context[_i - 2] = arguments[_i];
          }
          if (isNonNullObject(source) && isNonNullObject(target)) {
            Object.keys(source).forEach(function(sourceKey) {
              if (hasOwnProperty2.call(target, sourceKey)) {
                var targetValue = target[sourceKey];
                if (source[sourceKey] !== targetValue) {
                  var result2 = _this.reconciler.apply(_this, __spreadArray([
                    target,
                    source,
                    sourceKey
                  ], context, false));
                  if (result2 !== targetValue) {
                    target = _this.shallowCopyForMerge(target);
                    target[sourceKey] = result2;
                  }
                }
              } else {
                target = _this.shallowCopyForMerge(target);
                target[sourceKey] = source[sourceKey];
              }
            });
            return target;
          }
          return source;
        };
        DeepMerger2.prototype.shallowCopyForMerge = function(value) {
          if (isNonNullObject(value)) {
            if (!this.pastCopies.has(value)) {
              if (Array.isArray(value)) {
                value = value.slice(0);
              } else {
                value = __assign({ __proto__: Object.getPrototypeOf(value) }, value);
              }
              this.pastCopies.add(value);
            }
          }
          return value;
        };
        return DeepMerger2;
      }();
    }
  });

  // node_modules/zen-observable-ts/module.js
  function _createForOfIteratorHelperLoose(o, allowArrayLike) {
    var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
    if (it)
      return (it = it.call(o)).next.bind(it);
    if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
      if (it)
        o = it;
      var i = 0;
      return function() {
        if (i >= o.length)
          return { done: true };
        return { done: false, value: o[i++] };
      };
    }
    throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
  }
  function _unsupportedIterableToArray(o, minLen) {
    if (!o)
      return;
    if (typeof o === "string")
      return _arrayLikeToArray(o, minLen);
    var n = Object.prototype.toString.call(o).slice(8, -1);
    if (n === "Object" && o.constructor)
      n = o.constructor.name;
    if (n === "Map" || n === "Set")
      return Array.from(o);
    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
      return _arrayLikeToArray(o, minLen);
  }
  function _arrayLikeToArray(arr, len) {
    if (len == null || len > arr.length)
      len = arr.length;
    for (var i = 0, arr2 = new Array(len); i < len; i++) {
      arr2[i] = arr[i];
    }
    return arr2;
  }
  function _defineProperties(target, props) {
    for (var i = 0; i < props.length; i++) {
      var descriptor = props[i];
      descriptor.enumerable = descriptor.enumerable || false;
      descriptor.configurable = true;
      if ("value" in descriptor)
        descriptor.writable = true;
      Object.defineProperty(target, descriptor.key, descriptor);
    }
  }
  function _createClass(Constructor, protoProps, staticProps) {
    if (protoProps)
      _defineProperties(Constructor.prototype, protoProps);
    if (staticProps)
      _defineProperties(Constructor, staticProps);
    Object.defineProperty(Constructor, "prototype", { writable: false });
    return Constructor;
  }
  function getMethod(obj, key) {
    var value = obj[key];
    if (value == null)
      return void 0;
    if (typeof value !== "function")
      throw new TypeError(value + " is not a function");
    return value;
  }
  function getSpecies(obj) {
    var ctor = obj.constructor;
    if (ctor !== void 0) {
      ctor = ctor[SymbolSpecies];
      if (ctor === null) {
        ctor = void 0;
      }
    }
    return ctor !== void 0 ? ctor : Observable;
  }
  function isObservable(x) {
    return x instanceof Observable;
  }
  function hostReportError(e) {
    if (hostReportError.log) {
      hostReportError.log(e);
    } else {
      setTimeout(function() {
        throw e;
      });
    }
  }
  function enqueue(fn) {
    Promise.resolve().then(function() {
      try {
        fn();
      } catch (e) {
        hostReportError(e);
      }
    });
  }
  function cleanupSubscription(subscription) {
    var cleanup = subscription._cleanup;
    if (cleanup === void 0)
      return;
    subscription._cleanup = void 0;
    if (!cleanup) {
      return;
    }
    try {
      if (typeof cleanup === "function") {
        cleanup();
      } else {
        var unsubscribe = getMethod(cleanup, "unsubscribe");
        if (unsubscribe) {
          unsubscribe.call(cleanup);
        }
      }
    } catch (e) {
      hostReportError(e);
    }
  }
  function closeSubscription(subscription) {
    subscription._observer = void 0;
    subscription._queue = void 0;
    subscription._state = "closed";
  }
  function flushSubscription(subscription) {
    var queue = subscription._queue;
    if (!queue) {
      return;
    }
    subscription._queue = void 0;
    subscription._state = "ready";
    for (var i = 0; i < queue.length; ++i) {
      notifySubscription(subscription, queue[i].type, queue[i].value);
      if (subscription._state === "closed")
        break;
    }
  }
  function notifySubscription(subscription, type, value) {
    subscription._state = "running";
    var observer = subscription._observer;
    try {
      var m = getMethod(observer, type);
      switch (type) {
        case "next":
          if (m)
            m.call(observer, value);
          break;
        case "error":
          closeSubscription(subscription);
          if (m)
            m.call(observer, value);
          else
            throw value;
          break;
        case "complete":
          closeSubscription(subscription);
          if (m)
            m.call(observer);
          break;
      }
    } catch (e) {
      hostReportError(e);
    }
    if (subscription._state === "closed")
      cleanupSubscription(subscription);
    else if (subscription._state === "running")
      subscription._state = "ready";
  }
  function onNotify(subscription, type, value) {
    if (subscription._state === "closed")
      return;
    if (subscription._state === "buffering") {
      subscription._queue.push({
        type,
        value
      });
      return;
    }
    if (subscription._state !== "ready") {
      subscription._state = "buffering";
      subscription._queue = [{
        type,
        value
      }];
      enqueue(function() {
        return flushSubscription(subscription);
      });
      return;
    }
    notifySubscription(subscription, type, value);
  }
  var hasSymbols, hasSymbol, getSymbol, SymbolIterator, SymbolObservable, SymbolSpecies, Subscription, SubscriptionObserver, Observable;
  var init_module = __esm({
    "node_modules/zen-observable-ts/module.js"() {
      hasSymbols = function() {
        return typeof Symbol === "function";
      };
      hasSymbol = function(name) {
        return hasSymbols() && Boolean(Symbol[name]);
      };
      getSymbol = function(name) {
        return hasSymbol(name) ? Symbol[name] : "@@" + name;
      };
      if (hasSymbols() && !hasSymbol("observable")) {
        Symbol.observable = Symbol("observable");
      }
      SymbolIterator = getSymbol("iterator");
      SymbolObservable = getSymbol("observable");
      SymbolSpecies = getSymbol("species");
      Subscription = /* @__PURE__ */ function() {
        function Subscription2(observer, subscriber) {
          this._cleanup = void 0;
          this._observer = observer;
          this._queue = void 0;
          this._state = "initializing";
          var subscriptionObserver = new SubscriptionObserver(this);
          try {
            this._cleanup = subscriber.call(void 0, subscriptionObserver);
          } catch (e) {
            subscriptionObserver.error(e);
          }
          if (this._state === "initializing")
            this._state = "ready";
        }
        var _proto = Subscription2.prototype;
        _proto.unsubscribe = function unsubscribe() {
          if (this._state !== "closed") {
            closeSubscription(this);
            cleanupSubscription(this);
          }
        };
        _createClass(Subscription2, [{
          key: "closed",
          get: function() {
            return this._state === "closed";
          }
        }]);
        return Subscription2;
      }();
      SubscriptionObserver = /* @__PURE__ */ function() {
        function SubscriptionObserver2(subscription) {
          this._subscription = subscription;
        }
        var _proto2 = SubscriptionObserver2.prototype;
        _proto2.next = function next(value) {
          onNotify(this._subscription, "next", value);
        };
        _proto2.error = function error(value) {
          onNotify(this._subscription, "error", value);
        };
        _proto2.complete = function complete() {
          onNotify(this._subscription, "complete");
        };
        _createClass(SubscriptionObserver2, [{
          key: "closed",
          get: function() {
            return this._subscription._state === "closed";
          }
        }]);
        return SubscriptionObserver2;
      }();
      Observable = /* @__PURE__ */ function() {
        function Observable2(subscriber) {
          if (!(this instanceof Observable2))
            throw new TypeError("Observable cannot be called as a function");
          if (typeof subscriber !== "function")
            throw new TypeError("Observable initializer must be a function");
          this._subscriber = subscriber;
        }
        var _proto3 = Observable2.prototype;
        _proto3.subscribe = function subscribe(observer) {
          if (typeof observer !== "object" || observer === null) {
            observer = {
              next: observer,
              error: arguments[1],
              complete: arguments[2]
            };
          }
          return new Subscription(observer, this._subscriber);
        };
        _proto3.forEach = function forEach6(fn) {
          var _this = this;
          return new Promise(function(resolve2, reject2) {
            if (typeof fn !== "function") {
              reject2(new TypeError(fn + " is not a function"));
              return;
            }
            function done() {
              subscription.unsubscribe();
              resolve2();
            }
            var subscription = _this.subscribe({
              next: function(value) {
                try {
                  fn(value, done);
                } catch (e) {
                  reject2(e);
                  subscription.unsubscribe();
                }
              },
              error: reject2,
              complete: resolve2
            });
          });
        };
        _proto3.map = function map(fn) {
          var _this2 = this;
          if (typeof fn !== "function")
            throw new TypeError(fn + " is not a function");
          var C = getSpecies(this);
          return new C(function(observer) {
            return _this2.subscribe({
              next: function(value) {
                try {
                  value = fn(value);
                } catch (e) {
                  return observer.error(e);
                }
                observer.next(value);
              },
              error: function(e) {
                observer.error(e);
              },
              complete: function() {
                observer.complete();
              }
            });
          });
        };
        _proto3.filter = function filter(fn) {
          var _this3 = this;
          if (typeof fn !== "function")
            throw new TypeError(fn + " is not a function");
          var C = getSpecies(this);
          return new C(function(observer) {
            return _this3.subscribe({
              next: function(value) {
                try {
                  if (!fn(value))
                    return;
                } catch (e) {
                  return observer.error(e);
                }
                observer.next(value);
              },
              error: function(e) {
                observer.error(e);
              },
              complete: function() {
                observer.complete();
              }
            });
          });
        };
        _proto3.reduce = function reduce3(fn) {
          var _this4 = this;
          if (typeof fn !== "function")
            throw new TypeError(fn + " is not a function");
          var C = getSpecies(this);
          var hasSeed = arguments.length > 1;
          var hasValue = false;
          var seed = arguments[1];
          var acc = seed;
          return new C(function(observer) {
            return _this4.subscribe({
              next: function(value) {
                var first = !hasValue;
                hasValue = true;
                if (!first || hasSeed) {
                  try {
                    acc = fn(acc, value);
                  } catch (e) {
                    return observer.error(e);
                  }
                } else {
                  acc = value;
                }
              },
              error: function(e) {
                observer.error(e);
              },
              complete: function() {
                if (!hasValue && !hasSeed)
                  return observer.error(new TypeError("Cannot reduce an empty sequence"));
                observer.next(acc);
                observer.complete();
              }
            });
          });
        };
        _proto3.concat = function concat2() {
          var _this5 = this;
          for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {
            sources[_key] = arguments[_key];
          }
          var C = getSpecies(this);
          return new C(function(observer) {
            var subscription;
            var index = 0;
            function startNext(next) {
              subscription = next.subscribe({
                next: function(v) {
                  observer.next(v);
                },
                error: function(e) {
                  observer.error(e);
                },
                complete: function() {
                  if (index === sources.length) {
                    subscription = void 0;
                    observer.complete();
                  } else {
                    startNext(C.from(sources[index++]));
                  }
                }
              });
            }
            startNext(_this5);
            return function() {
              if (subscription) {
                subscription.unsubscribe();
                subscription = void 0;
              }
            };
          });
        };
        _proto3.flatMap = function flatMap2(fn) {
          var _this6 = this;
          if (typeof fn !== "function")
            throw new TypeError(fn + " is not a function");
          var C = getSpecies(this);
          return new C(function(observer) {
            var subscriptions = [];
            var outer = _this6.subscribe({
              next: function(value) {
                if (fn) {
                  try {
                    value = fn(value);
                  } catch (e) {
                    return observer.error(e);
                  }
                }
                var inner = C.from(value).subscribe({
                  next: function(value2) {
                    observer.next(value2);
                  },
                  error: function(e) {
                    observer.error(e);
                  },
                  complete: function() {
                    var i = subscriptions.indexOf(inner);
                    if (i >= 0)
                      subscriptions.splice(i, 1);
                    completeIfDone();
                  }
                });
                subscriptions.push(inner);
              },
              error: function(e) {
                observer.error(e);
              },
              complete: function() {
                completeIfDone();
              }
            });
            function completeIfDone() {
              if (outer.closed && subscriptions.length === 0)
                observer.complete();
            }
            return function() {
              subscriptions.forEach(function(s) {
                return s.unsubscribe();
              });
              outer.unsubscribe();
            };
          });
        };
        _proto3[SymbolObservable] = function() {
          return this;
        };
        Observable2.from = function from(x) {
          var C = typeof this === "function" ? this : Observable2;
          if (x == null)
            throw new TypeError(x + " is not an object");
          var method = getMethod(x, SymbolObservable);
          if (method) {
            var observable = method.call(x);
            if (Object(observable) !== observable)
              throw new TypeError(observable + " is not an object");
            if (isObservable(observable) && observable.constructor === C)
              return observable;
            return new C(function(observer) {
              return observable.subscribe(observer);
            });
          }
          if (hasSymbol("iterator")) {
            method = getMethod(x, SymbolIterator);
            if (method) {
              return new C(function(observer) {
                enqueue(function() {
                  if (observer.closed)
                    return;
                  for (var _iterator = _createForOfIteratorHelperLoose(method.call(x)), _step; !(_step = _iterator()).done; ) {
                    var item = _step.value;
                    observer.next(item);
                    if (observer.closed)
                      return;
                  }
                  observer.complete();
                });
              });
            }
          }
          if (Array.isArray(x)) {
            return new C(function(observer) {
              enqueue(function() {
                if (observer.closed)
                  return;
                for (var i = 0; i < x.length; ++i) {
                  observer.next(x[i]);
                  if (observer.closed)
                    return;
                }
                observer.complete();
              });
            });
          }
          throw new TypeError(x + " is not observable");
        };
        Observable2.of = function of() {
          for (var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
            items[_key2] = arguments[_key2];
          }
          var C = typeof this === "function" ? this : Observable2;
          return new C(function(observer) {
            enqueue(function() {
              if (observer.closed)
                return;
              for (var i = 0; i < items.length; ++i) {
                observer.next(items[i]);
                if (observer.closed)
                  return;
              }
              observer.complete();
            });
          });
        };
        _createClass(Observable2, null, [{
          key: SymbolSpecies,
          get: function() {
            return this;
          }
        }]);
        return Observable2;
      }();
      if (hasSymbols()) {
        Object.defineProperty(Observable, Symbol("extensions"), {
          value: {
            symbol: SymbolObservable,
            hostReportError
          },
          configurable: true
        });
      }
    }
  });

  // node_modules/symbol-observable/es/ponyfill.js
  function symbolObservablePonyfill(root2) {
    var result2;
    var Symbol2 = root2.Symbol;
    if (typeof Symbol2 === "function") {
      if (Symbol2.observable) {
        result2 = Symbol2.observable;
      } else {
        if (typeof Symbol2.for === "function") {
          result2 = Symbol2.for("https://github.com/benlesh/symbol-observable");
        } else {
          result2 = Symbol2("https://github.com/benlesh/symbol-observable");
        }
        try {
          Symbol2.observable = result2;
        } catch (err) {
        }
      }
    } else {
      result2 = "@@observable";
    }
    return result2;
  }
  var init_ponyfill = __esm({
    "node_modules/symbol-observable/es/ponyfill.js"() {
    }
  });

  // node_modules/symbol-observable/es/index.js
  var root, result;
  var init_es = __esm({
    "node_modules/symbol-observable/es/index.js"() {
      init_ponyfill();
      if (typeof self !== "undefined") {
        root = self;
      } else if (typeof window !== "undefined") {
        root = window;
      } else if (typeof global !== "undefined") {
        root = global;
      } else if (typeof module !== "undefined") {
        root = module;
      } else {
        root = Function("return this")();
      }
      result = symbolObservablePonyfill(root);
    }
  });

  // node_modules/@apollo/client/utilities/observables/Observable.js
  var prototype, fakeObsSymbol;
  var init_Observable = __esm({
    "node_modules/@apollo/client/utilities/observables/Observable.js"() {
      init_module();
      init_es();
      prototype = Observable.prototype;
      fakeObsSymbol = "@@observable";
      if (!prototype[fakeObsSymbol]) {
        prototype[fakeObsSymbol] = function() {
          return this;
        };
      }
    }
  });

  // node_modules/@apollo/client/utilities/common/cloneDeep.js
  function cloneDeep(value) {
    return cloneDeepHelper(value);
  }
  function cloneDeepHelper(val, seen) {
    switch (toString.call(val)) {
      case "[object Array]": {
        seen = seen || /* @__PURE__ */ new Map();
        if (seen.has(val))
          return seen.get(val);
        var copy_1 = val.slice(0);
        seen.set(val, copy_1);
        copy_1.forEach(function(child, i) {
          copy_1[i] = cloneDeepHelper(child, seen);
        });
        return copy_1;
      }
      case "[object Object]": {
        seen = seen || /* @__PURE__ */ new Map();
        if (seen.has(val))
          return seen.get(val);
        var copy_2 = Object.create(Object.getPrototypeOf(val));
        seen.set(val, copy_2);
        Object.keys(val).forEach(function(key) {
          copy_2[key] = cloneDeepHelper(val[key], seen);
        });
        return copy_2;
      }
      default:
        return val;
    }
  }
  var toString;
  var init_cloneDeep = __esm({
    "node_modules/@apollo/client/utilities/common/cloneDeep.js"() {
      toString = Object.prototype.toString;
    }
  });

  // node_modules/@apollo/client/utilities/common/maybeDeepFreeze.js
  function maybeDeepFreeze(obj) {
    if (false) {
      deepFreeze(obj);
    }
    return obj;
  }
  var init_maybeDeepFreeze = __esm({
    "node_modules/@apollo/client/utilities/common/maybeDeepFreeze.js"() {
    }
  });

  // node_modules/@apollo/client/utilities/observables/iteration.js
  function iterateObserversSafely(observers, method, argument) {
    var observersWithMethod = [];
    observers.forEach(function(obs) {
      return obs[method] && observersWithMethod.push(obs);
    });
    observersWithMethod.forEach(function(obs) {
      return obs[method](argument);
    });
  }
  var init_iteration = __esm({
    "node_modules/@apollo/client/utilities/observables/iteration.js"() {
    }
  });

  // node_modules/@apollo/client/utilities/observables/asyncMap.js
  function asyncMap(observable, mapFn, catchFn) {
    return new Observable(function(observer) {
      var promiseQueue = {
        // Normally we would initialize promiseQueue to Promise.resolve(), but
        // in this case, for backwards compatibility, we need to be careful to
        // invoke the first callback synchronously.
        then: function(callback) {
          return new Promise(function(resolve2) {
            return resolve2(callback());
          });
        }
      };
      function makeCallback(examiner, key) {
        return function(arg) {
          if (examiner) {
            var both = function() {
              return observer.closed ? (
                /* will be swallowed */
                0
              ) : examiner(arg);
            };
            promiseQueue = promiseQueue.then(both, both).then(function(result2) {
              return observer.next(result2);
            }, function(error) {
              return observer.error(error);
            });
          } else {
            observer[key](arg);
          }
        };
      }
      var handler = {
        next: makeCallback(mapFn, "next"),
        error: makeCallback(catchFn, "error"),
        complete: function() {
          promiseQueue.then(function() {
            return observer.complete();
          });
        }
      };
      var sub = observable.subscribe(handler);
      return function() {
        return sub.unsubscribe();
      };
    });
  }
  var init_asyncMap = __esm({
    "node_modules/@apollo/client/utilities/observables/asyncMap.js"() {
      init_Observable();
    }
  });

  // node_modules/@apollo/client/utilities/observables/subclassing.js
  function fixObservableSubclass(subclass) {
    function set3(key) {
      Object.defineProperty(subclass, key, { value: Observable });
    }
    if (canUseSymbol && Symbol.species) {
      set3(Symbol.species);
    }
    set3("@@species");
    return subclass;
  }
  var init_subclassing = __esm({
    "node_modules/@apollo/client/utilities/observables/subclassing.js"() {
      init_Observable();
      init_canUse();
    }
  });

  // node_modules/@apollo/client/utilities/observables/Concast.js
  function isPromiseLike(value) {
    return value && typeof value.then === "function";
  }
  var Concast;
  var init_Concast = __esm({
    "node_modules/@apollo/client/utilities/observables/Concast.js"() {
      init_tslib_es6();
      init_Observable();
      init_iteration();
      init_subclassing();
      Concast = /** @class */
      function(_super) {
        __extends(Concast2, _super);
        function Concast2(sources) {
          var _this = _super.call(this, function(observer) {
            _this.addObserver(observer);
            return function() {
              return _this.removeObserver(observer);
            };
          }) || this;
          _this.observers = /* @__PURE__ */ new Set();
          _this.promise = new Promise(function(resolve2, reject2) {
            _this.resolve = resolve2;
            _this.reject = reject2;
          });
          _this.handlers = {
            next: function(result2) {
              if (_this.sub !== null) {
                _this.latest = ["next", result2];
                _this.notify("next", result2);
                iterateObserversSafely(_this.observers, "next", result2);
              }
            },
            error: function(error) {
              var sub = _this.sub;
              if (sub !== null) {
                if (sub)
                  setTimeout(function() {
                    return sub.unsubscribe();
                  });
                _this.sub = null;
                _this.latest = ["error", error];
                _this.reject(error);
                _this.notify("error", error);
                iterateObserversSafely(_this.observers, "error", error);
              }
            },
            complete: function() {
              var _a2 = _this, sub = _a2.sub, _b = _a2.sources, sources2 = _b === void 0 ? [] : _b;
              if (sub !== null) {
                var value = sources2.shift();
                if (!value) {
                  if (sub)
                    setTimeout(function() {
                      return sub.unsubscribe();
                    });
                  _this.sub = null;
                  if (_this.latest && _this.latest[0] === "next") {
                    _this.resolve(_this.latest[1]);
                  } else {
                    _this.resolve();
                  }
                  _this.notify("complete");
                  iterateObserversSafely(_this.observers, "complete");
                } else if (isPromiseLike(value)) {
                  value.then(function(obs) {
                    return _this.sub = obs.subscribe(_this.handlers);
                  });
                } else {
                  _this.sub = value.subscribe(_this.handlers);
                }
              }
            }
          };
          _this.nextResultListeners = /* @__PURE__ */ new Set();
          _this.cancel = function(reason) {
            _this.reject(reason);
            _this.sources = [];
            _this.handlers.complete();
          };
          _this.promise.catch(function(_) {
          });
          if (typeof sources === "function") {
            sources = [new Observable(sources)];
          }
          if (isPromiseLike(sources)) {
            sources.then(function(iterable) {
              return _this.start(iterable);
            }, _this.handlers.error);
          } else {
            _this.start(sources);
          }
          return _this;
        }
        Concast2.prototype.start = function(sources) {
          if (this.sub !== void 0)
            return;
          this.sources = Array.from(sources);
          this.handlers.complete();
        };
        Concast2.prototype.deliverLastMessage = function(observer) {
          if (this.latest) {
            var nextOrError = this.latest[0];
            var method = observer[nextOrError];
            if (method) {
              method.call(observer, this.latest[1]);
            }
            if (this.sub === null && nextOrError === "next" && observer.complete) {
              observer.complete();
            }
          }
        };
        Concast2.prototype.addObserver = function(observer) {
          if (!this.observers.has(observer)) {
            this.deliverLastMessage(observer);
            this.observers.add(observer);
          }
        };
        Concast2.prototype.removeObserver = function(observer) {
          if (this.observers.delete(observer) && this.observers.size < 1) {
            this.handlers.complete();
          }
        };
        Concast2.prototype.notify = function(method, arg) {
          var nextResultListeners = this.nextResultListeners;
          if (nextResultListeners.size) {
            this.nextResultListeners = /* @__PURE__ */ new Set();
            nextResultListeners.forEach(function(listener) {
              return listener(method, arg);
            });
          }
        };
        Concast2.prototype.beforeNext = function(callback) {
          var called = false;
          this.nextResultListeners.add(function(method, arg) {
            if (!called) {
              called = true;
              callback(method, arg);
            }
          });
        };
        return Concast2;
      }(Observable);
      fixObservableSubclass(Concast);
    }
  });

  // node_modules/@apollo/client/utilities/common/incrementalResult.js
  function isExecutionPatchIncrementalResult(value) {
    return "incremental" in value;
  }
  function isExecutionPatchInitialResult(value) {
    return "hasNext" in value && "data" in value;
  }
  function isExecutionPatchResult(value) {
    return isExecutionPatchIncrementalResult(value) || isExecutionPatchInitialResult(value);
  }
  function isApolloPayloadResult(value) {
    return isNonNullObject(value) && "payload" in value;
  }
  function mergeIncrementalData(prevResult, result2) {
    var mergedData = prevResult;
    var merger = new DeepMerger();
    if (isExecutionPatchIncrementalResult(result2) && isNonEmptyArray(result2.incremental)) {
      result2.incremental.forEach(function(_a2) {
        var data = _a2.data, path = _a2.path;
        for (var i = path.length - 1; i >= 0; --i) {
          var key = path[i];
          var isNumericKey = !isNaN(+key);
          var parent_1 = isNumericKey ? [] : {};
          parent_1[key] = data;
          data = parent_1;
        }
        mergedData = merger.merge(mergedData, data);
      });
    }
    return mergedData;
  }
  var init_incrementalResult = __esm({
    "node_modules/@apollo/client/utilities/common/incrementalResult.js"() {
      init_objects();
      init_arrays();
      init_mergeDeep();
    }
  });

  // node_modules/@apollo/client/utilities/common/errorHandling.js
  function graphQLResultHasError(result2) {
    var errors = getGraphQLErrorsFromResult(result2);
    return isNonEmptyArray(errors);
  }
  function getGraphQLErrorsFromResult(result2) {
    var graphQLErrors = isNonEmptyArray(result2.errors) ? result2.errors.slice(0) : [];
    if (isExecutionPatchIncrementalResult(result2) && isNonEmptyArray(result2.incremental)) {
      result2.incremental.forEach(function(incrementalResult) {
        if (incrementalResult.errors) {
          graphQLErrors.push.apply(graphQLErrors, incrementalResult.errors);
        }
      });
    }
    return graphQLErrors;
  }
  var init_errorHandling = __esm({
    "node_modules/@apollo/client/utilities/common/errorHandling.js"() {
      init_arrays();
      init_incrementalResult();
    }
  });

  // node_modules/@apollo/client/utilities/common/compact.js
  function compact() {
    var objects = [];
    for (var _i = 0; _i < arguments.length; _i++) {
      objects[_i] = arguments[_i];
    }
    var result2 = /* @__PURE__ */ Object.create(null);
    objects.forEach(function(obj) {
      if (!obj)
        return;
      Object.keys(obj).forEach(function(key) {
        var value = obj[key];
        if (value !== void 0) {
          result2[key] = value;
        }
      });
    });
    return result2;
  }
  var init_compact = __esm({
    "node_modules/@apollo/client/utilities/common/compact.js"() {
    }
  });

  // node_modules/@apollo/client/utilities/common/mergeOptions.js
  function mergeOptions(defaults, options) {
    return compact(defaults, options, options.variables && {
      variables: compact(__assign(__assign({}, defaults && defaults.variables), options.variables))
    });
  }
  var init_mergeOptions = __esm({
    "node_modules/@apollo/client/utilities/common/mergeOptions.js"() {
      init_tslib_es6();
      init_compact();
    }
  });

  // node_modules/@apollo/client/utilities/types/IsStrictlyAny.js
  var init_IsStrictlyAny = __esm({
    "node_modules/@apollo/client/utilities/types/IsStrictlyAny.js"() {
    }
  });

  // node_modules/@apollo/client/utilities/index.js
  var init_utilities = __esm({
    "node_modules/@apollo/client/utilities/index.js"() {
      init_globals();
      init_directives();
      init_DocumentTransform();
      init_fragments();
      init_getFromAST();
      init_print();
      init_storeUtils();
      init_transform();
      init_Observable();
      init_mergeDeep();
      init_cloneDeep();
      init_maybeDeepFreeze();
      init_iteration();
      init_asyncMap();
      init_Concast();
      init_subclassing();
      init_arrays();
      init_objects();
      init_errorHandling();
      init_canUse();
      init_compact();
      init_makeUniqueId();
      init_stringifyForDisplay();
      init_mergeOptions();
      init_incrementalResult();
      init_IsStrictlyAny();
    }
  });

  // node_modules/@apollo/client/link/utils/fromError.js
  function fromError(errorValue) {
    return new Observable(function(observer) {
      observer.error(errorValue);
    });
  }
  var init_fromError = __esm({
    "node_modules/@apollo/client/link/utils/fromError.js"() {
      init_utilities();
    }
  });

  // node_modules/@apollo/client/link/utils/throwServerError.js
  var throwServerError;
  var init_throwServerError = __esm({
    "node_modules/@apollo/client/link/utils/throwServerError.js"() {
      throwServerError = function(response, result2, message) {
        var error = new Error(message);
        error.name = "ServerError";
        error.response = response;
        error.statusCode = response.status;
        error.result = result2;
        throw error;
      };
    }
  });

  // node_modules/@apollo/client/link/utils/validateOperation.js
  function validateOperation(operation) {
    var OPERATION_FIELDS = [
      "query",
      "operationName",
      "variables",
      "extensions",
      "context"
    ];
    for (var _i = 0, _a2 = Object.keys(operation); _i < _a2.length; _i++) {
      var key = _a2[_i];
      if (OPERATION_FIELDS.indexOf(key) < 0) {
        throw newInvariantError(43, key);
      }
    }
    return operation;
  }
  var init_validateOperation = __esm({
    "node_modules/@apollo/client/link/utils/validateOperation.js"() {
      init_globals();
    }
  });

  // node_modules/@apollo/client/link/utils/createOperation.js
  function createOperation(starting, operation) {
    var context = __assign({}, starting);
    var setContext = function(next) {
      if (typeof next === "function") {
        context = __assign(__assign({}, context), next(context));
      } else {
        context = __assign(__assign({}, context), next);
      }
    };
    var getContext = function() {
      return __assign({}, context);
    };
    Object.defineProperty(operation, "setContext", {
      enumerable: false,
      value: setContext
    });
    Object.defineProperty(operation, "getContext", {
      enumerable: false,
      value: getContext
    });
    return operation;
  }
  var init_createOperation = __esm({
    "node_modules/@apollo/client/link/utils/createOperation.js"() {
      init_tslib_es6();
    }
  });

  // node_modules/@apollo/client/link/utils/transformOperation.js
  function transformOperation(operation) {
    var transformedOperation = {
      variables: operation.variables || {},
      extensions: operation.extensions || {},
      operationName: operation.operationName,
      query: operation.query
    };
    if (!transformedOperation.operationName) {
      transformedOperation.operationName = typeof transformedOperation.query !== "string" ? getOperationName(transformedOperation.query) || void 0 : "";
    }
    return transformedOperation;
  }
  var init_transformOperation = __esm({
    "node_modules/@apollo/client/link/utils/transformOperation.js"() {
      init_utilities();
    }
  });

  // node_modules/@apollo/client/link/utils/filterOperationVariables.js
  function filterOperationVariables(variables, query) {
    var result2 = __assign({}, variables);
    var unusedNames = new Set(Object.keys(variables));
    visit(query, {
      Variable: function(node, _key, parent) {
        if (parent && parent.kind !== "VariableDefinition") {
          unusedNames.delete(node.name.value);
        }
      }
    });
    unusedNames.forEach(function(name) {
      delete result2[name];
    });
    return result2;
  }
  var init_filterOperationVariables = __esm({
    "node_modules/@apollo/client/link/utils/filterOperationVariables.js"() {
      init_tslib_es6();
      init_graphql();
    }
  });

  // node_modules/@apollo/client/link/utils/index.js
  var init_utils = __esm({
    "node_modules/@apollo/client/link/utils/index.js"() {
      init_globals();
      init_fromError();
      init_throwServerError();
      init_validateOperation();
      init_createOperation();
      init_transformOperation();
      init_filterOperationVariables();
    }
  });

  // node_modules/@apollo/client/link/core/ApolloLink.js
  function passthrough(op, forward) {
    return forward ? forward(op) : Observable.of();
  }
  function toLink(handler) {
    return typeof handler === "function" ? new ApolloLink(handler) : handler;
  }
  function isTerminating(link) {
    return link.request.length <= 1;
  }
  var ApolloLink;
  var init_ApolloLink = __esm({
    "node_modules/@apollo/client/link/core/ApolloLink.js"() {
      init_globals();
      init_utilities();
      init_utils();
      ApolloLink = /** @class */
      function() {
        function ApolloLink2(request) {
          if (request)
            this.request = request;
        }
        ApolloLink2.empty = function() {
          return new ApolloLink2(function() {
            return Observable.of();
          });
        };
        ApolloLink2.from = function(links) {
          if (links.length === 0)
            return ApolloLink2.empty();
          return links.map(toLink).reduce(function(x, y) {
            return x.concat(y);
          });
        };
        ApolloLink2.split = function(test2, left, right) {
          var leftLink = toLink(left);
          var rightLink = toLink(right || new ApolloLink2(passthrough));
          if (isTerminating(leftLink) && isTerminating(rightLink)) {
            return new ApolloLink2(function(operation) {
              return test2(operation) ? leftLink.request(operation) || Observable.of() : rightLink.request(operation) || Observable.of();
            });
          } else {
            return new ApolloLink2(function(operation, forward) {
              return test2(operation) ? leftLink.request(operation, forward) || Observable.of() : rightLink.request(operation, forward) || Observable.of();
            });
          }
        };
        ApolloLink2.execute = function(link, operation) {
          return link.request(createOperation(operation.context, transformOperation(validateOperation(operation)))) || Observable.of();
        };
        ApolloLink2.concat = function(first, second) {
          var firstLink = toLink(first);
          if (isTerminating(firstLink)) {
            return firstLink;
          }
          var nextLink = toLink(second);
          if (isTerminating(nextLink)) {
            return new ApolloLink2(function(operation) {
              return firstLink.request(operation, function(op) {
                return nextLink.request(op) || Observable.of();
              }) || Observable.of();
            });
          } else {
            return new ApolloLink2(function(operation, forward) {
              return firstLink.request(operation, function(op) {
                return nextLink.request(op, forward) || Observable.of();
              }) || Observable.of();
            });
          }
        };
        ApolloLink2.prototype.split = function(test2, left, right) {
          return this.concat(ApolloLink2.split(test2, left, right || new ApolloLink2(passthrough)));
        };
        ApolloLink2.prototype.concat = function(next) {
          return ApolloLink2.concat(this, next);
        };
        ApolloLink2.prototype.request = function(operation, forward) {
          throw newInvariantError(36);
        };
        ApolloLink2.prototype.onError = function(error, observer) {
          if (observer && observer.error) {
            observer.error(error);
            return false;
          }
          throw error;
        };
        ApolloLink2.prototype.setOnError = function(fn) {
          this.onError = fn;
          return this;
        };
        return ApolloLink2;
      }();
    }
  });

  // node_modules/@apollo/client/link/core/execute.js
  var execute;
  var init_execute = __esm({
    "node_modules/@apollo/client/link/core/execute.js"() {
      init_ApolloLink();
      execute = ApolloLink.execute;
    }
  });

  // node_modules/@apollo/client/link/core/types.js
  var init_types = __esm({
    "node_modules/@apollo/client/link/core/types.js"() {
    }
  });

  // node_modules/@apollo/client/link/core/index.js
  var init_core = __esm({
    "node_modules/@apollo/client/link/core/index.js"() {
      init_globals();
      init_execute();
      init_ApolloLink();
      init_types();
    }
  });

  // node_modules/@apollo/client/link/http/iterators/async.js
  function asyncIterator(source) {
    var _a2;
    var iterator = source[Symbol.asyncIterator]();
    return _a2 = {
      next: function() {
        return iterator.next();
      }
    }, _a2[Symbol.asyncIterator] = function() {
      return this;
    }, _a2;
  }
  var init_async = __esm({
    "node_modules/@apollo/client/link/http/iterators/async.js"() {
    }
  });

  // node_modules/@apollo/client/link/http/iterators/nodeStream.js
  function nodeStreamIterator(stream) {
    var cleanup = null;
    var error = null;
    var done = false;
    var data = [];
    var waiting = [];
    function onData(chunk) {
      if (error)
        return;
      if (waiting.length) {
        var shiftedArr = waiting.shift();
        if (Array.isArray(shiftedArr) && shiftedArr[0]) {
          return shiftedArr[0]({ value: chunk, done: false });
        }
      }
      data.push(chunk);
    }
    function onError2(err) {
      error = err;
      var all = waiting.slice();
      all.forEach(function(pair) {
        pair[1](err);
      });
      !cleanup || cleanup();
    }
    function onEnd() {
      done = true;
      var all = waiting.slice();
      all.forEach(function(pair) {
        pair[0]({ value: void 0, done: true });
      });
      !cleanup || cleanup();
    }
    cleanup = function() {
      cleanup = null;
      stream.removeListener("data", onData);
      stream.removeListener("error", onError2);
      stream.removeListener("end", onEnd);
      stream.removeListener("finish", onEnd);
      stream.removeListener("close", onEnd);
    };
    stream.on("data", onData);
    stream.on("error", onError2);
    stream.on("end", onEnd);
    stream.on("finish", onEnd);
    stream.on("close", onEnd);
    function getNext() {
      return new Promise(function(resolve2, reject2) {
        if (error)
          return reject2(error);
        if (data.length)
          return resolve2({ value: data.shift(), done: false });
        if (done)
          return resolve2({ value: void 0, done: true });
        waiting.push([resolve2, reject2]);
      });
    }
    var iterator = {
      next: function() {
        return getNext();
      }
    };
    if (canUseAsyncIteratorSymbol) {
      iterator[Symbol.asyncIterator] = function() {
        return this;
      };
    }
    return iterator;
  }
  var init_nodeStream = __esm({
    "node_modules/@apollo/client/link/http/iterators/nodeStream.js"() {
      init_utilities();
    }
  });

  // node_modules/@apollo/client/link/http/iterators/promise.js
  function promiseIterator(promise) {
    var resolved = false;
    var iterator = {
      next: function() {
        if (resolved)
          return Promise.resolve({
            value: void 0,
            done: true
          });
        resolved = true;
        return new Promise(function(resolve2, reject2) {
          promise.then(function(value) {
            resolve2({ value, done: false });
          }).catch(reject2);
        });
      }
    };
    if (canUseAsyncIteratorSymbol) {
      iterator[Symbol.asyncIterator] = function() {
        return this;
      };
    }
    return iterator;
  }
  var init_promise = __esm({
    "node_modules/@apollo/client/link/http/iterators/promise.js"() {
      init_utilities();
    }
  });

  // node_modules/@apollo/client/link/http/iterators/reader.js
  function readerIterator(reader) {
    var iterator = {
      next: function() {
        return reader.read();
      }
    };
    if (canUseAsyncIteratorSymbol) {
      iterator[Symbol.asyncIterator] = function() {
        return this;
      };
    }
    return iterator;
  }
  var init_reader = __esm({
    "node_modules/@apollo/client/link/http/iterators/reader.js"() {
      init_utilities();
    }
  });

  // node_modules/@apollo/client/link/http/responseIterator.js
  function isNodeResponse(value) {
    return !!value.body;
  }
  function isReadableStream(value) {
    return !!value.getReader;
  }
  function isAsyncIterableIterator(value) {
    return !!(canUseAsyncIteratorSymbol && value[Symbol.asyncIterator]);
  }
  function isStreamableBlob(value) {
    return !!value.stream;
  }
  function isBlob(value) {
    return !!value.arrayBuffer;
  }
  function isNodeReadableStream(value) {
    return !!value.pipe;
  }
  function responseIterator(response) {
    var body = response;
    if (isNodeResponse(response))
      body = response.body;
    if (isAsyncIterableIterator(body))
      return asyncIterator(body);
    if (isReadableStream(body))
      return readerIterator(body.getReader());
    if (isStreamableBlob(body)) {
      return readerIterator(body.stream().getReader());
    }
    if (isBlob(body))
      return promiseIterator(body.arrayBuffer());
    if (isNodeReadableStream(body))
      return nodeStreamIterator(body);
    throw new Error("Unknown body type for responseIterator. Please pass a streamable response.");
  }
  var init_responseIterator = __esm({
    "node_modules/@apollo/client/link/http/responseIterator.js"() {
      init_utilities();
      init_async();
      init_nodeStream();
      init_promise();
      init_reader();
    }
  });

  // node_modules/@apollo/client/errors/index.js
  function graphQLResultHasProtocolErrors(result2) {
    if (result2.extensions) {
      return Array.isArray(result2.extensions[PROTOCOL_ERRORS_SYMBOL]);
    }
    return false;
  }
  function isApolloError(err) {
    return err.hasOwnProperty("graphQLErrors");
  }
  var PROTOCOL_ERRORS_SYMBOL, generateErrorMessage, ApolloError;
  var init_errors = __esm({
    "node_modules/@apollo/client/errors/index.js"() {
      init_tslib_es6();
      init_globals();
      init_utilities();
      PROTOCOL_ERRORS_SYMBOL = Symbol();
      generateErrorMessage = function(err) {
        var errors = __spreadArray(__spreadArray(__spreadArray([], err.graphQLErrors, true), err.clientErrors, true), err.protocolErrors, true);
        if (err.networkError)
          errors.push(err.networkError);
        return errors.map(function(err2) {
          return isNonNullObject(err2) && err2.message || "Error message not found.";
        }).join("\n");
      };
      ApolloError = /** @class */
      function(_super) {
        __extends(ApolloError2, _super);
        function ApolloError2(_a2) {
          var graphQLErrors = _a2.graphQLErrors, protocolErrors = _a2.protocolErrors, clientErrors = _a2.clientErrors, networkError = _a2.networkError, errorMessage = _a2.errorMessage, extraInfo = _a2.extraInfo;
          var _this = _super.call(this, errorMessage) || this;
          _this.name = "ApolloError";
          _this.graphQLErrors = graphQLErrors || [];
          _this.protocolErrors = protocolErrors || [];
          _this.clientErrors = clientErrors || [];
          _this.networkError = networkError || null;
          _this.message = errorMessage || generateErrorMessage(_this);
          _this.extraInfo = extraInfo;
          _this.__proto__ = ApolloError2.prototype;
          return _this;
        }
        return ApolloError2;
      }(Error);
    }
  });

  // node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js
  function readMultipartBody(response, nextValue) {
    var _a2;
    return __awaiter(this, void 0, void 0, function() {
      var decoder, contentType, delimiter, boundaryVal, boundary, buffer, iterator, running, _b, value, done, chunk, searchFrom, bi, message, i, headers, contentType_1, body, result2, next;
      var _c, _d;
      return __generator(this, function(_e) {
        switch (_e.label) {
          case 0:
            if (TextDecoder === void 0) {
              throw new Error("TextDecoder must be defined in the environment: please import a polyfill.");
            }
            decoder = new TextDecoder("utf-8");
            contentType = (_a2 = response.headers) === null || _a2 === void 0 ? void 0 : _a2.get("content-type");
            delimiter = "boundary=";
            boundaryVal = (contentType === null || contentType === void 0 ? void 0 : contentType.includes(delimiter)) ? contentType === null || contentType === void 0 ? void 0 : contentType.substring((contentType === null || contentType === void 0 ? void 0 : contentType.indexOf(delimiter)) + delimiter.length).replace(/['"]/g, "").replace(/\;(.*)/gm, "").trim() : "-";
            boundary = "\r\n--".concat(boundaryVal);
            buffer = "";
            iterator = responseIterator(response);
            running = true;
            _e.label = 1;
          case 1:
            if (!running)
              return [3, 3];
            return [4, iterator.next()];
          case 2:
            _b = _e.sent(), value = _b.value, done = _b.done;
            chunk = typeof value === "string" ? value : decoder.decode(value);
            searchFrom = buffer.length - boundary.length + 1;
            running = !done;
            buffer += chunk;
            bi = buffer.indexOf(boundary, searchFrom);
            while (bi > -1) {
              message = void 0;
              _c = [
                buffer.slice(0, bi),
                buffer.slice(bi + boundary.length)
              ], message = _c[0], buffer = _c[1];
              i = message.indexOf("\r\n\r\n");
              headers = parseHeaders(message.slice(0, i));
              contentType_1 = headers["content-type"];
              if (contentType_1 && contentType_1.toLowerCase().indexOf("application/json") === -1) {
                throw new Error("Unsupported patch content type: application/json is required.");
              }
              body = message.slice(i);
              if (body) {
                result2 = parseJsonBody(response, body);
                if (Object.keys(result2).length > 1 || "data" in result2 || "incremental" in result2 || "errors" in result2 || "payload" in result2) {
                  if (isApolloPayloadResult(result2)) {
                    next = {};
                    if ("payload" in result2) {
                      next = __assign({}, result2.payload);
                    }
                    if ("errors" in result2) {
                      next = __assign(__assign({}, next), { extensions: __assign(__assign({}, "extensions" in next ? next.extensions : null), (_d = {}, _d[PROTOCOL_ERRORS_SYMBOL] = result2.errors, _d)) });
                    }
                    nextValue(next);
                  } else {
                    nextValue(result2);
                  }
                } else if (
                  // If the chunk contains only a "hasNext: false", we can call
                  // observer.complete() immediately.
                  Object.keys(result2).length === 1 && "hasNext" in result2 && !result2.hasNext
                ) {
                  return [
                    2
                    /*return*/
                  ];
                }
              }
              bi = buffer.indexOf(boundary);
            }
            return [3, 1];
          case 3:
            return [
              2
              /*return*/
            ];
        }
      });
    });
  }
  function parseHeaders(headerText) {
    var headersInit = {};
    headerText.split("\n").forEach(function(line) {
      var i = line.indexOf(":");
      if (i > -1) {
        var name_1 = line.slice(0, i).trim().toLowerCase();
        var value = line.slice(i + 1).trim();
        headersInit[name_1] = value;
      }
    });
    return headersInit;
  }
  function parseJsonBody(response, bodyText) {
    if (response.status >= 300) {
      var getResult = function() {
        try {
          return JSON.parse(bodyText);
        } catch (err) {
          return bodyText;
        }
      };
      throwServerError(response, getResult(), "Response not successful: Received status code ".concat(response.status));
    }
    try {
      return JSON.parse(bodyText);
    } catch (err) {
      var parseError = err;
      parseError.name = "ServerParseError";
      parseError.response = response;
      parseError.statusCode = response.status;
      parseError.bodyText = bodyText;
      throw parseError;
    }
  }
  function handleError(err, observer) {
    if (err.result && err.result.errors && err.result.data) {
      observer.next(err.result);
    }
    observer.error(err);
  }
  function parseAndCheckHttpResponse(operations) {
    return function(response) {
      return response.text().then(function(bodyText) {
        return parseJsonBody(response, bodyText);
      }).then(function(result2) {
        if (response.status >= 300) {
          throwServerError(response, result2, "Response not successful: Received status code ".concat(response.status));
        }
        if (!Array.isArray(result2) && !hasOwnProperty3.call(result2, "data") && !hasOwnProperty3.call(result2, "errors")) {
          throwServerError(response, result2, "Server response was missing for query '".concat(Array.isArray(operations) ? operations.map(function(op) {
            return op.operationName;
          }) : operations.operationName, "'."));
        }
        return result2;
      });
    };
  }
  var hasOwnProperty3;
  var init_parseAndCheckHttpResponse = __esm({
    "node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js"() {
      init_tslib_es6();
      init_responseIterator();
      init_utils();
      init_errors();
      init_incrementalResult();
      hasOwnProperty3 = Object.prototype.hasOwnProperty;
    }
  });

  // node_modules/@apollo/client/link/http/serializeFetchParameter.js
  var serializeFetchParameter;
  var init_serializeFetchParameter = __esm({
    "node_modules/@apollo/client/link/http/serializeFetchParameter.js"() {
      init_globals();
      serializeFetchParameter = function(p, label) {
        var serialized;
        try {
          serialized = JSON.stringify(p);
        } catch (e) {
          var parseError = newInvariantError(39, label, e.message);
          parseError.parseError = e;
          throw parseError;
        }
        return serialized;
      };
    }
  });

  // node_modules/@apollo/client/link/http/selectHttpOptionsAndBody.js
  function selectHttpOptionsAndBodyInternal(operation, printer) {
    var configs = [];
    for (var _i = 2; _i < arguments.length; _i++) {
      configs[_i - 2] = arguments[_i];
    }
    var options = {};
    var http = {};
    configs.forEach(function(config) {
      options = __assign(__assign(__assign({}, options), config.options), { headers: __assign(__assign({}, options.headers), config.headers) });
      if (config.credentials) {
        options.credentials = config.credentials;
      }
      http = __assign(__assign({}, http), config.http);
    });
    if (options.headers) {
      options.headers = removeDuplicateHeaders(options.headers, http.preserveHeaderCase);
    }
    var operationName = operation.operationName, extensions = operation.extensions, variables = operation.variables, query = operation.query;
    var body = { operationName, variables };
    if (http.includeExtensions)
      body.extensions = extensions;
    if (http.includeQuery)
      body.query = printer(query, print2);
    return {
      options,
      body
    };
  }
  function removeDuplicateHeaders(headers, preserveHeaderCase) {
    if (!preserveHeaderCase) {
      var normalizedHeaders_1 = /* @__PURE__ */ Object.create(null);
      Object.keys(Object(headers)).forEach(function(name) {
        normalizedHeaders_1[name.toLowerCase()] = headers[name];
      });
      return normalizedHeaders_1;
    }
    var headerData = /* @__PURE__ */ Object.create(null);
    Object.keys(Object(headers)).forEach(function(name) {
      headerData[name.toLowerCase()] = {
        originalName: name,
        value: headers[name]
      };
    });
    var normalizedHeaders = /* @__PURE__ */ Object.create(null);
    Object.keys(headerData).forEach(function(name) {
      normalizedHeaders[headerData[name].originalName] = headerData[name].value;
    });
    return normalizedHeaders;
  }
  var defaultHttpOptions, defaultHeaders, defaultOptions, fallbackHttpConfig, defaultPrinter;
  var init_selectHttpOptionsAndBody = __esm({
    "node_modules/@apollo/client/link/http/selectHttpOptionsAndBody.js"() {
      init_tslib_es6();
      init_utilities();
      defaultHttpOptions = {
        includeQuery: true,
        includeExtensions: false,
        preserveHeaderCase: false
      };
      defaultHeaders = {
        // headers are case insensitive (https://stackoverflow.com/a/5259004)
        accept: "*/*",
        // The content-type header describes the type of the body of the request, and
        // so it typically only is sent with requests that actually have bodies. One
        // could imagine that Apollo Client would remove this header when constructing
        // a GET request (which has no body), but we historically have not done that.
        // This means that browsers will preflight all Apollo Client requests (even
        // GET requests). Apollo Server's CSRF prevention feature (introduced in
        // AS3.7) takes advantage of this fact and does not block requests with this
        // header. If you want to drop this header from GET requests, then you should
        // probably replace it with a `apollo-require-preflight` header, or servers
        // with CSRF prevention enabled might block your GET request. See
        // https://www.apollographql.com/docs/apollo-server/security/cors/#preventing-cross-site-request-forgery-csrf
        // for more details.
        "content-type": "application/json"
      };
      defaultOptions = {
        method: "POST"
      };
      fallbackHttpConfig = {
        http: defaultHttpOptions,
        headers: defaultHeaders,
        options: defaultOptions
      };
      defaultPrinter = function(ast, printer) {
        return printer(ast);
      };
    }
  });

  // node_modules/@apollo/client/link/http/checkFetcher.js
  var checkFetcher;
  var init_checkFetcher = __esm({
    "node_modules/@apollo/client/link/http/checkFetcher.js"() {
      init_globals();
      checkFetcher = function(fetcher) {
        if (!fetcher && typeof fetch === "undefined") {
          throw newInvariantError(37);
        }
      };
    }
  });

  // node_modules/@apollo/client/link/http/selectURI.js
  var selectURI;
  var init_selectURI = __esm({
    "node_modules/@apollo/client/link/http/selectURI.js"() {
      selectURI = function(operation, fallbackURI) {
        var context = operation.getContext();
        var contextURI = context.uri;
        if (contextURI) {
          return contextURI;
        } else if (typeof fallbackURI === "function") {
          return fallbackURI(operation);
        } else {
          return fallbackURI || "/graphql";
        }
      };
    }
  });

  // node_modules/@apollo/client/link/http/rewriteURIForGET.js
  function rewriteURIForGET(chosenURI, body) {
    var queryParams = [];
    var addQueryParam = function(key, value) {
      queryParams.push("".concat(key, "=").concat(encodeURIComponent(value)));
    };
    if ("query" in body) {
      addQueryParam("query", body.query);
    }
    if (body.operationName) {
      addQueryParam("operationName", body.operationName);
    }
    if (body.variables) {
      var serializedVariables = void 0;
      try {
        serializedVariables = serializeFetchParameter(body.variables, "Variables map");
      } catch (parseError) {
        return { parseError };
      }
      addQueryParam("variables", serializedVariables);
    }
    if (body.extensions) {
      var serializedExtensions = void 0;
      try {
        serializedExtensions = serializeFetchParameter(body.extensions, "Extensions map");
      } catch (parseError) {
        return { parseError };
      }
      addQueryParam("extensions", serializedExtensions);
    }
    var fragment = "", preFragment = chosenURI;
    var fragmentStart = chosenURI.indexOf("#");
    if (fragmentStart !== -1) {
      fragment = chosenURI.substr(fragmentStart);
      preFragment = chosenURI.substr(0, fragmentStart);
    }
    var queryParamsPrefix = preFragment.indexOf("?") === -1 ? "?" : "&";
    var newURI = preFragment + queryParamsPrefix + queryParams.join("&") + fragment;
    return { newURI };
  }
  var init_rewriteURIForGET = __esm({
    "node_modules/@apollo/client/link/http/rewriteURIForGET.js"() {
      init_serializeFetchParameter();
    }
  });

  // node_modules/@apollo/client/link/http/createHttpLink.js
  var backupFetch, createHttpLink;
  var init_createHttpLink = __esm({
    "node_modules/@apollo/client/link/http/createHttpLink.js"() {
      init_tslib_es6();
      init_globals();
      init_core();
      init_utilities();
      init_serializeFetchParameter();
      init_selectURI();
      init_parseAndCheckHttpResponse();
      init_selectHttpOptionsAndBody();
      init_rewriteURIForGET();
      init_utils();
      init_utilities();
      backupFetch = maybe(function() {
        return fetch;
      });
      createHttpLink = function(linkOptions) {
        if (linkOptions === void 0) {
          linkOptions = {};
        }
        var _a2 = linkOptions.uri, uri = _a2 === void 0 ? "/graphql" : _a2, preferredFetch = linkOptions.fetch, _b = linkOptions.print, print3 = _b === void 0 ? defaultPrinter : _b, includeExtensions = linkOptions.includeExtensions, preserveHeaderCase = linkOptions.preserveHeaderCase, useGETForQueries = linkOptions.useGETForQueries, _c = linkOptions.includeUnusedVariables, includeUnusedVariables = _c === void 0 ? false : _c, requestOptions = __rest(linkOptions, ["uri", "fetch", "print", "includeExtensions", "preserveHeaderCase", "useGETForQueries", "includeUnusedVariables"]);
        if (false) {
          checkFetcher(preferredFetch || backupFetch);
        }
        var linkConfig = {
          http: { includeExtensions, preserveHeaderCase },
          options: requestOptions.fetchOptions,
          credentials: requestOptions.credentials,
          headers: requestOptions.headers
        };
        return new ApolloLink(function(operation) {
          var chosenURI = selectURI(operation, uri);
          var context = operation.getContext();
          var clientAwarenessHeaders = {};
          if (context.clientAwareness) {
            var _a3 = context.clientAwareness, name_1 = _a3.name, version2 = _a3.version;
            if (name_1) {
              clientAwarenessHeaders["apollographql-client-name"] = name_1;
            }
            if (version2) {
              clientAwarenessHeaders["apollographql-client-version"] = version2;
            }
          }
          var contextHeaders = __assign(__assign({}, clientAwarenessHeaders), context.headers);
          var contextConfig = {
            http: context.http,
            options: context.fetchOptions,
            credentials: context.credentials,
            headers: contextHeaders
          };
          if (hasDirectives(["client"], operation.query)) {
            var transformedQuery = removeClientSetsFromDocument(operation.query);
            if (!transformedQuery) {
              return fromError(new Error("HttpLink: Trying to send a client-only query to the server. To send to the server, ensure a non-client field is added to the query or set the `transformOptions.removeClientFields` option to `true`."));
            }
            operation.query = transformedQuery;
          }
          var _b2 = selectHttpOptionsAndBodyInternal(operation, print3, fallbackHttpConfig, linkConfig, contextConfig), options = _b2.options, body = _b2.body;
          if (body.variables && !includeUnusedVariables) {
            body.variables = filterOperationVariables(body.variables, operation.query);
          }
          var controller;
          if (!options.signal && typeof AbortController !== "undefined") {
            controller = new AbortController();
            options.signal = controller.signal;
          }
          var definitionIsMutation = function(d) {
            return d.kind === "OperationDefinition" && d.operation === "mutation";
          };
          var definitionIsSubscription = function(d) {
            return d.kind === "OperationDefinition" && d.operation === "subscription";
          };
          var isSubscription = definitionIsSubscription(getMainDefinition(operation.query));
          var hasDefer = hasDirectives(["defer"], operation.query);
          if (useGETForQueries && !operation.query.definitions.some(definitionIsMutation)) {
            options.method = "GET";
          }
          if (hasDefer || isSubscription) {
            options.headers = options.headers || {};
            var acceptHeader = "multipart/mixed;";
            if (isSubscription && hasDefer) {
            }
            if (isSubscription) {
              acceptHeader += "boundary=graphql;subscriptionSpec=1.0,application/json";
            } else if (hasDefer) {
              acceptHeader += "deferSpec=20220824,application/json";
            }
            options.headers.accept = acceptHeader;
          }
          if (options.method === "GET") {
            var _c2 = rewriteURIForGET(chosenURI, body), newURI = _c2.newURI, parseError = _c2.parseError;
            if (parseError) {
              return fromError(parseError);
            }
            chosenURI = newURI;
          } else {
            try {
              options.body = serializeFetchParameter(body, "Payload");
            } catch (parseError2) {
              return fromError(parseError2);
            }
          }
          return new Observable(function(observer) {
            var currentFetch = preferredFetch || maybe(function() {
              return fetch;
            }) || backupFetch;
            var observerNext = observer.next.bind(observer);
            currentFetch(chosenURI, options).then(function(response) {
              var _a4;
              operation.setContext({ response });
              var ctype = (_a4 = response.headers) === null || _a4 === void 0 ? void 0 : _a4.get("content-type");
              if (ctype !== null && /^multipart\/mixed/i.test(ctype)) {
                return readMultipartBody(response, observerNext);
              } else {
                return parseAndCheckHttpResponse(operation)(response).then(observerNext);
              }
            }).then(function() {
              controller = void 0;
              observer.complete();
            }).catch(function(err) {
              controller = void 0;
              handleError(err, observer);
            });
            return function() {
              if (controller)
                controller.abort();
            };
          });
        });
      };
    }
  });

  // node_modules/@apollo/client/link/http/HttpLink.js
  var HttpLink;
  var init_HttpLink = __esm({
    "node_modules/@apollo/client/link/http/HttpLink.js"() {
      init_tslib_es6();
      init_core();
      init_createHttpLink();
      HttpLink = /** @class */
      function(_super) {
        __extends(HttpLink2, _super);
        function HttpLink2(options) {
          if (options === void 0) {
            options = {};
          }
          var _this = _super.call(this, createHttpLink(options).request) || this;
          _this.options = options;
          return _this;
        }
        return HttpLink2;
      }(ApolloLink);
    }
  });

  // node_modules/@apollo/client/link/http/index.js
  var init_http = __esm({
    "node_modules/@apollo/client/link/http/index.js"() {
      init_globals();
      init_parseAndCheckHttpResponse();
      init_serializeFetchParameter();
      init_selectHttpOptionsAndBody();
      init_checkFetcher();
      init_selectURI();
      init_HttpLink();
    }
  });

  // node_modules/@wry/equality/lib/index.js
  function equal(a, b) {
    try {
      return check(a, b);
    } finally {
      previousComparisons.clear();
    }
  }
  function check(a, b) {
    if (a === b) {
      return true;
    }
    const aTag = toString2.call(a);
    const bTag = toString2.call(b);
    if (aTag !== bTag) {
      return false;
    }
    switch (aTag) {
      case "[object Array]":
        if (a.length !== b.length)
          return false;
      case "[object Object]": {
        if (previouslyCompared(a, b))
          return true;
        const aKeys = definedKeys(a);
        const bKeys = definedKeys(b);
        const keyCount = aKeys.length;
        if (keyCount !== bKeys.length)
          return false;
        for (let k = 0; k < keyCount; ++k) {
          if (!hasOwnProperty4.call(b, aKeys[k])) {
            return false;
          }
        }
        for (let k = 0; k < keyCount; ++k) {
          const key = aKeys[k];
          if (!check(a[key], b[key])) {
            return false;
          }
        }
        return true;
      }
      case "[object Error]":
        return a.name === b.name && a.message === b.message;
      case "[object Number]":
        if (a !== a)
          return b !== b;
      case "[object Boolean]":
      case "[object Date]":
        return +a === +b;
      case "[object RegExp]":
      case "[object String]":
        return a == `${b}`;
      case "[object Map]":
      case "[object Set]": {
        if (a.size !== b.size)
          return false;
        if (previouslyCompared(a, b))
          return true;
        const aIterator = a.entries();
        const isMap2 = aTag === "[object Map]";
        while (true) {
          const info = aIterator.next();
          if (info.done)
            break;
          const [aKey, aValue] = info.value;
          if (!b.has(aKey)) {
            return false;
          }
          if (isMap2 && !check(aValue, b.get(aKey))) {
            return false;
          }
        }
        return true;
      }
      case "[object Uint16Array]":
      case "[object Uint8Array]":
      case "[object Uint32Array]":
      case "[object Int32Array]":
      case "[object Int8Array]":
      case "[object Int16Array]":
      case "[object ArrayBuffer]":
        a = new Uint8Array(a);
        b = new Uint8Array(b);
      case "[object DataView]": {
        let len = a.byteLength;
        if (len === b.byteLength) {
          while (len-- && a[len] === b[len]) {
          }
        }
        return len === -1;
      }
      case "[object AsyncFunction]":
      case "[object GeneratorFunction]":
      case "[object AsyncGeneratorFunction]":
      case "[object Function]": {
        const aCode = fnToStr.call(a);
        if (aCode !== fnToStr.call(b)) {
          return false;
        }
        return !endsWith(aCode, nativeCodeSuffix);
      }
    }
    return false;
  }
  function definedKeys(obj) {
    return Object.keys(obj).filter(isDefinedKey, obj);
  }
  function isDefinedKey(key) {
    return this[key] !== void 0;
  }
  function endsWith(full, suffix) {
    const fromIndex = full.length - suffix.length;
    return fromIndex >= 0 && full.indexOf(suffix, fromIndex) === fromIndex;
  }
  function previouslyCompared(a, b) {
    let bSet = previousComparisons.get(a);
    if (bSet) {
      if (bSet.has(b))
        return true;
    } else {
      previousComparisons.set(a, bSet = /* @__PURE__ */ new Set());
    }
    bSet.add(b);
    return false;
  }
  var toString2, hasOwnProperty4, fnToStr, previousComparisons, lib_default, nativeCodeSuffix;
  var init_lib2 = __esm({
    "node_modules/@wry/equality/lib/index.js"() {
      ({ toString: toString2, hasOwnProperty: hasOwnProperty4 } = Object.prototype);
      fnToStr = Function.prototype.toString;
      previousComparisons = /* @__PURE__ */ new Map();
      lib_default = equal;
      nativeCodeSuffix = "{ [native code] }";
    }
  });

  // node_modules/optimism/node_modules/@wry/trie/lib/index.js
  function isObjRef2(value) {
    switch (typeof value) {
      case "object":
        if (value === null)
          break;
      case "function":
        return true;
    }
    return false;
  }
  var defaultMakeData2, forEach3, slice2, hasOwnProperty5, Trie2;
  var init_lib3 = __esm({
    "node_modules/optimism/node_modules/@wry/trie/lib/index.js"() {
      defaultMakeData2 = () => /* @__PURE__ */ Object.create(null);
      ({ forEach: forEach3, slice: slice2 } = Array.prototype);
      ({ hasOwnProperty: hasOwnProperty5 } = Object.prototype);
      Trie2 = class {
        constructor(weakness = true, makeData = defaultMakeData2) {
          this.weakness = weakness;
          this.makeData = makeData;
        }
        lookup(...array) {
          return this.lookupArray(array);
        }
        lookupArray(array) {
          let node = this;
          forEach3.call(array, (key) => node = node.getChildTrie(key));
          return hasOwnProperty5.call(node, "data") ? node.data : node.data = this.makeData(slice2.call(array));
        }
        peek(...array) {
          return this.peekArray(array);
        }
        peekArray(array) {
          let node = this;
          for (let i = 0, len = array.length; node && i < len; ++i) {
            const map = this.weakness && isObjRef2(array[i]) ? node.weak : node.strong;
            node = map && map.get(array[i]);
          }
          return node && node.data;
        }
        getChildTrie(key) {
          const map = this.weakness && isObjRef2(key) ? this.weak || (this.weak = /* @__PURE__ */ new WeakMap()) : this.strong || (this.strong = /* @__PURE__ */ new Map());
          let child = map.get(key);
          if (!child)
            map.set(key, child = new Trie2(this.weakness, this.makeData));
          return child;
        }
      };
    }
  });

  // node_modules/@wry/caches/lib/strong.js
  function defaultDispose() {
  }
  var StrongCache;
  var init_strong = __esm({
    "node_modules/@wry/caches/lib/strong.js"() {
      StrongCache = class {
        constructor(max = Infinity, dispose = defaultDispose) {
          this.max = max;
          this.dispose = dispose;
          this.map = /* @__PURE__ */ new Map();
          this.newest = null;
          this.oldest = null;
        }
        has(key) {
          return this.map.has(key);
        }
        get(key) {
          const node = this.getNode(key);
          return node && node.value;
        }
        get size() {
          return this.map.size;
        }
        getNode(key) {
          const node = this.map.get(key);
          if (node && node !== this.newest) {
            const { older, newer } = node;
            if (newer) {
              newer.older = older;
            }
            if (older) {
              older.newer = newer;
            }
            node.older = this.newest;
            node.older.newer = node;
            node.newer = null;
            this.newest = node;
            if (node === this.oldest) {
              this.oldest = newer;
            }
          }
          return node;
        }
        set(key, value) {
          let node = this.getNode(key);
          if (node) {
            return node.value = value;
          }
          node = {
            key,
            value,
            newer: null,
            older: this.newest
          };
          if (this.newest) {
            this.newest.newer = node;
          }
          this.newest = node;
          this.oldest = this.oldest || node;
          this.map.set(key, node);
          return node.value;
        }
        clean() {
          while (this.oldest && this.map.size > this.max) {
            this.delete(this.oldest.key);
          }
        }
        delete(key) {
          const node = this.map.get(key);
          if (node) {
            if (node === this.newest) {
              this.newest = node.older;
            }
            if (node === this.oldest) {
              this.oldest = node.newer;
            }
            if (node.newer) {
              node.newer.older = node.older;
            }
            if (node.older) {
              node.older.newer = node.newer;
            }
            this.map.delete(key);
            this.dispose(node.value, key);
            return true;
          }
          return false;
        }
      };
    }
  });

  // node_modules/@wry/caches/lib/index.js
  var init_lib4 = __esm({
    "node_modules/@wry/caches/lib/index.js"() {
      init_strong();
    }
  });

  // node_modules/@wry/context/lib/slot.js
  function maybe2(fn) {
    try {
      return fn();
    } catch (ignored) {
    }
  }
  var currentContext, MISSING_VALUE, idCounter, makeSlotClass, globalKey, host, globalHost, Slot;
  var init_slot = __esm({
    "node_modules/@wry/context/lib/slot.js"() {
      currentContext = null;
      MISSING_VALUE = {};
      idCounter = 1;
      makeSlotClass = () => class Slot {
        constructor() {
          this.id = [
            "slot",
            idCounter++,
            Date.now(),
            Math.random().toString(36).slice(2)
          ].join(":");
        }
        hasValue() {
          for (let context = currentContext; context; context = context.parent) {
            if (this.id in context.slots) {
              const value = context.slots[this.id];
              if (value === MISSING_VALUE)
                break;
              if (context !== currentContext) {
                currentContext.slots[this.id] = value;
              }
              return true;
            }
          }
          if (currentContext) {
            currentContext.slots[this.id] = MISSING_VALUE;
          }
          return false;
        }
        getValue() {
          if (this.hasValue()) {
            return currentContext.slots[this.id];
          }
        }
        withValue(value, callback, args, thisArg) {
          const slots = {
            __proto__: null,
            [this.id]: value
          };
          const parent = currentContext;
          currentContext = { parent, slots };
          try {
            return callback.apply(thisArg, args);
          } finally {
            currentContext = parent;
          }
        }
        // Capture the current context and wrap a callback function so that it
        // reestablishes the captured context when called.
        static bind(callback) {
          const context = currentContext;
          return function() {
            const saved = currentContext;
            try {
              currentContext = context;
              return callback.apply(this, arguments);
            } finally {
              currentContext = saved;
            }
          };
        }
        // Immediately run a callback function without any captured context.
        static noContext(callback, args, thisArg) {
          if (currentContext) {
            const saved = currentContext;
            try {
              currentContext = null;
              return callback.apply(thisArg, args);
            } finally {
              currentContext = saved;
            }
          } else {
            return callback.apply(thisArg, args);
          }
        }
      };
      globalKey = "@wry/context:Slot";
      host = // Prefer globalThis when available.
      // https://github.com/benjamn/wryware/issues/347
      maybe2(() => globalThis) || // Fall back to global, which works in Node.js and may be converted by some
      // bundlers to the appropriate identifier (window, self, ...) depending on the
      // bundling target. https://github.com/endojs/endo/issues/576#issuecomment-1178515224
      maybe2(() => global) || // Otherwise, use a dummy host that's local to this module. We used to fall
      // back to using the Array constructor as a namespace, but that was flagged in
      // https://github.com/benjamn/wryware/issues/347, and can be avoided.
      /* @__PURE__ */ Object.create(null);
      globalHost = host;
      Slot = globalHost[globalKey] || // Earlier versions of this package stored the globalKey property on the Array
      // constructor, so we check there as well, to prevent Slot class duplication.
      Array[globalKey] || function(Slot2) {
        try {
          Object.defineProperty(globalHost, globalKey, {
            value: Slot2,
            enumerable: false,
            writable: false,
            // When it was possible for globalHost to be the Array constructor (a
            // legacy Slot dedup strategy), it was important for the property to be
            // configurable:true so it could be deleted. That does not seem to be as
            // important when globalHost is the global object, but I don't want to
            // cause similar problems again, and configurable:true seems safest.
            // https://github.com/endojs/endo/issues/576#issuecomment-1178274008
            configurable: true
          });
        } finally {
          return Slot2;
        }
      }(makeSlotClass());
    }
  });

  // node_modules/@wry/context/lib/index.js
  var bind, noContext;
  var init_lib5 = __esm({
    "node_modules/@wry/context/lib/index.js"() {
      init_slot();
      ({ bind, noContext } = Slot);
    }
  });

  // node_modules/optimism/lib/context.js
  var parentEntrySlot;
  var init_context = __esm({
    "node_modules/optimism/lib/context.js"() {
      init_lib5();
      init_lib5();
      parentEntrySlot = new Slot();
    }
  });

  // node_modules/optimism/lib/helpers.js
  function maybeUnsubscribe(entryOrDep) {
    const { unsubscribe } = entryOrDep;
    if (typeof unsubscribe === "function") {
      entryOrDep.unsubscribe = void 0;
      unsubscribe();
    }
  }
  var hasOwnProperty6, arrayFromSet;
  var init_helpers = __esm({
    "node_modules/optimism/lib/helpers.js"() {
      ({ hasOwnProperty: hasOwnProperty6 } = Object.prototype);
      arrayFromSet = Array.from || function(set3) {
        const array = [];
        set3.forEach((item) => array.push(item));
        return array;
      };
    }
  });

  // node_modules/optimism/lib/entry.js
  function assert(condition, optionalMessage) {
    if (!condition) {
      throw new Error(optionalMessage || "assertion failure");
    }
  }
  function valueIs(a, b) {
    const len = a.length;
    return (
      // Unknown values are not equal to each other.
      len > 0 && // Both values must be ordinary (or both exceptional) to be equal.
      len === b.length && // The underlying value or exception must be the same.
      a[len - 1] === b[len - 1]
    );
  }
  function valueGet(value) {
    switch (value.length) {
      case 0:
        throw new Error("unknown value");
      case 1:
        return value[0];
      case 2:
        throw value[1];
    }
  }
  function valueCopy(value) {
    return value.slice(0);
  }
  function rememberParent(child) {
    const parent = parentEntrySlot.getValue();
    if (parent) {
      child.parents.add(parent);
      if (!parent.childValues.has(child)) {
        parent.childValues.set(child, []);
      }
      if (mightBeDirty(child)) {
        reportDirtyChild(parent, child);
      } else {
        reportCleanChild(parent, child);
      }
      return parent;
    }
  }
  function reallyRecompute(entry, args) {
    forgetChildren(entry);
    parentEntrySlot.withValue(entry, recomputeNewValue, [entry, args]);
    if (maybeSubscribe(entry, args)) {
      setClean(entry);
    }
    return valueGet(entry.value);
  }
  function recomputeNewValue(entry, args) {
    entry.recomputing = true;
    const { normalizeResult } = entry;
    let oldValueCopy;
    if (normalizeResult && entry.value.length === 1) {
      oldValueCopy = valueCopy(entry.value);
    }
    entry.value.length = 0;
    try {
      entry.value[0] = entry.fn.apply(null, args);
      if (normalizeResult && oldValueCopy && !valueIs(oldValueCopy, entry.value)) {
        try {
          entry.value[0] = normalizeResult(entry.value[0], oldValueCopy[0]);
        } catch (_a2) {
        }
      }
    } catch (e) {
      entry.value[1] = e;
    }
    entry.recomputing = false;
  }
  function mightBeDirty(entry) {
    return entry.dirty || !!(entry.dirtyChildren && entry.dirtyChildren.size);
  }
  function setClean(entry) {
    entry.dirty = false;
    if (mightBeDirty(entry)) {
      return;
    }
    reportClean(entry);
  }
  function reportDirty(child) {
    eachParent(child, reportDirtyChild);
  }
  function reportClean(child) {
    eachParent(child, reportCleanChild);
  }
  function eachParent(child, callback) {
    const parentCount = child.parents.size;
    if (parentCount) {
      const parents = arrayFromSet(child.parents);
      for (let i = 0; i < parentCount; ++i) {
        callback(parents[i], child);
      }
    }
  }
  function reportDirtyChild(parent, child) {
    assert(parent.childValues.has(child));
    assert(mightBeDirty(child));
    const parentWasClean = !mightBeDirty(parent);
    if (!parent.dirtyChildren) {
      parent.dirtyChildren = emptySetPool.pop() || /* @__PURE__ */ new Set();
    } else if (parent.dirtyChildren.has(child)) {
      return;
    }
    parent.dirtyChildren.add(child);
    if (parentWasClean) {
      reportDirty(parent);
    }
  }
  function reportCleanChild(parent, child) {
    assert(parent.childValues.has(child));
    assert(!mightBeDirty(child));
    const childValue = parent.childValues.get(child);
    if (childValue.length === 0) {
      parent.childValues.set(child, valueCopy(child.value));
    } else if (!valueIs(childValue, child.value)) {
      parent.setDirty();
    }
    removeDirtyChild(parent, child);
    if (mightBeDirty(parent)) {
      return;
    }
    reportClean(parent);
  }
  function removeDirtyChild(parent, child) {
    const dc = parent.dirtyChildren;
    if (dc) {
      dc.delete(child);
      if (dc.size === 0) {
        if (emptySetPool.length < POOL_TARGET_SIZE) {
          emptySetPool.push(dc);
        }
        parent.dirtyChildren = null;
      }
    }
  }
  function forgetChildren(parent) {
    if (parent.childValues.size > 0) {
      parent.childValues.forEach((_value, child) => {
        forgetChild(parent, child);
      });
    }
    parent.forgetDeps();
    assert(parent.dirtyChildren === null);
  }
  function forgetChild(parent, child) {
    child.parents.delete(parent);
    parent.childValues.delete(child);
    removeDirtyChild(parent, child);
  }
  function maybeSubscribe(entry, args) {
    if (typeof entry.subscribe === "function") {
      try {
        maybeUnsubscribe(entry);
        entry.unsubscribe = entry.subscribe.apply(null, args);
      } catch (e) {
        entry.setDirty();
        return false;
      }
    }
    return true;
  }
  var emptySetPool, POOL_TARGET_SIZE, Entry;
  var init_entry = __esm({
    "node_modules/optimism/lib/entry.js"() {
      init_context();
      init_helpers();
      emptySetPool = [];
      POOL_TARGET_SIZE = 100;
      Entry = class {
        constructor(fn) {
          this.fn = fn;
          this.parents = /* @__PURE__ */ new Set();
          this.childValues = /* @__PURE__ */ new Map();
          this.dirtyChildren = null;
          this.dirty = true;
          this.recomputing = false;
          this.value = [];
          this.deps = null;
          ++Entry.count;
        }
        peek() {
          if (this.value.length === 1 && !mightBeDirty(this)) {
            rememberParent(this);
            return this.value[0];
          }
        }
        // This is the most important method of the Entry API, because it
        // determines whether the cached this.value can be returned immediately,
        // or must be recomputed. The overall performance of the caching system
        // depends on the truth of the following observations: (1) this.dirty is
        // usually false, (2) this.dirtyChildren is usually null/empty, and thus
        // (3) valueGet(this.value) is usually returned without recomputation.
        recompute(args) {
          assert(!this.recomputing, "already recomputing");
          rememberParent(this);
          return mightBeDirty(this) ? reallyRecompute(this, args) : valueGet(this.value);
        }
        setDirty() {
          if (this.dirty)
            return;
          this.dirty = true;
          reportDirty(this);
          maybeUnsubscribe(this);
        }
        dispose() {
          this.setDirty();
          forgetChildren(this);
          eachParent(this, (parent, child) => {
            parent.setDirty();
            forgetChild(parent, this);
          });
        }
        forget() {
          this.dispose();
        }
        dependOn(dep2) {
          dep2.add(this);
          if (!this.deps) {
            this.deps = emptySetPool.pop() || /* @__PURE__ */ new Set();
          }
          this.deps.add(dep2);
        }
        forgetDeps() {
          if (this.deps) {
            arrayFromSet(this.deps).forEach((dep2) => dep2.delete(this));
            this.deps.clear();
            emptySetPool.push(this.deps);
            this.deps = null;
          }
        }
      };
      Entry.count = 0;
    }
  });

  // node_modules/optimism/lib/dep.js
  function dep(options) {
    const depsByKey = /* @__PURE__ */ new Map();
    const subscribe = options && options.subscribe;
    function depend(key) {
      const parent = parentEntrySlot.getValue();
      if (parent) {
        let dep2 = depsByKey.get(key);
        if (!dep2) {
          depsByKey.set(key, dep2 = /* @__PURE__ */ new Set());
        }
        parent.dependOn(dep2);
        if (typeof subscribe === "function") {
          maybeUnsubscribe(dep2);
          dep2.unsubscribe = subscribe(key);
        }
      }
    }
    depend.dirty = function dirty(key, entryMethodName) {
      const dep2 = depsByKey.get(key);
      if (dep2) {
        const m = entryMethodName && hasOwnProperty6.call(EntryMethods, entryMethodName) ? entryMethodName : "setDirty";
        arrayFromSet(dep2).forEach((entry) => entry[m]());
        depsByKey.delete(key);
        maybeUnsubscribe(dep2);
      }
    };
    return depend;
  }
  var EntryMethods;
  var init_dep = __esm({
    "node_modules/optimism/lib/dep.js"() {
      init_context();
      init_helpers();
      EntryMethods = {
        setDirty: true,
        dispose: true,
        forget: true
        // Fully remove parent Entry from LRU cache and computation graph
      };
    }
  });

  // node_modules/optimism/lib/index.js
  function defaultMakeCacheKey(...args) {
    const trie = defaultKeyTrie || (defaultKeyTrie = new Trie2(typeof WeakMap === "function"));
    return trie.lookupArray(args);
  }
  function wrap3(originalFunction, { max = Math.pow(2, 16), keyArgs, makeCacheKey = defaultMakeCacheKey, normalizeResult, subscribe, cache: cacheOption = StrongCache } = /* @__PURE__ */ Object.create(null)) {
    const cache = typeof cacheOption === "function" ? new cacheOption(max, (entry) => entry.dispose()) : cacheOption;
    const optimistic = function() {
      const key = makeCacheKey.apply(null, keyArgs ? keyArgs.apply(null, arguments) : arguments);
      if (key === void 0) {
        return originalFunction.apply(null, arguments);
      }
      let entry = cache.get(key);
      if (!entry) {
        cache.set(key, entry = new Entry(originalFunction));
        entry.normalizeResult = normalizeResult;
        entry.subscribe = subscribe;
        entry.forget = () => cache.delete(key);
      }
      const value = entry.recompute(Array.prototype.slice.call(arguments));
      cache.set(key, entry);
      caches.add(cache);
      if (!parentEntrySlot.hasValue()) {
        caches.forEach((cache2) => cache2.clean());
        caches.clear();
      }
      return value;
    };
    Object.defineProperty(optimistic, "size", {
      get: () => cache.size,
      configurable: false,
      enumerable: false
    });
    Object.freeze(optimistic.options = {
      max,
      keyArgs,
      makeCacheKey,
      normalizeResult,
      subscribe,
      cache
    });
    function dirtyKey(key) {
      const entry = key && cache.get(key);
      if (entry) {
        entry.setDirty();
      }
    }
    optimistic.dirtyKey = dirtyKey;
    optimistic.dirty = function dirty() {
      dirtyKey(makeCacheKey.apply(null, arguments));
    };
    function peekKey(key) {
      const entry = key && cache.get(key);
      if (entry) {
        return entry.peek();
      }
    }
    optimistic.peekKey = peekKey;
    optimistic.peek = function peek() {
      return peekKey(makeCacheKey.apply(null, arguments));
    };
    function forgetKey(key) {
      return key ? cache.delete(key) : false;
    }
    optimistic.forgetKey = forgetKey;
    optimistic.forget = function forget() {
      return forgetKey(makeCacheKey.apply(null, arguments));
    };
    optimistic.makeCacheKey = makeCacheKey;
    optimistic.getKey = keyArgs ? function getKey() {
      return makeCacheKey.apply(null, keyArgs.apply(null, arguments));
    } : makeCacheKey;
    return Object.freeze(optimistic);
  }
  var defaultKeyTrie, caches;
  var init_lib6 = __esm({
    "node_modules/optimism/lib/index.js"() {
      init_lib3();
      init_lib4();
      init_entry();
      init_context();
      init_context();
      init_dep();
      caches = /* @__PURE__ */ new Set();
    }
  });

  // node_modules/@apollo/client/cache/core/cache.js
  var ApolloCache;
  var init_cache = __esm({
    "node_modules/@apollo/client/cache/core/cache.js"() {
      init_tslib_es6();
      init_lib6();
      init_utilities();
      ApolloCache = /** @class */
      function() {
        function ApolloCache2() {
          this.assumeImmutableResults = false;
          this.getFragmentDoc = wrap3(getFragmentQueryDocument);
        }
        ApolloCache2.prototype.batch = function(options) {
          var _this = this;
          var optimisticId = typeof options.optimistic === "string" ? options.optimistic : options.optimistic === false ? null : void 0;
          var updateResult;
          this.performTransaction(function() {
            return updateResult = options.update(_this);
          }, optimisticId);
          return updateResult;
        };
        ApolloCache2.prototype.recordOptimisticTransaction = function(transaction, optimisticId) {
          this.performTransaction(transaction, optimisticId);
        };
        ApolloCache2.prototype.transformDocument = function(document2) {
          return document2;
        };
        ApolloCache2.prototype.transformForLink = function(document2) {
          return document2;
        };
        ApolloCache2.prototype.identify = function(object) {
          return;
        };
        ApolloCache2.prototype.gc = function() {
          return [];
        };
        ApolloCache2.prototype.modify = function(options) {
          return false;
        };
        ApolloCache2.prototype.readQuery = function(options, optimistic) {
          if (optimistic === void 0) {
            optimistic = !!options.optimistic;
          }
          return this.read(__assign(__assign({}, options), { rootId: options.id || "ROOT_QUERY", optimistic }));
        };
        ApolloCache2.prototype.readFragment = function(options, optimistic) {
          if (optimistic === void 0) {
            optimistic = !!options.optimistic;
          }
          return this.read(__assign(__assign({}, options), { query: this.getFragmentDoc(options.fragment, options.fragmentName), rootId: options.id, optimistic }));
        };
        ApolloCache2.prototype.writeQuery = function(_a2) {
          var id = _a2.id, data = _a2.data, options = __rest(_a2, ["id", "data"]);
          return this.write(Object.assign(options, {
            dataId: id || "ROOT_QUERY",
            result: data
          }));
        };
        ApolloCache2.prototype.writeFragment = function(_a2) {
          var id = _a2.id, data = _a2.data, fragment = _a2.fragment, fragmentName = _a2.fragmentName, options = __rest(_a2, ["id", "data", "fragment", "fragmentName"]);
          return this.write(Object.assign(options, {
            query: this.getFragmentDoc(fragment, fragmentName),
            dataId: id,
            result: data
          }));
        };
        ApolloCache2.prototype.updateQuery = function(options, update) {
          return this.batch({
            update: function(cache) {
              var value = cache.readQuery(options);
              var data = update(value);
              if (data === void 0 || data === null)
                return value;
              cache.writeQuery(__assign(__assign({}, options), { data }));
              return data;
            }
          });
        };
        ApolloCache2.prototype.updateFragment = function(options, update) {
          return this.batch({
            update: function(cache) {
              var value = cache.readFragment(options);
              var data = update(value);
              if (data === void 0 || data === null)
                return value;
              cache.writeFragment(__assign(__assign({}, options), { data }));
              return data;
            }
          });
        };
        return ApolloCache2;
      }();
    }
  });

  // node_modules/@apollo/client/cache/core/types/common.js
  var MissingFieldError;
  var init_common = __esm({
    "node_modules/@apollo/client/cache/core/types/common.js"() {
      init_tslib_es6();
      MissingFieldError = /** @class */
      function(_super) {
        __extends(MissingFieldError2, _super);
        function MissingFieldError2(message, path, query, variables) {
          var _a2;
          var _this = _super.call(this, message) || this;
          _this.message = message;
          _this.path = path;
          _this.query = query;
          _this.variables = variables;
          if (Array.isArray(_this.path)) {
            _this.missing = _this.message;
            for (var i = _this.path.length - 1; i >= 0; --i) {
              _this.missing = (_a2 = {}, _a2[_this.path[i]] = _this.missing, _a2);
            }
          } else {
            _this.missing = _this.path;
          }
          _this.__proto__ = MissingFieldError2.prototype;
          return _this;
        }
        return MissingFieldError2;
      }(Error);
    }
  });

  // node_modules/@apollo/client/cache/inmemory/helpers.js
  function isNullish(value) {
    return value === null || value === void 0;
  }
  function defaultDataIdFromObject(_a2, context) {
    var __typename = _a2.__typename, id = _a2.id, _id = _a2._id;
    if (typeof __typename === "string") {
      if (context) {
        context.keyObject = !isNullish(id) ? { id } : !isNullish(_id) ? { _id } : void 0;
      }
      if (isNullish(id) && !isNullish(_id)) {
        id = _id;
      }
      if (!isNullish(id)) {
        return "".concat(__typename, ":").concat(typeof id === "number" || typeof id === "string" ? id : JSON.stringify(id));
      }
    }
  }
  function normalizeConfig(config) {
    return compact(defaultConfig, config);
  }
  function shouldCanonizeResults(config) {
    var value = config.canonizeResults;
    return value === void 0 ? defaultConfig.canonizeResults : value;
  }
  function fieldNameFromStoreName(storeFieldName) {
    var match = storeFieldName.match(TypeOrFieldNameRegExp);
    return match ? match[0] : storeFieldName;
  }
  function selectionSetMatchesResult(selectionSet, result2, variables) {
    if (isNonNullObject(result2)) {
      return isArray(result2) ? result2.every(function(item) {
        return selectionSetMatchesResult(selectionSet, item, variables);
      }) : selectionSet.selections.every(function(field) {
        if (isField(field) && shouldInclude(field, variables)) {
          var key = resultKeyNameFromField(field);
          return hasOwn.call(result2, key) && (!field.selectionSet || selectionSetMatchesResult(field.selectionSet, result2[key], variables));
        }
        return true;
      });
    }
    return false;
  }
  function storeValueIsStoreObject(value) {
    return isNonNullObject(value) && !isReference(value) && !isArray(value);
  }
  function makeProcessedFieldsMerger() {
    return new DeepMerger();
  }
  function extractFragmentContext(document2, fragments) {
    var fragmentMap = createFragmentMap(getFragmentDefinitions(document2));
    return {
      fragmentMap,
      lookupFragment: function(name) {
        var def = fragmentMap[name];
        if (!def && fragments) {
          def = fragments.lookup(name);
        }
        return def || null;
      }
    };
  }
  var hasOwn, defaultConfig, TypeOrFieldNameRegExp;
  var init_helpers2 = __esm({
    "node_modules/@apollo/client/cache/inmemory/helpers.js"() {
      init_utilities();
      hasOwn = Object.prototype.hasOwnProperty;
      defaultConfig = {
        dataIdFromObject: defaultDataIdFromObject,
        addTypename: true,
        resultCaching: true,
        // Thanks to the shouldCanonizeResults helper, this should be the only line
        // you have to change to reenable canonization by default in the future.
        canonizeResults: false
      };
      TypeOrFieldNameRegExp = /^[_a-z][_0-9a-z]*/i;
    }
  });

  // node_modules/@apollo/client/cache/inmemory/entityStore.js
  function makeDepKey(dataId, storeFieldName) {
    return storeFieldName + "#" + dataId;
  }
  function maybeDependOnExistenceOfEntity(store, entityId) {
    if (supportsResultCaching(store)) {
      store.group.depend(entityId, "__exists");
    }
  }
  function storeObjectReconciler(existingObject, incomingObject, property) {
    var existingValue = existingObject[property];
    var incomingValue = incomingObject[property];
    return equal(existingValue, incomingValue) ? existingValue : incomingValue;
  }
  function supportsResultCaching(store) {
    return !!(store instanceof EntityStore && store.group.caching);
  }
  var DELETE, delModifier, INVALIDATE, EntityStore, CacheGroup, Layer, Stump;
  var init_entityStore = __esm({
    "node_modules/@apollo/client/cache/inmemory/entityStore.js"() {
      init_tslib_es6();
      init_globals();
      init_lib6();
      init_lib2();
      init_lib();
      init_utilities();
      init_helpers2();
      DELETE = /* @__PURE__ */ Object.create(null);
      delModifier = function() {
        return DELETE;
      };
      INVALIDATE = /* @__PURE__ */ Object.create(null);
      EntityStore = /** @class */
      function() {
        function EntityStore2(policies, group) {
          var _this = this;
          this.policies = policies;
          this.group = group;
          this.data = /* @__PURE__ */ Object.create(null);
          this.rootIds = /* @__PURE__ */ Object.create(null);
          this.refs = /* @__PURE__ */ Object.create(null);
          this.getFieldValue = function(objectOrReference, storeFieldName) {
            return maybeDeepFreeze(isReference(objectOrReference) ? _this.get(objectOrReference.__ref, storeFieldName) : objectOrReference && objectOrReference[storeFieldName]);
          };
          this.canRead = function(objOrRef) {
            return isReference(objOrRef) ? _this.has(objOrRef.__ref) : typeof objOrRef === "object";
          };
          this.toReference = function(objOrIdOrRef, mergeIntoStore) {
            if (typeof objOrIdOrRef === "string") {
              return makeReference(objOrIdOrRef);
            }
            if (isReference(objOrIdOrRef)) {
              return objOrIdOrRef;
            }
            var id = _this.policies.identify(objOrIdOrRef)[0];
            if (id) {
              var ref = makeReference(id);
              if (mergeIntoStore) {
                _this.merge(id, objOrIdOrRef);
              }
              return ref;
            }
          };
        }
        EntityStore2.prototype.toObject = function() {
          return __assign({}, this.data);
        };
        EntityStore2.prototype.has = function(dataId) {
          return this.lookup(dataId, true) !== void 0;
        };
        EntityStore2.prototype.get = function(dataId, fieldName) {
          this.group.depend(dataId, fieldName);
          if (hasOwn.call(this.data, dataId)) {
            var storeObject = this.data[dataId];
            if (storeObject && hasOwn.call(storeObject, fieldName)) {
              return storeObject[fieldName];
            }
          }
          if (fieldName === "__typename" && hasOwn.call(this.policies.rootTypenamesById, dataId)) {
            return this.policies.rootTypenamesById[dataId];
          }
          if (this instanceof Layer) {
            return this.parent.get(dataId, fieldName);
          }
        };
        EntityStore2.prototype.lookup = function(dataId, dependOnExistence) {
          if (dependOnExistence)
            this.group.depend(dataId, "__exists");
          if (hasOwn.call(this.data, dataId)) {
            return this.data[dataId];
          }
          if (this instanceof Layer) {
            return this.parent.lookup(dataId, dependOnExistence);
          }
          if (this.policies.rootTypenamesById[dataId]) {
            return /* @__PURE__ */ Object.create(null);
          }
        };
        EntityStore2.prototype.merge = function(older, newer) {
          var _this = this;
          var dataId;
          if (isReference(older))
            older = older.__ref;
          if (isReference(newer))
            newer = newer.__ref;
          var existing = typeof older === "string" ? this.lookup(dataId = older) : older;
          var incoming = typeof newer === "string" ? this.lookup(dataId = newer) : newer;
          if (!incoming)
            return;
          invariant2(typeof dataId === "string", 1);
          var merged = new DeepMerger(storeObjectReconciler).merge(existing, incoming);
          this.data[dataId] = merged;
          if (merged !== existing) {
            delete this.refs[dataId];
            if (this.group.caching) {
              var fieldsToDirty_1 = /* @__PURE__ */ Object.create(null);
              if (!existing)
                fieldsToDirty_1.__exists = 1;
              Object.keys(incoming).forEach(function(storeFieldName) {
                if (!existing || existing[storeFieldName] !== merged[storeFieldName]) {
                  fieldsToDirty_1[storeFieldName] = 1;
                  var fieldName = fieldNameFromStoreName(storeFieldName);
                  if (fieldName !== storeFieldName && !_this.policies.hasKeyArgs(merged.__typename, fieldName)) {
                    fieldsToDirty_1[fieldName] = 1;
                  }
                  if (merged[storeFieldName] === void 0 && !(_this instanceof Layer)) {
                    delete merged[storeFieldName];
                  }
                }
              });
              if (fieldsToDirty_1.__typename && !(existing && existing.__typename) && // Since we return default root __typename strings
              // automatically from store.get, we don't need to dirty the
              // ROOT_QUERY.__typename field if merged.__typename is equal
              // to the default string (usually "Query").
              this.policies.rootTypenamesById[dataId] === merged.__typename) {
                delete fieldsToDirty_1.__typename;
              }
              Object.keys(fieldsToDirty_1).forEach(function(fieldName) {
                return _this.group.dirty(dataId, fieldName);
              });
            }
          }
        };
        EntityStore2.prototype.modify = function(dataId, fields) {
          var _this = this;
          var storeObject = this.lookup(dataId);
          if (storeObject) {
            var changedFields_1 = /* @__PURE__ */ Object.create(null);
            var needToMerge_1 = false;
            var allDeleted_1 = true;
            var sharedDetails_1 = {
              DELETE,
              INVALIDATE,
              isReference,
              toReference: this.toReference,
              canRead: this.canRead,
              readField: function(fieldNameOrOptions, from) {
                return _this.policies.readField(typeof fieldNameOrOptions === "string" ? {
                  fieldName: fieldNameOrOptions,
                  from: from || makeReference(dataId)
                } : fieldNameOrOptions, { store: _this });
              }
            };
            Object.keys(storeObject).forEach(function(storeFieldName) {
              var fieldName = fieldNameFromStoreName(storeFieldName);
              var fieldValue = storeObject[storeFieldName];
              if (fieldValue === void 0)
                return;
              var modify = typeof fields === "function" ? fields : fields[storeFieldName] || fields[fieldName];
              if (modify) {
                var newValue = modify === delModifier ? DELETE : modify(maybeDeepFreeze(fieldValue), __assign(__assign({}, sharedDetails_1), { fieldName, storeFieldName, storage: _this.getStorage(dataId, storeFieldName) }));
                if (newValue === INVALIDATE) {
                  _this.group.dirty(dataId, storeFieldName);
                } else {
                  if (newValue === DELETE)
                    newValue = void 0;
                  if (newValue !== fieldValue) {
                    changedFields_1[storeFieldName] = newValue;
                    needToMerge_1 = true;
                    fieldValue = newValue;
                    if (false) {
                      var checkReference = function(ref) {
                        if (_this.lookup(ref.__ref) === void 0) {
                          return true;
                        }
                      };
                      if (isReference(newValue)) {
                        checkReference(newValue);
                      } else if (Array.isArray(newValue)) {
                        var seenReference = false;
                        var someNonReference = void 0;
                        for (var _i = 0, newValue_1 = newValue; _i < newValue_1.length; _i++) {
                          var value = newValue_1[_i];
                          if (isReference(value)) {
                            seenReference = true;
                            if (checkReference(value))
                              break;
                          } else {
                            if (typeof value === "object" && !!value) {
                              var id = _this.policies.identify(value)[0];
                              if (id) {
                                someNonReference = value;
                              }
                            }
                          }
                          if (seenReference && someNonReference !== void 0) {
                            break;
                          }
                        }
                      }
                    }
                  }
                }
              }
              if (fieldValue !== void 0) {
                allDeleted_1 = false;
              }
            });
            if (needToMerge_1) {
              this.merge(dataId, changedFields_1);
              if (allDeleted_1) {
                if (this instanceof Layer) {
                  this.data[dataId] = void 0;
                } else {
                  delete this.data[dataId];
                }
                this.group.dirty(dataId, "__exists");
              }
              return true;
            }
          }
          return false;
        };
        EntityStore2.prototype.delete = function(dataId, fieldName, args) {
          var _a2;
          var storeObject = this.lookup(dataId);
          if (storeObject) {
            var typename = this.getFieldValue(storeObject, "__typename");
            var storeFieldName = fieldName && args ? this.policies.getStoreFieldName({ typename, fieldName, args }) : fieldName;
            return this.modify(dataId, storeFieldName ? (_a2 = {}, _a2[storeFieldName] = delModifier, _a2) : delModifier);
          }
          return false;
        };
        EntityStore2.prototype.evict = function(options, limit) {
          var evicted = false;
          if (options.id) {
            if (hasOwn.call(this.data, options.id)) {
              evicted = this.delete(options.id, options.fieldName, options.args);
            }
            if (this instanceof Layer && this !== limit) {
              evicted = this.parent.evict(options, limit) || evicted;
            }
            if (options.fieldName || evicted) {
              this.group.dirty(options.id, options.fieldName || "__exists");
            }
          }
          return evicted;
        };
        EntityStore2.prototype.clear = function() {
          this.replace(null);
        };
        EntityStore2.prototype.extract = function() {
          var _this = this;
          var obj = this.toObject();
          var extraRootIds = [];
          this.getRootIdSet().forEach(function(id) {
            if (!hasOwn.call(_this.policies.rootTypenamesById, id)) {
              extraRootIds.push(id);
            }
          });
          if (extraRootIds.length) {
            obj.__META = { extraRootIds: extraRootIds.sort() };
          }
          return obj;
        };
        EntityStore2.prototype.replace = function(newData) {
          var _this = this;
          Object.keys(this.data).forEach(function(dataId) {
            if (!(newData && hasOwn.call(newData, dataId))) {
              _this.delete(dataId);
            }
          });
          if (newData) {
            var __META = newData.__META, rest_1 = __rest(newData, ["__META"]);
            Object.keys(rest_1).forEach(function(dataId) {
              _this.merge(dataId, rest_1[dataId]);
            });
            if (__META) {
              __META.extraRootIds.forEach(this.retain, this);
            }
          }
        };
        EntityStore2.prototype.retain = function(rootId) {
          return this.rootIds[rootId] = (this.rootIds[rootId] || 0) + 1;
        };
        EntityStore2.prototype.release = function(rootId) {
          if (this.rootIds[rootId] > 0) {
            var count = --this.rootIds[rootId];
            if (!count)
              delete this.rootIds[rootId];
            return count;
          }
          return 0;
        };
        EntityStore2.prototype.getRootIdSet = function(ids) {
          if (ids === void 0) {
            ids = /* @__PURE__ */ new Set();
          }
          Object.keys(this.rootIds).forEach(ids.add, ids);
          if (this instanceof Layer) {
            this.parent.getRootIdSet(ids);
          } else {
            Object.keys(this.policies.rootTypenamesById).forEach(ids.add, ids);
          }
          return ids;
        };
        EntityStore2.prototype.gc = function() {
          var _this = this;
          var ids = this.getRootIdSet();
          var snapshot = this.toObject();
          ids.forEach(function(id) {
            if (hasOwn.call(snapshot, id)) {
              Object.keys(_this.findChildRefIds(id)).forEach(ids.add, ids);
              delete snapshot[id];
            }
          });
          var idsToRemove = Object.keys(snapshot);
          if (idsToRemove.length) {
            var root_1 = this;
            while (root_1 instanceof Layer)
              root_1 = root_1.parent;
            idsToRemove.forEach(function(id) {
              return root_1.delete(id);
            });
          }
          return idsToRemove;
        };
        EntityStore2.prototype.findChildRefIds = function(dataId) {
          if (!hasOwn.call(this.refs, dataId)) {
            var found_1 = this.refs[dataId] = /* @__PURE__ */ Object.create(null);
            var root2 = this.data[dataId];
            if (!root2)
              return found_1;
            var workSet_1 = /* @__PURE__ */ new Set([root2]);
            workSet_1.forEach(function(obj) {
              if (isReference(obj)) {
                found_1[obj.__ref] = true;
              }
              if (isNonNullObject(obj)) {
                Object.keys(obj).forEach(function(key) {
                  var child = obj[key];
                  if (isNonNullObject(child)) {
                    workSet_1.add(child);
                  }
                });
              }
            });
          }
          return this.refs[dataId];
        };
        EntityStore2.prototype.makeCacheKey = function() {
          return this.group.keyMaker.lookupArray(arguments);
        };
        return EntityStore2;
      }();
      CacheGroup = /** @class */
      function() {
        function CacheGroup2(caching, parent) {
          if (parent === void 0) {
            parent = null;
          }
          this.caching = caching;
          this.parent = parent;
          this.d = null;
          this.resetCaching();
        }
        CacheGroup2.prototype.resetCaching = function() {
          this.d = this.caching ? dep() : null;
          this.keyMaker = new Trie(canUseWeakMap);
        };
        CacheGroup2.prototype.depend = function(dataId, storeFieldName) {
          if (this.d) {
            this.d(makeDepKey(dataId, storeFieldName));
            var fieldName = fieldNameFromStoreName(storeFieldName);
            if (fieldName !== storeFieldName) {
              this.d(makeDepKey(dataId, fieldName));
            }
            if (this.parent) {
              this.parent.depend(dataId, storeFieldName);
            }
          }
        };
        CacheGroup2.prototype.dirty = function(dataId, storeFieldName) {
          if (this.d) {
            this.d.dirty(
              makeDepKey(dataId, storeFieldName),
              // When storeFieldName === "__exists", that means the entity identified
              // by dataId has either disappeared from the cache or was newly added,
              // so the result caching system would do well to "forget everything it
              // knows" about that object. To achieve that kind of invalidation, we
              // not only dirty the associated result cache entry, but also remove it
              // completely from the dependency graph. For the optimism implementation
              // details, see https://github.com/benjamn/optimism/pull/195.
              storeFieldName === "__exists" ? "forget" : "setDirty"
            );
          }
        };
        return CacheGroup2;
      }();
      (function(EntityStore2) {
        var Root = (
          /** @class */
          function(_super) {
            __extends(Root2, _super);
            function Root2(_a2) {
              var policies = _a2.policies, _b = _a2.resultCaching, resultCaching = _b === void 0 ? true : _b, seed = _a2.seed;
              var _this = _super.call(this, policies, new CacheGroup(resultCaching)) || this;
              _this.stump = new Stump(_this);
              _this.storageTrie = new Trie(canUseWeakMap);
              if (seed)
                _this.replace(seed);
              return _this;
            }
            Root2.prototype.addLayer = function(layerId, replay) {
              return this.stump.addLayer(layerId, replay);
            };
            Root2.prototype.removeLayer = function() {
              return this;
            };
            Root2.prototype.getStorage = function() {
              return this.storageTrie.lookupArray(arguments);
            };
            return Root2;
          }(EntityStore2)
        );
        EntityStore2.Root = Root;
      })(EntityStore || (EntityStore = {}));
      Layer = /** @class */
      function(_super) {
        __extends(Layer2, _super);
        function Layer2(id, parent, replay, group) {
          var _this = _super.call(this, parent.policies, group) || this;
          _this.id = id;
          _this.parent = parent;
          _this.replay = replay;
          _this.group = group;
          replay(_this);
          return _this;
        }
        Layer2.prototype.addLayer = function(layerId, replay) {
          return new Layer2(layerId, this, replay, this.group);
        };
        Layer2.prototype.removeLayer = function(layerId) {
          var _this = this;
          var parent = this.parent.removeLayer(layerId);
          if (layerId === this.id) {
            if (this.group.caching) {
              Object.keys(this.data).forEach(function(dataId) {
                var ownStoreObject = _this.data[dataId];
                var parentStoreObject = parent["lookup"](dataId);
                if (!parentStoreObject) {
                  _this.delete(dataId);
                } else if (!ownStoreObject) {
                  _this.group.dirty(dataId, "__exists");
                  Object.keys(parentStoreObject).forEach(function(storeFieldName) {
                    _this.group.dirty(dataId, storeFieldName);
                  });
                } else if (ownStoreObject !== parentStoreObject) {
                  Object.keys(ownStoreObject).forEach(function(storeFieldName) {
                    if (!equal(ownStoreObject[storeFieldName], parentStoreObject[storeFieldName])) {
                      _this.group.dirty(dataId, storeFieldName);
                    }
                  });
                }
              });
            }
            return parent;
          }
          if (parent === this.parent)
            return this;
          return parent.addLayer(this.id, this.replay);
        };
        Layer2.prototype.toObject = function() {
          return __assign(__assign({}, this.parent.toObject()), this.data);
        };
        Layer2.prototype.findChildRefIds = function(dataId) {
          var fromParent = this.parent.findChildRefIds(dataId);
          return hasOwn.call(this.data, dataId) ? __assign(__assign({}, fromParent), _super.prototype.findChildRefIds.call(this, dataId)) : fromParent;
        };
        Layer2.prototype.getStorage = function() {
          var p = this.parent;
          while (p.parent)
            p = p.parent;
          return p.getStorage.apply(
            p,
            // @ts-expect-error
            arguments
          );
        };
        return Layer2;
      }(EntityStore);
      Stump = /** @class */
      function(_super) {
        __extends(Stump2, _super);
        function Stump2(root2) {
          return _super.call(this, "EntityStore.Stump", root2, function() {
          }, new CacheGroup(root2.group.caching, root2.group)) || this;
        }
        Stump2.prototype.removeLayer = function() {
          return this;
        };
        Stump2.prototype.merge = function(older, newer) {
          return this.parent.merge(older, newer);
        };
        return Stump2;
      }(Layer);
    }
  });

  // node_modules/@apollo/client/cache/inmemory/object-canon.js
  function shallowCopy(value) {
    if (isNonNullObject(value)) {
      return isArray(value) ? value.slice(0) : __assign({ __proto__: Object.getPrototypeOf(value) }, value);
    }
    return value;
  }
  function resetCanonicalStringify() {
    stringifyCanon = new ObjectCanon();
    stringifyCache = new (canUseWeakMap ? WeakMap : Map)();
  }
  var ObjectCanon, canonicalStringify, stringifyCanon, stringifyCache;
  var init_object_canon = __esm({
    "node_modules/@apollo/client/cache/inmemory/object-canon.js"() {
      init_tslib_es6();
      init_lib();
      init_utilities();
      init_helpers2();
      ObjectCanon = /** @class */
      function() {
        function ObjectCanon2() {
          this.known = new (canUseWeakSet ? WeakSet : Set)();
          this.pool = new Trie(canUseWeakMap);
          this.passes = /* @__PURE__ */ new WeakMap();
          this.keysByJSON = /* @__PURE__ */ new Map();
          this.empty = this.admit({});
        }
        ObjectCanon2.prototype.isKnown = function(value) {
          return isNonNullObject(value) && this.known.has(value);
        };
        ObjectCanon2.prototype.pass = function(value) {
          if (isNonNullObject(value)) {
            var copy = shallowCopy(value);
            this.passes.set(copy, value);
            return copy;
          }
          return value;
        };
        ObjectCanon2.prototype.admit = function(value) {
          var _this = this;
          if (isNonNullObject(value)) {
            var original = this.passes.get(value);
            if (original)
              return original;
            var proto = Object.getPrototypeOf(value);
            switch (proto) {
              case Array.prototype: {
                if (this.known.has(value))
                  return value;
                var array = value.map(this.admit, this);
                var node = this.pool.lookupArray(array);
                if (!node.array) {
                  this.known.add(node.array = array);
                  if (false) {
                    Object.freeze(array);
                  }
                }
                return node.array;
              }
              case null:
              case Object.prototype: {
                if (this.known.has(value))
                  return value;
                var proto_1 = Object.getPrototypeOf(value);
                var array_1 = [proto_1];
                var keys = this.sortedKeys(value);
                array_1.push(keys.json);
                var firstValueIndex_1 = array_1.length;
                keys.sorted.forEach(function(key) {
                  array_1.push(_this.admit(value[key]));
                });
                var node = this.pool.lookupArray(array_1);
                if (!node.object) {
                  var obj_1 = node.object = Object.create(proto_1);
                  this.known.add(obj_1);
                  keys.sorted.forEach(function(key, i) {
                    obj_1[key] = array_1[firstValueIndex_1 + i];
                  });
                  if (false) {
                    Object.freeze(obj_1);
                  }
                }
                return node.object;
              }
            }
          }
          return value;
        };
        ObjectCanon2.prototype.sortedKeys = function(obj) {
          var keys = Object.keys(obj);
          var node = this.pool.lookupArray(keys);
          if (!node.keys) {
            keys.sort();
            var json = JSON.stringify(keys);
            if (!(node.keys = this.keysByJSON.get(json))) {
              this.keysByJSON.set(json, node.keys = { sorted: keys, json });
            }
          }
          return node.keys;
        };
        return ObjectCanon2;
      }();
      canonicalStringify = Object.assign(function(value) {
        if (isNonNullObject(value)) {
          if (stringifyCanon === void 0) {
            resetCanonicalStringify();
          }
          var canonical = stringifyCanon.admit(value);
          var json = stringifyCache.get(canonical);
          if (json === void 0) {
            stringifyCache.set(canonical, json = JSON.stringify(canonical));
          }
          return json;
        }
        return JSON.stringify(value);
      }, {
        reset: resetCanonicalStringify
      });
    }
  });

  // node_modules/@apollo/client/cache/inmemory/readFromStore.js
  function execSelectionSetKeyArgs(options) {
    return [
      options.selectionSet,
      options.objectOrReference,
      options.context,
      // We split out this property so we can pass different values
      // independently without modifying options.context itself.
      options.context.canonizeResults
    ];
  }
  function firstMissing(tree) {
    try {
      JSON.stringify(tree, function(_, value) {
        if (typeof value === "string")
          throw value;
        return value;
      });
    } catch (result2) {
      return result2;
    }
  }
  var StoreReader;
  var init_readFromStore = __esm({
    "node_modules/@apollo/client/cache/inmemory/readFromStore.js"() {
      init_tslib_es6();
      init_globals();
      init_graphql();
      init_lib6();
      init_utilities();
      init_entityStore();
      init_helpers2();
      init_common();
      init_object_canon();
      StoreReader = /** @class */
      function() {
        function StoreReader2(config) {
          var _this = this;
          this.knownResults = new (canUseWeakMap ? WeakMap : Map)();
          this.config = compact(config, {
            addTypename: config.addTypename !== false,
            canonizeResults: shouldCanonizeResults(config)
          });
          this.canon = config.canon || new ObjectCanon();
          this.executeSelectionSet = wrap3(function(options) {
            var _a2;
            var canonizeResults = options.context.canonizeResults;
            var peekArgs = execSelectionSetKeyArgs(options);
            peekArgs[3] = !canonizeResults;
            var other = (_a2 = _this.executeSelectionSet).peek.apply(_a2, peekArgs);
            if (other) {
              if (canonizeResults) {
                return __assign(__assign({}, other), {
                  // If we previously read this result without canonizing it, we can
                  // reuse that result simply by canonizing it now.
                  result: _this.canon.admit(other.result)
                });
              }
              return other;
            }
            maybeDependOnExistenceOfEntity(options.context.store, options.enclosingRef.__ref);
            return _this.execSelectionSetImpl(options);
          }, {
            max: this.config.resultCacheMaxSize,
            keyArgs: execSelectionSetKeyArgs,
            // Note that the parameters of makeCacheKey are determined by the
            // array returned by keyArgs.
            makeCacheKey: function(selectionSet, parent, context, canonizeResults) {
              if (supportsResultCaching(context.store)) {
                return context.store.makeCacheKey(selectionSet, isReference(parent) ? parent.__ref : parent, context.varString, canonizeResults);
              }
            }
          });
          this.executeSubSelectedArray = wrap3(function(options) {
            maybeDependOnExistenceOfEntity(options.context.store, options.enclosingRef.__ref);
            return _this.execSubSelectedArrayImpl(options);
          }, {
            max: this.config.resultCacheMaxSize,
            makeCacheKey: function(_a2) {
              var field = _a2.field, array = _a2.array, context = _a2.context;
              if (supportsResultCaching(context.store)) {
                return context.store.makeCacheKey(field, array, context.varString);
              }
            }
          });
        }
        StoreReader2.prototype.resetCanon = function() {
          this.canon = new ObjectCanon();
        };
        StoreReader2.prototype.diffQueryAgainstStore = function(_a2) {
          var store = _a2.store, query = _a2.query, _b = _a2.rootId, rootId = _b === void 0 ? "ROOT_QUERY" : _b, variables = _a2.variables, _c = _a2.returnPartialData, returnPartialData = _c === void 0 ? true : _c, _d = _a2.canonizeResults, canonizeResults = _d === void 0 ? this.config.canonizeResults : _d;
          var policies = this.config.cache.policies;
          variables = __assign(__assign({}, getDefaultValues(getQueryDefinition(query))), variables);
          var rootRef = makeReference(rootId);
          var execResult = this.executeSelectionSet({
            selectionSet: getMainDefinition(query).selectionSet,
            objectOrReference: rootRef,
            enclosingRef: rootRef,
            context: __assign({ store, query, policies, variables, varString: canonicalStringify(variables), canonizeResults }, extractFragmentContext(query, this.config.fragments))
          });
          var missing;
          if (execResult.missing) {
            missing = [
              new MissingFieldError(firstMissing(execResult.missing), execResult.missing, query, variables)
            ];
            if (!returnPartialData) {
              throw missing[0];
            }
          }
          return {
            result: execResult.result,
            complete: !missing,
            missing
          };
        };
        StoreReader2.prototype.isFresh = function(result2, parent, selectionSet, context) {
          if (supportsResultCaching(context.store) && this.knownResults.get(result2) === selectionSet) {
            var latest = this.executeSelectionSet.peek(
              selectionSet,
              parent,
              context,
              // If result is canonical, then it could only have been previously
              // cached by the canonizing version of executeSelectionSet, so we can
              // avoid checking both possibilities here.
              this.canon.isKnown(result2)
            );
            if (latest && result2 === latest.result) {
              return true;
            }
          }
          return false;
        };
        StoreReader2.prototype.execSelectionSetImpl = function(_a2) {
          var _this = this;
          var selectionSet = _a2.selectionSet, objectOrReference = _a2.objectOrReference, enclosingRef = _a2.enclosingRef, context = _a2.context;
          if (isReference(objectOrReference) && !context.policies.rootTypenamesById[objectOrReference.__ref] && !context.store.has(objectOrReference.__ref)) {
            return {
              result: this.canon.empty,
              missing: "Dangling reference to missing ".concat(objectOrReference.__ref, " object")
            };
          }
          var variables = context.variables, policies = context.policies, store = context.store;
          var typename = store.getFieldValue(objectOrReference, "__typename");
          var objectsToMerge = [];
          var missing;
          var missingMerger = new DeepMerger();
          if (this.config.addTypename && typeof typename === "string" && !policies.rootIdsByTypename[typename]) {
            objectsToMerge.push({ __typename: typename });
          }
          function handleMissing(result3, resultName) {
            var _a3;
            if (result3.missing) {
              missing = missingMerger.merge(missing, (_a3 = {}, _a3[resultName] = result3.missing, _a3));
            }
            return result3.result;
          }
          var workSet = new Set(selectionSet.selections);
          workSet.forEach(function(selection) {
            var _a3, _b;
            if (!shouldInclude(selection, variables))
              return;
            if (isField(selection)) {
              var fieldValue = policies.readField({
                fieldName: selection.name.value,
                field: selection,
                variables: context.variables,
                from: objectOrReference
              }, context);
              var resultName = resultKeyNameFromField(selection);
              if (fieldValue === void 0) {
                if (!addTypenameToDocument.added(selection)) {
                  missing = missingMerger.merge(missing, (_a3 = {}, _a3[resultName] = "Can't find field '".concat(selection.name.value, "' on ").concat(isReference(objectOrReference) ? objectOrReference.__ref + " object" : "object " + JSON.stringify(objectOrReference, null, 2)), _a3));
                }
              } else if (isArray(fieldValue)) {
                fieldValue = handleMissing(_this.executeSubSelectedArray({
                  field: selection,
                  array: fieldValue,
                  enclosingRef,
                  context
                }), resultName);
              } else if (!selection.selectionSet) {
                if (context.canonizeResults) {
                  fieldValue = _this.canon.pass(fieldValue);
                }
              } else if (fieldValue != null) {
                fieldValue = handleMissing(_this.executeSelectionSet({
                  selectionSet: selection.selectionSet,
                  objectOrReference: fieldValue,
                  enclosingRef: isReference(fieldValue) ? fieldValue : enclosingRef,
                  context
                }), resultName);
              }
              if (fieldValue !== void 0) {
                objectsToMerge.push((_b = {}, _b[resultName] = fieldValue, _b));
              }
            } else {
              var fragment = getFragmentFromSelection(selection, context.lookupFragment);
              if (!fragment && selection.kind === Kind.FRAGMENT_SPREAD) {
                throw newInvariantError(9, selection.name.value);
              }
              if (fragment && policies.fragmentMatches(fragment, typename)) {
                fragment.selectionSet.selections.forEach(workSet.add, workSet);
              }
            }
          });
          var result2 = mergeDeepArray(objectsToMerge);
          var finalResult = { result: result2, missing };
          var frozen = context.canonizeResults ? this.canon.admit(finalResult) : maybeDeepFreeze(finalResult);
          if (frozen.result) {
            this.knownResults.set(frozen.result, selectionSet);
          }
          return frozen;
        };
        StoreReader2.prototype.execSubSelectedArrayImpl = function(_a2) {
          var _this = this;
          var field = _a2.field, array = _a2.array, enclosingRef = _a2.enclosingRef, context = _a2.context;
          var missing;
          var missingMerger = new DeepMerger();
          function handleMissing(childResult, i) {
            var _a3;
            if (childResult.missing) {
              missing = missingMerger.merge(missing, (_a3 = {}, _a3[i] = childResult.missing, _a3));
            }
            return childResult.result;
          }
          if (field.selectionSet) {
            array = array.filter(context.store.canRead);
          }
          array = array.map(function(item, i) {
            if (item === null) {
              return null;
            }
            if (isArray(item)) {
              return handleMissing(_this.executeSubSelectedArray({
                field,
                array: item,
                enclosingRef,
                context
              }), i);
            }
            if (field.selectionSet) {
              return handleMissing(_this.executeSelectionSet({
                selectionSet: field.selectionSet,
                objectOrReference: item,
                enclosingRef: isReference(item) ? item : enclosingRef,
                context
              }), i);
            }
            if (false) {
              assertSelectionSetForIdValue(context.store, field, item);
            }
            return item;
          });
          return {
            result: context.canonizeResults ? this.canon.admit(array) : array,
            missing
          };
        };
        return StoreReader2;
      }();
    }
  });

  // node_modules/@apollo/client/cache/inmemory/reactiveVars.js
  function getCacheInfo(cache) {
    var info = cacheInfoMap.get(cache);
    if (!info) {
      cacheInfoMap.set(cache, info = {
        vars: /* @__PURE__ */ new Set(),
        dep: dep()
      });
    }
    return info;
  }
  function forgetCache(cache) {
    getCacheInfo(cache).vars.forEach(function(rv) {
      return rv.forgetCache(cache);
    });
  }
  function recallCache(cache) {
    getCacheInfo(cache).vars.forEach(function(rv) {
      return rv.attachCache(cache);
    });
  }
  function makeVar(value) {
    var caches2 = /* @__PURE__ */ new Set();
    var listeners = /* @__PURE__ */ new Set();
    var rv = function(newValue) {
      if (arguments.length > 0) {
        if (value !== newValue) {
          value = newValue;
          caches2.forEach(function(cache2) {
            getCacheInfo(cache2).dep.dirty(rv);
            broadcast(cache2);
          });
          var oldListeners = Array.from(listeners);
          listeners.clear();
          oldListeners.forEach(function(listener) {
            return listener(value);
          });
        }
      } else {
        var cache = cacheSlot.getValue();
        if (cache) {
          attach(cache);
          getCacheInfo(cache).dep(rv);
        }
      }
      return value;
    };
    rv.onNextChange = function(listener) {
      listeners.add(listener);
      return function() {
        listeners.delete(listener);
      };
    };
    var attach = rv.attachCache = function(cache) {
      caches2.add(cache);
      getCacheInfo(cache).vars.add(rv);
      return rv;
    };
    rv.forgetCache = function(cache) {
      return caches2.delete(cache);
    };
    return rv;
  }
  function broadcast(cache) {
    if (cache.broadcastWatches) {
      cache.broadcastWatches();
    }
  }
  var cacheSlot, cacheInfoMap;
  var init_reactiveVars = __esm({
    "node_modules/@apollo/client/cache/inmemory/reactiveVars.js"() {
      init_lib6();
      cacheSlot = new Slot();
      cacheInfoMap = /* @__PURE__ */ new WeakMap();
    }
  });

  // node_modules/@apollo/client/cache/inmemory/key-extractor.js
  function lookupSpecifierInfo(spec) {
    var cacheKey = JSON.stringify(spec);
    return specifierInfoCache[cacheKey] || (specifierInfoCache[cacheKey] = /* @__PURE__ */ Object.create(null));
  }
  function keyFieldsFnFromSpecifier(specifier) {
    var info = lookupSpecifierInfo(specifier);
    return info.keyFieldsFn || (info.keyFieldsFn = function(object, context) {
      var extract = function(from, key) {
        return context.readField(key, from);
      };
      var keyObject = context.keyObject = collectSpecifierPaths(specifier, function(schemaKeyPath) {
        var extracted = extractKeyPath(
          context.storeObject,
          schemaKeyPath,
          // Using context.readField to extract paths from context.storeObject
          // allows the extraction to see through Reference objects and respect
          // custom read functions.
          extract
        );
        if (extracted === void 0 && object !== context.storeObject && hasOwn.call(object, schemaKeyPath[0])) {
          extracted = extractKeyPath(object, schemaKeyPath, extractKey);
        }
        invariant2(extracted !== void 0, 4, schemaKeyPath.join("."), object);
        return extracted;
      });
      return "".concat(context.typename, ":").concat(JSON.stringify(keyObject));
    });
  }
  function keyArgsFnFromSpecifier(specifier) {
    var info = lookupSpecifierInfo(specifier);
    return info.keyArgsFn || (info.keyArgsFn = function(args, _a2) {
      var field = _a2.field, variables = _a2.variables, fieldName = _a2.fieldName;
      var collected = collectSpecifierPaths(specifier, function(keyPath) {
        var firstKey = keyPath[0];
        var firstChar = firstKey.charAt(0);
        if (firstChar === "@") {
          if (field && isNonEmptyArray(field.directives)) {
            var directiveName_1 = firstKey.slice(1);
            var d = field.directives.find(function(d2) {
              return d2.name.value === directiveName_1;
            });
            var directiveArgs = d && argumentsObjectFromField(d, variables);
            return directiveArgs && extractKeyPath(
              directiveArgs,
              // If keyPath.length === 1, this code calls extractKeyPath with an
              // empty path, which works because it uses directiveArgs as the
              // extracted value.
              keyPath.slice(1)
            );
          }
          return;
        }
        if (firstChar === "$") {
          var variableName = firstKey.slice(1);
          if (variables && hasOwn.call(variables, variableName)) {
            var varKeyPath = keyPath.slice(0);
            varKeyPath[0] = variableName;
            return extractKeyPath(variables, varKeyPath);
          }
          return;
        }
        if (args) {
          return extractKeyPath(args, keyPath);
        }
      });
      var suffix = JSON.stringify(collected);
      if (args || suffix !== "{}") {
        fieldName += ":" + suffix;
      }
      return fieldName;
    });
  }
  function collectSpecifierPaths(specifier, extractor) {
    var merger = new DeepMerger();
    return getSpecifierPaths(specifier).reduce(function(collected, path) {
      var _a2;
      var toMerge = extractor(path);
      if (toMerge !== void 0) {
        for (var i = path.length - 1; i >= 0; --i) {
          toMerge = (_a2 = {}, _a2[path[i]] = toMerge, _a2);
        }
        collected = merger.merge(collected, toMerge);
      }
      return collected;
    }, /* @__PURE__ */ Object.create(null));
  }
  function getSpecifierPaths(spec) {
    var info = lookupSpecifierInfo(spec);
    if (!info.paths) {
      var paths_1 = info.paths = [];
      var currentPath_1 = [];
      spec.forEach(function(s, i) {
        if (isArray(s)) {
          getSpecifierPaths(s).forEach(function(p) {
            return paths_1.push(currentPath_1.concat(p));
          });
          currentPath_1.length = 0;
        } else {
          currentPath_1.push(s);
          if (!isArray(spec[i + 1])) {
            paths_1.push(currentPath_1.slice(0));
            currentPath_1.length = 0;
          }
        }
      });
    }
    return info.paths;
  }
  function extractKey(object, key) {
    return object[key];
  }
  function extractKeyPath(object, path, extract) {
    extract = extract || extractKey;
    return normalize(path.reduce(function reducer(obj, key) {
      return isArray(obj) ? obj.map(function(child) {
        return reducer(child, key);
      }) : obj && extract(obj, key);
    }, object));
  }
  function normalize(value) {
    if (isNonNullObject(value)) {
      if (isArray(value)) {
        return value.map(normalize);
      }
      return collectSpecifierPaths(Object.keys(value).sort(), function(path) {
        return extractKeyPath(value, path);
      });
    }
    return value;
  }
  var specifierInfoCache;
  var init_key_extractor = __esm({
    "node_modules/@apollo/client/cache/inmemory/key-extractor.js"() {
      init_globals();
      init_utilities();
      init_helpers2();
      specifierInfoCache = /* @__PURE__ */ Object.create(null);
    }
  });

  // node_modules/@apollo/client/cache/inmemory/policies.js
  function argsFromFieldSpecifier(spec) {
    return spec.args !== void 0 ? spec.args : spec.field ? argumentsObjectFromField(spec.field, spec.variables) : null;
  }
  function makeFieldFunctionOptions(policies, objectOrReference, fieldSpec, context, storage) {
    var storeFieldName = policies.getStoreFieldName(fieldSpec);
    var fieldName = fieldNameFromStoreName(storeFieldName);
    var variables = fieldSpec.variables || context.variables;
    var _a2 = context.store, toReference = _a2.toReference, canRead = _a2.canRead;
    return {
      args: argsFromFieldSpecifier(fieldSpec),
      field: fieldSpec.field || null,
      fieldName,
      storeFieldName,
      variables,
      isReference,
      toReference,
      storage,
      cache: policies.cache,
      canRead,
      readField: function() {
        return policies.readField(normalizeReadFieldOptions(arguments, objectOrReference, variables), context);
      },
      mergeObjects: makeMergeObjectsFunction(context.store)
    };
  }
  function normalizeReadFieldOptions(readFieldArgs, objectOrReference, variables) {
    var fieldNameOrOptions = readFieldArgs[0], from = readFieldArgs[1], argc = readFieldArgs.length;
    var options;
    if (typeof fieldNameOrOptions === "string") {
      options = {
        fieldName: fieldNameOrOptions,
        // Default to objectOrReference only when no second argument was
        // passed for the from parameter, not when undefined is explicitly
        // passed as the second argument.
        from: argc > 1 ? from : objectOrReference
      };
    } else {
      options = __assign({}, fieldNameOrOptions);
      if (!hasOwn.call(options, "from")) {
        options.from = objectOrReference;
      }
    }
    if (false) {
    }
    if (void 0 === options.variables) {
      options.variables = variables;
    }
    return options;
  }
  function makeMergeObjectsFunction(store) {
    return function mergeObjects(existing, incoming) {
      if (isArray(existing) || isArray(incoming)) {
        throw newInvariantError(8);
      }
      if (isNonNullObject(existing) && isNonNullObject(incoming)) {
        var eType = store.getFieldValue(existing, "__typename");
        var iType = store.getFieldValue(incoming, "__typename");
        var typesDiffer = eType && iType && eType !== iType;
        if (typesDiffer) {
          return incoming;
        }
        if (isReference(existing) && storeValueIsStoreObject(incoming)) {
          store.merge(existing.__ref, incoming);
          return existing;
        }
        if (storeValueIsStoreObject(existing) && isReference(incoming)) {
          store.merge(existing, incoming.__ref);
          return incoming;
        }
        if (storeValueIsStoreObject(existing) && storeValueIsStoreObject(incoming)) {
          return __assign(__assign({}, existing), incoming);
        }
      }
      return incoming;
    };
  }
  var nullKeyFieldsFn, simpleKeyArgsFn, mergeTrueFn, mergeFalseFn, Policies;
  var init_policies = __esm({
    "node_modules/@apollo/client/cache/inmemory/policies.js"() {
      init_tslib_es6();
      init_globals();
      init_utilities();
      init_helpers2();
      init_reactiveVars();
      init_object_canon();
      init_key_extractor();
      getStoreKeyName.setStringify(canonicalStringify);
      nullKeyFieldsFn = function() {
        return void 0;
      };
      simpleKeyArgsFn = function(_args, context) {
        return context.fieldName;
      };
      mergeTrueFn = function(existing, incoming, _a2) {
        var mergeObjects = _a2.mergeObjects;
        return mergeObjects(existing, incoming);
      };
      mergeFalseFn = function(_, incoming) {
        return incoming;
      };
      Policies = /** @class */
      function() {
        function Policies2(config) {
          this.config = config;
          this.typePolicies = /* @__PURE__ */ Object.create(null);
          this.toBeAdded = /* @__PURE__ */ Object.create(null);
          this.supertypeMap = /* @__PURE__ */ new Map();
          this.fuzzySubtypes = /* @__PURE__ */ new Map();
          this.rootIdsByTypename = /* @__PURE__ */ Object.create(null);
          this.rootTypenamesById = /* @__PURE__ */ Object.create(null);
          this.usingPossibleTypes = false;
          this.config = __assign({ dataIdFromObject: defaultDataIdFromObject }, config);
          this.cache = this.config.cache;
          this.setRootTypename("Query");
          this.setRootTypename("Mutation");
          this.setRootTypename("Subscription");
          if (config.possibleTypes) {
            this.addPossibleTypes(config.possibleTypes);
          }
          if (config.typePolicies) {
            this.addTypePolicies(config.typePolicies);
          }
        }
        Policies2.prototype.identify = function(object, partialContext) {
          var _a2;
          var policies = this;
          var typename = partialContext && (partialContext.typename || ((_a2 = partialContext.storeObject) === null || _a2 === void 0 ? void 0 : _a2.__typename)) || object.__typename;
          if (typename === this.rootTypenamesById.ROOT_QUERY) {
            return ["ROOT_QUERY"];
          }
          var storeObject = partialContext && partialContext.storeObject || object;
          var context = __assign(__assign({}, partialContext), { typename, storeObject, readField: partialContext && partialContext.readField || function() {
            var options = normalizeReadFieldOptions(arguments, storeObject);
            return policies.readField(options, {
              store: policies.cache["data"],
              variables: options.variables
            });
          } });
          var id;
          var policy = typename && this.getTypePolicy(typename);
          var keyFn = policy && policy.keyFn || this.config.dataIdFromObject;
          while (keyFn) {
            var specifierOrId = keyFn(__assign(__assign({}, object), storeObject), context);
            if (isArray(specifierOrId)) {
              keyFn = keyFieldsFnFromSpecifier(specifierOrId);
            } else {
              id = specifierOrId;
              break;
            }
          }
          id = id ? String(id) : void 0;
          return context.keyObject ? [id, context.keyObject] : [id];
        };
        Policies2.prototype.addTypePolicies = function(typePolicies) {
          var _this = this;
          Object.keys(typePolicies).forEach(function(typename) {
            var _a2 = typePolicies[typename], queryType = _a2.queryType, mutationType = _a2.mutationType, subscriptionType = _a2.subscriptionType, incoming = __rest(_a2, ["queryType", "mutationType", "subscriptionType"]);
            if (queryType)
              _this.setRootTypename("Query", typename);
            if (mutationType)
              _this.setRootTypename("Mutation", typename);
            if (subscriptionType)
              _this.setRootTypename("Subscription", typename);
            if (hasOwn.call(_this.toBeAdded, typename)) {
              _this.toBeAdded[typename].push(incoming);
            } else {
              _this.toBeAdded[typename] = [incoming];
            }
          });
        };
        Policies2.prototype.updateTypePolicy = function(typename, incoming) {
          var _this = this;
          var existing = this.getTypePolicy(typename);
          var keyFields = incoming.keyFields, fields = incoming.fields;
          function setMerge(existing2, merge4) {
            existing2.merge = typeof merge4 === "function" ? merge4 : merge4 === true ? mergeTrueFn : merge4 === false ? mergeFalseFn : existing2.merge;
          }
          setMerge(existing, incoming.merge);
          existing.keyFn = // Pass false to disable normalization for this typename.
          keyFields === false ? nullKeyFieldsFn : isArray(keyFields) ? keyFieldsFnFromSpecifier(keyFields) : typeof keyFields === "function" ? keyFields : existing.keyFn;
          if (fields) {
            Object.keys(fields).forEach(function(fieldName) {
              var existing2 = _this.getFieldPolicy(typename, fieldName, true);
              var incoming2 = fields[fieldName];
              if (typeof incoming2 === "function") {
                existing2.read = incoming2;
              } else {
                var keyArgs = incoming2.keyArgs, read = incoming2.read, merge4 = incoming2.merge;
                existing2.keyFn = // Pass false to disable argument-based differentiation of
                // field identities.
                keyArgs === false ? simpleKeyArgsFn : isArray(keyArgs) ? keyArgsFnFromSpecifier(keyArgs) : typeof keyArgs === "function" ? keyArgs : existing2.keyFn;
                if (typeof read === "function") {
                  existing2.read = read;
                }
                setMerge(existing2, merge4);
              }
              if (existing2.read && existing2.merge) {
                existing2.keyFn = existing2.keyFn || simpleKeyArgsFn;
              }
            });
          }
        };
        Policies2.prototype.setRootTypename = function(which, typename) {
          if (typename === void 0) {
            typename = which;
          }
          var rootId = "ROOT_" + which.toUpperCase();
          var old = this.rootTypenamesById[rootId];
          if (typename !== old) {
            invariant2(!old || old === which, 5, which);
            if (old)
              delete this.rootIdsByTypename[old];
            this.rootIdsByTypename[typename] = rootId;
            this.rootTypenamesById[rootId] = typename;
          }
        };
        Policies2.prototype.addPossibleTypes = function(possibleTypes) {
          var _this = this;
          this.usingPossibleTypes = true;
          Object.keys(possibleTypes).forEach(function(supertype) {
            _this.getSupertypeSet(supertype, true);
            possibleTypes[supertype].forEach(function(subtype) {
              _this.getSupertypeSet(subtype, true).add(supertype);
              var match = subtype.match(TypeOrFieldNameRegExp);
              if (!match || match[0] !== subtype) {
                _this.fuzzySubtypes.set(subtype, new RegExp(subtype));
              }
            });
          });
        };
        Policies2.prototype.getTypePolicy = function(typename) {
          var _this = this;
          if (!hasOwn.call(this.typePolicies, typename)) {
            var policy_1 = this.typePolicies[typename] = /* @__PURE__ */ Object.create(null);
            policy_1.fields = /* @__PURE__ */ Object.create(null);
            var supertypes_1 = this.supertypeMap.get(typename);
            if (!supertypes_1 && this.fuzzySubtypes.size) {
              supertypes_1 = this.getSupertypeSet(typename, true);
              this.fuzzySubtypes.forEach(function(regExp, fuzzy) {
                if (regExp.test(typename)) {
                  var fuzzySupertypes = _this.supertypeMap.get(fuzzy);
                  if (fuzzySupertypes) {
                    fuzzySupertypes.forEach(function(supertype) {
                      return supertypes_1.add(supertype);
                    });
                  }
                }
              });
            }
            if (supertypes_1 && supertypes_1.size) {
              supertypes_1.forEach(function(supertype) {
                var _a2 = _this.getTypePolicy(supertype), fields = _a2.fields, rest = __rest(_a2, ["fields"]);
                Object.assign(policy_1, rest);
                Object.assign(policy_1.fields, fields);
              });
            }
          }
          var inbox = this.toBeAdded[typename];
          if (inbox && inbox.length) {
            inbox.splice(0).forEach(function(policy) {
              _this.updateTypePolicy(typename, policy);
            });
          }
          return this.typePolicies[typename];
        };
        Policies2.prototype.getFieldPolicy = function(typename, fieldName, createIfMissing) {
          if (typename) {
            var fieldPolicies = this.getTypePolicy(typename).fields;
            return fieldPolicies[fieldName] || createIfMissing && (fieldPolicies[fieldName] = /* @__PURE__ */ Object.create(null));
          }
        };
        Policies2.prototype.getSupertypeSet = function(subtype, createIfMissing) {
          var supertypeSet = this.supertypeMap.get(subtype);
          if (!supertypeSet && createIfMissing) {
            this.supertypeMap.set(subtype, supertypeSet = /* @__PURE__ */ new Set());
          }
          return supertypeSet;
        };
        Policies2.prototype.fragmentMatches = function(fragment, typename, result2, variables) {
          var _this = this;
          if (!fragment.typeCondition)
            return true;
          if (!typename)
            return false;
          var supertype = fragment.typeCondition.name.value;
          if (typename === supertype)
            return true;
          if (this.usingPossibleTypes && this.supertypeMap.has(supertype)) {
            var typenameSupertypeSet = this.getSupertypeSet(typename, true);
            var workQueue_1 = [typenameSupertypeSet];
            var maybeEnqueue_1 = function(subtype) {
              var supertypeSet2 = _this.getSupertypeSet(subtype, false);
              if (supertypeSet2 && supertypeSet2.size && workQueue_1.indexOf(supertypeSet2) < 0) {
                workQueue_1.push(supertypeSet2);
              }
            };
            var needToCheckFuzzySubtypes = !!(result2 && this.fuzzySubtypes.size);
            var checkingFuzzySubtypes = false;
            for (var i = 0; i < workQueue_1.length; ++i) {
              var supertypeSet = workQueue_1[i];
              if (supertypeSet.has(supertype)) {
                if (!typenameSupertypeSet.has(supertype)) {
                  if (checkingFuzzySubtypes) {
                  }
                  typenameSupertypeSet.add(supertype);
                }
                return true;
              }
              supertypeSet.forEach(maybeEnqueue_1);
              if (needToCheckFuzzySubtypes && // Start checking fuzzy subtypes only after exhausting all
              // non-fuzzy subtypes (after the final iteration of the loop).
              i === workQueue_1.length - 1 && // We could wait to compare fragment.selectionSet to result
              // after we verify the supertype, but this check is often less
              // expensive than that search, and we will have to do the
              // comparison anyway whenever we find a potential match.
              selectionSetMatchesResult(fragment.selectionSet, result2, variables)) {
                needToCheckFuzzySubtypes = false;
                checkingFuzzySubtypes = true;
                this.fuzzySubtypes.forEach(function(regExp, fuzzyString) {
                  var match = typename.match(regExp);
                  if (match && match[0] === typename) {
                    maybeEnqueue_1(fuzzyString);
                  }
                });
              }
            }
          }
          return false;
        };
        Policies2.prototype.hasKeyArgs = function(typename, fieldName) {
          var policy = this.getFieldPolicy(typename, fieldName, false);
          return !!(policy && policy.keyFn);
        };
        Policies2.prototype.getStoreFieldName = function(fieldSpec) {
          var typename = fieldSpec.typename, fieldName = fieldSpec.fieldName;
          var policy = this.getFieldPolicy(typename, fieldName, false);
          var storeFieldName;
          var keyFn = policy && policy.keyFn;
          if (keyFn && typename) {
            var context = {
              typename,
              fieldName,
              field: fieldSpec.field || null,
              variables: fieldSpec.variables
            };
            var args = argsFromFieldSpecifier(fieldSpec);
            while (keyFn) {
              var specifierOrString = keyFn(args, context);
              if (isArray(specifierOrString)) {
                keyFn = keyArgsFnFromSpecifier(specifierOrString);
              } else {
                storeFieldName = specifierOrString || fieldName;
                break;
              }
            }
          }
          if (storeFieldName === void 0) {
            storeFieldName = fieldSpec.field ? storeKeyNameFromField(fieldSpec.field, fieldSpec.variables) : getStoreKeyName(fieldName, argsFromFieldSpecifier(fieldSpec));
          }
          if (storeFieldName === false) {
            return fieldName;
          }
          return fieldName === fieldNameFromStoreName(storeFieldName) ? storeFieldName : fieldName + ":" + storeFieldName;
        };
        Policies2.prototype.readField = function(options, context) {
          var objectOrReference = options.from;
          if (!objectOrReference)
            return;
          var nameOrField = options.field || options.fieldName;
          if (!nameOrField)
            return;
          if (options.typename === void 0) {
            var typename = context.store.getFieldValue(objectOrReference, "__typename");
            if (typename)
              options.typename = typename;
          }
          var storeFieldName = this.getStoreFieldName(options);
          var fieldName = fieldNameFromStoreName(storeFieldName);
          var existing = context.store.getFieldValue(objectOrReference, storeFieldName);
          var policy = this.getFieldPolicy(options.typename, fieldName, false);
          var read = policy && policy.read;
          if (read) {
            var readOptions = makeFieldFunctionOptions(this, objectOrReference, options, context, context.store.getStorage(isReference(objectOrReference) ? objectOrReference.__ref : objectOrReference, storeFieldName));
            return cacheSlot.withValue(this.cache, read, [
              existing,
              readOptions
            ]);
          }
          return existing;
        };
        Policies2.prototype.getReadFunction = function(typename, fieldName) {
          var policy = this.getFieldPolicy(typename, fieldName, false);
          return policy && policy.read;
        };
        Policies2.prototype.getMergeFunction = function(parentTypename, fieldName, childTypename) {
          var policy = this.getFieldPolicy(parentTypename, fieldName, false);
          var merge4 = policy && policy.merge;
          if (!merge4 && childTypename) {
            policy = this.getTypePolicy(childTypename);
            merge4 = policy && policy.merge;
          }
          return merge4;
        };
        Policies2.prototype.runMergeFunction = function(existing, incoming, _a2, context, storage) {
          var field = _a2.field, typename = _a2.typename, merge4 = _a2.merge;
          if (merge4 === mergeTrueFn) {
            return makeMergeObjectsFunction(context.store)(existing, incoming);
          }
          if (merge4 === mergeFalseFn) {
            return incoming;
          }
          if (context.overwrite) {
            existing = void 0;
          }
          return merge4(existing, incoming, makeFieldFunctionOptions(
            this,
            // Unlike options.readField for read functions, we do not fall
            // back to the current object if no foreignObjOrRef is provided,
            // because it's not clear what the current object should be for
            // merge functions: the (possibly undefined) existing object, or
            // the incoming object? If you think your merge function needs
            // to read sibling fields in order to produce a new value for
            // the current field, you might want to rethink your strategy,
            // because that's a recipe for making merge behavior sensitive
            // to the order in which fields are written into the cache.
            // However, readField(name, ref) is useful for merge functions
            // that need to deduplicate child objects and references.
            void 0,
            {
              typename,
              fieldName: field.name.value,
              field,
              variables: context.variables
            },
            context,
            storage || /* @__PURE__ */ Object.create(null)
          ));
        };
        return Policies2;
      }();
    }
  });

  // node_modules/@apollo/client/cache/inmemory/writeToStore.js
  function getContextFlavor(context, clientOnly, deferred) {
    var key = "".concat(clientOnly).concat(deferred);
    var flavored = context.flavors.get(key);
    if (!flavored) {
      context.flavors.set(key, flavored = context.clientOnly === clientOnly && context.deferred === deferred ? context : __assign(__assign({}, context), { clientOnly, deferred }));
    }
    return flavored;
  }
  function getChildMergeTree(_a2, name) {
    var map = _a2.map;
    if (!map.has(name)) {
      map.set(name, emptyMergeTreePool.pop() || { map: /* @__PURE__ */ new Map() });
    }
    return map.get(name);
  }
  function mergeMergeTrees(left, right) {
    if (left === right || !right || mergeTreeIsEmpty(right))
      return left;
    if (!left || mergeTreeIsEmpty(left))
      return right;
    var info = left.info && right.info ? __assign(__assign({}, left.info), right.info) : left.info || right.info;
    var needToMergeMaps = left.map.size && right.map.size;
    var map = needToMergeMaps ? /* @__PURE__ */ new Map() : left.map.size ? left.map : right.map;
    var merged = { info, map };
    if (needToMergeMaps) {
      var remainingRightKeys_1 = new Set(right.map.keys());
      left.map.forEach(function(leftTree, key) {
        merged.map.set(key, mergeMergeTrees(leftTree, right.map.get(key)));
        remainingRightKeys_1.delete(key);
      });
      remainingRightKeys_1.forEach(function(key) {
        merged.map.set(key, mergeMergeTrees(right.map.get(key), left.map.get(key)));
      });
    }
    return merged;
  }
  function mergeTreeIsEmpty(tree) {
    return !tree || !(tree.info || tree.map.size);
  }
  function maybeRecycleChildMergeTree(_a2, name) {
    var map = _a2.map;
    var childTree = map.get(name);
    if (childTree && mergeTreeIsEmpty(childTree)) {
      emptyMergeTreePool.push(childTree);
      map.delete(name);
    }
  }
  var StoreWriter, emptyMergeTreePool;
  var init_writeToStore = __esm({
    "node_modules/@apollo/client/cache/inmemory/writeToStore.js"() {
      init_tslib_es6();
      init_globals();
      init_lib2();
      init_lib();
      init_graphql();
      init_utilities();
      init_helpers2();
      init_object_canon();
      init_policies();
      StoreWriter = /** @class */
      function() {
        function StoreWriter2(cache, reader, fragments) {
          this.cache = cache;
          this.reader = reader;
          this.fragments = fragments;
        }
        StoreWriter2.prototype.writeToStore = function(store, _a2) {
          var _this = this;
          var query = _a2.query, result2 = _a2.result, dataId = _a2.dataId, variables = _a2.variables, overwrite = _a2.overwrite;
          var operationDefinition = getOperationDefinition(query);
          var merger = makeProcessedFieldsMerger();
          variables = __assign(__assign({}, getDefaultValues(operationDefinition)), variables);
          var context = __assign(__assign({ store, written: /* @__PURE__ */ Object.create(null), merge: function(existing, incoming) {
            return merger.merge(existing, incoming);
          }, variables, varString: canonicalStringify(variables) }, extractFragmentContext(query, this.fragments)), { overwrite: !!overwrite, incomingById: /* @__PURE__ */ new Map(), clientOnly: false, deferred: false, flavors: /* @__PURE__ */ new Map() });
          var ref = this.processSelectionSet({
            result: result2 || /* @__PURE__ */ Object.create(null),
            dataId,
            selectionSet: operationDefinition.selectionSet,
            mergeTree: { map: /* @__PURE__ */ new Map() },
            context
          });
          if (!isReference(ref)) {
            throw newInvariantError(11, result2);
          }
          context.incomingById.forEach(function(_a3, dataId2) {
            var storeObject = _a3.storeObject, mergeTree = _a3.mergeTree, fieldNodeSet = _a3.fieldNodeSet;
            var entityRef = makeReference(dataId2);
            if (mergeTree && mergeTree.map.size) {
              var applied = _this.applyMerges(mergeTree, entityRef, storeObject, context);
              if (isReference(applied)) {
                return;
              }
              storeObject = applied;
            }
            if (false) {
              var fieldsWithSelectionSets_1 = /* @__PURE__ */ Object.create(null);
              fieldNodeSet.forEach(function(field) {
                if (field.selectionSet) {
                  fieldsWithSelectionSets_1[field.name.value] = true;
                }
              });
              var hasSelectionSet_1 = function(storeFieldName) {
                return fieldsWithSelectionSets_1[fieldNameFromStoreName(storeFieldName)] === true;
              };
              var hasMergeFunction_1 = function(storeFieldName) {
                var childTree = mergeTree && mergeTree.map.get(storeFieldName);
                return Boolean(childTree && childTree.info && childTree.info.merge);
              };
              Object.keys(storeObject).forEach(function(storeFieldName) {
                if (hasSelectionSet_1(storeFieldName) && !hasMergeFunction_1(storeFieldName)) {
                  warnAboutDataLoss(entityRef, storeObject, storeFieldName, context.store);
                }
              });
            }
            store.merge(dataId2, storeObject);
          });
          store.retain(ref.__ref);
          return ref;
        };
        StoreWriter2.prototype.processSelectionSet = function(_a2) {
          var _this = this;
          var dataId = _a2.dataId, result2 = _a2.result, selectionSet = _a2.selectionSet, context = _a2.context, mergeTree = _a2.mergeTree;
          var policies = this.cache.policies;
          var incoming = /* @__PURE__ */ Object.create(null);
          var typename = dataId && policies.rootTypenamesById[dataId] || getTypenameFromResult(result2, selectionSet, context.fragmentMap) || dataId && context.store.get(dataId, "__typename");
          if ("string" === typeof typename) {
            incoming.__typename = typename;
          }
          var readField = function() {
            var options = normalizeReadFieldOptions(arguments, incoming, context.variables);
            if (isReference(options.from)) {
              var info = context.incomingById.get(options.from.__ref);
              if (info) {
                var result_1 = policies.readField(__assign(__assign({}, options), { from: info.storeObject }), context);
                if (result_1 !== void 0) {
                  return result_1;
                }
              }
            }
            return policies.readField(options, context);
          };
          var fieldNodeSet = /* @__PURE__ */ new Set();
          this.flattenFields(
            selectionSet,
            result2,
            // This WriteContext will be the default context value for fields returned
            // by the flattenFields method, but some fields may be assigned a modified
            // context, depending on the presence of @client and other directives.
            context,
            typename
          ).forEach(function(context2, field) {
            var _a3;
            var resultFieldKey = resultKeyNameFromField(field);
            var value = result2[resultFieldKey];
            fieldNodeSet.add(field);
            if (value !== void 0) {
              var storeFieldName = policies.getStoreFieldName({
                typename,
                fieldName: field.name.value,
                field,
                variables: context2.variables
              });
              var childTree = getChildMergeTree(mergeTree, storeFieldName);
              var incomingValue = _this.processFieldValue(
                value,
                field,
                // Reset context.clientOnly and context.deferred to their default
                // values before processing nested selection sets.
                field.selectionSet ? getContextFlavor(context2, false, false) : context2,
                childTree
              );
              var childTypename = void 0;
              if (field.selectionSet && (isReference(incomingValue) || storeValueIsStoreObject(incomingValue))) {
                childTypename = readField("__typename", incomingValue);
              }
              var merge4 = policies.getMergeFunction(typename, field.name.value, childTypename);
              if (merge4) {
                childTree.info = {
                  // TODO Check compatibility against any existing childTree.field?
                  field,
                  typename,
                  merge: merge4
                };
              } else {
                maybeRecycleChildMergeTree(mergeTree, storeFieldName);
              }
              incoming = context2.merge(incoming, (_a3 = {}, _a3[storeFieldName] = incomingValue, _a3));
            } else if (false) {
            }
          });
          try {
            var _b = policies.identify(result2, {
              typename,
              selectionSet,
              fragmentMap: context.fragmentMap,
              storeObject: incoming,
              readField
            }), id = _b[0], keyObject = _b[1];
            dataId = dataId || id;
            if (keyObject) {
              incoming = context.merge(incoming, keyObject);
            }
          } catch (e) {
            if (!dataId)
              throw e;
          }
          if ("string" === typeof dataId) {
            var dataRef = makeReference(dataId);
            var sets = context.written[dataId] || (context.written[dataId] = []);
            if (sets.indexOf(selectionSet) >= 0)
              return dataRef;
            sets.push(selectionSet);
            if (this.reader && this.reader.isFresh(result2, dataRef, selectionSet, context)) {
              return dataRef;
            }
            var previous_1 = context.incomingById.get(dataId);
            if (previous_1) {
              previous_1.storeObject = context.merge(previous_1.storeObject, incoming);
              previous_1.mergeTree = mergeMergeTrees(previous_1.mergeTree, mergeTree);
              fieldNodeSet.forEach(function(field) {
                return previous_1.fieldNodeSet.add(field);
              });
            } else {
              context.incomingById.set(dataId, {
                storeObject: incoming,
                // Save a reference to mergeTree only if it is not empty, because
                // empty MergeTrees may be recycled by maybeRecycleChildMergeTree and
                // reused for entirely different parts of the result tree.
                mergeTree: mergeTreeIsEmpty(mergeTree) ? void 0 : mergeTree,
                fieldNodeSet
              });
            }
            return dataRef;
          }
          return incoming;
        };
        StoreWriter2.prototype.processFieldValue = function(value, field, context, mergeTree) {
          var _this = this;
          if (!field.selectionSet || value === null) {
            return false ? cloneDeep(value) : value;
          }
          if (isArray(value)) {
            return value.map(function(item, i) {
              var value2 = _this.processFieldValue(item, field, context, getChildMergeTree(mergeTree, i));
              maybeRecycleChildMergeTree(mergeTree, i);
              return value2;
            });
          }
          return this.processSelectionSet({
            result: value,
            selectionSet: field.selectionSet,
            context,
            mergeTree
          });
        };
        StoreWriter2.prototype.flattenFields = function(selectionSet, result2, context, typename) {
          if (typename === void 0) {
            typename = getTypenameFromResult(result2, selectionSet, context.fragmentMap);
          }
          var fieldMap = /* @__PURE__ */ new Map();
          var policies = this.cache.policies;
          var limitingTrie = new Trie(false);
          (function flatten(selectionSet2, inheritedContext) {
            var visitedNode = limitingTrie.lookup(
              selectionSet2,
              // Because we take inheritedClientOnly and inheritedDeferred into
              // consideration here (in addition to selectionSet), it's possible for
              // the same selection set to be flattened more than once, if it appears
              // in the query with different @client and/or @directive configurations.
              inheritedContext.clientOnly,
              inheritedContext.deferred
            );
            if (visitedNode.visited)
              return;
            visitedNode.visited = true;
            selectionSet2.selections.forEach(function(selection) {
              if (!shouldInclude(selection, context.variables))
                return;
              var clientOnly = inheritedContext.clientOnly, deferred = inheritedContext.deferred;
              if (
                // Since the presence of @client or @defer on this field can only
                // cause clientOnly or deferred to become true, we can skip the
                // forEach loop if both clientOnly and deferred are already true.
                !(clientOnly && deferred) && isNonEmptyArray(selection.directives)
              ) {
                selection.directives.forEach(function(dir) {
                  var name = dir.name.value;
                  if (name === "client")
                    clientOnly = true;
                  if (name === "defer") {
                    var args = argumentsObjectFromField(dir, context.variables);
                    if (!args || args.if !== false) {
                      deferred = true;
                    }
                  }
                });
              }
              if (isField(selection)) {
                var existing = fieldMap.get(selection);
                if (existing) {
                  clientOnly = clientOnly && existing.clientOnly;
                  deferred = deferred && existing.deferred;
                }
                fieldMap.set(selection, getContextFlavor(context, clientOnly, deferred));
              } else {
                var fragment = getFragmentFromSelection(selection, context.lookupFragment);
                if (!fragment && selection.kind === Kind.FRAGMENT_SPREAD) {
                  throw newInvariantError(13, selection.name.value);
                }
                if (fragment && policies.fragmentMatches(fragment, typename, result2, context.variables)) {
                  flatten(fragment.selectionSet, getContextFlavor(context, clientOnly, deferred));
                }
              }
            });
          })(selectionSet, context);
          return fieldMap;
        };
        StoreWriter2.prototype.applyMerges = function(mergeTree, existing, incoming, context, getStorageArgs) {
          var _a2;
          var _this = this;
          if (mergeTree.map.size && !isReference(incoming)) {
            var e_1 = (
              // Items in the same position in different arrays are not
              // necessarily related to each other, so when incoming is an array
              // we process its elements as if there was no existing data.
              !isArray(incoming) && // Likewise, existing must be either a Reference or a StoreObject
              // in order for its fields to be safe to merge with the fields of
              // the incoming object.
              (isReference(existing) || storeValueIsStoreObject(existing)) ? existing : void 0
            );
            var i_1 = incoming;
            if (e_1 && !getStorageArgs) {
              getStorageArgs = [isReference(e_1) ? e_1.__ref : e_1];
            }
            var changedFields_1;
            var getValue_1 = function(from, name) {
              return isArray(from) ? typeof name === "number" ? from[name] : void 0 : context.store.getFieldValue(from, String(name));
            };
            mergeTree.map.forEach(function(childTree, storeFieldName) {
              var eVal = getValue_1(e_1, storeFieldName);
              var iVal = getValue_1(i_1, storeFieldName);
              if (void 0 === iVal)
                return;
              if (getStorageArgs) {
                getStorageArgs.push(storeFieldName);
              }
              var aVal = _this.applyMerges(childTree, eVal, iVal, context, getStorageArgs);
              if (aVal !== iVal) {
                changedFields_1 = changedFields_1 || /* @__PURE__ */ new Map();
                changedFields_1.set(storeFieldName, aVal);
              }
              if (getStorageArgs) {
                invariant2(getStorageArgs.pop() === storeFieldName);
              }
            });
            if (changedFields_1) {
              incoming = isArray(i_1) ? i_1.slice(0) : __assign({}, i_1);
              changedFields_1.forEach(function(value, name) {
                incoming[name] = value;
              });
            }
          }
          if (mergeTree.info) {
            return this.cache.policies.runMergeFunction(existing, incoming, mergeTree.info, context, getStorageArgs && (_a2 = context.store).getStorage.apply(_a2, getStorageArgs));
          }
          return incoming;
        };
        return StoreWriter2;
      }();
      emptyMergeTreePool = [];
    }
  });

  // node_modules/@apollo/client/cache/inmemory/inMemoryCache.js
  var InMemoryCache;
  var init_inMemoryCache = __esm({
    "node_modules/@apollo/client/cache/inmemory/inMemoryCache.js"() {
      init_tslib_es6();
      init_globals();
      init_lib6();
      init_lib2();
      init_cache();
      init_common();
      init_utilities();
      init_readFromStore();
      init_writeToStore();
      init_entityStore();
      init_reactiveVars();
      init_policies();
      init_helpers2();
      init_object_canon();
      InMemoryCache = /** @class */
      function(_super) {
        __extends(InMemoryCache2, _super);
        function InMemoryCache2(config) {
          if (config === void 0) {
            config = {};
          }
          var _this = _super.call(this) || this;
          _this.watches = /* @__PURE__ */ new Set();
          _this.addTypenameTransform = new DocumentTransform(addTypenameToDocument);
          _this.assumeImmutableResults = true;
          _this.makeVar = makeVar;
          _this.txCount = 0;
          _this.config = normalizeConfig(config);
          _this.addTypename = !!_this.config.addTypename;
          _this.policies = new Policies({
            cache: _this,
            dataIdFromObject: _this.config.dataIdFromObject,
            possibleTypes: _this.config.possibleTypes,
            typePolicies: _this.config.typePolicies
          });
          _this.init();
          return _this;
        }
        InMemoryCache2.prototype.init = function() {
          var rootStore = this.data = new EntityStore.Root({
            policies: this.policies,
            resultCaching: this.config.resultCaching
          });
          this.optimisticData = rootStore.stump;
          this.resetResultCache();
        };
        InMemoryCache2.prototype.resetResultCache = function(resetResultIdentities) {
          var _this = this;
          var previousReader = this.storeReader;
          var fragments = this.config.fragments;
          this.storeWriter = new StoreWriter(this, this.storeReader = new StoreReader({
            cache: this,
            addTypename: this.addTypename,
            resultCacheMaxSize: this.config.resultCacheMaxSize,
            canonizeResults: shouldCanonizeResults(this.config),
            canon: resetResultIdentities ? void 0 : previousReader && previousReader.canon,
            fragments
          }), fragments);
          this.maybeBroadcastWatch = wrap3(function(c, options) {
            return _this.broadcastWatch(c, options);
          }, {
            max: this.config.resultCacheMaxSize,
            makeCacheKey: function(c) {
              var store = c.optimistic ? _this.optimisticData : _this.data;
              if (supportsResultCaching(store)) {
                var optimistic = c.optimistic, id = c.id, variables = c.variables;
                return store.makeCacheKey(
                  c.query,
                  // Different watches can have the same query, optimistic
                  // status, rootId, and variables, but if their callbacks are
                  // different, the (identical) result needs to be delivered to
                  // each distinct callback. The easiest way to achieve that
                  // separation is to include c.callback in the cache key for
                  // maybeBroadcastWatch calls. See issue #5733.
                  c.callback,
                  canonicalStringify({ optimistic, id, variables })
                );
              }
            }
          });
          (/* @__PURE__ */ new Set([this.data.group, this.optimisticData.group])).forEach(function(group) {
            return group.resetCaching();
          });
        };
        InMemoryCache2.prototype.restore = function(data) {
          this.init();
          if (data)
            this.data.replace(data);
          return this;
        };
        InMemoryCache2.prototype.extract = function(optimistic) {
          if (optimistic === void 0) {
            optimistic = false;
          }
          return (optimistic ? this.optimisticData : this.data).extract();
        };
        InMemoryCache2.prototype.read = function(options) {
          var _a2 = options.returnPartialData, returnPartialData = _a2 === void 0 ? false : _a2;
          try {
            return this.storeReader.diffQueryAgainstStore(__assign(__assign({}, options), { store: options.optimistic ? this.optimisticData : this.data, config: this.config, returnPartialData })).result || null;
          } catch (e) {
            if (e instanceof MissingFieldError) {
              return null;
            }
            throw e;
          }
        };
        InMemoryCache2.prototype.write = function(options) {
          try {
            ++this.txCount;
            return this.storeWriter.writeToStore(this.data, options);
          } finally {
            if (!--this.txCount && options.broadcast !== false) {
              this.broadcastWatches();
            }
          }
        };
        InMemoryCache2.prototype.modify = function(options) {
          if (hasOwn.call(options, "id") && !options.id) {
            return false;
          }
          var store = options.optimistic ? this.optimisticData : this.data;
          try {
            ++this.txCount;
            return store.modify(options.id || "ROOT_QUERY", options.fields);
          } finally {
            if (!--this.txCount && options.broadcast !== false) {
              this.broadcastWatches();
            }
          }
        };
        InMemoryCache2.prototype.diff = function(options) {
          return this.storeReader.diffQueryAgainstStore(__assign(__assign({}, options), { store: options.optimistic ? this.optimisticData : this.data, rootId: options.id || "ROOT_QUERY", config: this.config }));
        };
        InMemoryCache2.prototype.watch = function(watch) {
          var _this = this;
          if (!this.watches.size) {
            recallCache(this);
          }
          this.watches.add(watch);
          if (watch.immediate) {
            this.maybeBroadcastWatch(watch);
          }
          return function() {
            if (_this.watches.delete(watch) && !_this.watches.size) {
              forgetCache(_this);
            }
            _this.maybeBroadcastWatch.forget(watch);
          };
        };
        InMemoryCache2.prototype.gc = function(options) {
          canonicalStringify.reset();
          var ids = this.optimisticData.gc();
          if (options && !this.txCount) {
            if (options.resetResultCache) {
              this.resetResultCache(options.resetResultIdentities);
            } else if (options.resetResultIdentities) {
              this.storeReader.resetCanon();
            }
          }
          return ids;
        };
        InMemoryCache2.prototype.retain = function(rootId, optimistic) {
          return (optimistic ? this.optimisticData : this.data).retain(rootId);
        };
        InMemoryCache2.prototype.release = function(rootId, optimistic) {
          return (optimistic ? this.optimisticData : this.data).release(rootId);
        };
        InMemoryCache2.prototype.identify = function(object) {
          if (isReference(object))
            return object.__ref;
          try {
            return this.policies.identify(object)[0];
          } catch (e) {
          }
        };
        InMemoryCache2.prototype.evict = function(options) {
          if (!options.id) {
            if (hasOwn.call(options, "id")) {
              return false;
            }
            options = __assign(__assign({}, options), { id: "ROOT_QUERY" });
          }
          try {
            ++this.txCount;
            return this.optimisticData.evict(options, this.data);
          } finally {
            if (!--this.txCount && options.broadcast !== false) {
              this.broadcastWatches();
            }
          }
        };
        InMemoryCache2.prototype.reset = function(options) {
          var _this = this;
          this.init();
          canonicalStringify.reset();
          if (options && options.discardWatches) {
            this.watches.forEach(function(watch) {
              return _this.maybeBroadcastWatch.forget(watch);
            });
            this.watches.clear();
            forgetCache(this);
          } else {
            this.broadcastWatches();
          }
          return Promise.resolve();
        };
        InMemoryCache2.prototype.removeOptimistic = function(idToRemove) {
          var newOptimisticData = this.optimisticData.removeLayer(idToRemove);
          if (newOptimisticData !== this.optimisticData) {
            this.optimisticData = newOptimisticData;
            this.broadcastWatches();
          }
        };
        InMemoryCache2.prototype.batch = function(options) {
          var _this = this;
          var update = options.update, _a2 = options.optimistic, optimistic = _a2 === void 0 ? true : _a2, removeOptimistic = options.removeOptimistic, onWatchUpdated = options.onWatchUpdated;
          var updateResult;
          var perform = function(layer) {
            var _a3 = _this, data = _a3.data, optimisticData = _a3.optimisticData;
            ++_this.txCount;
            if (layer) {
              _this.data = _this.optimisticData = layer;
            }
            try {
              return updateResult = update(_this);
            } finally {
              --_this.txCount;
              _this.data = data;
              _this.optimisticData = optimisticData;
            }
          };
          var alreadyDirty = /* @__PURE__ */ new Set();
          if (onWatchUpdated && !this.txCount) {
            this.broadcastWatches(__assign(__assign({}, options), { onWatchUpdated: function(watch) {
              alreadyDirty.add(watch);
              return false;
            } }));
          }
          if (typeof optimistic === "string") {
            this.optimisticData = this.optimisticData.addLayer(optimistic, perform);
          } else if (optimistic === false) {
            perform(this.data);
          } else {
            perform();
          }
          if (typeof removeOptimistic === "string") {
            this.optimisticData = this.optimisticData.removeLayer(removeOptimistic);
          }
          if (onWatchUpdated && alreadyDirty.size) {
            this.broadcastWatches(__assign(__assign({}, options), { onWatchUpdated: function(watch, diff) {
              var result2 = onWatchUpdated.call(this, watch, diff);
              if (result2 !== false) {
                alreadyDirty.delete(watch);
              }
              return result2;
            } }));
            if (alreadyDirty.size) {
              alreadyDirty.forEach(function(watch) {
                return _this.maybeBroadcastWatch.dirty(watch);
              });
            }
          } else {
            this.broadcastWatches(options);
          }
          return updateResult;
        };
        InMemoryCache2.prototype.performTransaction = function(update, optimisticId) {
          return this.batch({
            update,
            optimistic: optimisticId || optimisticId !== null
          });
        };
        InMemoryCache2.prototype.transformDocument = function(document2) {
          return this.addTypenameToDocument(this.addFragmentsToDocument(document2));
        };
        InMemoryCache2.prototype.broadcastWatches = function(options) {
          var _this = this;
          if (!this.txCount) {
            this.watches.forEach(function(c) {
              return _this.maybeBroadcastWatch(c, options);
            });
          }
        };
        InMemoryCache2.prototype.addFragmentsToDocument = function(document2) {
          var fragments = this.config.fragments;
          return fragments ? fragments.transform(document2) : document2;
        };
        InMemoryCache2.prototype.addTypenameToDocument = function(document2) {
          if (this.addTypename) {
            return this.addTypenameTransform.transformDocument(document2);
          }
          return document2;
        };
        InMemoryCache2.prototype.broadcastWatch = function(c, options) {
          var lastDiff = c.lastDiff;
          var diff = this.diff(c);
          if (options) {
            if (c.optimistic && typeof options.optimistic === "string") {
              diff.fromOptimisticTransaction = true;
            }
            if (options.onWatchUpdated && options.onWatchUpdated.call(this, c, diff, lastDiff) === false) {
              return;
            }
          }
          if (!lastDiff || !equal(lastDiff.result, diff.result)) {
            c.callback(c.lastDiff = diff, lastDiff);
          }
        };
        return InMemoryCache2;
      }(ApolloCache);
    }
  });

  // node_modules/@apollo/client/cache/inmemory/types.js
  var init_types2 = __esm({
    "node_modules/@apollo/client/cache/inmemory/types.js"() {
    }
  });

  // node_modules/@apollo/client/cache/index.js
  var init_cache2 = __esm({
    "node_modules/@apollo/client/cache/index.js"() {
      init_globals();
      init_inMemoryCache();
      init_reactiveVars();
      init_object_canon();
      init_types2();
    }
  });

  // node_modules/@apollo/client/core/networkStatus.js
  function isNetworkRequestInFlight(networkStatus) {
    return networkStatus ? networkStatus < 7 : false;
  }
  var NetworkStatus;
  var init_networkStatus = __esm({
    "node_modules/@apollo/client/core/networkStatus.js"() {
      (function(NetworkStatus2) {
        NetworkStatus2[NetworkStatus2["loading"] = 1] = "loading";
        NetworkStatus2[NetworkStatus2["setVariables"] = 2] = "setVariables";
        NetworkStatus2[NetworkStatus2["fetchMore"] = 3] = "fetchMore";
        NetworkStatus2[NetworkStatus2["refetch"] = 4] = "refetch";
        NetworkStatus2[NetworkStatus2["poll"] = 6] = "poll";
        NetworkStatus2[NetworkStatus2["ready"] = 7] = "ready";
        NetworkStatus2[NetworkStatus2["error"] = 8] = "error";
      })(NetworkStatus || (NetworkStatus = {}));
    }
  });

  // node_modules/@apollo/client/core/equalByQuery.js
  function equalByQuery(query, _a2, _b, variables) {
    var aData = _a2.data, aRest = __rest(_a2, ["data"]);
    var bData = _b.data, bRest = __rest(_b, ["data"]);
    return lib_default(aRest, bRest) && equalBySelectionSet(getMainDefinition(query).selectionSet, aData, bData, {
      fragmentMap: createFragmentMap(getFragmentDefinitions(query)),
      variables
    });
  }
  function equalBySelectionSet(selectionSet, aResult, bResult, context) {
    if (aResult === bResult) {
      return true;
    }
    var seenSelections = /* @__PURE__ */ new Set();
    return selectionSet.selections.every(function(selection) {
      if (seenSelections.has(selection))
        return true;
      seenSelections.add(selection);
      if (!shouldInclude(selection, context.variables))
        return true;
      if (selectionHasNonreactiveDirective(selection))
        return true;
      if (isField(selection)) {
        var resultKey = resultKeyNameFromField(selection);
        var aResultChild = aResult && aResult[resultKey];
        var bResultChild = bResult && bResult[resultKey];
        var childSelectionSet = selection.selectionSet;
        if (!childSelectionSet) {
          return lib_default(aResultChild, bResultChild);
        }
        var aChildIsArray = Array.isArray(aResultChild);
        var bChildIsArray = Array.isArray(bResultChild);
        if (aChildIsArray !== bChildIsArray)
          return false;
        if (aChildIsArray && bChildIsArray) {
          var length_1 = aResultChild.length;
          if (bResultChild.length !== length_1) {
            return false;
          }
          for (var i = 0; i < length_1; ++i) {
            if (!equalBySelectionSet(childSelectionSet, aResultChild[i], bResultChild[i], context)) {
              return false;
            }
          }
          return true;
        }
        return equalBySelectionSet(childSelectionSet, aResultChild, bResultChild, context);
      } else {
        var fragment = getFragmentFromSelection(selection, context.fragmentMap);
        if (fragment) {
          if (selectionHasNonreactiveDirective(fragment))
            return true;
          return equalBySelectionSet(
            fragment.selectionSet,
            // Notice that we reuse the same aResult and bResult values here,
            // since the fragment ...spread does not specify a field name, but
            // consists of multiple fields (within the fragment's selection set)
            // that should be applied to the current result value(s).
            aResult,
            bResult,
            context
          );
        }
      }
    });
  }
  function selectionHasNonreactiveDirective(selection) {
    return !!selection.directives && selection.directives.some(directiveIsNonreactive);
  }
  function directiveIsNonreactive(dir) {
    return dir.name.value === "nonreactive";
  }
  var init_equalByQuery = __esm({
    "node_modules/@apollo/client/core/equalByQuery.js"() {
      init_tslib_es6();
      init_lib2();
      init_utilities();
    }
  });

  // node_modules/@apollo/client/core/ObservableQuery.js
  function reobserveCacheFirst(obsQuery) {
    var _a2 = obsQuery.options, fetchPolicy = _a2.fetchPolicy, nextFetchPolicy = _a2.nextFetchPolicy;
    if (fetchPolicy === "cache-and-network" || fetchPolicy === "network-only") {
      return obsQuery.reobserve({
        fetchPolicy: "cache-first",
        // Use a temporary nextFetchPolicy function that replaces itself with the
        // previous nextFetchPolicy value and returns the original fetchPolicy.
        nextFetchPolicy: function(currentFetchPolicy, context) {
          this.nextFetchPolicy = nextFetchPolicy;
          if (typeof this.nextFetchPolicy === "function") {
            return this.nextFetchPolicy(currentFetchPolicy, context);
          }
          return fetchPolicy;
        }
      });
    }
    return obsQuery.reobserve();
  }
  function defaultSubscriptionObserverErrorCallback(error) {
  }
  function skipCacheDataFor(fetchPolicy) {
    return fetchPolicy === "network-only" || fetchPolicy === "no-cache" || fetchPolicy === "standby";
  }
  var assign, hasOwnProperty7, ObservableQuery;
  var init_ObservableQuery = __esm({
    "node_modules/@apollo/client/core/ObservableQuery.js"() {
      init_tslib_es6();
      init_globals();
      init_lib2();
      init_networkStatus();
      init_utilities();
      init_equalByQuery();
      assign = Object.assign;
      hasOwnProperty7 = Object.hasOwnProperty;
      ObservableQuery = /** @class */
      function(_super) {
        __extends(ObservableQuery2, _super);
        function ObservableQuery2(_a2) {
          var queryManager = _a2.queryManager, queryInfo = _a2.queryInfo, options = _a2.options;
          var _this = _super.call(this, function(observer) {
            try {
              var subObserver = observer._subscription._observer;
              if (subObserver && !subObserver.error) {
                subObserver.error = defaultSubscriptionObserverErrorCallback;
              }
            } catch (_a3) {
            }
            var first = !_this.observers.size;
            _this.observers.add(observer);
            var last = _this.last;
            if (last && last.error) {
              observer.error && observer.error(last.error);
            } else if (last && last.result) {
              observer.next && observer.next(last.result);
            }
            if (first) {
              _this.reobserve().catch(function() {
              });
            }
            return function() {
              if (_this.observers.delete(observer) && !_this.observers.size) {
                _this.tearDownQuery();
              }
            };
          }) || this;
          _this.observers = /* @__PURE__ */ new Set();
          _this.subscriptions = /* @__PURE__ */ new Set();
          _this.queryInfo = queryInfo;
          _this.queryManager = queryManager;
          _this.waitForOwnResult = skipCacheDataFor(options.fetchPolicy);
          _this.isTornDown = false;
          var _b = queryManager.defaultOptions.watchQuery, _c = _b === void 0 ? {} : _b, _d = _c.fetchPolicy, defaultFetchPolicy = _d === void 0 ? "cache-first" : _d;
          var _e = options.fetchPolicy, fetchPolicy = _e === void 0 ? defaultFetchPolicy : _e, _f = options.initialFetchPolicy, initialFetchPolicy = _f === void 0 ? fetchPolicy === "standby" ? defaultFetchPolicy : fetchPolicy : _f;
          _this.options = __assign(__assign({}, options), {
            // Remember the initial options.fetchPolicy so we can revert back to this
            // policy when variables change. This information can also be specified
            // (or overridden) by providing options.initialFetchPolicy explicitly.
            initialFetchPolicy,
            // This ensures this.options.fetchPolicy always has a string value, in
            // case options.fetchPolicy was not provided.
            fetchPolicy
          });
          _this.queryId = queryInfo.queryId || queryManager.generateQueryId();
          var opDef = getOperationDefinition(_this.query);
          _this.queryName = opDef && opDef.name && opDef.name.value;
          return _this;
        }
        Object.defineProperty(ObservableQuery2.prototype, "query", {
          // The `query` computed property will always reflect the document transformed
          // by the last run query. `this.options.query` will always reflect the raw
          // untransformed query to ensure document transforms with runtime conditionals
          // are run on the original document.
          get: function() {
            return this.lastQuery || this.options.query;
          },
          enumerable: false,
          configurable: true
        });
        Object.defineProperty(ObservableQuery2.prototype, "variables", {
          // Computed shorthand for this.options.variables, preserved for
          // backwards compatibility.
          get: function() {
            return this.options.variables;
          },
          enumerable: false,
          configurable: true
        });
        ObservableQuery2.prototype.result = function() {
          var _this = this;
          return new Promise(function(resolve2, reject2) {
            var observer = {
              next: function(result2) {
                resolve2(result2);
                _this.observers.delete(observer);
                if (!_this.observers.size) {
                  _this.queryManager.removeQuery(_this.queryId);
                }
                setTimeout(function() {
                  subscription.unsubscribe();
                }, 0);
              },
              error: reject2
            };
            var subscription = _this.subscribe(observer);
          });
        };
        ObservableQuery2.prototype.getCurrentResult = function(saveAsLastResult) {
          if (saveAsLastResult === void 0) {
            saveAsLastResult = true;
          }
          var lastResult = this.getLastResult(true);
          var networkStatus = this.queryInfo.networkStatus || lastResult && lastResult.networkStatus || NetworkStatus.ready;
          var result2 = __assign(__assign({}, lastResult), { loading: isNetworkRequestInFlight(networkStatus), networkStatus });
          var _a2 = this.options.fetchPolicy, fetchPolicy = _a2 === void 0 ? "cache-first" : _a2;
          if (
            // These fetch policies should never deliver data from the cache, unless
            // redelivering a previously delivered result.
            skipCacheDataFor(fetchPolicy) || // If this.options.query has @client(always: true) fields, we cannot
            // trust diff.result, since it was read from the cache without running
            // local resolvers (and it's too late to run resolvers now, since we must
            // return a result synchronously).
            this.queryManager.getDocumentInfo(this.query).hasForcedResolvers
          ) {
          } else if (this.waitForOwnResult) {
            this.queryInfo["updateWatch"]();
          } else {
            var diff = this.queryInfo.getDiff();
            if (diff.complete || this.options.returnPartialData) {
              result2.data = diff.result;
            }
            if (equal(result2.data, {})) {
              result2.data = void 0;
            }
            if (diff.complete) {
              delete result2.partial;
              if (diff.complete && result2.networkStatus === NetworkStatus.loading && (fetchPolicy === "cache-first" || fetchPolicy === "cache-only")) {
                result2.networkStatus = NetworkStatus.ready;
                result2.loading = false;
              }
            } else {
              result2.partial = true;
            }
            if (false) {
              logMissingFieldErrors(diff.missing);
            }
          }
          if (saveAsLastResult) {
            this.updateLastResult(result2);
          }
          return result2;
        };
        ObservableQuery2.prototype.isDifferentFromLastResult = function(newResult, variables) {
          if (!this.last) {
            return true;
          }
          var resultIsDifferent = this.queryManager.getDocumentInfo(this.query).hasNonreactiveDirective ? !equalByQuery(this.query, this.last.result, newResult, this.variables) : !equal(this.last.result, newResult);
          return resultIsDifferent || variables && !equal(this.last.variables, variables);
        };
        ObservableQuery2.prototype.getLast = function(key, variablesMustMatch) {
          var last = this.last;
          if (last && last[key] && (!variablesMustMatch || equal(last.variables, this.variables))) {
            return last[key];
          }
        };
        ObservableQuery2.prototype.getLastResult = function(variablesMustMatch) {
          return this.getLast("result", variablesMustMatch);
        };
        ObservableQuery2.prototype.getLastError = function(variablesMustMatch) {
          return this.getLast("error", variablesMustMatch);
        };
        ObservableQuery2.prototype.resetLastResults = function() {
          delete this.last;
          this.isTornDown = false;
        };
        ObservableQuery2.prototype.resetQueryStoreErrors = function() {
          this.queryManager.resetErrors(this.queryId);
        };
        ObservableQuery2.prototype.refetch = function(variables) {
          var _a2;
          var reobserveOptions = {
            // Always disable polling for refetches.
            pollInterval: 0
          };
          var fetchPolicy = this.options.fetchPolicy;
          if (fetchPolicy === "cache-and-network") {
            reobserveOptions.fetchPolicy = fetchPolicy;
          } else if (fetchPolicy === "no-cache") {
            reobserveOptions.fetchPolicy = "no-cache";
          } else {
            reobserveOptions.fetchPolicy = "network-only";
          }
          if (false) {
            var queryDef = getQueryDefinition(this.query);
            var vars = queryDef.variableDefinitions;
            if (!vars || !vars.some(function(v) {
              return v.variable.name.value === "variables";
            })) {
            }
          }
          if (variables && !equal(this.options.variables, variables)) {
            reobserveOptions.variables = this.options.variables = __assign(__assign({}, this.options.variables), variables);
          }
          this.queryInfo.resetLastWrite();
          return this.reobserve(reobserveOptions, NetworkStatus.refetch);
        };
        ObservableQuery2.prototype.fetchMore = function(fetchMoreOptions) {
          var _this = this;
          var combinedOptions = __assign(__assign({}, fetchMoreOptions.query ? fetchMoreOptions : __assign(__assign(__assign(__assign({}, this.options), { query: this.options.query }), fetchMoreOptions), { variables: __assign(__assign({}, this.options.variables), fetchMoreOptions.variables) })), {
            // The fetchMore request goes immediately to the network and does
            // not automatically write its result to the cache (hence no-cache
            // instead of network-only), because we allow the caller of
            // fetchMore to provide an updateQuery callback that determines how
            // the data gets written to the cache.
            fetchPolicy: "no-cache"
          });
          combinedOptions.query = this.transformDocument(combinedOptions.query);
          var qid = this.queryManager.generateQueryId();
          this.lastQuery = fetchMoreOptions.query ? this.transformDocument(this.options.query) : combinedOptions.query;
          var queryInfo = this.queryInfo;
          var originalNetworkStatus = queryInfo.networkStatus;
          queryInfo.networkStatus = NetworkStatus.fetchMore;
          if (combinedOptions.notifyOnNetworkStatusChange) {
            this.observe();
          }
          var updatedQuerySet = /* @__PURE__ */ new Set();
          return this.queryManager.fetchQuery(qid, combinedOptions, NetworkStatus.fetchMore).then(function(fetchMoreResult) {
            _this.queryManager.removeQuery(qid);
            if (queryInfo.networkStatus === NetworkStatus.fetchMore) {
              queryInfo.networkStatus = originalNetworkStatus;
            }
            _this.queryManager.cache.batch({
              update: function(cache) {
                var updateQuery = fetchMoreOptions.updateQuery;
                if (updateQuery) {
                  cache.updateQuery({
                    query: _this.query,
                    variables: _this.variables,
                    returnPartialData: true,
                    optimistic: false
                  }, function(previous) {
                    return updateQuery(previous, {
                      fetchMoreResult: fetchMoreResult.data,
                      variables: combinedOptions.variables
                    });
                  });
                } else {
                  cache.writeQuery({
                    query: combinedOptions.query,
                    variables: combinedOptions.variables,
                    data: fetchMoreResult.data
                  });
                }
              },
              onWatchUpdated: function(watch) {
                updatedQuerySet.add(watch.query);
              }
            });
            return fetchMoreResult;
          }).finally(function() {
            if (!updatedQuerySet.has(_this.query)) {
              reobserveCacheFirst(_this);
            }
          });
        };
        ObservableQuery2.prototype.subscribeToMore = function(options) {
          var _this = this;
          var subscription = this.queryManager.startGraphQLSubscription({
            query: options.document,
            variables: options.variables,
            context: options.context
          }).subscribe({
            next: function(subscriptionData) {
              var updateQuery = options.updateQuery;
              if (updateQuery) {
                _this.updateQuery(function(previous, _a2) {
                  var variables = _a2.variables;
                  return updateQuery(previous, {
                    subscriptionData,
                    variables
                  });
                });
              }
            },
            error: function(err) {
              if (options.onError) {
                options.onError(err);
                return;
              }
            }
          });
          this.subscriptions.add(subscription);
          return function() {
            if (_this.subscriptions.delete(subscription)) {
              subscription.unsubscribe();
            }
          };
        };
        ObservableQuery2.prototype.setOptions = function(newOptions) {
          return this.reobserve(newOptions);
        };
        ObservableQuery2.prototype.silentSetOptions = function(newOptions) {
          var mergedOptions = compact(this.options, newOptions || {});
          assign(this.options, mergedOptions);
        };
        ObservableQuery2.prototype.setVariables = function(variables) {
          if (equal(this.variables, variables)) {
            return this.observers.size ? this.result() : Promise.resolve();
          }
          this.options.variables = variables;
          if (!this.observers.size) {
            return Promise.resolve();
          }
          return this.reobserve({
            // Reset options.fetchPolicy to its original value.
            fetchPolicy: this.options.initialFetchPolicy,
            variables
          }, NetworkStatus.setVariables);
        };
        ObservableQuery2.prototype.updateQuery = function(mapFn) {
          var queryManager = this.queryManager;
          var result2 = queryManager.cache.diff({
            query: this.options.query,
            variables: this.variables,
            returnPartialData: true,
            optimistic: false
          }).result;
          var newResult = mapFn(result2, {
            variables: this.variables
          });
          if (newResult) {
            queryManager.cache.writeQuery({
              query: this.options.query,
              data: newResult,
              variables: this.variables
            });
            queryManager.broadcastQueries();
          }
        };
        ObservableQuery2.prototype.startPolling = function(pollInterval) {
          this.options.pollInterval = pollInterval;
          this.updatePolling();
        };
        ObservableQuery2.prototype.stopPolling = function() {
          this.options.pollInterval = 0;
          this.updatePolling();
        };
        ObservableQuery2.prototype.applyNextFetchPolicy = function(reason, options) {
          if (options.nextFetchPolicy) {
            var _a2 = options.fetchPolicy, fetchPolicy = _a2 === void 0 ? "cache-first" : _a2, _b = options.initialFetchPolicy, initialFetchPolicy = _b === void 0 ? fetchPolicy : _b;
            if (fetchPolicy === "standby") {
            } else if (typeof options.nextFetchPolicy === "function") {
              options.fetchPolicy = options.nextFetchPolicy(fetchPolicy, {
                reason,
                options,
                observable: this,
                initialFetchPolicy
              });
            } else if (reason === "variables-changed") {
              options.fetchPolicy = initialFetchPolicy;
            } else {
              options.fetchPolicy = options.nextFetchPolicy;
            }
          }
          return options.fetchPolicy;
        };
        ObservableQuery2.prototype.fetch = function(options, newNetworkStatus, query) {
          this.queryManager.setObservableQuery(this);
          return this.queryManager["fetchConcastWithInfo"](this.queryId, options, newNetworkStatus, query);
        };
        ObservableQuery2.prototype.updatePolling = function() {
          var _this = this;
          if (this.queryManager.ssrMode) {
            return;
          }
          var _a2 = this, pollingInfo = _a2.pollingInfo, pollInterval = _a2.options.pollInterval;
          if (!pollInterval) {
            if (pollingInfo) {
              clearTimeout(pollingInfo.timeout);
              delete this.pollingInfo;
            }
            return;
          }
          if (pollingInfo && pollingInfo.interval === pollInterval) {
            return;
          }
          invariant2(pollInterval, 22);
          var info = pollingInfo || (this.pollingInfo = {});
          info.interval = pollInterval;
          var maybeFetch = function() {
            if (_this.pollingInfo) {
              if (!isNetworkRequestInFlight(_this.queryInfo.networkStatus)) {
                _this.reobserve({
                  // Most fetchPolicy options don't make sense to use in a polling context, as
                  // users wouldn't want to be polling the cache directly. However, network-only and
                  // no-cache are both useful for when the user wants to control whether or not the
                  // polled results are written to the cache.
                  fetchPolicy: _this.options.initialFetchPolicy === "no-cache" ? "no-cache" : "network-only"
                }, NetworkStatus.poll).then(poll, poll);
              } else {
                poll();
              }
            }
          };
          var poll = function() {
            var info2 = _this.pollingInfo;
            if (info2) {
              clearTimeout(info2.timeout);
              info2.timeout = setTimeout(maybeFetch, info2.interval);
            }
          };
          poll();
        };
        ObservableQuery2.prototype.updateLastResult = function(newResult, variables) {
          if (variables === void 0) {
            variables = this.variables;
          }
          var error = this.getLastError();
          if (error && this.last && !equal(variables, this.last.variables)) {
            error = void 0;
          }
          return this.last = __assign({ result: this.queryManager.assumeImmutableResults ? newResult : cloneDeep(newResult), variables }, error ? { error } : null);
        };
        ObservableQuery2.prototype.reobserveAsConcast = function(newOptions, newNetworkStatus) {
          var _this = this;
          this.isTornDown = false;
          var useDisposableConcast = (
            // Refetching uses a disposable Concast to allow refetches using different
            // options/variables, without permanently altering the options of the
            // original ObservableQuery.
            newNetworkStatus === NetworkStatus.refetch || // The fetchMore method does not actually call the reobserve method, but,
            // if it did, it would definitely use a disposable Concast.
            newNetworkStatus === NetworkStatus.fetchMore || // Polling uses a disposable Concast so the polling options (which force
            // fetchPolicy to be "network-only" or "no-cache") won't override the original options.
            newNetworkStatus === NetworkStatus.poll
          );
          var oldVariables = this.options.variables;
          var oldFetchPolicy = this.options.fetchPolicy;
          var mergedOptions = compact(this.options, newOptions || {});
          var options = useDisposableConcast ? (
            // Disposable Concast fetches receive a shallow copy of this.options
            // (merged with newOptions), leaving this.options unmodified.
            mergedOptions
          ) : assign(this.options, mergedOptions);
          var query = this.transformDocument(options.query);
          this.lastQuery = query;
          if (!useDisposableConcast) {
            this.updatePolling();
            if (newOptions && newOptions.variables && !equal(newOptions.variables, oldVariables) && // Don't mess with the fetchPolicy if it's currently "standby".
            options.fetchPolicy !== "standby" && // If we're changing the fetchPolicy anyway, don't try to change it here
            // using applyNextFetchPolicy. The explicit options.fetchPolicy wins.
            options.fetchPolicy === oldFetchPolicy) {
              this.applyNextFetchPolicy("variables-changed", options);
              if (newNetworkStatus === void 0) {
                newNetworkStatus = NetworkStatus.setVariables;
              }
            }
          }
          this.waitForOwnResult && (this.waitForOwnResult = skipCacheDataFor(options.fetchPolicy));
          var finishWaitingForOwnResult = function() {
            if (_this.concast === concast) {
              _this.waitForOwnResult = false;
            }
          };
          var variables = options.variables && __assign({}, options.variables);
          var _a2 = this.fetch(options, newNetworkStatus, query), concast = _a2.concast, fromLink = _a2.fromLink;
          var observer = {
            next: function(result2) {
              finishWaitingForOwnResult();
              _this.reportResult(result2, variables);
            },
            error: function(error) {
              finishWaitingForOwnResult();
              _this.reportError(error, variables);
            }
          };
          if (!useDisposableConcast && (fromLink || !this.concast)) {
            if (this.concast && this.observer) {
              this.concast.removeObserver(this.observer);
            }
            this.concast = concast;
            this.observer = observer;
          }
          concast.addObserver(observer);
          return concast;
        };
        ObservableQuery2.prototype.reobserve = function(newOptions, newNetworkStatus) {
          return this.reobserveAsConcast(newOptions, newNetworkStatus).promise;
        };
        ObservableQuery2.prototype.resubscribeAfterError = function() {
          var args = [];
          for (var _i = 0; _i < arguments.length; _i++) {
            args[_i] = arguments[_i];
          }
          var last = this.last;
          this.resetLastResults();
          var subscription = this.subscribe.apply(this, args);
          this.last = last;
          return subscription;
        };
        ObservableQuery2.prototype.observe = function() {
          this.reportResult(
            // Passing false is important so that this.getCurrentResult doesn't
            // save the fetchMore result as this.lastResult, causing it to be
            // ignored due to the this.isDifferentFromLastResult check in
            // this.reportResult.
            this.getCurrentResult(false),
            this.variables
          );
        };
        ObservableQuery2.prototype.reportResult = function(result2, variables) {
          var lastError = this.getLastError();
          var isDifferent = this.isDifferentFromLastResult(result2, variables);
          if (lastError || !result2.partial || this.options.returnPartialData) {
            this.updateLastResult(result2, variables);
          }
          if (lastError || isDifferent) {
            iterateObserversSafely(this.observers, "next", result2);
          }
        };
        ObservableQuery2.prototype.reportError = function(error, variables) {
          var errorResult = __assign(__assign({}, this.getLastResult()), { error, errors: error.graphQLErrors, networkStatus: NetworkStatus.error, loading: false });
          this.updateLastResult(errorResult, variables);
          iterateObserversSafely(this.observers, "error", this.last.error = error);
        };
        ObservableQuery2.prototype.hasObservers = function() {
          return this.observers.size > 0;
        };
        ObservableQuery2.prototype.tearDownQuery = function() {
          if (this.isTornDown)
            return;
          if (this.concast && this.observer) {
            this.concast.removeObserver(this.observer);
            delete this.concast;
            delete this.observer;
          }
          this.stopPolling();
          this.subscriptions.forEach(function(sub) {
            return sub.unsubscribe();
          });
          this.subscriptions.clear();
          this.queryManager.stopQuery(this.queryId);
          this.observers.clear();
          this.isTornDown = true;
        };
        ObservableQuery2.prototype.transformDocument = function(document2) {
          return this.queryManager.transform(document2);
        };
        return ObservableQuery2;
      }(Observable);
      fixObservableSubclass(ObservableQuery);
    }
  });

  // node_modules/@apollo/client/core/LocalState.js
  var LocalState;
  var init_LocalState = __esm({
    "node_modules/@apollo/client/core/LocalState.js"() {
      init_tslib_es6();
      init_globals();
      init_graphql();
      init_utilities();
      init_cache2();
      LocalState = /** @class */
      function() {
        function LocalState2(_a2) {
          var cache = _a2.cache, client = _a2.client, resolvers = _a2.resolvers, fragmentMatcher = _a2.fragmentMatcher;
          this.selectionsToResolveCache = /* @__PURE__ */ new WeakMap();
          this.cache = cache;
          if (client) {
            this.client = client;
          }
          if (resolvers) {
            this.addResolvers(resolvers);
          }
          if (fragmentMatcher) {
            this.setFragmentMatcher(fragmentMatcher);
          }
        }
        LocalState2.prototype.addResolvers = function(resolvers) {
          var _this = this;
          this.resolvers = this.resolvers || {};
          if (Array.isArray(resolvers)) {
            resolvers.forEach(function(resolverGroup) {
              _this.resolvers = mergeDeep(_this.resolvers, resolverGroup);
            });
          } else {
            this.resolvers = mergeDeep(this.resolvers, resolvers);
          }
        };
        LocalState2.prototype.setResolvers = function(resolvers) {
          this.resolvers = {};
          this.addResolvers(resolvers);
        };
        LocalState2.prototype.getResolvers = function() {
          return this.resolvers || {};
        };
        LocalState2.prototype.runResolvers = function(_a2) {
          var document2 = _a2.document, remoteResult = _a2.remoteResult, context = _a2.context, variables = _a2.variables, _b = _a2.onlyRunForcedResolvers, onlyRunForcedResolvers = _b === void 0 ? false : _b;
          return __awaiter(this, void 0, void 0, function() {
            return __generator(this, function(_c) {
              if (document2) {
                return [2, this.resolveDocument(document2, remoteResult.data, context, variables, this.fragmentMatcher, onlyRunForcedResolvers).then(function(localResult) {
                  return __assign(__assign({}, remoteResult), { data: localResult.result });
                })];
              }
              return [2, remoteResult];
            });
          });
        };
        LocalState2.prototype.setFragmentMatcher = function(fragmentMatcher) {
          this.fragmentMatcher = fragmentMatcher;
        };
        LocalState2.prototype.getFragmentMatcher = function() {
          return this.fragmentMatcher;
        };
        LocalState2.prototype.clientQuery = function(document2) {
          if (hasDirectives(["client"], document2)) {
            if (this.resolvers) {
              return document2;
            }
          }
          return null;
        };
        LocalState2.prototype.serverQuery = function(document2) {
          return removeClientSetsFromDocument(document2);
        };
        LocalState2.prototype.prepareContext = function(context) {
          var cache = this.cache;
          return __assign(__assign({}, context), {
            cache,
            // Getting an entry's cache key is useful for local state resolvers.
            getCacheKey: function(obj) {
              return cache.identify(obj);
            }
          });
        };
        LocalState2.prototype.addExportedVariables = function(document2, variables, context) {
          if (variables === void 0) {
            variables = {};
          }
          if (context === void 0) {
            context = {};
          }
          return __awaiter(this, void 0, void 0, function() {
            return __generator(this, function(_a2) {
              if (document2) {
                return [2, this.resolveDocument(document2, this.buildRootValueFromCache(document2, variables) || {}, this.prepareContext(context), variables).then(function(data) {
                  return __assign(__assign({}, variables), data.exportedVariables);
                })];
              }
              return [2, __assign({}, variables)];
            });
          });
        };
        LocalState2.prototype.shouldForceResolvers = function(document2) {
          var forceResolvers = false;
          visit(document2, {
            Directive: {
              enter: function(node) {
                if (node.name.value === "client" && node.arguments) {
                  forceResolvers = node.arguments.some(function(arg) {
                    return arg.name.value === "always" && arg.value.kind === "BooleanValue" && arg.value.value === true;
                  });
                  if (forceResolvers) {
                    return BREAK;
                  }
                }
              }
            }
          });
          return forceResolvers;
        };
        LocalState2.prototype.buildRootValueFromCache = function(document2, variables) {
          return this.cache.diff({
            query: buildQueryFromSelectionSet(document2),
            variables,
            returnPartialData: true,
            optimistic: false
          }).result;
        };
        LocalState2.prototype.resolveDocument = function(document2, rootValue, context, variables, fragmentMatcher, onlyRunForcedResolvers) {
          if (context === void 0) {
            context = {};
          }
          if (variables === void 0) {
            variables = {};
          }
          if (fragmentMatcher === void 0) {
            fragmentMatcher = function() {
              return true;
            };
          }
          if (onlyRunForcedResolvers === void 0) {
            onlyRunForcedResolvers = false;
          }
          return __awaiter(this, void 0, void 0, function() {
            var mainDefinition, fragments, fragmentMap, selectionsToResolve, definitionOperation, defaultOperationType, _a2, cache, client, execContext, isClientFieldDescendant;
            return __generator(this, function(_b) {
              mainDefinition = getMainDefinition(document2);
              fragments = getFragmentDefinitions(document2);
              fragmentMap = createFragmentMap(fragments);
              selectionsToResolve = this.collectSelectionsToResolve(mainDefinition, fragmentMap);
              definitionOperation = mainDefinition.operation;
              defaultOperationType = definitionOperation ? definitionOperation.charAt(0).toUpperCase() + definitionOperation.slice(1) : "Query";
              _a2 = this, cache = _a2.cache, client = _a2.client;
              execContext = {
                fragmentMap,
                context: __assign(__assign({}, context), { cache, client }),
                variables,
                fragmentMatcher,
                defaultOperationType,
                exportedVariables: {},
                selectionsToResolve,
                onlyRunForcedResolvers
              };
              isClientFieldDescendant = false;
              return [2, this.resolveSelectionSet(mainDefinition.selectionSet, isClientFieldDescendant, rootValue, execContext).then(function(result2) {
                return {
                  result: result2,
                  exportedVariables: execContext.exportedVariables
                };
              })];
            });
          });
        };
        LocalState2.prototype.resolveSelectionSet = function(selectionSet, isClientFieldDescendant, rootValue, execContext) {
          return __awaiter(this, void 0, void 0, function() {
            var fragmentMap, context, variables, resultsToMerge, execute2;
            var _this = this;
            return __generator(this, function(_a2) {
              fragmentMap = execContext.fragmentMap, context = execContext.context, variables = execContext.variables;
              resultsToMerge = [rootValue];
              execute2 = function(selection) {
                return __awaiter(_this, void 0, void 0, function() {
                  var fragment, typeCondition;
                  return __generator(this, function(_a3) {
                    if (!isClientFieldDescendant && !execContext.selectionsToResolve.has(selection)) {
                      return [
                        2
                        /*return*/
                      ];
                    }
                    if (!shouldInclude(selection, variables)) {
                      return [
                        2
                        /*return*/
                      ];
                    }
                    if (isField(selection)) {
                      return [2, this.resolveField(selection, isClientFieldDescendant, rootValue, execContext).then(function(fieldResult) {
                        var _a4;
                        if (typeof fieldResult !== "undefined") {
                          resultsToMerge.push((_a4 = {}, _a4[resultKeyNameFromField(selection)] = fieldResult, _a4));
                        }
                      })];
                    }
                    if (isInlineFragment(selection)) {
                      fragment = selection;
                    } else {
                      fragment = fragmentMap[selection.name.value];
                      invariant2(fragment, 18, selection.name.value);
                    }
                    if (fragment && fragment.typeCondition) {
                      typeCondition = fragment.typeCondition.name.value;
                      if (execContext.fragmentMatcher(rootValue, typeCondition, context)) {
                        return [2, this.resolveSelectionSet(fragment.selectionSet, isClientFieldDescendant, rootValue, execContext).then(function(fragmentResult) {
                          resultsToMerge.push(fragmentResult);
                        })];
                      }
                    }
                    return [
                      2
                      /*return*/
                    ];
                  });
                });
              };
              return [2, Promise.all(selectionSet.selections.map(execute2)).then(function() {
                return mergeDeepArray(resultsToMerge);
              })];
            });
          });
        };
        LocalState2.prototype.resolveField = function(field, isClientFieldDescendant, rootValue, execContext) {
          return __awaiter(this, void 0, void 0, function() {
            var variables, fieldName, aliasedFieldName, aliasUsed, defaultResult, resultPromise, resolverType, resolverMap, resolve2;
            var _this = this;
            return __generator(this, function(_a2) {
              if (!rootValue) {
                return [2, null];
              }
              variables = execContext.variables;
              fieldName = field.name.value;
              aliasedFieldName = resultKeyNameFromField(field);
              aliasUsed = fieldName !== aliasedFieldName;
              defaultResult = rootValue[aliasedFieldName] || rootValue[fieldName];
              resultPromise = Promise.resolve(defaultResult);
              if (!execContext.onlyRunForcedResolvers || this.shouldForceResolvers(field)) {
                resolverType = rootValue.__typename || execContext.defaultOperationType;
                resolverMap = this.resolvers && this.resolvers[resolverType];
                if (resolverMap) {
                  resolve2 = resolverMap[aliasUsed ? fieldName : aliasedFieldName];
                  if (resolve2) {
                    resultPromise = Promise.resolve(
                      // In case the resolve function accesses reactive variables,
                      // set cacheSlot to the current cache instance.
                      cacheSlot.withValue(this.cache, resolve2, [
                        rootValue,
                        argumentsObjectFromField(field, variables),
                        execContext.context,
                        { field, fragmentMap: execContext.fragmentMap }
                      ])
                    );
                  }
                }
              }
              return [2, resultPromise.then(function(result2) {
                var _a3, _b;
                if (result2 === void 0) {
                  result2 = defaultResult;
                }
                if (field.directives) {
                  field.directives.forEach(function(directive) {
                    if (directive.name.value === "export" && directive.arguments) {
                      directive.arguments.forEach(function(arg) {
                        if (arg.name.value === "as" && arg.value.kind === "StringValue") {
                          execContext.exportedVariables[arg.value.value] = result2;
                        }
                      });
                    }
                  });
                }
                if (!field.selectionSet) {
                  return result2;
                }
                if (result2 == null) {
                  return result2;
                }
                var isClientField = (_b = (_a3 = field.directives) === null || _a3 === void 0 ? void 0 : _a3.some(function(d) {
                  return d.name.value === "client";
                })) !== null && _b !== void 0 ? _b : false;
                if (Array.isArray(result2)) {
                  return _this.resolveSubSelectedArray(field, isClientFieldDescendant || isClientField, result2, execContext);
                }
                if (field.selectionSet) {
                  return _this.resolveSelectionSet(field.selectionSet, isClientFieldDescendant || isClientField, result2, execContext);
                }
              })];
            });
          });
        };
        LocalState2.prototype.resolveSubSelectedArray = function(field, isClientFieldDescendant, result2, execContext) {
          var _this = this;
          return Promise.all(result2.map(function(item) {
            if (item === null) {
              return null;
            }
            if (Array.isArray(item)) {
              return _this.resolveSubSelectedArray(field, isClientFieldDescendant, item, execContext);
            }
            if (field.selectionSet) {
              return _this.resolveSelectionSet(field.selectionSet, isClientFieldDescendant, item, execContext);
            }
          }));
        };
        LocalState2.prototype.collectSelectionsToResolve = function(mainDefinition, fragmentMap) {
          var isSingleASTNode = function(node) {
            return !Array.isArray(node);
          };
          var selectionsToResolveCache = this.selectionsToResolveCache;
          function collectByDefinition(definitionNode) {
            if (!selectionsToResolveCache.has(definitionNode)) {
              var matches_1 = /* @__PURE__ */ new Set();
              selectionsToResolveCache.set(definitionNode, matches_1);
              visit(definitionNode, {
                Directive: function(node, _, __, ___, ancestors) {
                  if (node.name.value === "client") {
                    ancestors.forEach(function(node2) {
                      if (isSingleASTNode(node2) && isSelectionNode(node2)) {
                        matches_1.add(node2);
                      }
                    });
                  }
                },
                FragmentSpread: function(spread, _, __, ___, ancestors) {
                  var fragment = fragmentMap[spread.name.value];
                  invariant2(fragment, 19, spread.name.value);
                  var fragmentSelections = collectByDefinition(fragment);
                  if (fragmentSelections.size > 0) {
                    ancestors.forEach(function(node) {
                      if (isSingleASTNode(node) && isSelectionNode(node)) {
                        matches_1.add(node);
                      }
                    });
                    matches_1.add(spread);
                    fragmentSelections.forEach(function(selection) {
                      matches_1.add(selection);
                    });
                  }
                }
              });
            }
            return selectionsToResolveCache.get(definitionNode);
          }
          return collectByDefinition(mainDefinition);
        };
        return LocalState2;
      }();
    }
  });

  // node_modules/@apollo/client/core/QueryInfo.js
  function wrapDestructiveCacheMethod(cache, methodName) {
    var original = cache[methodName];
    if (typeof original === "function") {
      cache[methodName] = function() {
        destructiveMethodCounts.set(
          cache,
          // The %1e15 allows the count to wrap around to 0 safely every
          // quadrillion evictions, so there's no risk of overflow. To be
          // clear, this is more of a pedantic principle than something
          // that matters in any conceivable practical scenario.
          (destructiveMethodCounts.get(cache) + 1) % 1e15
        );
        return original.apply(this, arguments);
      };
    }
  }
  function cancelNotifyTimeout(info) {
    if (info["notifyTimeout"]) {
      clearTimeout(info["notifyTimeout"]);
      info["notifyTimeout"] = void 0;
    }
  }
  function shouldWriteResult(result2, errorPolicy) {
    if (errorPolicy === void 0) {
      errorPolicy = "none";
    }
    var ignoreErrors = errorPolicy === "ignore" || errorPolicy === "all";
    var writeWithErrors = !graphQLResultHasError(result2);
    if (!writeWithErrors && ignoreErrors && result2.data) {
      writeWithErrors = true;
    }
    return writeWithErrors;
  }
  var destructiveMethodCounts, QueryInfo;
  var init_QueryInfo = __esm({
    "node_modules/@apollo/client/core/QueryInfo.js"() {
      init_tslib_es6();
      init_lib2();
      init_utilities();
      init_utilities();
      init_ObservableQuery();
      init_utilities();
      init_networkStatus();
      destructiveMethodCounts = new (canUseWeakMap ? WeakMap : Map)();
      QueryInfo = /** @class */
      function() {
        function QueryInfo2(queryManager, queryId) {
          if (queryId === void 0) {
            queryId = queryManager.generateQueryId();
          }
          this.queryId = queryId;
          this.listeners = /* @__PURE__ */ new Set();
          this.document = null;
          this.lastRequestId = 1;
          this.stopped = false;
          this.dirty = false;
          this.observableQuery = null;
          var cache = this.cache = queryManager.cache;
          if (!destructiveMethodCounts.has(cache)) {
            destructiveMethodCounts.set(cache, 0);
            wrapDestructiveCacheMethod(cache, "evict");
            wrapDestructiveCacheMethod(cache, "modify");
            wrapDestructiveCacheMethod(cache, "reset");
          }
        }
        QueryInfo2.prototype.init = function(query) {
          var networkStatus = query.networkStatus || NetworkStatus.loading;
          if (this.variables && this.networkStatus !== NetworkStatus.loading && !equal(this.variables, query.variables)) {
            networkStatus = NetworkStatus.setVariables;
          }
          if (!equal(query.variables, this.variables)) {
            this.lastDiff = void 0;
          }
          Object.assign(this, {
            document: query.document,
            variables: query.variables,
            networkError: null,
            graphQLErrors: this.graphQLErrors || [],
            networkStatus
          });
          if (query.observableQuery) {
            this.setObservableQuery(query.observableQuery);
          }
          if (query.lastRequestId) {
            this.lastRequestId = query.lastRequestId;
          }
          return this;
        };
        QueryInfo2.prototype.reset = function() {
          cancelNotifyTimeout(this);
          this.dirty = false;
        };
        QueryInfo2.prototype.getDiff = function() {
          var options = this.getDiffOptions();
          if (this.lastDiff && equal(options, this.lastDiff.options)) {
            return this.lastDiff.diff;
          }
          this.updateWatch(this.variables);
          var oq = this.observableQuery;
          if (oq && oq.options.fetchPolicy === "no-cache") {
            return { complete: false };
          }
          var diff = this.cache.diff(options);
          this.updateLastDiff(diff, options);
          return diff;
        };
        QueryInfo2.prototype.updateLastDiff = function(diff, options) {
          this.lastDiff = diff ? {
            diff,
            options: options || this.getDiffOptions()
          } : void 0;
        };
        QueryInfo2.prototype.getDiffOptions = function(variables) {
          var _a2;
          if (variables === void 0) {
            variables = this.variables;
          }
          return {
            query: this.document,
            variables,
            returnPartialData: true,
            optimistic: true,
            canonizeResults: (_a2 = this.observableQuery) === null || _a2 === void 0 ? void 0 : _a2.options.canonizeResults
          };
        };
        QueryInfo2.prototype.setDiff = function(diff) {
          var _this = this;
          var oldDiff = this.lastDiff && this.lastDiff.diff;
          this.updateLastDiff(diff);
          if (!this.dirty && !equal(oldDiff && oldDiff.result, diff && diff.result)) {
            this.dirty = true;
            if (!this.notifyTimeout) {
              this.notifyTimeout = setTimeout(function() {
                return _this.notify();
              }, 0);
            }
          }
        };
        QueryInfo2.prototype.setObservableQuery = function(oq) {
          var _this = this;
          if (oq === this.observableQuery)
            return;
          if (this.oqListener) {
            this.listeners.delete(this.oqListener);
          }
          this.observableQuery = oq;
          if (oq) {
            oq["queryInfo"] = this;
            this.listeners.add(this.oqListener = function() {
              var diff = _this.getDiff();
              if (diff.fromOptimisticTransaction) {
                oq["observe"]();
              } else {
                reobserveCacheFirst(oq);
              }
            });
          } else {
            delete this.oqListener;
          }
        };
        QueryInfo2.prototype.notify = function() {
          var _this = this;
          cancelNotifyTimeout(this);
          if (this.shouldNotify()) {
            this.listeners.forEach(function(listener) {
              return listener(_this);
            });
          }
          this.dirty = false;
        };
        QueryInfo2.prototype.shouldNotify = function() {
          if (!this.dirty || !this.listeners.size) {
            return false;
          }
          if (isNetworkRequestInFlight(this.networkStatus) && this.observableQuery) {
            var fetchPolicy = this.observableQuery.options.fetchPolicy;
            if (fetchPolicy !== "cache-only" && fetchPolicy !== "cache-and-network") {
              return false;
            }
          }
          return true;
        };
        QueryInfo2.prototype.stop = function() {
          if (!this.stopped) {
            this.stopped = true;
            this.reset();
            this.cancel();
            this.cancel = QueryInfo2.prototype.cancel;
            var oq = this.observableQuery;
            if (oq)
              oq.stopPolling();
          }
        };
        QueryInfo2.prototype.cancel = function() {
        };
        QueryInfo2.prototype.updateWatch = function(variables) {
          var _this = this;
          if (variables === void 0) {
            variables = this.variables;
          }
          var oq = this.observableQuery;
          if (oq && oq.options.fetchPolicy === "no-cache") {
            return;
          }
          var watchOptions = __assign(__assign({}, this.getDiffOptions(variables)), { watcher: this, callback: function(diff) {
            return _this.setDiff(diff);
          } });
          if (!this.lastWatch || !equal(watchOptions, this.lastWatch)) {
            this.cancel();
            this.cancel = this.cache.watch(this.lastWatch = watchOptions);
          }
        };
        QueryInfo2.prototype.resetLastWrite = function() {
          this.lastWrite = void 0;
        };
        QueryInfo2.prototype.shouldWrite = function(result2, variables) {
          var lastWrite = this.lastWrite;
          return !(lastWrite && // If cache.evict has been called since the last time we wrote this
          // data into the cache, there's a chance writing this result into
          // the cache will repair what was evicted.
          lastWrite.dmCount === destructiveMethodCounts.get(this.cache) && equal(variables, lastWrite.variables) && equal(result2.data, lastWrite.result.data));
        };
        QueryInfo2.prototype.markResult = function(result2, document2, options, cacheWriteBehavior) {
          var _this = this;
          var merger = new DeepMerger();
          var graphQLErrors = isNonEmptyArray(result2.errors) ? result2.errors.slice(0) : [];
          this.reset();
          if ("incremental" in result2 && isNonEmptyArray(result2.incremental)) {
            var mergedData = mergeIncrementalData(this.getDiff().result, result2);
            result2.data = mergedData;
          } else if ("hasNext" in result2 && result2.hasNext) {
            var diff = this.getDiff();
            result2.data = merger.merge(diff.result, result2.data);
          }
          this.graphQLErrors = graphQLErrors;
          if (options.fetchPolicy === "no-cache") {
            this.updateLastDiff({ result: result2.data, complete: true }, this.getDiffOptions(options.variables));
          } else if (cacheWriteBehavior !== 0) {
            if (shouldWriteResult(result2, options.errorPolicy)) {
              this.cache.performTransaction(function(cache) {
                if (_this.shouldWrite(result2, options.variables)) {
                  cache.writeQuery({
                    query: document2,
                    data: result2.data,
                    variables: options.variables,
                    overwrite: cacheWriteBehavior === 1
                  });
                  _this.lastWrite = {
                    result: result2,
                    variables: options.variables,
                    dmCount: destructiveMethodCounts.get(_this.cache)
                  };
                } else {
                  if (_this.lastDiff && _this.lastDiff.diff.complete) {
                    result2.data = _this.lastDiff.diff.result;
                    return;
                  }
                }
                var diffOptions = _this.getDiffOptions(options.variables);
                var diff2 = cache.diff(diffOptions);
                if (!_this.stopped && equal(_this.variables, options.variables)) {
                  _this.updateWatch(options.variables);
                }
                _this.updateLastDiff(diff2, diffOptions);
                if (diff2.complete) {
                  result2.data = diff2.result;
                }
              });
            } else {
              this.lastWrite = void 0;
            }
          }
        };
        QueryInfo2.prototype.markReady = function() {
          this.networkError = null;
          return this.networkStatus = NetworkStatus.ready;
        };
        QueryInfo2.prototype.markError = function(error) {
          this.networkStatus = NetworkStatus.error;
          this.lastWrite = void 0;
          this.reset();
          if (error.graphQLErrors) {
            this.graphQLErrors = error.graphQLErrors;
          }
          if (error.networkError) {
            this.networkError = error.networkError;
          }
          return error;
        };
        return QueryInfo2;
      }();
    }
  });

  // node_modules/@apollo/client/core/QueryManager.js
  var hasOwnProperty8, QueryManager;
  var init_QueryManager = __esm({
    "node_modules/@apollo/client/core/QueryManager.js"() {
      init_tslib_es6();
      init_globals();
      init_lib2();
      init_core();
      init_utilities();
      init_cache2();
      init_utilities();
      init_incrementalResult();
      init_errors();
      init_ObservableQuery();
      init_networkStatus();
      init_LocalState();
      init_QueryInfo();
      init_errors();
      init_utilities();
      hasOwnProperty8 = Object.prototype.hasOwnProperty;
      QueryManager = /** @class */
      function() {
        function QueryManager2(_a2) {
          var cache = _a2.cache, link = _a2.link, defaultOptions2 = _a2.defaultOptions, documentTransform = _a2.documentTransform, _b = _a2.queryDeduplication, queryDeduplication = _b === void 0 ? false : _b, onBroadcast = _a2.onBroadcast, _c = _a2.ssrMode, ssrMode = _c === void 0 ? false : _c, _d = _a2.clientAwareness, clientAwareness = _d === void 0 ? {} : _d, localState = _a2.localState, _e = _a2.assumeImmutableResults, assumeImmutableResults = _e === void 0 ? !!cache.assumeImmutableResults : _e;
          var _this = this;
          this.clientAwareness = {};
          this.queries = /* @__PURE__ */ new Map();
          this.fetchCancelFns = /* @__PURE__ */ new Map();
          this.transformCache = new (canUseWeakMap ? WeakMap : Map)();
          this.queryIdCounter = 1;
          this.requestIdCounter = 1;
          this.mutationIdCounter = 1;
          this.inFlightLinkObservables = /* @__PURE__ */ new Map();
          var defaultDocumentTransform = new DocumentTransform(
            function(document2) {
              return _this.cache.transformDocument(document2);
            },
            // Allow the apollo cache to manage its own transform caches
            { cache: false }
          );
          this.cache = cache;
          this.link = link;
          this.defaultOptions = defaultOptions2 || /* @__PURE__ */ Object.create(null);
          this.queryDeduplication = queryDeduplication;
          this.clientAwareness = clientAwareness;
          this.localState = localState || new LocalState({ cache });
          this.ssrMode = ssrMode;
          this.assumeImmutableResults = assumeImmutableResults;
          this.documentTransform = documentTransform ? defaultDocumentTransform.concat(documentTransform).concat(defaultDocumentTransform) : defaultDocumentTransform;
          if (this.onBroadcast = onBroadcast) {
            this.mutationStore = /* @__PURE__ */ Object.create(null);
          }
        }
        QueryManager2.prototype.stop = function() {
          var _this = this;
          this.queries.forEach(function(_info, queryId) {
            _this.stopQueryNoBroadcast(queryId);
          });
          this.cancelPendingFetches(newInvariantError(25));
        };
        QueryManager2.prototype.cancelPendingFetches = function(error) {
          this.fetchCancelFns.forEach(function(cancel) {
            return cancel(error);
          });
          this.fetchCancelFns.clear();
        };
        QueryManager2.prototype.mutate = function(_a2) {
          var _b, _c;
          var mutation = _a2.mutation, variables = _a2.variables, optimisticResponse = _a2.optimisticResponse, updateQueries = _a2.updateQueries, _d = _a2.refetchQueries, refetchQueries = _d === void 0 ? [] : _d, _e = _a2.awaitRefetchQueries, awaitRefetchQueries = _e === void 0 ? false : _e, updateWithProxyFn = _a2.update, onQueryUpdated = _a2.onQueryUpdated, _f = _a2.fetchPolicy, fetchPolicy = _f === void 0 ? ((_b = this.defaultOptions.mutate) === null || _b === void 0 ? void 0 : _b.fetchPolicy) || "network-only" : _f, _g = _a2.errorPolicy, errorPolicy = _g === void 0 ? ((_c = this.defaultOptions.mutate) === null || _c === void 0 ? void 0 : _c.errorPolicy) || "none" : _g, keepRootFields = _a2.keepRootFields, context = _a2.context;
          return __awaiter(this, void 0, void 0, function() {
            var mutationId, hasClientExports2, mutationStoreValue, self2;
            return __generator(this, function(_h) {
              switch (_h.label) {
                case 0:
                  invariant2(mutation, 26);
                  invariant2(fetchPolicy === "network-only" || fetchPolicy === "no-cache", 27);
                  mutationId = this.generateMutationId();
                  mutation = this.cache.transformForLink(this.transform(mutation));
                  hasClientExports2 = this.getDocumentInfo(mutation).hasClientExports;
                  variables = this.getVariables(mutation, variables);
                  if (!hasClientExports2)
                    return [3, 2];
                  return [4, this.localState.addExportedVariables(mutation, variables, context)];
                case 1:
                  variables = _h.sent();
                  _h.label = 2;
                case 2:
                  mutationStoreValue = this.mutationStore && (this.mutationStore[mutationId] = {
                    mutation,
                    variables,
                    loading: true,
                    error: null
                  });
                  if (optimisticResponse) {
                    this.markMutationOptimistic(optimisticResponse, {
                      mutationId,
                      document: mutation,
                      variables,
                      fetchPolicy,
                      errorPolicy,
                      context,
                      updateQueries,
                      update: updateWithProxyFn,
                      keepRootFields
                    });
                  }
                  this.broadcastQueries();
                  self2 = this;
                  return [2, new Promise(function(resolve2, reject2) {
                    return asyncMap(self2.getObservableFromLink(mutation, __assign(__assign({}, context), { optimisticResponse }), variables, false), function(result2) {
                      if (graphQLResultHasError(result2) && errorPolicy === "none") {
                        throw new ApolloError({
                          graphQLErrors: getGraphQLErrorsFromResult(result2)
                        });
                      }
                      if (mutationStoreValue) {
                        mutationStoreValue.loading = false;
                        mutationStoreValue.error = null;
                      }
                      var storeResult = __assign({}, result2);
                      if (typeof refetchQueries === "function") {
                        refetchQueries = refetchQueries(storeResult);
                      }
                      if (errorPolicy === "ignore" && graphQLResultHasError(storeResult)) {
                        delete storeResult.errors;
                      }
                      return self2.markMutationResult({
                        mutationId,
                        result: storeResult,
                        document: mutation,
                        variables,
                        fetchPolicy,
                        errorPolicy,
                        context,
                        update: updateWithProxyFn,
                        updateQueries,
                        awaitRefetchQueries,
                        refetchQueries,
                        removeOptimistic: optimisticResponse ? mutationId : void 0,
                        onQueryUpdated,
                        keepRootFields
                      });
                    }).subscribe({
                      next: function(storeResult) {
                        self2.broadcastQueries();
                        if (!("hasNext" in storeResult) || storeResult.hasNext === false) {
                          resolve2(storeResult);
                        }
                      },
                      error: function(err) {
                        if (mutationStoreValue) {
                          mutationStoreValue.loading = false;
                          mutationStoreValue.error = err;
                        }
                        if (optimisticResponse) {
                          self2.cache.removeOptimistic(mutationId);
                        }
                        self2.broadcastQueries();
                        reject2(err instanceof ApolloError ? err : new ApolloError({
                          networkError: err
                        }));
                      }
                    });
                  })];
              }
            });
          });
        };
        QueryManager2.prototype.markMutationResult = function(mutation, cache) {
          var _this = this;
          if (cache === void 0) {
            cache = this.cache;
          }
          var result2 = mutation.result;
          var cacheWrites = [];
          var skipCache = mutation.fetchPolicy === "no-cache";
          if (!skipCache && shouldWriteResult(result2, mutation.errorPolicy)) {
            if (!isExecutionPatchIncrementalResult(result2)) {
              cacheWrites.push({
                result: result2.data,
                dataId: "ROOT_MUTATION",
                query: mutation.document,
                variables: mutation.variables
              });
            }
            if (isExecutionPatchIncrementalResult(result2) && isNonEmptyArray(result2.incremental)) {
              var diff = cache.diff({
                id: "ROOT_MUTATION",
                // The cache complains if passed a mutation where it expects a
                // query, so we transform mutations and subscriptions to queries
                // (only once, thanks to this.transformCache).
                query: this.getDocumentInfo(mutation.document).asQuery,
                variables: mutation.variables,
                optimistic: false,
                returnPartialData: true
              });
              var mergedData = void 0;
              if (diff.result) {
                mergedData = mergeIncrementalData(diff.result, result2);
              }
              if (typeof mergedData !== "undefined") {
                result2.data = mergedData;
                cacheWrites.push({
                  result: mergedData,
                  dataId: "ROOT_MUTATION",
                  query: mutation.document,
                  variables: mutation.variables
                });
              }
            }
            var updateQueries_1 = mutation.updateQueries;
            if (updateQueries_1) {
              this.queries.forEach(function(_a2, queryId) {
                var observableQuery = _a2.observableQuery;
                var queryName = observableQuery && observableQuery.queryName;
                if (!queryName || !hasOwnProperty8.call(updateQueries_1, queryName)) {
                  return;
                }
                var updater = updateQueries_1[queryName];
                var _b = _this.queries.get(queryId), document2 = _b.document, variables = _b.variables;
                var _c = cache.diff({
                  query: document2,
                  variables,
                  returnPartialData: true,
                  optimistic: false
                }), currentQueryResult = _c.result, complete = _c.complete;
                if (complete && currentQueryResult) {
                  var nextQueryResult = updater(currentQueryResult, {
                    mutationResult: result2,
                    queryName: document2 && getOperationName(document2) || void 0,
                    queryVariables: variables
                  });
                  if (nextQueryResult) {
                    cacheWrites.push({
                      result: nextQueryResult,
                      dataId: "ROOT_QUERY",
                      query: document2,
                      variables
                    });
                  }
                }
              });
            }
          }
          if (cacheWrites.length > 0 || mutation.refetchQueries || mutation.update || mutation.onQueryUpdated || mutation.removeOptimistic) {
            var results_1 = [];
            this.refetchQueries({
              updateCache: function(cache2) {
                if (!skipCache) {
                  cacheWrites.forEach(function(write) {
                    return cache2.write(write);
                  });
                }
                var update = mutation.update;
                var isFinalResult = !isExecutionPatchResult(result2) || isExecutionPatchIncrementalResult(result2) && !result2.hasNext;
                if (update) {
                  if (!skipCache) {
                    var diff2 = cache2.diff({
                      id: "ROOT_MUTATION",
                      // The cache complains if passed a mutation where it expects a
                      // query, so we transform mutations and subscriptions to queries
                      // (only once, thanks to this.transformCache).
                      query: _this.getDocumentInfo(mutation.document).asQuery,
                      variables: mutation.variables,
                      optimistic: false,
                      returnPartialData: true
                    });
                    if (diff2.complete) {
                      result2 = __assign(__assign({}, result2), { data: diff2.result });
                      if ("incremental" in result2) {
                        delete result2.incremental;
                      }
                      if ("hasNext" in result2) {
                        delete result2.hasNext;
                      }
                    }
                  }
                  if (isFinalResult) {
                    update(cache2, result2, {
                      context: mutation.context,
                      variables: mutation.variables
                    });
                  }
                }
                if (!skipCache && !mutation.keepRootFields && isFinalResult) {
                  cache2.modify({
                    id: "ROOT_MUTATION",
                    fields: function(value, _a2) {
                      var fieldName = _a2.fieldName, DELETE2 = _a2.DELETE;
                      return fieldName === "__typename" ? value : DELETE2;
                    }
                  });
                }
              },
              include: mutation.refetchQueries,
              // Write the final mutation.result to the root layer of the cache.
              optimistic: false,
              // Remove the corresponding optimistic layer at the same time as we
              // write the final non-optimistic result.
              removeOptimistic: mutation.removeOptimistic,
              // Let the caller of client.mutate optionally determine the refetching
              // behavior for watched queries after the mutation.update function runs.
              // If no onQueryUpdated function was provided for this mutation, pass
              // null instead of undefined to disable the default refetching behavior.
              onQueryUpdated: mutation.onQueryUpdated || null
            }).forEach(function(result3) {
              return results_1.push(result3);
            });
            if (mutation.awaitRefetchQueries || mutation.onQueryUpdated) {
              return Promise.all(results_1).then(function() {
                return result2;
              });
            }
          }
          return Promise.resolve(result2);
        };
        QueryManager2.prototype.markMutationOptimistic = function(optimisticResponse, mutation) {
          var _this = this;
          var data = typeof optimisticResponse === "function" ? optimisticResponse(mutation.variables) : optimisticResponse;
          return this.cache.recordOptimisticTransaction(function(cache) {
            try {
              _this.markMutationResult(__assign(__assign({}, mutation), { result: { data } }), cache);
            } catch (error) {
            }
          }, mutation.mutationId);
        };
        QueryManager2.prototype.fetchQuery = function(queryId, options, networkStatus) {
          return this.fetchConcastWithInfo(queryId, options, networkStatus).concast.promise;
        };
        QueryManager2.prototype.getQueryStore = function() {
          var store = /* @__PURE__ */ Object.create(null);
          this.queries.forEach(function(info, queryId) {
            store[queryId] = {
              variables: info.variables,
              networkStatus: info.networkStatus,
              networkError: info.networkError,
              graphQLErrors: info.graphQLErrors
            };
          });
          return store;
        };
        QueryManager2.prototype.resetErrors = function(queryId) {
          var queryInfo = this.queries.get(queryId);
          if (queryInfo) {
            queryInfo.networkError = void 0;
            queryInfo.graphQLErrors = [];
          }
        };
        QueryManager2.prototype.transform = function(document2) {
          return this.documentTransform.transformDocument(document2);
        };
        QueryManager2.prototype.getDocumentInfo = function(document2) {
          var transformCache = this.transformCache;
          if (!transformCache.has(document2)) {
            var cacheEntry = {
              // TODO These three calls (hasClientExports, shouldForceResolvers, and
              // usesNonreactiveDirective) are performing independent full traversals
              // of the transformed document. We should consider merging these
              // traversals into a single pass in the future, though the work is
              // cached after the first time.
              hasClientExports: hasClientExports(document2),
              hasForcedResolvers: this.localState.shouldForceResolvers(document2),
              hasNonreactiveDirective: hasDirectives(["nonreactive"], document2),
              clientQuery: this.localState.clientQuery(document2),
              serverQuery: removeDirectivesFromDocument([
                { name: "client", remove: true },
                { name: "connection" },
                { name: "nonreactive" }
              ], document2),
              defaultVars: getDefaultValues(getOperationDefinition(document2)),
              // Transform any mutation or subscription operations to query operations
              // so we can read/write them from/to the cache.
              asQuery: __assign(__assign({}, document2), { definitions: document2.definitions.map(function(def) {
                if (def.kind === "OperationDefinition" && def.operation !== "query") {
                  return __assign(__assign({}, def), { operation: "query" });
                }
                return def;
              }) })
            };
            transformCache.set(document2, cacheEntry);
          }
          return transformCache.get(document2);
        };
        QueryManager2.prototype.getVariables = function(document2, variables) {
          return __assign(__assign({}, this.getDocumentInfo(document2).defaultVars), variables);
        };
        QueryManager2.prototype.watchQuery = function(options) {
          var query = this.transform(options.query);
          options = __assign(__assign({}, options), { variables: this.getVariables(query, options.variables) });
          if (typeof options.notifyOnNetworkStatusChange === "undefined") {
            options.notifyOnNetworkStatusChange = false;
          }
          var queryInfo = new QueryInfo(this);
          var observable = new ObservableQuery({
            queryManager: this,
            queryInfo,
            options
          });
          observable["lastQuery"] = query;
          this.queries.set(observable.queryId, queryInfo);
          queryInfo.init({
            document: query,
            observableQuery: observable,
            variables: observable.variables
          });
          return observable;
        };
        QueryManager2.prototype.query = function(options, queryId) {
          var _this = this;
          if (queryId === void 0) {
            queryId = this.generateQueryId();
          }
          invariant2(options.query, 28);
          invariant2(options.query.kind === "Document", 29);
          invariant2(!options.returnPartialData, 30);
          invariant2(!options.pollInterval, 31);
          return this.fetchQuery(queryId, __assign(__assign({}, options), { query: this.transform(options.query) })).finally(function() {
            return _this.stopQuery(queryId);
          });
        };
        QueryManager2.prototype.generateQueryId = function() {
          return String(this.queryIdCounter++);
        };
        QueryManager2.prototype.generateRequestId = function() {
          return this.requestIdCounter++;
        };
        QueryManager2.prototype.generateMutationId = function() {
          return String(this.mutationIdCounter++);
        };
        QueryManager2.prototype.stopQueryInStore = function(queryId) {
          this.stopQueryInStoreNoBroadcast(queryId);
          this.broadcastQueries();
        };
        QueryManager2.prototype.stopQueryInStoreNoBroadcast = function(queryId) {
          var queryInfo = this.queries.get(queryId);
          if (queryInfo)
            queryInfo.stop();
        };
        QueryManager2.prototype.clearStore = function(options) {
          if (options === void 0) {
            options = {
              discardWatches: true
            };
          }
          this.cancelPendingFetches(newInvariantError(32));
          this.queries.forEach(function(queryInfo) {
            if (queryInfo.observableQuery) {
              queryInfo.networkStatus = NetworkStatus.loading;
            } else {
              queryInfo.stop();
            }
          });
          if (this.mutationStore) {
            this.mutationStore = /* @__PURE__ */ Object.create(null);
          }
          return this.cache.reset(options);
        };
        QueryManager2.prototype.getObservableQueries = function(include) {
          var _this = this;
          if (include === void 0) {
            include = "active";
          }
          var queries = /* @__PURE__ */ new Map();
          var queryNamesAndDocs = /* @__PURE__ */ new Map();
          var legacyQueryOptions = /* @__PURE__ */ new Set();
          if (Array.isArray(include)) {
            include.forEach(function(desc) {
              if (typeof desc === "string") {
                queryNamesAndDocs.set(desc, false);
              } else if (isDocumentNode(desc)) {
                queryNamesAndDocs.set(_this.transform(desc), false);
              } else if (isNonNullObject(desc) && desc.query) {
                legacyQueryOptions.add(desc);
              }
            });
          }
          this.queries.forEach(function(_a2, queryId) {
            var oq = _a2.observableQuery, document2 = _a2.document;
            if (oq) {
              if (include === "all") {
                queries.set(queryId, oq);
                return;
              }
              var queryName = oq.queryName, fetchPolicy = oq.options.fetchPolicy;
              if (fetchPolicy === "standby" || include === "active" && !oq.hasObservers()) {
                return;
              }
              if (include === "active" || queryName && queryNamesAndDocs.has(queryName) || document2 && queryNamesAndDocs.has(document2)) {
                queries.set(queryId, oq);
                if (queryName)
                  queryNamesAndDocs.set(queryName, true);
                if (document2)
                  queryNamesAndDocs.set(document2, true);
              }
            }
          });
          if (legacyQueryOptions.size) {
            legacyQueryOptions.forEach(function(options) {
              var queryId = makeUniqueId("legacyOneTimeQuery");
              var queryInfo = _this.getQuery(queryId).init({
                document: options.query,
                variables: options.variables
              });
              var oq = new ObservableQuery({
                queryManager: _this,
                queryInfo,
                options: __assign(__assign({}, options), { fetchPolicy: "network-only" })
              });
              invariant2(oq.queryId === queryId);
              queryInfo.setObservableQuery(oq);
              queries.set(queryId, oq);
            });
          }
          if (false) {
            queryNamesAndDocs.forEach(function(included, nameOrDoc) {
              if (!included) {
              }
            });
          }
          return queries;
        };
        QueryManager2.prototype.reFetchObservableQueries = function(includeStandby) {
          var _this = this;
          if (includeStandby === void 0) {
            includeStandby = false;
          }
          var observableQueryPromises = [];
          this.getObservableQueries(includeStandby ? "all" : "active").forEach(function(observableQuery, queryId) {
            var fetchPolicy = observableQuery.options.fetchPolicy;
            observableQuery.resetLastResults();
            if (includeStandby || fetchPolicy !== "standby" && fetchPolicy !== "cache-only") {
              observableQueryPromises.push(observableQuery.refetch());
            }
            _this.getQuery(queryId).setDiff(null);
          });
          this.broadcastQueries();
          return Promise.all(observableQueryPromises);
        };
        QueryManager2.prototype.setObservableQuery = function(observableQuery) {
          this.getQuery(observableQuery.queryId).setObservableQuery(observableQuery);
        };
        QueryManager2.prototype.startGraphQLSubscription = function(_a2) {
          var _this = this;
          var query = _a2.query, fetchPolicy = _a2.fetchPolicy, _b = _a2.errorPolicy, errorPolicy = _b === void 0 ? "none" : _b, variables = _a2.variables, _c = _a2.context, context = _c === void 0 ? {} : _c;
          query = this.transform(query);
          variables = this.getVariables(query, variables);
          var makeObservable = function(variables2) {
            return _this.getObservableFromLink(query, context, variables2).map(function(result2) {
              if (fetchPolicy !== "no-cache") {
                if (shouldWriteResult(result2, errorPolicy)) {
                  _this.cache.write({
                    query,
                    result: result2.data,
                    dataId: "ROOT_SUBSCRIPTION",
                    variables: variables2
                  });
                }
                _this.broadcastQueries();
              }
              var hasErrors2 = graphQLResultHasError(result2);
              var hasProtocolErrors = graphQLResultHasProtocolErrors(result2);
              if (hasErrors2 || hasProtocolErrors) {
                var errors = {};
                if (hasErrors2) {
                  errors.graphQLErrors = result2.errors;
                }
                if (hasProtocolErrors) {
                  errors.protocolErrors = result2.extensions[PROTOCOL_ERRORS_SYMBOL];
                }
                if (errorPolicy === "none" || hasProtocolErrors) {
                  throw new ApolloError(errors);
                }
              }
              if (errorPolicy === "ignore") {
                delete result2.errors;
              }
              return result2;
            });
          };
          if (this.getDocumentInfo(query).hasClientExports) {
            var observablePromise_1 = this.localState.addExportedVariables(query, variables, context).then(makeObservable);
            return new Observable(function(observer) {
              var sub = null;
              observablePromise_1.then(function(observable) {
                return sub = observable.subscribe(observer);
              }, observer.error);
              return function() {
                return sub && sub.unsubscribe();
              };
            });
          }
          return makeObservable(variables);
        };
        QueryManager2.prototype.stopQuery = function(queryId) {
          this.stopQueryNoBroadcast(queryId);
          this.broadcastQueries();
        };
        QueryManager2.prototype.stopQueryNoBroadcast = function(queryId) {
          this.stopQueryInStoreNoBroadcast(queryId);
          this.removeQuery(queryId);
        };
        QueryManager2.prototype.removeQuery = function(queryId) {
          this.fetchCancelFns.delete(queryId);
          if (this.queries.has(queryId)) {
            this.getQuery(queryId).stop();
            this.queries.delete(queryId);
          }
        };
        QueryManager2.prototype.broadcastQueries = function() {
          if (this.onBroadcast)
            this.onBroadcast();
          this.queries.forEach(function(info) {
            return info.notify();
          });
        };
        QueryManager2.prototype.getLocalState = function() {
          return this.localState;
        };
        QueryManager2.prototype.getObservableFromLink = function(query, context, variables, deduplication) {
          var _this = this;
          var _a2;
          if (deduplication === void 0) {
            deduplication = (_a2 = context === null || context === void 0 ? void 0 : context.queryDeduplication) !== null && _a2 !== void 0 ? _a2 : this.queryDeduplication;
          }
          var observable;
          var _b = this.getDocumentInfo(query), serverQuery = _b.serverQuery, clientQuery = _b.clientQuery;
          if (serverQuery) {
            var _c = this, inFlightLinkObservables_1 = _c.inFlightLinkObservables, link = _c.link;
            var operation = {
              query: serverQuery,
              variables,
              operationName: getOperationName(serverQuery) || void 0,
              context: this.prepareContext(__assign(__assign({}, context), { forceFetch: !deduplication }))
            };
            context = operation.context;
            if (deduplication) {
              var printedServerQuery_1 = print2(serverQuery);
              var byVariables_1 = inFlightLinkObservables_1.get(printedServerQuery_1) || /* @__PURE__ */ new Map();
              inFlightLinkObservables_1.set(printedServerQuery_1, byVariables_1);
              var varJson_1 = canonicalStringify(variables);
              observable = byVariables_1.get(varJson_1);
              if (!observable) {
                var concast = new Concast([
                  execute(link, operation)
                ]);
                byVariables_1.set(varJson_1, observable = concast);
                concast.beforeNext(function() {
                  if (byVariables_1.delete(varJson_1) && byVariables_1.size < 1) {
                    inFlightLinkObservables_1.delete(printedServerQuery_1);
                  }
                });
              }
            } else {
              observable = new Concast([
                execute(link, operation)
              ]);
            }
          } else {
            observable = new Concast([Observable.of({ data: {} })]);
            context = this.prepareContext(context);
          }
          if (clientQuery) {
            observable = asyncMap(observable, function(result2) {
              return _this.localState.runResolvers({
                document: clientQuery,
                remoteResult: result2,
                context,
                variables
              });
            });
          }
          return observable;
        };
        QueryManager2.prototype.getResultsFromLink = function(queryInfo, cacheWriteBehavior, options) {
          var requestId = queryInfo.lastRequestId = this.generateRequestId();
          var linkDocument = this.cache.transformForLink(options.query);
          return asyncMap(this.getObservableFromLink(linkDocument, options.context, options.variables), function(result2) {
            var graphQLErrors = getGraphQLErrorsFromResult(result2);
            var hasErrors2 = graphQLErrors.length > 0;
            if (requestId >= queryInfo.lastRequestId) {
              if (hasErrors2 && options.errorPolicy === "none") {
                throw queryInfo.markError(new ApolloError({
                  graphQLErrors
                }));
              }
              queryInfo.markResult(result2, linkDocument, options, cacheWriteBehavior);
              queryInfo.markReady();
            }
            var aqr = {
              data: result2.data,
              loading: false,
              networkStatus: NetworkStatus.ready
            };
            if (hasErrors2 && options.errorPolicy !== "ignore") {
              aqr.errors = graphQLErrors;
              aqr.networkStatus = NetworkStatus.error;
            }
            return aqr;
          }, function(networkError) {
            var error = isApolloError(networkError) ? networkError : new ApolloError({ networkError });
            if (requestId >= queryInfo.lastRequestId) {
              queryInfo.markError(error);
            }
            throw error;
          });
        };
        QueryManager2.prototype.fetchConcastWithInfo = function(queryId, options, networkStatus, query) {
          var _this = this;
          if (networkStatus === void 0) {
            networkStatus = NetworkStatus.loading;
          }
          if (query === void 0) {
            query = options.query;
          }
          var variables = this.getVariables(query, options.variables);
          var queryInfo = this.getQuery(queryId);
          var defaults = this.defaultOptions.watchQuery;
          var _a2 = options.fetchPolicy, fetchPolicy = _a2 === void 0 ? defaults && defaults.fetchPolicy || "cache-first" : _a2, _b = options.errorPolicy, errorPolicy = _b === void 0 ? defaults && defaults.errorPolicy || "none" : _b, _c = options.returnPartialData, returnPartialData = _c === void 0 ? false : _c, _d = options.notifyOnNetworkStatusChange, notifyOnNetworkStatusChange = _d === void 0 ? false : _d, _e = options.context, context = _e === void 0 ? {} : _e;
          var normalized = Object.assign({}, options, {
            query,
            variables,
            fetchPolicy,
            errorPolicy,
            returnPartialData,
            notifyOnNetworkStatusChange,
            context
          });
          var fromVariables = function(variables2) {
            normalized.variables = variables2;
            var sourcesWithInfo2 = _this.fetchQueryByPolicy(queryInfo, normalized, networkStatus);
            if (
              // If we're in standby, postpone advancing options.fetchPolicy using
              // applyNextFetchPolicy.
              normalized.fetchPolicy !== "standby" && // The "standby" policy currently returns [] from fetchQueryByPolicy, so
              // this is another way to detect when nothing was done/fetched.
              sourcesWithInfo2.sources.length > 0 && queryInfo.observableQuery
            ) {
              queryInfo.observableQuery["applyNextFetchPolicy"]("after-fetch", options);
            }
            return sourcesWithInfo2;
          };
          var cleanupCancelFn = function() {
            return _this.fetchCancelFns.delete(queryId);
          };
          this.fetchCancelFns.set(queryId, function(reason) {
            cleanupCancelFn();
            setTimeout(function() {
              return concast.cancel(reason);
            });
          });
          var concast, containsDataFromLink;
          if (this.getDocumentInfo(normalized.query).hasClientExports) {
            concast = new Concast(this.localState.addExportedVariables(normalized.query, normalized.variables, normalized.context).then(fromVariables).then(function(sourcesWithInfo2) {
              return sourcesWithInfo2.sources;
            }));
            containsDataFromLink = true;
          } else {
            var sourcesWithInfo = fromVariables(normalized.variables);
            containsDataFromLink = sourcesWithInfo.fromLink;
            concast = new Concast(sourcesWithInfo.sources);
          }
          concast.promise.then(cleanupCancelFn, cleanupCancelFn);
          return {
            concast,
            fromLink: containsDataFromLink
          };
        };
        QueryManager2.prototype.refetchQueries = function(_a2) {
          var _this = this;
          var updateCache = _a2.updateCache, include = _a2.include, _b = _a2.optimistic, optimistic = _b === void 0 ? false : _b, _c = _a2.removeOptimistic, removeOptimistic = _c === void 0 ? optimistic ? makeUniqueId("refetchQueries") : void 0 : _c, onQueryUpdated = _a2.onQueryUpdated;
          var includedQueriesById = /* @__PURE__ */ new Map();
          if (include) {
            this.getObservableQueries(include).forEach(function(oq, queryId) {
              includedQueriesById.set(queryId, {
                oq,
                lastDiff: _this.getQuery(queryId).getDiff()
              });
            });
          }
          var results = /* @__PURE__ */ new Map();
          if (updateCache) {
            this.cache.batch({
              update: updateCache,
              // Since you can perform any combination of cache reads and/or writes in
              // the cache.batch update function, its optimistic option can be either
              // a boolean or a string, representing three distinct modes of
              // operation:
              //
              // * false: read/write only the root layer
              // * true: read/write the topmost layer
              // * string: read/write a fresh optimistic layer with that ID string
              //
              // When typeof optimistic === "string", a new optimistic layer will be
              // temporarily created within cache.batch with that string as its ID. If
              // we then pass that same string as the removeOptimistic option, we can
              // make cache.batch immediately remove the optimistic layer after
              // running the updateCache function, triggering only one broadcast.
              //
              // However, the refetchQueries method accepts only true or false for its
              // optimistic option (not string). We interpret true to mean a temporary
              // optimistic layer should be created, to allow efficiently rolling back
              // the effect of the updateCache function, which involves passing a
              // string instead of true as the optimistic option to cache.batch, when
              // refetchQueries receives optimistic: true.
              //
              // In other words, we are deliberately not supporting the use case of
              // writing to an *existing* optimistic layer (using the refetchQueries
              // updateCache function), since that would potentially interfere with
              // other optimistic updates in progress. Instead, you can read/write
              // only the root layer by passing optimistic: false to refetchQueries,
              // or you can read/write a brand new optimistic layer that will be
              // automatically removed by passing optimistic: true.
              optimistic: optimistic && removeOptimistic || false,
              // The removeOptimistic option can also be provided by itself, even if
              // optimistic === false, to remove some previously-added optimistic
              // layer safely and efficiently, like we do in markMutationResult.
              //
              // If an explicit removeOptimistic string is provided with optimistic:
              // true, the removeOptimistic string will determine the ID of the
              // temporary optimistic layer, in case that ever matters.
              removeOptimistic,
              onWatchUpdated: function(watch, diff, lastDiff) {
                var oq = watch.watcher instanceof QueryInfo && watch.watcher.observableQuery;
                if (oq) {
                  if (onQueryUpdated) {
                    includedQueriesById.delete(oq.queryId);
                    var result2 = onQueryUpdated(oq, diff, lastDiff);
                    if (result2 === true) {
                      result2 = oq.refetch();
                    }
                    if (result2 !== false) {
                      results.set(oq, result2);
                    }
                    return result2;
                  }
                  if (onQueryUpdated !== null) {
                    includedQueriesById.set(oq.queryId, { oq, lastDiff, diff });
                  }
                }
              }
            });
          }
          if (includedQueriesById.size) {
            includedQueriesById.forEach(function(_a3, queryId) {
              var oq = _a3.oq, lastDiff = _a3.lastDiff, diff = _a3.diff;
              var result2;
              if (onQueryUpdated) {
                if (!diff) {
                  var info = oq["queryInfo"];
                  info.reset();
                  diff = info.getDiff();
                }
                result2 = onQueryUpdated(oq, diff, lastDiff);
              }
              if (!onQueryUpdated || result2 === true) {
                result2 = oq.refetch();
              }
              if (result2 !== false) {
                results.set(oq, result2);
              }
              if (queryId.indexOf("legacyOneTimeQuery") >= 0) {
                _this.stopQueryNoBroadcast(queryId);
              }
            });
          }
          if (removeOptimistic) {
            this.cache.removeOptimistic(removeOptimistic);
          }
          return results;
        };
        QueryManager2.prototype.fetchQueryByPolicy = function(queryInfo, _a2, networkStatus) {
          var _this = this;
          var query = _a2.query, variables = _a2.variables, fetchPolicy = _a2.fetchPolicy, refetchWritePolicy = _a2.refetchWritePolicy, errorPolicy = _a2.errorPolicy, returnPartialData = _a2.returnPartialData, context = _a2.context, notifyOnNetworkStatusChange = _a2.notifyOnNetworkStatusChange;
          var oldNetworkStatus = queryInfo.networkStatus;
          queryInfo.init({
            document: query,
            variables,
            networkStatus
          });
          var readCache = function() {
            return queryInfo.getDiff();
          };
          var resultsFromCache = function(diff2, networkStatus2) {
            if (networkStatus2 === void 0) {
              networkStatus2 = queryInfo.networkStatus || NetworkStatus.loading;
            }
            var data = diff2.result;
            if (false) {
              logMissingFieldErrors(diff2.missing);
            }
            var fromData = function(data2) {
              return Observable.of(__assign({ data: data2, loading: isNetworkRequestInFlight(networkStatus2), networkStatus: networkStatus2 }, diff2.complete ? null : { partial: true }));
            };
            if (data && _this.getDocumentInfo(query).hasForcedResolvers) {
              return _this.localState.runResolvers({
                document: query,
                remoteResult: { data },
                context,
                variables,
                onlyRunForcedResolvers: true
              }).then(function(resolved) {
                return fromData(resolved.data || void 0);
              });
            }
            if (errorPolicy === "none" && networkStatus2 === NetworkStatus.refetch && Array.isArray(diff2.missing)) {
              return fromData(void 0);
            }
            return fromData(data);
          };
          var cacheWriteBehavior = fetchPolicy === "no-cache" ? 0 : networkStatus === NetworkStatus.refetch && refetchWritePolicy !== "merge" ? 1 : 2;
          var resultsFromLink = function() {
            return _this.getResultsFromLink(queryInfo, cacheWriteBehavior, {
              query,
              variables,
              context,
              fetchPolicy,
              errorPolicy
            });
          };
          var shouldNotify = notifyOnNetworkStatusChange && typeof oldNetworkStatus === "number" && oldNetworkStatus !== networkStatus && isNetworkRequestInFlight(networkStatus);
          switch (fetchPolicy) {
            default:
            case "cache-first": {
              var diff = readCache();
              if (diff.complete) {
                return {
                  fromLink: false,
                  sources: [resultsFromCache(diff, queryInfo.markReady())]
                };
              }
              if (returnPartialData || shouldNotify) {
                return {
                  fromLink: true,
                  sources: [resultsFromCache(diff), resultsFromLink()]
                };
              }
              return { fromLink: true, sources: [resultsFromLink()] };
            }
            case "cache-and-network": {
              var diff = readCache();
              if (diff.complete || returnPartialData || shouldNotify) {
                return {
                  fromLink: true,
                  sources: [resultsFromCache(diff), resultsFromLink()]
                };
              }
              return { fromLink: true, sources: [resultsFromLink()] };
            }
            case "cache-only":
              return {
                fromLink: false,
                sources: [resultsFromCache(readCache(), queryInfo.markReady())]
              };
            case "network-only":
              if (shouldNotify) {
                return {
                  fromLink: true,
                  sources: [resultsFromCache(readCache()), resultsFromLink()]
                };
              }
              return { fromLink: true, sources: [resultsFromLink()] };
            case "no-cache":
              if (shouldNotify) {
                return {
                  fromLink: true,
                  // Note that queryInfo.getDiff() for no-cache queries does not call
                  // cache.diff, but instead returns a { complete: false } stub result
                  // when there is no queryInfo.diff already defined.
                  sources: [resultsFromCache(queryInfo.getDiff()), resultsFromLink()]
                };
              }
              return { fromLink: true, sources: [resultsFromLink()] };
            case "standby":
              return { fromLink: false, sources: [] };
          }
        };
        QueryManager2.prototype.getQuery = function(queryId) {
          if (queryId && !this.queries.has(queryId)) {
            this.queries.set(queryId, new QueryInfo(this, queryId));
          }
          return this.queries.get(queryId);
        };
        QueryManager2.prototype.prepareContext = function(context) {
          if (context === void 0) {
            context = {};
          }
          var newContext = this.localState.prepareContext(context);
          return __assign(__assign({}, newContext), { clientAwareness: this.clientAwareness });
        };
        return QueryManager2;
      }();
    }
  });

  // node_modules/@apollo/client/core/ApolloClient.js
  var hasSuggestedDevtools, ApolloClient;
  var init_ApolloClient = __esm({
    "node_modules/@apollo/client/core/ApolloClient.js"() {
      init_tslib_es6();
      init_globals();
      init_core();
      init_version();
      init_http();
      init_QueryManager();
      init_LocalState();
      init_utilities();
      hasSuggestedDevtools = false;
      ApolloClient = /** @class */
      function() {
        function ApolloClient2(options) {
          var _this = this;
          this.resetStoreCallbacks = [];
          this.clearStoreCallbacks = [];
          if (!options.cache) {
            throw newInvariantError(15);
          }
          var uri = options.uri, credentials = options.credentials, headers = options.headers, cache = options.cache, documentTransform = options.documentTransform, _a2 = options.ssrMode, ssrMode = _a2 === void 0 ? false : _a2, _b = options.ssrForceFetchDelay, ssrForceFetchDelay = _b === void 0 ? 0 : _b, _c = options.connectToDevTools, connectToDevTools = _c === void 0 ? typeof window === "object" && !window.__APOLLO_CLIENT__ && false : _c, _d = options.queryDeduplication, queryDeduplication = _d === void 0 ? true : _d, defaultOptions2 = options.defaultOptions, _e = options.assumeImmutableResults, assumeImmutableResults = _e === void 0 ? cache.assumeImmutableResults : _e, resolvers = options.resolvers, typeDefs = options.typeDefs, fragmentMatcher = options.fragmentMatcher, clientAwarenessName = options.name, clientAwarenessVersion = options.version;
          var link = options.link;
          if (!link) {
            link = uri ? new HttpLink({ uri, credentials, headers }) : ApolloLink.empty();
          }
          this.link = link;
          this.cache = cache;
          this.disableNetworkFetches = ssrMode || ssrForceFetchDelay > 0;
          this.queryDeduplication = queryDeduplication;
          this.defaultOptions = defaultOptions2 || /* @__PURE__ */ Object.create(null);
          this.typeDefs = typeDefs;
          if (ssrForceFetchDelay) {
            setTimeout(function() {
              return _this.disableNetworkFetches = false;
            }, ssrForceFetchDelay);
          }
          this.watchQuery = this.watchQuery.bind(this);
          this.query = this.query.bind(this);
          this.mutate = this.mutate.bind(this);
          this.resetStore = this.resetStore.bind(this);
          this.reFetchObservableQueries = this.reFetchObservableQueries.bind(this);
          this.version = version;
          this.localState = new LocalState({
            cache,
            client: this,
            resolvers,
            fragmentMatcher
          });
          this.queryManager = new QueryManager({
            cache: this.cache,
            link: this.link,
            defaultOptions: this.defaultOptions,
            documentTransform,
            queryDeduplication,
            ssrMode,
            clientAwareness: {
              name: clientAwarenessName,
              version: clientAwarenessVersion
            },
            localState: this.localState,
            assumeImmutableResults,
            onBroadcast: connectToDevTools ? function() {
              if (_this.devToolsHookCb) {
                _this.devToolsHookCb({
                  action: {},
                  state: {
                    queries: _this.queryManager.getQueryStore(),
                    mutations: _this.queryManager.mutationStore || {}
                  },
                  dataWithOptimisticResults: _this.cache.extract(true)
                });
              }
            } : void 0
          });
          if (connectToDevTools)
            this.connectToDevTools();
        }
        ApolloClient2.prototype.connectToDevTools = function() {
          if (typeof window === "object") {
            var windowWithDevTools = window;
            var devtoolsSymbol = Symbol.for("apollo.devtools");
            (windowWithDevTools[devtoolsSymbol] = windowWithDevTools[devtoolsSymbol] || []).push(this);
            windowWithDevTools.__APOLLO_CLIENT__ = this;
          }
          if (!hasSuggestedDevtools && false) {
            hasSuggestedDevtools = true;
            setTimeout(function() {
              if (typeof window !== "undefined" && window.document && window.top === window.self && !window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__) {
                var nav = window.navigator;
                var ua2 = nav && nav.userAgent;
                var url = void 0;
                if (typeof ua2 === "string") {
                  if (ua2.indexOf("Chrome/") > -1) {
                    url = "https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm";
                  } else if (ua2.indexOf("Firefox/") > -1) {
                    url = "https://addons.mozilla.org/en-US/firefox/addon/apollo-developer-tools/";
                  }
                }
                if (url) {
                }
              }
            }, 1e4);
          }
        };
        Object.defineProperty(ApolloClient2.prototype, "documentTransform", {
          /**
           * The `DocumentTransform` used to modify GraphQL documents before a request
           * is made. If a custom `DocumentTransform` is not provided, this will be the
           * default document transform.
           */
          get: function() {
            return this.queryManager.documentTransform;
          },
          enumerable: false,
          configurable: true
        });
        ApolloClient2.prototype.stop = function() {
          this.queryManager.stop();
        };
        ApolloClient2.prototype.watchQuery = function(options) {
          if (this.defaultOptions.watchQuery) {
            options = mergeOptions(this.defaultOptions.watchQuery, options);
          }
          if (this.disableNetworkFetches && (options.fetchPolicy === "network-only" || options.fetchPolicy === "cache-and-network")) {
            options = __assign(__assign({}, options), { fetchPolicy: "cache-first" });
          }
          return this.queryManager.watchQuery(options);
        };
        ApolloClient2.prototype.query = function(options) {
          if (this.defaultOptions.query) {
            options = mergeOptions(this.defaultOptions.query, options);
          }
          invariant2(options.fetchPolicy !== "cache-and-network", 16);
          if (this.disableNetworkFetches && options.fetchPolicy === "network-only") {
            options = __assign(__assign({}, options), { fetchPolicy: "cache-first" });
          }
          return this.queryManager.query(options);
        };
        ApolloClient2.prototype.mutate = function(options) {
          if (this.defaultOptions.mutate) {
            options = mergeOptions(this.defaultOptions.mutate, options);
          }
          return this.queryManager.mutate(options);
        };
        ApolloClient2.prototype.subscribe = function(options) {
          return this.queryManager.startGraphQLSubscription(options);
        };
        ApolloClient2.prototype.readQuery = function(options, optimistic) {
          if (optimistic === void 0) {
            optimistic = false;
          }
          return this.cache.readQuery(options, optimistic);
        };
        ApolloClient2.prototype.readFragment = function(options, optimistic) {
          if (optimistic === void 0) {
            optimistic = false;
          }
          return this.cache.readFragment(options, optimistic);
        };
        ApolloClient2.prototype.writeQuery = function(options) {
          var ref = this.cache.writeQuery(options);
          if (options.broadcast !== false) {
            this.queryManager.broadcastQueries();
          }
          return ref;
        };
        ApolloClient2.prototype.writeFragment = function(options) {
          var ref = this.cache.writeFragment(options);
          if (options.broadcast !== false) {
            this.queryManager.broadcastQueries();
          }
          return ref;
        };
        ApolloClient2.prototype.__actionHookForDevTools = function(cb) {
          this.devToolsHookCb = cb;
        };
        ApolloClient2.prototype.__requestRaw = function(payload) {
          return execute(this.link, payload);
        };
        ApolloClient2.prototype.resetStore = function() {
          var _this = this;
          return Promise.resolve().then(function() {
            return _this.queryManager.clearStore({
              discardWatches: false
            });
          }).then(function() {
            return Promise.all(_this.resetStoreCallbacks.map(function(fn) {
              return fn();
            }));
          }).then(function() {
            return _this.reFetchObservableQueries();
          });
        };
        ApolloClient2.prototype.clearStore = function() {
          var _this = this;
          return Promise.resolve().then(function() {
            return _this.queryManager.clearStore({
              discardWatches: true
            });
          }).then(function() {
            return Promise.all(_this.clearStoreCallbacks.map(function(fn) {
              return fn();
            }));
          });
        };
        ApolloClient2.prototype.onResetStore = function(cb) {
          var _this = this;
          this.resetStoreCallbacks.push(cb);
          return function() {
            _this.resetStoreCallbacks = _this.resetStoreCallbacks.filter(function(c) {
              return c !== cb;
            });
          };
        };
        ApolloClient2.prototype.onClearStore = function(cb) {
          var _this = this;
          this.clearStoreCallbacks.push(cb);
          return function() {
            _this.clearStoreCallbacks = _this.clearStoreCallbacks.filter(function(c) {
              return c !== cb;
            });
          };
        };
        ApolloClient2.prototype.reFetchObservableQueries = function(includeStandby) {
          return this.queryManager.reFetchObservableQueries(includeStandby);
        };
        ApolloClient2.prototype.refetchQueries = function(options) {
          var map = this.queryManager.refetchQueries(options);
          var queries = [];
          var results = [];
          map.forEach(function(result3, obsQuery) {
            queries.push(obsQuery);
            results.push(result3);
          });
          var result2 = Promise.all(results);
          result2.queries = queries;
          result2.results = results;
          result2.catch(function(error) {
          });
          return result2;
        };
        ApolloClient2.prototype.getObservableQueries = function(include) {
          if (include === void 0) {
            include = "active";
          }
          return this.queryManager.getObservableQueries(include);
        };
        ApolloClient2.prototype.extract = function(optimistic) {
          return this.cache.extract(optimistic);
        };
        ApolloClient2.prototype.restore = function(serializedState) {
          return this.cache.restore(serializedState);
        };
        ApolloClient2.prototype.addResolvers = function(resolvers) {
          this.localState.addResolvers(resolvers);
        };
        ApolloClient2.prototype.setResolvers = function(resolvers) {
          this.localState.setResolvers(resolvers);
        };
        ApolloClient2.prototype.getResolvers = function() {
          return this.localState.getResolvers();
        };
        ApolloClient2.prototype.setLocalStateFragmentMatcher = function(fragmentMatcher) {
          this.localState.setFragmentMatcher(fragmentMatcher);
        };
        ApolloClient2.prototype.setLink = function(newLink) {
          this.link = this.queryManager.link = newLink;
        };
        return ApolloClient2;
      }();
    }
  });

  // node_modules/@apollo/client/core/types.js
  var init_types3 = __esm({
    "node_modules/@apollo/client/core/types.js"() {
    }
  });

  // node_modules/graphql-tag/lib/index.js
  function normalize2(string) {
    return string.replace(/[\s,]+/g, " ").trim();
  }
  function cacheKeyFromLoc(loc) {
    return normalize2(loc.source.body.substring(loc.start, loc.end));
  }
  function processFragments(ast) {
    var seenKeys = /* @__PURE__ */ new Set();
    var definitions = [];
    ast.definitions.forEach(function(fragmentDefinition) {
      if (fragmentDefinition.kind === "FragmentDefinition") {
        var fragmentName = fragmentDefinition.name.value;
        var sourceKey = cacheKeyFromLoc(fragmentDefinition.loc);
        var sourceKeySet = fragmentSourceMap.get(fragmentName);
        if (sourceKeySet && !sourceKeySet.has(sourceKey)) {
          if (printFragmentWarnings) {
            console.warn("Warning: fragment with name " + fragmentName + " already exists.\ngraphql-tag enforces all fragment names across your application to be unique; read more about\nthis in the docs: http://dev.apollodata.com/core/fragments.html#unique-names");
          }
        } else if (!sourceKeySet) {
          fragmentSourceMap.set(fragmentName, sourceKeySet = /* @__PURE__ */ new Set());
        }
        sourceKeySet.add(sourceKey);
        if (!seenKeys.has(sourceKey)) {
          seenKeys.add(sourceKey);
          definitions.push(fragmentDefinition);
        }
      } else {
        definitions.push(fragmentDefinition);
      }
    });
    return __assign(__assign({}, ast), { definitions });
  }
  function stripLoc(doc) {
    var workSet = new Set(doc.definitions);
    workSet.forEach(function(node) {
      if (node.loc)
        delete node.loc;
      Object.keys(node).forEach(function(key) {
        var value = node[key];
        if (value && typeof value === "object") {
          workSet.add(value);
        }
      });
    });
    var loc = doc.loc;
    if (loc) {
      delete loc.startToken;
      delete loc.endToken;
    }
    return doc;
  }
  function parseDocument(source) {
    var cacheKey = normalize2(source);
    if (!docCache.has(cacheKey)) {
      var parsed = parse(source, {
        experimentalFragmentVariables,
        allowLegacyFragmentVariables: experimentalFragmentVariables
      });
      if (!parsed || parsed.kind !== "Document") {
        throw new Error("Not a valid GraphQL document.");
      }
      docCache.set(cacheKey, stripLoc(processFragments(parsed)));
    }
    return docCache.get(cacheKey);
  }
  function gql(literals) {
    var args = [];
    for (var _i = 1; _i < arguments.length; _i++) {
      args[_i - 1] = arguments[_i];
    }
    if (typeof literals === "string") {
      literals = [literals];
    }
    var result2 = literals[0];
    args.forEach(function(arg, i) {
      if (arg && arg.kind === "Document") {
        result2 += arg.loc.source.body;
      } else {
        result2 += arg;
      }
      result2 += literals[i + 1];
    });
    return parseDocument(result2);
  }
  function resetCaches() {
    docCache.clear();
    fragmentSourceMap.clear();
  }
  function disableFragmentWarnings() {
    printFragmentWarnings = false;
  }
  function enableExperimentalFragmentVariables() {
    experimentalFragmentVariables = true;
  }
  function disableExperimentalFragmentVariables() {
    experimentalFragmentVariables = false;
  }
  var docCache, fragmentSourceMap, printFragmentWarnings, experimentalFragmentVariables, extras, lib_default2;
  var init_lib7 = __esm({
    "node_modules/graphql-tag/lib/index.js"() {
      init_tslib_es6();
      init_graphql();
      docCache = /* @__PURE__ */ new Map();
      fragmentSourceMap = /* @__PURE__ */ new Map();
      printFragmentWarnings = true;
      experimentalFragmentVariables = false;
      extras = {
        gql,
        resetCaches,
        disableFragmentWarnings,
        enableExperimentalFragmentVariables,
        disableExperimentalFragmentVariables
      };
      (function(gql_1) {
        gql_1.gql = extras.gql, gql_1.resetCaches = extras.resetCaches, gql_1.disableFragmentWarnings = extras.disableFragmentWarnings, gql_1.enableExperimentalFragmentVariables = extras.enableExperimentalFragmentVariables, gql_1.disableExperimentalFragmentVariables = extras.disableExperimentalFragmentVariables;
      })(gql || (gql = {}));
      gql["default"] = gql;
      lib_default2 = gql;
    }
  });

  // node_modules/@apollo/client/core/index.js
  var init_core2 = __esm({
    "node_modules/@apollo/client/core/index.js"() {
      init_ApolloClient();
      init_types3();
      init_cache2();
      init_types2();
      init_core();
      init_http();
      init_invariant();
      setVerbosity(false ? "log" : "silent");
    }
  });

  // node_modules/react/cjs/react.production.min.js
  var require_react_production_min = __commonJS({
    "node_modules/react/cjs/react.production.min.js"(exports) {
      "use strict";
      var l = Symbol.for("react.element");
      var n = Symbol.for("react.portal");
      var p = Symbol.for("react.fragment");
      var q = Symbol.for("react.strict_mode");
      var r = Symbol.for("react.profiler");
      var t = Symbol.for("react.provider");
      var u = Symbol.for("react.context");
      var v = Symbol.for("react.forward_ref");
      var w = Symbol.for("react.suspense");
      var x = Symbol.for("react.memo");
      var y = Symbol.for("react.lazy");
      var z = Symbol.iterator;
      function A(a) {
        if (null === a || "object" !== typeof a)
          return null;
        a = z && a[z] || a["@@iterator"];
        return "function" === typeof a ? a : null;
      }
      var B = { isMounted: function() {
        return false;
      }, enqueueForceUpdate: function() {
      }, enqueueReplaceState: function() {
      }, enqueueSetState: function() {
      } };
      var C = Object.assign;
      var D = {};
      function E(a, b, e) {
        this.props = a;
        this.context = b;
        this.refs = D;
        this.updater = e || B;
      }
      E.prototype.isReactComponent = {};
      E.prototype.setState = function(a, b) {
        if ("object" !== typeof a && "function" !== typeof a && null != a)
          throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
        this.updater.enqueueSetState(this, a, b, "setState");
      };
      E.prototype.forceUpdate = function(a) {
        this.updater.enqueueForceUpdate(this, a, "forceUpdate");
      };
      function F() {
      }
      F.prototype = E.prototype;
      function G(a, b, e) {
        this.props = a;
        this.context = b;
        this.refs = D;
        this.updater = e || B;
      }
      var H = G.prototype = new F();
      H.constructor = G;
      C(H, E.prototype);
      H.isPureReactComponent = true;
      var I = Array.isArray;
      var J = Object.prototype.hasOwnProperty;
      var K = { current: null };
      var L = { key: true, ref: true, __self: true, __source: true };
      function M(a, b, e) {
        var d, c = {}, k = null, h = null;
        if (null != b)
          for (d in void 0 !== b.ref && (h = b.ref), void 0 !== b.key && (k = "" + b.key), b)
            J.call(b, d) && !L.hasOwnProperty(d) && (c[d] = b[d]);
        var g = arguments.length - 2;
        if (1 === g)
          c.children = e;
        else if (1 < g) {
          for (var f = Array(g), m = 0; m < g; m++)
            f[m] = arguments[m + 2];
          c.children = f;
        }
        if (a && a.defaultProps)
          for (d in g = a.defaultProps, g)
            void 0 === c[d] && (c[d] = g[d]);
        return { $$typeof: l, type: a, key: k, ref: h, props: c, _owner: K.current };
      }
      function N(a, b) {
        return { $$typeof: l, type: a.type, key: b, ref: a.ref, props: a.props, _owner: a._owner };
      }
      function O(a) {
        return "object" === typeof a && null !== a && a.$$typeof === l;
      }
      function escape5(a) {
        var b = { "=": "=0", ":": "=2" };
        return "$" + a.replace(/[=:]/g, function(a2) {
          return b[a2];
        });
      }
      var P = /\/+/g;
      function Q(a, b) {
        return "object" === typeof a && null !== a && null != a.key ? escape5("" + a.key) : b.toString(36);
      }
      function R(a, b, e, d, c) {
        var k = typeof a;
        if ("undefined" === k || "boolean" === k)
          a = null;
        var h = false;
        if (null === a)
          h = true;
        else
          switch (k) {
            case "string":
            case "number":
              h = true;
              break;
            case "object":
              switch (a.$$typeof) {
                case l:
                case n:
                  h = true;
              }
          }
        if (h)
          return h = a, c = c(h), a = "" === d ? "." + Q(h, 0) : d, I(c) ? (e = "", null != a && (e = a.replace(P, "$&/") + "/"), R(c, b, e, "", function(a2) {
            return a2;
          })) : null != c && (O(c) && (c = N(c, e + (!c.key || h && h.key === c.key ? "" : ("" + c.key).replace(P, "$&/") + "/") + a)), b.push(c)), 1;
        h = 0;
        d = "" === d ? "." : d + ":";
        if (I(a))
          for (var g = 0; g < a.length; g++) {
            k = a[g];
            var f = d + Q(k, g);
            h += R(k, b, e, f, c);
          }
        else if (f = A(a), "function" === typeof f)
          for (a = f.call(a), g = 0; !(k = a.next()).done; )
            k = k.value, f = d + Q(k, g++), h += R(k, b, e, f, c);
        else if ("object" === k)
          throw b = String(a), Error("Objects are not valid as a React child (found: " + ("[object Object]" === b ? "object with keys {" + Object.keys(a).join(", ") + "}" : b) + "). If you meant to render a collection of children, use an array instead.");
        return h;
      }
      function S(a, b, e) {
        if (null == a)
          return a;
        var d = [], c = 0;
        R(a, d, "", "", function(a2) {
          return b.call(e, a2, c++);
        });
        return d;
      }
      function T(a) {
        if (-1 === a._status) {
          var b = a._result;
          b = b();
          b.then(function(b2) {
            if (0 === a._status || -1 === a._status)
              a._status = 1, a._result = b2;
          }, function(b2) {
            if (0 === a._status || -1 === a._status)
              a._status = 2, a._result = b2;
          });
          -1 === a._status && (a._status = 0, a._result = b);
        }
        if (1 === a._status)
          return a._result.default;
        throw a._result;
      }
      var U = { current: null };
      var V = { transition: null };
      var W = { ReactCurrentDispatcher: U, ReactCurrentBatchConfig: V, ReactCurrentOwner: K };
      function X() {
        throw Error("act(...) is not supported in production builds of React.");
      }
      exports.Children = { map: S, forEach: function(a, b, e) {
        S(a, function() {
          b.apply(this, arguments);
        }, e);
      }, count: function(a) {
        var b = 0;
        S(a, function() {
          b++;
        });
        return b;
      }, toArray: function(a) {
        return S(a, function(a2) {
          return a2;
        }) || [];
      }, only: function(a) {
        if (!O(a))
          throw Error("React.Children.only expected to receive a single React element child.");
        return a;
      } };
      exports.Component = E;
      exports.Fragment = p;
      exports.Profiler = r;
      exports.PureComponent = G;
      exports.StrictMode = q;
      exports.Suspense = w;
      exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = W;
      exports.act = X;
      exports.cloneElement = function(a, b, e) {
        if (null === a || void 0 === a)
          throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + a + ".");
        var d = C({}, a.props), c = a.key, k = a.ref, h = a._owner;
        if (null != b) {
          void 0 !== b.ref && (k = b.ref, h = K.current);
          void 0 !== b.key && (c = "" + b.key);
          if (a.type && a.type.defaultProps)
            var g = a.type.defaultProps;
          for (f in b)
            J.call(b, f) && !L.hasOwnProperty(f) && (d[f] = void 0 === b[f] && void 0 !== g ? g[f] : b[f]);
        }
        var f = arguments.length - 2;
        if (1 === f)
          d.children = e;
        else if (1 < f) {
          g = Array(f);
          for (var m = 0; m < f; m++)
            g[m] = arguments[m + 2];
          d.children = g;
        }
        return { $$typeof: l, type: a.type, key: c, ref: k, props: d, _owner: h };
      };
      exports.createContext = function(a) {
        a = { $$typeof: u, _currentValue: a, _currentValue2: a, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null };
        a.Provider = { $$typeof: t, _context: a };
        return a.Consumer = a;
      };
      exports.createElement = M;
      exports.createFactory = function(a) {
        var b = M.bind(null, a);
        b.type = a;
        return b;
      };
      exports.createRef = function() {
        return { current: null };
      };
      exports.forwardRef = function(a) {
        return { $$typeof: v, render: a };
      };
      exports.isValidElement = O;
      exports.lazy = function(a) {
        return { $$typeof: y, _payload: { _status: -1, _result: a }, _init: T };
      };
      exports.memo = function(a, b) {
        return { $$typeof: x, type: a, compare: void 0 === b ? null : b };
      };
      exports.startTransition = function(a) {
        var b = V.transition;
        V.transition = {};
        try {
          a();
        } finally {
          V.transition = b;
        }
      };
      exports.unstable_act = X;
      exports.useCallback = function(a, b) {
        return U.current.useCallback(a, b);
      };
      exports.useContext = function(a) {
        return U.current.useContext(a);
      };
      exports.useDebugValue = function() {
      };
      exports.useDeferredValue = function(a) {
        return U.current.useDeferredValue(a);
      };
      exports.useEffect = function(a, b) {
        return U.current.useEffect(a, b);
      };
      exports.useId = function() {
        return U.current.useId();
      };
      exports.useImperativeHandle = function(a, b, e) {
        return U.current.useImperativeHandle(a, b, e);
      };
      exports.useInsertionEffect = function(a, b) {
        return U.current.useInsertionEffect(a, b);
      };
      exports.useLayoutEffect = function(a, b) {
        return U.current.useLayoutEffect(a, b);
      };
      exports.useMemo = function(a, b) {
        return U.current.useMemo(a, b);
      };
      exports.useReducer = function(a, b, e) {
        return U.current.useReducer(a, b, e);
      };
      exports.useRef = function(a) {
        return U.current.useRef(a);
      };
      exports.useState = function(a) {
        return U.current.useState(a);
      };
      exports.useSyncExternalStore = function(a, b, e) {
        return U.current.useSyncExternalStore(a, b, e);
      };
      exports.useTransition = function() {
        return U.current.useTransition();
      };
      exports.version = "18.3.1";
    }
  });

  // node_modules/react/index.js
  var require_react = __commonJS({
    "node_modules/react/index.js"(exports, module2) {
      "use strict";
      if (true) {
        module2.exports = require_react_production_min();
      } else {
        module2.exports = null;
      }
    }
  });

  // node_modules/@apollo/client/react/hooks/useApolloClient.js
  var React;
  var init_useApolloClient = __esm({
    "node_modules/@apollo/client/react/hooks/useApolloClient.js"() {
      init_globals();
      React = __toESM(require_react(), 1);
    }
  });

  // node_modules/@apollo/client/react/hooks/useLazyQuery.js
  var React2;
  var init_useLazyQuery = __esm({
    "node_modules/@apollo/client/react/hooks/useLazyQuery.js"() {
      React2 = __toESM(require_react(), 1);
    }
  });

  // node_modules/@apollo/client/react/hooks/useMutation.js
  var React3;
  var init_useMutation = __esm({
    "node_modules/@apollo/client/react/hooks/useMutation.js"() {
      React3 = __toESM(require_react(), 1);
      init_lib2();
    }
  });

  // node_modules/@apollo/client/react/hooks/useSubscription.js
  var React4;
  var init_useSubscription = __esm({
    "node_modules/@apollo/client/react/hooks/useSubscription.js"() {
      init_globals();
      React4 = __toESM(require_react(), 1);
      init_lib2();
    }
  });

  // node_modules/@apollo/client/react/hooks/useReactiveVar.js
  var React5;
  var init_useReactiveVar = __esm({
    "node_modules/@apollo/client/react/hooks/useReactiveVar.js"() {
      React5 = __toESM(require_react(), 1);
    }
  });

  // node_modules/@apollo/client/react/hooks/useFragment.js
  var React6;
  var init_useFragment = __esm({
    "node_modules/@apollo/client/react/hooks/useFragment.js"() {
      React6 = __toESM(require_react(), 1);
      init_lib2();
    }
  });

  // node_modules/@apollo/client/react/hooks/index.js
  var init_hooks = __esm({
    "node_modules/@apollo/client/react/hooks/index.js"() {
      init_globals();
      init_useApolloClient();
      init_useLazyQuery();
      init_useMutation();
      init_useSubscription();
      init_useReactiveVar();
      init_useFragment();
    }
  });

  // node_modules/@apollo/client/react/types/types.js
  var init_types4 = __esm({
    "node_modules/@apollo/client/react/types/types.js"() {
    }
  });

  // node_modules/@apollo/client/react/index.js
  var init_react = __esm({
    "node_modules/@apollo/client/react/index.js"() {
      init_globals();
      init_hooks();
      init_types4();
    }
  });

  // node_modules/@apollo/client/index.js
  var init_client = __esm({
    "node_modules/@apollo/client/index.js"() {
      init_core2();
      init_react();
    }
  });

  // node_modules/@apollo/client/link/batch/batching.js
  var OperationBatcher;
  var init_batching = __esm({
    "node_modules/@apollo/client/link/batch/batching.js"() {
      init_tslib_es6();
      init_utilities();
      OperationBatcher = /** @class */
      function() {
        function OperationBatcher2(_a2) {
          var batchDebounce = _a2.batchDebounce, batchInterval = _a2.batchInterval, batchMax = _a2.batchMax, batchHandler = _a2.batchHandler, batchKey = _a2.batchKey;
          this.batchesByKey = /* @__PURE__ */ new Map();
          this.scheduledBatchTimerByKey = /* @__PURE__ */ new Map();
          this.batchDebounce = batchDebounce;
          this.batchInterval = batchInterval;
          this.batchMax = batchMax || 0;
          this.batchHandler = batchHandler;
          this.batchKey = batchKey || function() {
            return "";
          };
        }
        OperationBatcher2.prototype.enqueueRequest = function(request) {
          var _this = this;
          var requestCopy = __assign(__assign({}, request), { next: [], error: [], complete: [], subscribers: /* @__PURE__ */ new Set() });
          var key = this.batchKey(request.operation);
          if (!requestCopy.observable) {
            requestCopy.observable = new Observable(function(observer) {
              var batch = _this.batchesByKey.get(key);
              if (!batch)
                _this.batchesByKey.set(key, batch = /* @__PURE__ */ new Set());
              var isFirstEnqueuedRequest = batch.size === 0;
              var isFirstSubscriber = requestCopy.subscribers.size === 0;
              requestCopy.subscribers.add(observer);
              if (isFirstSubscriber) {
                batch.add(requestCopy);
              }
              if (observer.next) {
                requestCopy.next.push(observer.next.bind(observer));
              }
              if (observer.error) {
                requestCopy.error.push(observer.error.bind(observer));
              }
              if (observer.complete) {
                requestCopy.complete.push(observer.complete.bind(observer));
              }
              if (isFirstEnqueuedRequest || _this.batchDebounce) {
                _this.scheduleQueueConsumption(key);
              }
              if (batch.size === _this.batchMax) {
                _this.consumeQueue(key);
              }
              return function() {
                var _a2;
                if (requestCopy.subscribers.delete(observer) && requestCopy.subscribers.size < 1) {
                  if (batch.delete(requestCopy) && batch.size < 1) {
                    _this.consumeQueue(key);
                    (_a2 = batch.subscription) === null || _a2 === void 0 ? void 0 : _a2.unsubscribe();
                  }
                }
              };
            });
          }
          return requestCopy.observable;
        };
        OperationBatcher2.prototype.consumeQueue = function(key) {
          if (key === void 0) {
            key = "";
          }
          var batch = this.batchesByKey.get(key);
          this.batchesByKey.delete(key);
          if (!batch || !batch.size) {
            return;
          }
          var operations = [];
          var forwards = [];
          var observables = [];
          var nexts = [];
          var errors = [];
          var completes = [];
          batch.forEach(function(request) {
            operations.push(request.operation);
            forwards.push(request.forward);
            observables.push(request.observable);
            nexts.push(request.next);
            errors.push(request.error);
            completes.push(request.complete);
          });
          var batchedObservable = this.batchHandler(operations, forwards) || Observable.of();
          var onError2 = function(error) {
            errors.forEach(function(rejecters) {
              if (rejecters) {
                rejecters.forEach(function(e) {
                  return e(error);
                });
              }
            });
          };
          batch.subscription = batchedObservable.subscribe({
            next: function(results) {
              if (!Array.isArray(results)) {
                results = [results];
              }
              if (nexts.length !== results.length) {
                var error = new Error("server returned results with length ".concat(results.length, ", expected length of ").concat(nexts.length));
                error.result = results;
                return onError2(error);
              }
              results.forEach(function(result2, index) {
                if (nexts[index]) {
                  nexts[index].forEach(function(next) {
                    return next(result2);
                  });
                }
              });
            },
            error: onError2,
            complete: function() {
              completes.forEach(function(complete) {
                if (complete) {
                  complete.forEach(function(c) {
                    return c();
                  });
                }
              });
            }
          });
          return observables;
        };
        OperationBatcher2.prototype.scheduleQueueConsumption = function(key) {
          var _this = this;
          clearTimeout(this.scheduledBatchTimerByKey.get(key));
          this.scheduledBatchTimerByKey.set(key, setTimeout(function() {
            _this.consumeQueue(key);
            _this.scheduledBatchTimerByKey.delete(key);
          }, this.batchInterval));
        };
        return OperationBatcher2;
      }();
    }
  });

  // node_modules/@apollo/client/link/batch/batchLink.js
  var BatchLink;
  var init_batchLink = __esm({
    "node_modules/@apollo/client/link/batch/batchLink.js"() {
      init_tslib_es6();
      init_core();
      init_batching();
      BatchLink = /** @class */
      function(_super) {
        __extends(BatchLink2, _super);
        function BatchLink2(fetchParams) {
          var _this = _super.call(this) || this;
          var _a2 = fetchParams || {}, batchDebounce = _a2.batchDebounce, _b = _a2.batchInterval, batchInterval = _b === void 0 ? 10 : _b, _c = _a2.batchMax, batchMax = _c === void 0 ? 0 : _c, _d = _a2.batchHandler, batchHandler = _d === void 0 ? function() {
            return null;
          } : _d, _e = _a2.batchKey, batchKey = _e === void 0 ? function() {
            return "";
          } : _e;
          _this.batcher = new OperationBatcher({
            batchDebounce,
            batchInterval,
            batchMax,
            batchHandler,
            batchKey
          });
          if (fetchParams.batchHandler.length <= 1) {
            _this.request = function(operation) {
              return _this.batcher.enqueueRequest({ operation });
            };
          }
          return _this;
        }
        BatchLink2.prototype.request = function(operation, forward) {
          return this.batcher.enqueueRequest({
            operation,
            forward
          });
        };
        return BatchLink2;
      }(ApolloLink);
    }
  });

  // node_modules/@apollo/client/link/batch/index.js
  var init_batch = __esm({
    "node_modules/@apollo/client/link/batch/index.js"() {
      init_batchLink();
    }
  });

  // node_modules/@apollo/client/link/batch-http/batchHttpLink.js
  var BatchHttpLink;
  var init_batchHttpLink = __esm({
    "node_modules/@apollo/client/link/batch-http/batchHttpLink.js"() {
      init_tslib_es6();
      init_core();
      init_utilities();
      init_utils();
      init_http();
      init_batch();
      init_filterOperationVariables();
      BatchHttpLink = /** @class */
      function(_super) {
        __extends(BatchHttpLink2, _super);
        function BatchHttpLink2(fetchParams) {
          var _this = _super.call(this) || this;
          var _a2 = fetchParams || {}, _b = _a2.uri, uri = _b === void 0 ? "/graphql" : _b, fetcher = _a2.fetch, _c = _a2.print, print3 = _c === void 0 ? defaultPrinter : _c, includeExtensions = _a2.includeExtensions, preserveHeaderCase = _a2.preserveHeaderCase, batchInterval = _a2.batchInterval, batchDebounce = _a2.batchDebounce, batchMax = _a2.batchMax, batchKey = _a2.batchKey, _d = _a2.includeUnusedVariables, includeUnusedVariables = _d === void 0 ? false : _d, requestOptions = __rest(_a2, ["uri", "fetch", "print", "includeExtensions", "preserveHeaderCase", "batchInterval", "batchDebounce", "batchMax", "batchKey", "includeUnusedVariables"]);
          checkFetcher(fetcher);
          if (!fetcher) {
            fetcher = fetch;
          }
          var linkConfig = {
            http: { includeExtensions, preserveHeaderCase },
            options: requestOptions.fetchOptions,
            credentials: requestOptions.credentials,
            headers: requestOptions.headers
          };
          _this.batchDebounce = batchDebounce;
          _this.batchInterval = batchInterval || 10;
          _this.batchMax = batchMax || 10;
          var batchHandler = function(operations) {
            var chosenURI = selectURI(operations[0], uri);
            var context = operations[0].getContext();
            var clientAwarenessHeaders = {};
            if (context.clientAwareness) {
              var _a3 = context.clientAwareness, name_1 = _a3.name, version2 = _a3.version;
              if (name_1) {
                clientAwarenessHeaders["apollographql-client-name"] = name_1;
              }
              if (version2) {
                clientAwarenessHeaders["apollographql-client-version"] = version2;
              }
            }
            var contextConfig = {
              http: context.http,
              options: context.fetchOptions,
              credentials: context.credentials,
              headers: __assign(__assign({}, clientAwarenessHeaders), context.headers)
            };
            var queries = operations.map(function(_a4) {
              var query = _a4.query;
              if (hasDirectives(["client"], query)) {
                return removeClientSetsFromDocument(query);
              }
              return query;
            });
            if (queries.some(function(query) {
              return !query;
            })) {
              return fromError(new Error("BatchHttpLink: Trying to send a client-only query to the server. To send to the server, ensure a non-client field is added to the query or enable the `transformOptions.removeClientFields` option."));
            }
            var optsAndBody = operations.map(function(operation, index) {
              var result2 = selectHttpOptionsAndBodyInternal(__assign(__assign({}, operation), { query: queries[index] }), print3, fallbackHttpConfig, linkConfig, contextConfig);
              if (result2.body.variables && !includeUnusedVariables) {
                result2.body.variables = filterOperationVariables(result2.body.variables, operation.query);
              }
              return result2;
            });
            var loadedBody = optsAndBody.map(function(_a4) {
              var body = _a4.body;
              return body;
            });
            var options = optsAndBody[0].options;
            if (options.method === "GET") {
              return fromError(new Error("apollo-link-batch-http does not support GET requests"));
            }
            try {
              options.body = serializeFetchParameter(loadedBody, "Payload");
            } catch (parseError) {
              return fromError(parseError);
            }
            var controller;
            if (!options.signal && typeof AbortController !== "undefined") {
              controller = new AbortController();
              options.signal = controller.signal;
            }
            return new Observable(function(observer) {
              fetcher(chosenURI, options).then(function(response) {
                operations.forEach(function(operation) {
                  return operation.setContext({ response });
                });
                return response;
              }).then(parseAndCheckHttpResponse(operations)).then(function(result2) {
                controller = void 0;
                observer.next(result2);
                observer.complete();
                return result2;
              }).catch(function(err) {
                controller = void 0;
                if (err.result && err.result.errors && err.result.data) {
                  observer.next(err.result);
                }
                observer.error(err);
              });
              return function() {
                if (controller)
                  controller.abort();
              };
            });
          };
          batchKey = batchKey || function(operation) {
            var context = operation.getContext();
            var contextConfig = {
              http: context.http,
              options: context.fetchOptions,
              credentials: context.credentials,
              headers: context.headers
            };
            return selectURI(operation, uri) + JSON.stringify(contextConfig);
          };
          _this.batcher = new BatchLink({
            batchDebounce: _this.batchDebounce,
            batchInterval: _this.batchInterval,
            batchMax: _this.batchMax,
            batchKey,
            batchHandler
          });
          return _this;
        }
        BatchHttpLink2.prototype.request = function(operation) {
          return this.batcher.request(operation);
        };
        return BatchHttpLink2;
      }(ApolloLink);
    }
  });

  // node_modules/@apollo/client/link/batch-http/index.js
  var init_batch_http = __esm({
    "node_modules/@apollo/client/link/batch-http/index.js"() {
      init_batchHttpLink();
    }
  });

  // node_modules/@apollo/client/link/error/index.js
  function onError(errorHandler) {
    return new ApolloLink(function(operation, forward) {
      return new Observable(function(observer) {
        var sub;
        var retriedSub;
        var retriedResult;
        try {
          sub = forward(operation).subscribe({
            next: function(result2) {
              if (result2.errors) {
                retriedResult = errorHandler({
                  graphQLErrors: result2.errors,
                  response: result2,
                  operation,
                  forward
                });
                if (retriedResult) {
                  retriedSub = retriedResult.subscribe({
                    next: observer.next.bind(observer),
                    error: observer.error.bind(observer),
                    complete: observer.complete.bind(observer)
                  });
                  return;
                }
              }
              observer.next(result2);
            },
            error: function(networkError) {
              retriedResult = errorHandler({
                operation,
                networkError,
                //Network errors can return GraphQL errors on for example a 403
                graphQLErrors: networkError && networkError.result && networkError.result.errors,
                forward
              });
              if (retriedResult) {
                retriedSub = retriedResult.subscribe({
                  next: observer.next.bind(observer),
                  error: observer.error.bind(observer),
                  complete: observer.complete.bind(observer)
                });
                return;
              }
              observer.error(networkError);
            },
            complete: function() {
              if (!retriedResult) {
                observer.complete.bind(observer)();
              }
            }
          });
        } catch (e) {
          errorHandler({ networkError: e, operation, forward });
          observer.error(e);
        }
        return function() {
          if (sub)
            sub.unsubscribe();
          if (retriedSub)
            sub.unsubscribe();
        };
      });
    });
  }
  var ErrorLink;
  var init_error = __esm({
    "node_modules/@apollo/client/link/error/index.js"() {
      init_tslib_es6();
      init_utilities();
      init_core();
      ErrorLink = /** @class */
      function(_super) {
        __extends(ErrorLink2, _super);
        function ErrorLink2(errorHandler) {
          var _this = _super.call(this) || this;
          _this.link = onError(errorHandler);
          return _this;
        }
        ErrorLink2.prototype.request = function(operation, forward) {
          return this.link.request(operation, forward);
        };
        return ErrorLink2;
      }(ApolloLink);
    }
  });

  // packages/utilities/apolloClient/customFetchers/fetchWithCsrf.ts
  function fetchWithCsrf(uri, options) {
    if (window.Webflow.env("design") || window.Webflow.env("preview")) {
      return fetch(uri, options);
    }
    const localCsrvCookie = getLocalCsrfCookie();
    const requestHeaders = options?.headers || {};
    return new Promise(
      (resolve2, reject2) => {
        if (hasFetchedCsrfCookie && localCsrvCookie) {
          requestHeaders["X-Wf-Csrf"] = localCsrvCookie;
          resolve2(
            fetch(uri, {
              ...options,
              headers: requestHeaders
            })
          );
        } else {
          fetch(WF_CSRF_URI, {
            method: "POST",
            credentials: "include",
            headers: { "X-Requested-With": "XMLHttpRequest" }
          }).then(() => {
            const newWfCsrfCookie = getLocalCsrfCookie();
            if (newWfCsrfCookie) {
              hasFetchedCsrfCookie = true;
              requestHeaders["X-Wf-Csrf"] = newWfCsrfCookie;
              resolve2(
                fetch(uri, {
                  ...options,
                  headers: requestHeaders
                })
              );
            } else {
              reject2(new Error("Did not receive CSRF token"));
            }
          }).catch((err) => reject2(err));
        }
      }
    );
  }
  function getLocalCsrfCookie() {
    const wfCsrfCookieArray = document.cookie.match(WF_CSRF_COOKIE_REGEX);
    return wfCsrfCookieArray ? wfCsrfCookieArray.pop() : null;
  }
  var WF_CSRF_COOKIE_REGEX, WF_CSRF_URI, hasFetchedCsrfCookie;
  var init_fetchWithCsrf = __esm({
    "packages/utilities/apolloClient/customFetchers/fetchWithCsrf.ts"() {
      "use strict";
      WF_CSRF_COOKIE_REGEX = "(^|;)\\s*wf-csrf\\s*=\\s*([^;]+)";
      WF_CSRF_URI = "/.wf_graphql/csrf";
      hasFetchedCsrfCookie = false;
    }
  });

  // node_modules/@apollo/client/link/retry/delayFunction.js
  function buildDelayFunction(delayOptions) {
    var _a2 = delayOptions || {}, _b = _a2.initial, initial = _b === void 0 ? 300 : _b, _c = _a2.jitter, jitter = _c === void 0 ? true : _c, _d = _a2.max, max = _d === void 0 ? Infinity : _d;
    var baseDelay = jitter ? initial : initial / 2;
    return function delayFunction(count) {
      var delay = Math.min(max, baseDelay * Math.pow(2, count));
      if (jitter) {
        delay = Math.random() * delay;
      }
      return delay;
    };
  }
  var init_delayFunction = __esm({
    "node_modules/@apollo/client/link/retry/delayFunction.js"() {
    }
  });

  // node_modules/@apollo/client/link/retry/retryFunction.js
  function buildRetryFunction(retryOptions) {
    var _a2 = retryOptions || {}, retryIf = _a2.retryIf, _b = _a2.max, max = _b === void 0 ? 5 : _b;
    return function retryFunction(count, operation, error) {
      if (count >= max)
        return false;
      return retryIf ? retryIf(error, operation) : !!error;
    };
  }
  var init_retryFunction = __esm({
    "node_modules/@apollo/client/link/retry/retryFunction.js"() {
    }
  });

  // node_modules/@apollo/client/link/retry/retryLink.js
  var RetryableOperation, RetryLink;
  var init_retryLink = __esm({
    "node_modules/@apollo/client/link/retry/retryLink.js"() {
      init_tslib_es6();
      init_core();
      init_utilities();
      init_delayFunction();
      init_retryFunction();
      RetryableOperation = /** @class */
      function() {
        function RetryableOperation2(operation, nextLink, delayFor, retryIf) {
          var _this = this;
          this.operation = operation;
          this.nextLink = nextLink;
          this.delayFor = delayFor;
          this.retryIf = retryIf;
          this.retryCount = 0;
          this.values = [];
          this.complete = false;
          this.canceled = false;
          this.observers = [];
          this.currentSubscription = null;
          this.onNext = function(value) {
            _this.values.push(value);
            for (var _i = 0, _a2 = _this.observers; _i < _a2.length; _i++) {
              var observer = _a2[_i];
              if (!observer)
                continue;
              observer.next(value);
            }
          };
          this.onComplete = function() {
            _this.complete = true;
            for (var _i = 0, _a2 = _this.observers; _i < _a2.length; _i++) {
              var observer = _a2[_i];
              if (!observer)
                continue;
              observer.complete();
            }
          };
          this.onError = function(error) {
            return __awaiter(_this, void 0, void 0, function() {
              var shouldRetry, _i, _a2, observer;
              return __generator(this, function(_b) {
                switch (_b.label) {
                  case 0:
                    this.retryCount += 1;
                    return [4, this.retryIf(this.retryCount, this.operation, error)];
                  case 1:
                    shouldRetry = _b.sent();
                    if (shouldRetry) {
                      this.scheduleRetry(this.delayFor(this.retryCount, this.operation, error));
                      return [
                        2
                        /*return*/
                      ];
                    }
                    this.error = error;
                    for (_i = 0, _a2 = this.observers; _i < _a2.length; _i++) {
                      observer = _a2[_i];
                      if (!observer)
                        continue;
                      observer.error(error);
                    }
                    return [
                      2
                      /*return*/
                    ];
                }
              });
            });
          };
        }
        RetryableOperation2.prototype.subscribe = function(observer) {
          if (this.canceled) {
            throw new Error("Subscribing to a retryable link that was canceled is not supported");
          }
          this.observers.push(observer);
          for (var _i = 0, _a2 = this.values; _i < _a2.length; _i++) {
            var value = _a2[_i];
            observer.next(value);
          }
          if (this.complete) {
            observer.complete();
          } else if (this.error) {
            observer.error(this.error);
          }
        };
        RetryableOperation2.prototype.unsubscribe = function(observer) {
          var index = this.observers.indexOf(observer);
          if (index < 0) {
            throw new Error("RetryLink BUG! Attempting to unsubscribe unknown observer!");
          }
          this.observers[index] = null;
          if (this.observers.every(function(o) {
            return o === null;
          })) {
            this.cancel();
          }
        };
        RetryableOperation2.prototype.start = function() {
          if (this.currentSubscription)
            return;
          this.try();
        };
        RetryableOperation2.prototype.cancel = function() {
          if (this.currentSubscription) {
            this.currentSubscription.unsubscribe();
          }
          clearTimeout(this.timerId);
          this.timerId = void 0;
          this.currentSubscription = null;
          this.canceled = true;
        };
        RetryableOperation2.prototype.try = function() {
          this.currentSubscription = this.nextLink(this.operation).subscribe({
            next: this.onNext,
            error: this.onError,
            complete: this.onComplete
          });
        };
        RetryableOperation2.prototype.scheduleRetry = function(delay) {
          var _this = this;
          if (this.timerId) {
            throw new Error("RetryLink BUG! Encountered overlapping retries");
          }
          this.timerId = setTimeout(function() {
            _this.timerId = void 0;
            _this.try();
          }, delay);
        };
        return RetryableOperation2;
      }();
      RetryLink = /** @class */
      function(_super) {
        __extends(RetryLink2, _super);
        function RetryLink2(options) {
          var _this = _super.call(this) || this;
          var _a2 = options || {}, attempts = _a2.attempts, delay = _a2.delay;
          _this.delayFor = typeof delay === "function" ? delay : buildDelayFunction(delay);
          _this.retryIf = typeof attempts === "function" ? attempts : buildRetryFunction(attempts);
          return _this;
        }
        RetryLink2.prototype.request = function(operation, nextLink) {
          var retryable = new RetryableOperation(operation, nextLink, this.delayFor, this.retryIf);
          retryable.start();
          return new Observable(function(observer) {
            retryable.subscribe(observer);
            return function() {
              retryable.unsubscribe(observer);
            };
          });
        };
        return RetryLink2;
      }(ApolloLink);
    }
  });

  // node_modules/@apollo/client/link/retry/index.js
  var init_retry = __esm({
    "node_modules/@apollo/client/link/retry/index.js"() {
      init_retryLink();
    }
  });

  // packages/utilities/apolloClient/helpers.ts
  var ERROR_METRIC_NAME, createRetryLink;
  var init_helpers3 = __esm({
    "packages/utilities/apolloClient/helpers.ts"() {
      "use strict";
      init_retry();
      ERROR_METRIC_NAME = "webflow.renderer.apollo.request.error";
      createRetryLink = ({
        maxAttempts = 1,
        retryOnCorsErrors = true,
        retriedServerErrors = "all",
        metricsLogger
      }) => {
        return new RetryLink({
          attempts: (count, operation, error) => {
            const tags = [];
            let ret = false;
            if (count >= maxAttempts) {
              tags.push("max_attempts:true");
            } else {
              tags.push("max_attempts:false");
              if (error && (retriedServerErrors === "all" && error.statusCode >= 500 || retriedServerErrors === "bad-gateway" && error.statusCode === 502)) {
                tags.push("reason:server_error");
                tags.push(`status_code:${error.statusCode}`);
                ret = true;
              } else if (retryOnCorsErrors && error && error.result && error.result.code === "BadCrossOriginRequest") {
                tags.push("reason:cors_error");
                ret = true;
              }
            }
            tags.push(`attempt:${count}`, `retry:${ret}`);
            metricsLogger?.logDistributionMetric(ERROR_METRIC_NAME, 1, ...tags);
            return ret;
          },
          delay: (count) => {
            return count * 500 + Math.random() * 500;
          }
        });
      };
    }
  });

  // packages/utilities/apolloClient/createApolloClient.ts
  var createApolloClient, buildApolloClientUri;
  var init_createApolloClient = __esm({
    "packages/utilities/apolloClient/createApolloClient.ts"() {
      "use strict";
      init_client();
      init_batch_http();
      init_error();
      init_fetchWithCsrf();
      init_helpers3();
      createApolloClient = ({
        origin = "",
        path,
        publicationId,
        previewKey,
        ssrMode = false,
        credentials = "same-origin",
        headers = {},
        useCsrf = false,
        retryConfig,
        onError: onError2,
        disableBatching = false
      }) => {
        const uri = buildApolloClientUri({ origin, path, publicationId, previewKey });
        const requestHeaders = {
          Accept: "application/json"
        };
        Object.keys(headers).forEach((headerKey) => {
          requestHeaders[headerKey] = headers[headerKey];
        });
        const batchLinkArgs = {
          uri,
          headers: requestHeaders,
          credentials
        };
        if (disableBatching) {
          batchLinkArgs.batchMax = 1;
          batchLinkArgs.batchInterval = 0;
        }
        if (useCsrf) {
          batchLinkArgs.fetch = fetchWithCsrf;
        }
        const batchLink = new BatchHttpLink(batchLinkArgs);
        const links = [];
        if (retryConfig) {
          links.push(createRetryLink(retryConfig));
        }
        if (onError2) {
          links.push(onError(onError2));
        }
        const apolloClient2 = new ApolloClient({
          link: ApolloLink.from([...links, batchLink]),
          cache: new InMemoryCache({
            dataIdFromObject: (object) => {
              switch (object.__typename) {
                case "sku_props":
                  return void 0;
                case "commerce_subscription": {
                  return object._id;
                }
                case "collections":
                  return object.__typename;
                default: {
                  if (object.cmsLocaleId) {
                    return `${object.id}_${object.cmsLocaleId}`;
                  }
                  return object.id;
                }
              }
            }
          }),
          ssrMode
        });
        return apolloClient2;
      };
      buildApolloClientUri = ({
        origin = "",
        path,
        publicationId,
        previewKey
      }) => {
        const params = [];
        if (publicationId) {
          params.push(`pub=${publicationId}`);
        }
        if (previewKey) {
          params.push(`preview=${previewKey}`);
        }
        const cleanPath = `${origin}${path}`.replace(/([^:])\/\/+/g, "$1/");
        return `${cleanPath}${params.length ? `?${params.join("&")}` : ""}`;
      };
    }
  });

  // packages/utilities/apolloClient/index.ts
  var init_apolloClient = __esm({
    "packages/utilities/apolloClient/index.ts"() {
      "use strict";
      init_createApolloClient();
      init_helpers3();
    }
  });

  // packages/shared/render/plugins/Commerce/modules/eventHandlerProxyWithApolloClient.ts
  var enumeratePrototypeProps, createEventProxy, EventHandlerProxyWithApolloClient;
  var init_eventHandlerProxyWithApolloClient = __esm({
    "packages/shared/render/plugins/Commerce/modules/eventHandlerProxyWithApolloClient.ts"() {
      "use strict";
      enumeratePrototypeProps = (obj, propNames = []) => {
        if (obj == null) {
          return propNames;
        }
        return propNames.concat(enumeratePrototypeProps(Object.getPrototypeOf(obj))).concat(Object.keys(obj));
      };
      createEventProxy = (event, currentTarget) => {
        const propertyDefinitions = enumeratePrototypeProps(event).filter((propName) => propName !== "currentTarget").reduce((proxies, propName) => {
          proxies[propName] = // @ts-expect-error Object.keys is "unsound", always infers `string` as output
          typeof event[propName] === "function" ? (
            // Proxy all the event methods so they will act on the original event:
            // @ts-expect-error Object.keys is "unsound", always infers `string` as output
            { value: (...args) => event[propName](...args) }
          ) : (
            // Proxy static props/getters because invoking them directly may result in "Illegal invokation" error.
            // @ts-expect-error Object.keys is "unsound", always infers `string` as output
            { get: () => event[propName] }
          );
          return proxies;
        }, {});
        const retargetedEvent = Object.create(event, {
          // set currentTarget to the matched node:
          currentTarget: { value: currentTarget },
          ...propertyDefinitions
        });
        return retargetedEvent;
      };
      EventHandlerProxyWithApolloClient = class {
        apolloClient;
        stripeStore;
        eventHandlers;
        constructor(apolloClient2, stripeStore2) {
          this.eventHandlers = {};
          this.apolloClient = apolloClient2;
          this.stripeStore = stripeStore2;
        }
        on = (eventName, eventMatcher, handler) => {
          const existingHandlers = this.eventHandlers[eventName] instanceof Array ? this.eventHandlers[eventName] : [];
          this.eventHandlers[eventName] = [
            ...existingHandlers,
            this.createHandlerProxy(eventName, eventMatcher, handler)
          ];
          return this;
        };
        createHandlerProxy = (eventName, eventMatcher, handler) => (event) => {
          const match = eventMatcher(event);
          const eventProxy = match instanceof Element ? createEventProxy(event, match) : event;
          if (match) {
            handler(eventProxy, this.apolloClient, this.stripeStore);
          }
        };
        attachHandlers = (target) => {
          Object.keys(this.eventHandlers).forEach((eventName) => {
            const handlerProxies = this.eventHandlers[eventName];
            handlerProxies.forEach(
              (handlerProxy2) => target.addEventListener(eventName, handlerProxy2, true)
            );
          });
          return this;
        };
        removeHandlers = (target) => {
          Object.keys(this.eventHandlers).forEach((eventName) => {
            const handlerProxies = this.eventHandlers[eventName];
            handlerProxies.forEach(
              (handlerProxy2) => target.removeEventListener(eventName, handlerProxy2, true)
            );
          });
          return this;
        };
      };
    }
  });

  // node_modules/lodash/_baseSlice.js
  var require_baseSlice = __commonJS({
    "node_modules/lodash/_baseSlice.js"(exports, module2) {
      function baseSlice(array, start, end) {
        var index = -1, length = array.length;
        if (start < 0) {
          start = -start > length ? 0 : length + start;
        }
        end = end > length ? length : end;
        if (end < 0) {
          end += length;
        }
        length = start > end ? 0 : end - start >>> 0;
        start >>>= 0;
        var result2 = Array(length);
        while (++index < length) {
          result2[index] = array[index + start];
        }
        return result2;
      }
      module2.exports = baseSlice;
    }
  });

  // node_modules/lodash/_castSlice.js
  var require_castSlice = __commonJS({
    "node_modules/lodash/_castSlice.js"(exports, module2) {
      var baseSlice = require_baseSlice();
      function castSlice(array, start, end) {
        var length = array.length;
        end = end === void 0 ? length : end;
        return !start && end >= length ? array : baseSlice(array, start, end);
      }
      module2.exports = castSlice;
    }
  });

  // node_modules/lodash/_asciiToArray.js
  var require_asciiToArray = __commonJS({
    "node_modules/lodash/_asciiToArray.js"(exports, module2) {
      function asciiToArray(string) {
        return string.split("");
      }
      module2.exports = asciiToArray;
    }
  });

  // node_modules/lodash/_unicodeToArray.js
  var require_unicodeToArray = __commonJS({
    "node_modules/lodash/_unicodeToArray.js"(exports, module2) {
      var rsAstralRange = "\\ud800-\\udfff";
      var rsComboMarksRange = "\\u0300-\\u036f";
      var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
      var rsComboSymbolsRange = "\\u20d0-\\u20ff";
      var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
      var rsVarRange = "\\ufe0e\\ufe0f";
      var rsAstral = "[" + rsAstralRange + "]";
      var rsCombo = "[" + rsComboRange + "]";
      var rsFitz = "\\ud83c[\\udffb-\\udfff]";
      var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")";
      var rsNonAstral = "[^" + rsAstralRange + "]";
      var rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}";
      var rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]";
      var rsZWJ = "\\u200d";
      var reOptMod = rsModifier + "?";
      var rsOptVar = "[" + rsVarRange + "]?";
      var rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*";
      var rsSeq = rsOptVar + reOptMod + rsOptJoin;
      var rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")";
      var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g");
      function unicodeToArray(string) {
        return string.match(reUnicode) || [];
      }
      module2.exports = unicodeToArray;
    }
  });

  // node_modules/lodash/_stringToArray.js
  var require_stringToArray = __commonJS({
    "node_modules/lodash/_stringToArray.js"(exports, module2) {
      var asciiToArray = require_asciiToArray();
      var hasUnicode = require_hasUnicode();
      var unicodeToArray = require_unicodeToArray();
      function stringToArray(string) {
        return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string);
      }
      module2.exports = stringToArray;
    }
  });

  // node_modules/lodash/_createCaseFirst.js
  var require_createCaseFirst = __commonJS({
    "node_modules/lodash/_createCaseFirst.js"(exports, module2) {
      var castSlice = require_castSlice();
      var hasUnicode = require_hasUnicode();
      var stringToArray = require_stringToArray();
      var toString3 = require_toString();
      function createCaseFirst(methodName) {
        return function(string) {
          string = toString3(string);
          var strSymbols = hasUnicode(string) ? stringToArray(string) : void 0;
          var chr = strSymbols ? strSymbols[0] : string.charAt(0);
          var trailing = strSymbols ? castSlice(strSymbols, 1).join("") : string.slice(1);
          return chr[methodName]() + trailing;
        };
      }
      module2.exports = createCaseFirst;
    }
  });

  // node_modules/lodash/upperFirst.js
  var require_upperFirst = __commonJS({
    "node_modules/lodash/upperFirst.js"(exports, module2) {
      var createCaseFirst = require_createCaseFirst();
      var upperFirst = createCaseFirst("toUpperCase");
      module2.exports = upperFirst;
    }
  });

  // node_modules/lodash/capitalize.js
  var require_capitalize = __commonJS({
    "node_modules/lodash/capitalize.js"(exports, module2) {
      var toString3 = require_toString();
      var upperFirst = require_upperFirst();
      function capitalize(string) {
        return upperFirst(toString3(string).toLowerCase());
      }
      module2.exports = capitalize;
    }
  });

  // node_modules/lodash/_basePropertyOf.js
  var require_basePropertyOf = __commonJS({
    "node_modules/lodash/_basePropertyOf.js"(exports, module2) {
      function basePropertyOf(object) {
        return function(key) {
          return object == null ? void 0 : object[key];
        };
      }
      module2.exports = basePropertyOf;
    }
  });

  // node_modules/lodash/_deburrLetter.js
  var require_deburrLetter = __commonJS({
    "node_modules/lodash/_deburrLetter.js"(exports, module2) {
      var basePropertyOf = require_basePropertyOf();
      var deburredLetters = {
        // Latin-1 Supplement block.
        "\xC0": "A",
        "\xC1": "A",
        "\xC2": "A",
        "\xC3": "A",
        "\xC4": "A",
        "\xC5": "A",
        "\xE0": "a",
        "\xE1": "a",
        "\xE2": "a",
        "\xE3": "a",
        "\xE4": "a",
        "\xE5": "a",
        "\xC7": "C",
        "\xE7": "c",
        "\xD0": "D",
        "\xF0": "d",
        "\xC8": "E",
        "\xC9": "E",
        "\xCA": "E",
        "\xCB": "E",
        "\xE8": "e",
        "\xE9": "e",
        "\xEA": "e",
        "\xEB": "e",
        "\xCC": "I",
        "\xCD": "I",
        "\xCE": "I",
        "\xCF": "I",
        "\xEC": "i",
        "\xED": "i",
        "\xEE": "i",
        "\xEF": "i",
        "\xD1": "N",
        "\xF1": "n",
        "\xD2": "O",
        "\xD3": "O",
        "\xD4": "O",
        "\xD5": "O",
        "\xD6": "O",
        "\xD8": "O",
        "\xF2": "o",
        "\xF3": "o",
        "\xF4": "o",
        "\xF5": "o",
        "\xF6": "o",
        "\xF8": "o",
        "\xD9": "U",
        "\xDA": "U",
        "\xDB": "U",
        "\xDC": "U",
        "\xF9": "u",
        "\xFA": "u",
        "\xFB": "u",
        "\xFC": "u",
        "\xDD": "Y",
        "\xFD": "y",
        "\xFF": "y",
        "\xC6": "Ae",
        "\xE6": "ae",
        "\xDE": "Th",
        "\xFE": "th",
        "\xDF": "ss",
        // Latin Extended-A block.
        "\u0100": "A",
        "\u0102": "A",
        "\u0104": "A",
        "\u0101": "a",
        "\u0103": "a",
        "\u0105": "a",
        "\u0106": "C",
        "\u0108": "C",
        "\u010A": "C",
        "\u010C": "C",
        "\u0107": "c",
        "\u0109": "c",
        "\u010B": "c",
        "\u010D": "c",
        "\u010E": "D",
        "\u0110": "D",
        "\u010F": "d",
        "\u0111": "d",
        "\u0112": "E",
        "\u0114": "E",
        "\u0116": "E",
        "\u0118": "E",
        "\u011A": "E",
        "\u0113": "e",
        "\u0115": "e",
        "\u0117": "e",
        "\u0119": "e",
        "\u011B": "e",
        "\u011C": "G",
        "\u011E": "G",
        "\u0120": "G",
        "\u0122": "G",
        "\u011D": "g",
        "\u011F": "g",
        "\u0121": "g",
        "\u0123": "g",
        "\u0124": "H",
        "\u0126": "H",
        "\u0125": "h",
        "\u0127": "h",
        "\u0128": "I",
        "\u012A": "I",
        "\u012C": "I",
        "\u012E": "I",
        "\u0130": "I",
        "\u0129": "i",
        "\u012B": "i",
        "\u012D": "i",
        "\u012F": "i",
        "\u0131": "i",
        "\u0134": "J",
        "\u0135": "j",
        "\u0136": "K",
        "\u0137": "k",
        "\u0138": "k",
        "\u0139": "L",
        "\u013B": "L",
        "\u013D": "L",
        "\u013F": "L",
        "\u0141": "L",
        "\u013A": "l",
        "\u013C": "l",
        "\u013E": "l",
        "\u0140": "l",
        "\u0142": "l",
        "\u0143": "N",
        "\u0145": "N",
        "\u0147": "N",
        "\u014A": "N",
        "\u0144": "n",
        "\u0146": "n",
        "\u0148": "n",
        "\u014B": "n",
        "\u014C": "O",
        "\u014E": "O",
        "\u0150": "O",
        "\u014D": "o",
        "\u014F": "o",
        "\u0151": "o",
        "\u0154": "R",
        "\u0156": "R",
        "\u0158": "R",
        "\u0155": "r",
        "\u0157": "r",
        "\u0159": "r",
        "\u015A": "S",
        "\u015C": "S",
        "\u015E": "S",
        "\u0160": "S",
        "\u015B": "s",
        "\u015D": "s",
        "\u015F": "s",
        "\u0161": "s",
        "\u0162": "T",
        "\u0164": "T",
        "\u0166": "T",
        "\u0163": "t",
        "\u0165": "t",
        "\u0167": "t",
        "\u0168": "U",
        "\u016A": "U",
        "\u016C": "U",
        "\u016E": "U",
        "\u0170": "U",
        "\u0172": "U",
        "\u0169": "u",
        "\u016B": "u",
        "\u016D": "u",
        "\u016F": "u",
        "\u0171": "u",
        "\u0173": "u",
        "\u0174": "W",
        "\u0175": "w",
        "\u0176": "Y",
        "\u0177": "y",
        "\u0178": "Y",
        "\u0179": "Z",
        "\u017B": "Z",
        "\u017D": "Z",
        "\u017A": "z",
        "\u017C": "z",
        "\u017E": "z",
        "\u0132": "IJ",
        "\u0133": "ij",
        "\u0152": "Oe",
        "\u0153": "oe",
        "\u0149": "'n",
        "\u017F": "s"
      };
      var deburrLetter = basePropertyOf(deburredLetters);
      module2.exports = deburrLetter;
    }
  });

  // node_modules/lodash/deburr.js
  var require_deburr = __commonJS({
    "node_modules/lodash/deburr.js"(exports, module2) {
      var deburrLetter = require_deburrLetter();
      var toString3 = require_toString();
      var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
      var rsComboMarksRange = "\\u0300-\\u036f";
      var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
      var rsComboSymbolsRange = "\\u20d0-\\u20ff";
      var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
      var rsCombo = "[" + rsComboRange + "]";
      var reComboMark = RegExp(rsCombo, "g");
      function deburr(string) {
        string = toString3(string);
        return string && string.replace(reLatin, deburrLetter).replace(reComboMark, "");
      }
      module2.exports = deburr;
    }
  });

  // node_modules/lodash/_asciiWords.js
  var require_asciiWords = __commonJS({
    "node_modules/lodash/_asciiWords.js"(exports, module2) {
      var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
      function asciiWords(string) {
        return string.match(reAsciiWord) || [];
      }
      module2.exports = asciiWords;
    }
  });

  // node_modules/lodash/_hasUnicodeWord.js
  var require_hasUnicodeWord = __commonJS({
    "node_modules/lodash/_hasUnicodeWord.js"(exports, module2) {
      var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
      function hasUnicodeWord(string) {
        return reHasUnicodeWord.test(string);
      }
      module2.exports = hasUnicodeWord;
    }
  });

  // node_modules/lodash/_unicodeWords.js
  var require_unicodeWords = __commonJS({
    "node_modules/lodash/_unicodeWords.js"(exports, module2) {
      var rsAstralRange = "\\ud800-\\udfff";
      var rsComboMarksRange = "\\u0300-\\u036f";
      var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
      var rsComboSymbolsRange = "\\u20d0-\\u20ff";
      var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
      var rsDingbatRange = "\\u2700-\\u27bf";
      var rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff";
      var rsMathOpRange = "\\xac\\xb1\\xd7\\xf7";
      var rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf";
      var rsPunctuationRange = "\\u2000-\\u206f";
      var rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000";
      var rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde";
      var rsVarRange = "\\ufe0e\\ufe0f";
      var rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
      var rsApos = "['\u2019]";
      var rsBreak = "[" + rsBreakRange + "]";
      var rsCombo = "[" + rsComboRange + "]";
      var rsDigits = "\\d+";
      var rsDingbat = "[" + rsDingbatRange + "]";
      var rsLower = "[" + rsLowerRange + "]";
      var rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]";
      var rsFitz = "\\ud83c[\\udffb-\\udfff]";
      var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")";
      var rsNonAstral = "[^" + rsAstralRange + "]";
      var rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}";
      var rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]";
      var rsUpper = "[" + rsUpperRange + "]";
      var rsZWJ = "\\u200d";
      var rsMiscLower = "(?:" + rsLower + "|" + rsMisc + ")";
      var rsMiscUpper = "(?:" + rsUpper + "|" + rsMisc + ")";
      var rsOptContrLower = "(?:" + rsApos + "(?:d|ll|m|re|s|t|ve))?";
      var rsOptContrUpper = "(?:" + rsApos + "(?:D|LL|M|RE|S|T|VE))?";
      var reOptMod = rsModifier + "?";
      var rsOptVar = "[" + rsVarRange + "]?";
      var rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*";
      var rsOrdLower = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])";
      var rsOrdUpper = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])";
      var rsSeq = rsOptVar + reOptMod + rsOptJoin;
      var rsEmoji = "(?:" + [rsDingbat, rsRegional, rsSurrPair].join("|") + ")" + rsSeq;
      var reUnicodeWord = RegExp([
        rsUpper + "?" + rsLower + "+" + rsOptContrLower + "(?=" + [rsBreak, rsUpper, "$"].join("|") + ")",
        rsMiscUpper + "+" + rsOptContrUpper + "(?=" + [rsBreak, rsUpper + rsMiscLower, "$"].join("|") + ")",
        rsUpper + "?" + rsMiscLower + "+" + rsOptContrLower,
        rsUpper + "+" + rsOptContrUpper,
        rsOrdUpper,
        rsOrdLower,
        rsDigits,
        rsEmoji
      ].join("|"), "g");
      function unicodeWords(string) {
        return string.match(reUnicodeWord) || [];
      }
      module2.exports = unicodeWords;
    }
  });

  // node_modules/lodash/words.js
  var require_words = __commonJS({
    "node_modules/lodash/words.js"(exports, module2) {
      var asciiWords = require_asciiWords();
      var hasUnicodeWord = require_hasUnicodeWord();
      var toString3 = require_toString();
      var unicodeWords = require_unicodeWords();
      function words(string, pattern, guard) {
        string = toString3(string);
        pattern = guard ? void 0 : pattern;
        if (pattern === void 0) {
          return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);
        }
        return string.match(pattern) || [];
      }
      module2.exports = words;
    }
  });

  // node_modules/lodash/_createCompounder.js
  var require_createCompounder = __commonJS({
    "node_modules/lodash/_createCompounder.js"(exports, module2) {
      var arrayReduce = require_arrayReduce();
      var deburr = require_deburr();
      var words = require_words();
      var rsApos = "['\u2019]";
      var reApos = RegExp(rsApos, "g");
      function createCompounder(callback) {
        return function(string) {
          return arrayReduce(words(deburr(string).replace(reApos, "")), callback, "");
        };
      }
      module2.exports = createCompounder;
    }
  });

  // node_modules/lodash/camelCase.js
  var require_camelCase = __commonJS({
    "node_modules/lodash/camelCase.js"(exports, module2) {
      var capitalize = require_capitalize();
      var createCompounder = require_createCompounder();
      var camelCase2 = createCompounder(function(result2, word, index) {
        word = word.toLowerCase();
        return result2 + (index ? capitalize(word) : word);
      });
      module2.exports = camelCase2;
    }
  });

  // packages/systems/commerce/constants/pluginConstants.ts
  var DATA_ATTR_COMMERCE_SKU_ID, DATA_ATTR_COMMERCE_OPTION_SET_ID, DATA_ATTR_COMMERCE_PRODUCT_ID, DATA_ATTR_NODE_TYPE, DATA_ATTR_LOADING_TEXT, DATA_ATTR_OPEN_PRODUCT, DATA_ATTR_OPEN_ON_HOVER, DATA_ATTR_COUNT_HIDE_RULE, DATA_ATTR_PRESELECT_DEFAULT_VARIANT, DATA_ATTR_DEFAULT_TEXT, DATA_ATTR_SUBSCRIPTION_TEXT, NODE_TYPE_COMMERCE_ADD_TO_CART_FORM, NODE_TYPE_COMMERCE_ADD_TO_CART_ERROR, NODE_TYPE_COMMERCE_CART_ERROR, NODE_TYPE_COMMERCE_ADD_TO_CART_OPTION_SELECT, NODE_TYPE_COMMERCE_ADD_TO_CART_OPTION_LIST, NODE_TYPE_COMMERCE_ADD_TO_CART_PILL_GROUP, NODE_TYPE_COMMERCE_ADD_TO_CART_PILL, NODE_TYPE_COMMERCE_CART_WRAPPER, NODE_TYPE_COMMERCE_CART_OPEN_LINK, NODE_TYPE_COMMERCE_CART_CLOSE_LINK, NODE_TYPE_COMMERCE_CART_CONTAINER_WRAPPER, NODE_TYPE_COMMERCE_CART_CONTAINER, NODE_TYPE_COMMERCE_CART_CHECKOUT_BUTTON, NODE_TYPE_COMMERCE_CART_FORM, NODE_NAME_COMMERCE_ADD_TO_CART_QUANTITY_INPUT, NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER, NODE_TYPE_COMMERCE_CHECKOUT_CUSTOMER_INFO_WRAPPER, NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_ADDRESS_WRAPPER, NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_ADDRESS_ZIP_FIELD, NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_ZIP_FIELD, NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_WRAPPER, NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_METHODS_WRAPPER, NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_METHODS_LIST, NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_METHODS_EMPTY_STATE, NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_TOGGLE_CHECKBOX, NODE_TYPE_COMMERCE_CHECKOUT_PLACE_ORDER_BUTTON, NODE_TYPE_COMMERCE_CHECKOUT_ERROR_STATE, NODE_TYPE_COMMERCE_ORDER_CONFIRMATION_WRAPPER, NODE_TYPE_COMMERCE_CART_QUICK_CHECKOUT_ACTIONS, NODE_TYPE_COMMERCE_CART_QUICK_CHECKOUT_BUTTON, NODE_TYPE_COMMERCE_CART_APPLE_PAY_BUTTON, NODE_TYPE_COMMERCE_CHECKOUT_ADDITIONAL_INFO, NODE_TYPE_COMMERCE_PAYPAL_CHECKOUT_FORM_CONTAINER, NODE_TYPE_COMMERCE_PAYPAL_CHECKOUT_ERROR_STATE, NODE_TYPE_COMMERCE_CHECKOUT_DISCOUNT_FORM, NODE_TYPE_COMMERCE_CHECKOUT_DISCOUNT_INPUT, NODE_TYPE_COMMERCE_BUY_NOW_BUTTON, NODE_TYPE_COMMERCE_ADD_TO_CART_BUTTON, NODE_TYPE_ADD_TO_CART_ERROR, CART_TYPES, CART_COUNT_HIDE_RULES, CART_CHECKOUT_BUTTON_TEXT_DEFAULT, CART_CHECKOUT_LOADING_TEXT_DEFAULT, CHECKOUT_PLACE_ORDER_BUTTON_TEXT_DEFAULT, CHECKOUT_PLACE_ORDER_LOADING_TEXT_DEFAULT, COMMERCE_CART_PUBLISHED_SITE_ACTION_ATTR, COMMERCE_CART_PUBLISHED_SITE_ACTIONS, WF_BINDING_DATA_KEY, WF_CONDITION_DATA_KEY, WF_COLLECTION_DATA_KEY, WF_TEMPLATE_ID_DATA_KEY, WF_SKU_BINDING_DATA_KEY, WF_SKU_CONDITION_DATA_KEY, WF_TEMPLATE_TYPE, INFO_ERR, SHIPPING_ERR, BILLING_ERR, PAYMENT_ERR, PRICING_ERR, ORDER_MIN_ERR, ORDER_EXTRAS_ERR, PRODUCT_ERR, INVALID_DISCOUNT_ERR, EXPIRED_DISCOUNT_ERR, USAGE_REACHED_DISCOUNT_ERR, REQUIREMENTS_NOT_MET_DISCOUNT_ERR, COMMERCE_ERROR_CATEGORY, CHECKOUT_ERRORS, QUANTITY_ERR, CHECKOUT_ERR, GENERAL_ERR, CART_ORDER_MIN_ERR, SUBSCRIPTION_ERR, CART_ERRORS, ADD_TO_CART_QUANTITY_ERR, ADD_TO_CART_GENERAL_ERR, ADD_TO_CART_MIXED_ERR, ADD_TO_CART_ERRORS, DATA_ATTR_ANIMATION_EASING, ANIMATION_EASING_DEFAULT, DATA_ATTR_ANIMATION_DURATION, ANIMATION_DURATION_DEFAULT, DATA_ATTR_PUBLISHABLE_KEY, RENDER_TREE_EVENT, NEEDS_REFRESH, STRIPE_ELEMENT_INSTANCE, STRIPE_ELEMENT_TYPE, STRIPE_ELEMENT_STYLE, ADD_TO_CART_LOADING, CHANGE_CART_EVENT, getATCErrorMessageForType, CHECKOUT_DISABLED_ERROR_MESSAGE, CHECKOUT_QUERY, getCheckoutErrorMessageForType, REQUIRES_ACTION, CART_GENERAL_ERROR_MESSAGE, CART_CHECKOUT_ERROR_MESSAGE_SELECTOR, CART_ERROR_MESSAGE, CART_ERROR_MESSAGE_SELECTOR, CART_OPEN, CART_TYPE, CART_QUERY, PAYPAL_ELEMENT_INSTANCE, PAYPAL_BUTTON_ELEMENT_INSTANCE, getCartErrorMessageForType, ORDER_QUERY, STRIPE_ECOMMERCE_KEY, STRIPE_ECOMMERCE_ACCOUNT_ID, COMMERCE_DEFAULT_COPY;
  var init_pluginConstants = __esm({
    "packages/systems/commerce/constants/pluginConstants.ts"() {
      "use strict";
      DATA_ATTR_COMMERCE_SKU_ID = "data-commerce-sku-id";
      DATA_ATTR_COMMERCE_OPTION_SET_ID = "data-commerce-option-set-id";
      DATA_ATTR_COMMERCE_PRODUCT_ID = "data-commerce-product-id";
      DATA_ATTR_NODE_TYPE = "data-node-type";
      DATA_ATTR_LOADING_TEXT = "data-loading-text";
      DATA_ATTR_OPEN_PRODUCT = "data-open-product";
      DATA_ATTR_OPEN_ON_HOVER = "data-open-on-hover";
      DATA_ATTR_COUNT_HIDE_RULE = "data-count-hide-rule";
      DATA_ATTR_PRESELECT_DEFAULT_VARIANT = "data-preselect-default-variant";
      DATA_ATTR_DEFAULT_TEXT = "data-default-text";
      DATA_ATTR_SUBSCRIPTION_TEXT = "data-subscription-text";
      NODE_TYPE_COMMERCE_ADD_TO_CART_FORM = "commerce-add-to-cart-form";
      NODE_TYPE_COMMERCE_ADD_TO_CART_ERROR = "commerce-add-to-cart-error";
      NODE_TYPE_COMMERCE_CART_ERROR = "commerce-cart-error";
      NODE_TYPE_COMMERCE_ADD_TO_CART_OPTION_SELECT = "commerce-add-to-cart-option-select";
      NODE_TYPE_COMMERCE_ADD_TO_CART_OPTION_LIST = "commerce-add-to-cart-option-list";
      NODE_TYPE_COMMERCE_ADD_TO_CART_PILL_GROUP = "commerce-add-to-cart-pill-group";
      NODE_TYPE_COMMERCE_ADD_TO_CART_PILL = "commerce-add-to-cart-pill";
      NODE_TYPE_COMMERCE_CART_WRAPPER = "commerce-cart-wrapper";
      NODE_TYPE_COMMERCE_CART_OPEN_LINK = "commerce-cart-open-link";
      NODE_TYPE_COMMERCE_CART_CLOSE_LINK = "commerce-cart-close-link";
      NODE_TYPE_COMMERCE_CART_CONTAINER_WRAPPER = "commerce-cart-container-wrapper";
      NODE_TYPE_COMMERCE_CART_CONTAINER = "commerce-cart-container";
      NODE_TYPE_COMMERCE_CART_CHECKOUT_BUTTON = "cart-checkout-button";
      NODE_TYPE_COMMERCE_CART_FORM = "commerce-cart-form";
      NODE_NAME_COMMERCE_ADD_TO_CART_QUANTITY_INPUT = "commerce-add-to-cart-quantity-input";
      NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER = "commerce-checkout-form-container";
      NODE_TYPE_COMMERCE_CHECKOUT_CUSTOMER_INFO_WRAPPER = "commerce-checkout-customer-info-wrapper";
      NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_ADDRESS_WRAPPER = "commerce-checkout-shipping-address-wrapper";
      NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_ADDRESS_ZIP_FIELD = "commerce-checkout-shipping-zip-field";
      NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_ZIP_FIELD = "commerce-checkout-billing-zip-field";
      NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_WRAPPER = "commerce-checkout-billing-address-wrapper";
      NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_METHODS_WRAPPER = "commerce-checkout-shipping-methods-wrapper";
      NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_METHODS_LIST = "commerce-checkout-shipping-methods-list";
      NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_METHODS_EMPTY_STATE = "commerce-checkout-shipping-methods-empty-state";
      NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_TOGGLE_CHECKBOX = "commerce-checkout-billing-address-toggle-checkbox";
      NODE_TYPE_COMMERCE_CHECKOUT_PLACE_ORDER_BUTTON = "commerce-checkout-place-order-button";
      NODE_TYPE_COMMERCE_CHECKOUT_ERROR_STATE = "commerce-checkout-error-state";
      NODE_TYPE_COMMERCE_ORDER_CONFIRMATION_WRAPPER = "commerce-order-confirmation-wrapper";
      NODE_TYPE_COMMERCE_CART_QUICK_CHECKOUT_ACTIONS = "commerce-cart-quick-checkout-actions";
      NODE_TYPE_COMMERCE_CART_QUICK_CHECKOUT_BUTTON = "commerce-cart-quick-checkout-button";
      NODE_TYPE_COMMERCE_CART_APPLE_PAY_BUTTON = "commerce-cart-apple-pay-button";
      NODE_TYPE_COMMERCE_CHECKOUT_ADDITIONAL_INFO = "commerce-checkout-additional-info";
      NODE_TYPE_COMMERCE_PAYPAL_CHECKOUT_FORM_CONTAINER = "commerce-paypal-checkout-form-container";
      NODE_TYPE_COMMERCE_PAYPAL_CHECKOUT_ERROR_STATE = "commerce-checkout-error-state";
      NODE_TYPE_COMMERCE_CHECKOUT_DISCOUNT_FORM = "commerce-checkout-discount-form";
      NODE_TYPE_COMMERCE_CHECKOUT_DISCOUNT_INPUT = "commerce-checkout-discount-input";
      NODE_TYPE_COMMERCE_BUY_NOW_BUTTON = "commerce-buy-now-button";
      NODE_TYPE_COMMERCE_ADD_TO_CART_BUTTON = "commerce-add-to-cart-button";
      NODE_TYPE_ADD_TO_CART_ERROR = "commerce-add-to-cart-error";
      CART_TYPES = {
        MODAL: "modal",
        LEFT_SIDEBAR: "leftSidebar",
        RIGHT_SIDEBAR: "rightSidebar",
        LEFT_DROPDOWN: "leftDropdown",
        RIGHT_DROPDOWN: "rightDropdown",
        DROPDOWN: "dropdown"
      };
      CART_COUNT_HIDE_RULES = {
        ALWAYS: "always",
        EMPTY: "empty"
      };
      CART_CHECKOUT_BUTTON_TEXT_DEFAULT = "Continue to Checkout";
      CART_CHECKOUT_LOADING_TEXT_DEFAULT = "Hang Tight...";
      CHECKOUT_PLACE_ORDER_BUTTON_TEXT_DEFAULT = "Place Order";
      CHECKOUT_PLACE_ORDER_LOADING_TEXT_DEFAULT = "Placing Order...";
      COMMERCE_CART_PUBLISHED_SITE_ACTION_ATTR = "data-wf-cart-action";
      COMMERCE_CART_PUBLISHED_SITE_ACTIONS = {
        UPDATE_ITEM_QUANTITY: "update-item-quantity",
        REMOVE_ITEM: "remove-item"
      };
      WF_BINDING_DATA_KEY = "data-wf-bindings";
      WF_CONDITION_DATA_KEY = "data-wf-conditions";
      WF_COLLECTION_DATA_KEY = "data-wf-collection";
      WF_TEMPLATE_ID_DATA_KEY = "data-wf-template-id";
      WF_SKU_BINDING_DATA_KEY = "data-wf-sku-bindings";
      WF_SKU_CONDITION_DATA_KEY = "data-wf-sku-conditions";
      WF_TEMPLATE_TYPE = "text/x-wf-template";
      INFO_ERR = "INFO_ERROR";
      SHIPPING_ERR = "SHIPPING_ERROR";
      BILLING_ERR = "BILLING_ERROR";
      PAYMENT_ERR = "PAYMENT_ERROR";
      PRICING_ERR = "PRICING_ERROR";
      ORDER_MIN_ERR = "ORDER_MINIMUM_ERROR";
      ORDER_EXTRAS_ERR = "ORDER_EXTRAS_ERROR";
      PRODUCT_ERR = "PRODUCT_ERROR";
      INVALID_DISCOUNT_ERR = "INVALID_DISCOUNT_ERROR";
      EXPIRED_DISCOUNT_ERR = "EXPIRED_DISCOUNT_ERROR";
      USAGE_REACHED_DISCOUNT_ERR = "USAGE_REACHED_DISCOUNT_ERROR";
      REQUIREMENTS_NOT_MET_DISCOUNT_ERR = "REQUIREMENTS_NOT_MET_DISCOUNT_ERROR";
      COMMERCE_ERROR_CATEGORY = {
        GENERAL: { id: "GENERAL", label: "General Errors" },
        PRODUCT: { id: "PRODUCT", label: "Product Errors" },
        BILLING: { id: "BILLING", label: "Billing Errors" },
        DISCOUNT: { id: "DISCOUNT", label: "Discount Errors" },
        SUBSCRIPTION: { id: "SUBSCRIPTION", label: "Subscription Errors" }
      };
      CHECKOUT_ERRORS = {
        INFO: {
          id: INFO_ERR,
          name: "General customer info error",
          category: COMMERCE_ERROR_CATEGORY.GENERAL,
          copy: "There was an error processing your customer info. Please try again, or contact us if you continue to have problems.",
          path: ["data", "commerce", INFO_ERR]
        },
        SHIPPING: {
          id: SHIPPING_ERR,
          category: COMMERCE_ERROR_CATEGORY.GENERAL,
          name: "Shipping not available",
          copy: "Sorry. We can\u2019t ship your order to the address provided.",
          path: ["data", "commerce", SHIPPING_ERR]
        },
        EXTRAS: {
          id: ORDER_EXTRAS_ERR,
          category: COMMERCE_ERROR_CATEGORY.GENERAL,
          name: "Merchant setting changed",
          copy: "A merchant setting has changed that impacts your cart. Please refresh and try again.",
          path: ["data", "commerce", ORDER_EXTRAS_ERR],
          requiresRefresh: true
        },
        PRICING: {
          id: PRICING_ERR,
          category: COMMERCE_ERROR_CATEGORY.PRODUCT,
          name: "Product price changed",
          copy: "The prices of one or more items in your cart have changed. Please refresh this page and try again.",
          path: ["data", "commerce", PRICING_ERR],
          requiresRefresh: true
        },
        PRODUCT: {
          id: PRODUCT_ERR,
          category: COMMERCE_ERROR_CATEGORY.PRODUCT,
          name: "Product removed",
          copy: "One or more of the products in your cart have been removed. Please refresh the page and try again.",
          path: ["data", "commerce", PRODUCT_ERR],
          requiresRefresh: true
        },
        PAYMENT: {
          id: PAYMENT_ERR,
          category: COMMERCE_ERROR_CATEGORY.BILLING,
          name: "General payment error",
          copy: "There was an error processing your payment. Please try again, or contact us if you continue to have problems.",
          path: ["data", "commerce", PAYMENT_ERR]
        },
        BILLING: {
          id: BILLING_ERR,
          category: COMMERCE_ERROR_CATEGORY.BILLING,
          name: "Card declined",
          copy: "Your payment could not be completed with the payment information provided. Please make sure that your card and billing address information is correct, or try a different payment card, to complete this order. Contact us if you continue to have problems.",
          path: ["data", "commerce", BILLING_ERR]
        },
        MINIMUM: {
          id: ORDER_MIN_ERR,
          category: COMMERCE_ERROR_CATEGORY.BILLING,
          name: "Order minimum not met",
          copy: "The order minimum was not met. Add more items to your cart to continue.",
          path: ["data", "commerce", ORDER_MIN_ERR],
          note: {
            copy: "You can customize this message with the exact minimum based on your Stripe account's settlement currency.",
            cta: {
              copy: "Go to Stripe docs",
              link: "https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts"
            }
          }
        },
        INVALID_DISCOUNT: {
          id: INVALID_DISCOUNT_ERR,
          category: COMMERCE_ERROR_CATEGORY.DISCOUNT,
          name: "Invalid discount error",
          copy: "This discount is invalid.",
          path: ["data", "commerce", INVALID_DISCOUNT_ERR]
        },
        EXPIRED_DISCOUNT: {
          id: EXPIRED_DISCOUNT_ERR,
          category: COMMERCE_ERROR_CATEGORY.DISCOUNT,
          name: "Discount expired",
          copy: "This discount is no longer available.",
          path: ["data", "commerce", EXPIRED_DISCOUNT_ERR]
        },
        USAGE_REACHED_DISCOUNT: {
          id: USAGE_REACHED_DISCOUNT_ERR,
          category: COMMERCE_ERROR_CATEGORY.DISCOUNT,
          name: "Discount usage limit reached",
          copy: "This discount is no longer available.",
          path: ["data", "commerce", USAGE_REACHED_DISCOUNT_ERR]
        },
        REQUIREMENTS_NOT_MET_DISCOUNT: {
          id: REQUIREMENTS_NOT_MET_DISCOUNT_ERR,
          category: COMMERCE_ERROR_CATEGORY.DISCOUNT,
          name: "Discount requirements not met",
          copy: "Your order does not meet the requirements for this discount.",
          path: ["data", "commerce", REQUIREMENTS_NOT_MET_DISCOUNT_ERR]
        }
      };
      QUANTITY_ERR = "QUANTITY_ERROR";
      CHECKOUT_ERR = "CHECKOUT_ERROR";
      GENERAL_ERR = "GENERAL_ERROR";
      CART_ORDER_MIN_ERR = "CART_ORDER_MIN_ERROR";
      SUBSCRIPTION_ERR = "SUBSCRIPTION_ERR";
      CART_ERRORS = {
        QUANTITY: {
          id: QUANTITY_ERR,
          name: "Quantity not available",
          category: COMMERCE_ERROR_CATEGORY.GENERAL,
          copy: "Product is not available in this quantity.",
          path: ["data", "commerce", QUANTITY_ERR]
        },
        GENERAL: {
          id: GENERAL_ERR,
          category: COMMERCE_ERROR_CATEGORY.GENERAL,
          name: "General error",
          copy: "Something went wrong when adding this item to the cart.",
          path: ["data", "commerce", GENERAL_ERR]
        },
        CHECKOUT: {
          id: CHECKOUT_ERR,
          category: COMMERCE_ERROR_CATEGORY.GENERAL,
          name: "Checkout disabled",
          copy: "Checkout is disabled on this site.",
          path: ["data", "commerce", CHECKOUT_ERR]
        },
        CART_ORDER_MIN: {
          id: CART_ORDER_MIN_ERR,
          category: COMMERCE_ERROR_CATEGORY.BILLING,
          name: "Order minimum not met",
          copy: "The order minimum was not met. Add more items to your cart to continue.",
          path: ["data", "commerce", CART_ORDER_MIN_ERR]
        },
        SUBSCRIPTION_ERROR: {
          id: SUBSCRIPTION_ERR,
          category: COMMERCE_ERROR_CATEGORY.SUBSCRIPTION,
          name: "Subscription not verified",
          copy: "Before you purchase, please use your email invite to verify your address so we can send order updates.",
          path: ["data", "commerce", SUBSCRIPTION_ERR]
        }
      };
      ADD_TO_CART_QUANTITY_ERR = "ADD_TO_CART_QUANTITY_ERROR";
      ADD_TO_CART_GENERAL_ERR = "ADD_TO_CART_GENERAL_ERROR";
      ADD_TO_CART_MIXED_ERR = "ADD_TO_CART_MIXED_ERROR";
      ADD_TO_CART_ERRORS = {
        QUANTITY: {
          id: ADD_TO_CART_QUANTITY_ERR,
          category: COMMERCE_ERROR_CATEGORY.GENERAL,
          name: "Quantity not available",
          copy: "Product is not available in this quantity.",
          path: ["data", "commerce", ADD_TO_CART_QUANTITY_ERR]
        },
        GENERAL: {
          id: ADD_TO_CART_GENERAL_ERR,
          category: COMMERCE_ERROR_CATEGORY.GENERAL,
          name: "Add to Cart error",
          copy: "Something went wrong when adding this item to the cart.",
          path: ["data", "commerce", ADD_TO_CART_GENERAL_ERR]
        },
        MIXED_CART: {
          id: ADD_TO_CART_MIXED_ERR,
          category: COMMERCE_ERROR_CATEGORY.GENERAL,
          name: "Add to mixed Cart error",
          copy: "You can\u2019t purchase another product with a subscription."
        },
        BUY_NOW: {
          id: "BUY_NOW_ERROR",
          category: COMMERCE_ERROR_CATEGORY.GENERAL,
          name: "Buy now error",
          copy: "Something went wrong when trying to purchase this item."
        },
        CHECKOUT_DISABLED: {
          id: "CHECKOUT_DISABLED_ERROR",
          category: COMMERCE_ERROR_CATEGORY.GENERAL,
          name: "Checkout disabled",
          copy: "Checkout is disabled on this site."
        },
        SELECT_ALL_OPTIONS: {
          id: "SELECT_ALL_OPTIONS",
          category: COMMERCE_ERROR_CATEGORY.GENERAL,
          name: "Option selection required",
          copy: "Please select an option in each set.",
          path: ["data", "commerce", "SELECT_ALL_OPTIONS"]
        }
      };
      DATA_ATTR_ANIMATION_EASING = "data-wf-cart-easing";
      ANIMATION_EASING_DEFAULT = "ease-out-quad";
      DATA_ATTR_ANIMATION_DURATION = "data-wf-cart-duration";
      ANIMATION_DURATION_DEFAULT = 300;
      DATA_ATTR_PUBLISHABLE_KEY = "data-publishable-key";
      RENDER_TREE_EVENT = "wf-render-tree";
      NEEDS_REFRESH = "data-wf-needs-refresh";
      STRIPE_ELEMENT_INSTANCE = "data-wf-stripe-element-instance";
      STRIPE_ELEMENT_TYPE = "data-wf-stripe-element-type";
      STRIPE_ELEMENT_STYLE = "data-wf-stripe-style";
      ADD_TO_CART_LOADING = "data-wf-atc-loading";
      CHANGE_CART_EVENT = "wf-change-cart-state";
      getATCErrorMessageForType = (errorType) => `data-w-add-to-cart-${errorType}-error`;
      CHECKOUT_DISABLED_ERROR_MESSAGE = "data-w-add-to-cart-checkout-disabled-error";
      CHECKOUT_QUERY = "data-wf-checkout-query";
      getCheckoutErrorMessageForType = (errorType) => `data-w-${errorType}-error`;
      REQUIRES_ACTION = "requires_action";
      CART_GENERAL_ERROR_MESSAGE = "data-w-cart-general-error";
      CART_CHECKOUT_ERROR_MESSAGE_SELECTOR = ".w-checkout-error-msg";
      CART_ERROR_MESSAGE = "cart-error-msg";
      CART_ERROR_MESSAGE_SELECTOR = `.w-${CART_ERROR_MESSAGE}`;
      CART_OPEN = "data-cart-open";
      CART_TYPE = "data-wf-cart-type";
      CART_QUERY = "data-wf-cart-query";
      PAYPAL_ELEMENT_INSTANCE = "data-wf-paypal-element";
      PAYPAL_BUTTON_ELEMENT_INSTANCE = "data-wf-paypal-button";
      getCartErrorMessageForType = (errorType) => `data-w-cart-${errorType}-error`;
      ORDER_QUERY = "data-wf-order-query";
      STRIPE_ECOMMERCE_KEY = "data-wf-ecomm-key";
      STRIPE_ECOMMERCE_ACCOUNT_ID = "data-wf-ecomm-acct-id";
      COMMERCE_DEFAULT_COPY = {
        INFO_ERROR: CHECKOUT_ERRORS.INFO.copy,
        SHIPPING_ERROR: CHECKOUT_ERRORS.SHIPPING.copy,
        ORDER_EXTRAS_ERROR: CHECKOUT_ERRORS.EXTRAS.copy,
        PRICING_ERROR: CHECKOUT_ERRORS.PRICING.copy,
        PRODUCT_ERROR: CHECKOUT_ERRORS.PRODUCT.copy,
        PAYMENT_ERROR: CHECKOUT_ERRORS.PAYMENT.copy,
        BILLING_ERROR: CHECKOUT_ERRORS.BILLING.copy,
        ORDER_MINIMUM_ERROR: CHECKOUT_ERRORS.MINIMUM.copy,
        INVALID_DISCOUNT_ERROR: CHECKOUT_ERRORS.INVALID_DISCOUNT.copy,
        EXPIRED_DISCOUNT_ERROR: CHECKOUT_ERRORS.EXPIRED_DISCOUNT.copy,
        USAGE_REACHED_DISCOUNT_ERROR: CHECKOUT_ERRORS.USAGE_REACHED_DISCOUNT.copy,
        REQUIREMENTS_NOT_MET_DISCOUNT_ERROR: CHECKOUT_ERRORS.REQUIREMENTS_NOT_MET_DISCOUNT.copy,
        COMMERCE_ADD_TO_CART_BUTTON_DEFAULT: "Add to Cart",
        COMMERCE_ADD_TO_CART_BUTTON_WAITING: "Adding to cart...",
        COMMERCE_BUY_NOW_BUTTON_DEFAULT: "Buy now",
        SUBSCRIPTION_BUTTON_DEFAULT: "Subscribe now",
        QUANTITY_ERROR: "Product is not available in this quantity.",
        GENERAL_ERROR: "Something went wrong when adding this item to the cart.",
        CHECKOUT_ERROR: "Checkout is disabled on this site.",
        CART_ORDER_MIN_ERROR: "The order minimum was not met. Add more items to your cart to continue.",
        SUBSCRIPTION_ERR: "Before you purchase, please use your email invite to verify your address so we can send order updates.",
        ADD_TO_CART_QUANTITY_ERROR: "Product is not available in this quantity.",
        ADD_TO_CART_GENERAL_ERROR: "Something went wrong when adding this item to the cart.",
        ADD_TO_CART_MIXED_ERROR: "You can\u2019t purchase another product with a subscription.",
        BUY_NOW_ERROR: "Something went wrong when trying to purchase this item.",
        CHECKOUT_DISABLED_ERROR: "Checkout is disabled on this site.",
        SELECT_ALL_OPTIONS: "Please select an option in each set."
      };
    }
  });

  // packages/systems/commerce/constants/bindingContextConstants.ts
  var init_bindingContextConstants = __esm({
    "packages/systems/commerce/constants/bindingContextConstants.ts"() {
      "use strict";
    }
  });

  // packages/systems/commerce/constants/paypalCurrencyList.ts
  var paypalCurrencyList;
  var init_paypalCurrencyList = __esm({
    "packages/systems/commerce/constants/paypalCurrencyList.ts"() {
      "use strict";
      paypalCurrencyList = [
        /*
         * ----------------------------------------------------------------------------
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         *
         * This const is duplicated to @packages/systems/core/constants/SharedConfig.js
         * to avoid bundling this entire SharedConfig file in the webflow.js published
         * site bundle. Once we have support for bundling for the Dashboard (this
         * config is injected in to window.SharedConfig for angular), we should
         * be able to delete the const in SharedConfig and use the commerce/consts
         * package whenever `paypalCurrencyList` const is needed.
         *
         * In the meantime, if you make changes to this const, please make sure to
         * update in the other location as well.
         *
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         * ----------------------------------------------------------------------------
         */
        { code: "AUD", digits: 2, minCharge: 1, name: "Australian Dollar" },
        { code: "BRL", digits: 2, minCharge: 1, name: "Brazilian Real" },
        { code: "CAD", digits: 2, minCharge: 1, name: "Canadian Dollar" },
        { code: "CNY", digits: 2, minCharge: 1, name: "Chinese Renmenbi" },
        { code: "CZK", digits: 2, minCharge: 1, name: "Czech Koruna" },
        { code: "DKK", digits: 2, minCharge: 1, name: "Danish Krone" },
        { code: "EUR", digits: 2, minCharge: 1, name: "Euro" },
        { code: "HKD", digits: 2, minCharge: 1, name: "Hong Kong Dollar" },
        // HUF is currently disabled, due to issues with PayPal's 0-decimal implementation
        // See: https://github.com/webflow/webflow/issues/32865
        // {code: 'HUF', digits: 0, minCharge: 1, name: 'Hungarian Forint'},
        { code: "INR", digits: 2, minCharge: 1, name: "Indian Rupee" },
        { code: "ILS", digits: 2, minCharge: 1, name: "Israeli New Sheqel" },
        { code: "JPY", digits: 0, minCharge: 1, name: "Japanese Yen" },
        { code: "MYR", digits: 2, minCharge: 1, name: "Malaysian Ringgit" },
        { code: "MXN", digits: 2, minCharge: 1, name: "Mexican Peso" },
        { code: "TWD", digits: 0, minCharge: 1, name: "New Taiwan Dollar" },
        { code: "NZD", digits: 2, minCharge: 1, name: "New Zealand Dollar" },
        { code: "NOK", digits: 2, minCharge: 1, name: "Norwegian Krone" },
        { code: "PHP", digits: 2, minCharge: 1, name: "Philippine Peso" },
        { code: "PLN", digits: 2, minCharge: 1, name: "Polish Z\u0142oty" },
        { code: "GBP", digits: 2, minCharge: 1, name: "British Pound" },
        { code: "RUB", digits: 2, minCharge: 1, name: "Russian Ruble" },
        { code: "SGD", digits: 2, minCharge: 1, name: "Singapore Dollar" },
        { code: "SEK", digits: 2, minCharge: 1, name: "Swedish Krona" },
        { code: "CHF", digits: 2, minCharge: 1, name: "Swiss Franc" },
        { code: "THB", digits: 2, minCharge: 1, name: "Thai Baht" },
        { code: "USD", digits: 2, minCharge: 1, name: "United States Dollar" }
      ];
    }
  });

  // packages/systems/commerce/constants/stripeCurrencyList.ts
  var stripeCurrencyList;
  var init_stripeCurrencyList = __esm({
    "packages/systems/commerce/constants/stripeCurrencyList.ts"() {
      "use strict";
      stripeCurrencyList = [
        /*
         * ----------------------------------------------------------------------------
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         *
         * This const is duplicated to @packages/systems/core/constants/SharedConfig.js
         * to avoid bundling this entire SharedConfig file in the webflow.js published
         * site bundle. Once we have support for bundling for the Dashboard (this
         * config is injected in to window.SharedConfig for angular), we should
         * be able to delete the const in SharedConfig and use the commerce/consts
         * package whenever `stripeCurrencyList` const is needed.
         *
         * In the meantime, if you make changes to this const, please make sure to
         * update in the other location as well.
         *
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
         * ----------------------------------------------------------------------------
         */
        { code: "AED", digits: 2, minCharge: 0, name: "United Arab Emirates Dirham" },
        { code: "AFN", digits: 2, minCharge: 0, name: "Afghanistan Afghani" },
        { code: "ALL", digits: 2, minCharge: 0, name: "Albanian Lek" },
        { code: "AMD", digits: 2, minCharge: 0, name: "Armenia Dram" },
        {
          code: "ANG",
          digits: 2,
          minCharge: 0,
          name: "Netherlands Antillean Gulden"
        },
        { code: "AOA", digits: 2, minCharge: 0, name: "Angola Kwanza" },
        { code: "ARS", digits: 2, minCharge: 0, name: "Argentine Peso" },
        { code: "AUD", digits: 2, minCharge: 50, name: "Australian Dollar" },
        { code: "AWG", digits: 2, minCharge: 0, name: "Aruban Florin" },
        { code: "AZN", digits: 2, minCharge: 0, name: "Azerbaijan Manat" },
        {
          code: "BAM",
          digits: 2,
          minCharge: 0,
          name: "Bosnia and Herzegovina Convertible Marka"
        },
        { code: "BBD", digits: 2, minCharge: 0, name: "Barbadian Dollar" },
        { code: "BDT", digits: 2, minCharge: 0, name: "Bangladeshi Taka" },
        { code: "BGN", digits: 2, minCharge: 0, name: "Bulgaria Lev" },
        { code: "BIF", digits: 0, minCharge: 0, name: "Burundian Franc" },
        { code: "BMD", digits: 2, minCharge: 0, name: "Bermudian Dollar" },
        { code: "BND", digits: 2, minCharge: 0, name: "Brunei Dollar" },
        { code: "BOB", digits: 2, minCharge: 0, name: "Bolivian Boliviano" },
        { code: "BRL", digits: 2, minCharge: 50, name: "Brazilian Real" },
        { code: "BSD", digits: 2, minCharge: 0, name: "Bahamian Dollar" },
        { code: "BWP", digits: 2, minCharge: 0, name: "Botswana Pula" },
        { code: "BZD", digits: 2, minCharge: 0, name: "Belize Dollar" },
        { code: "CAD", digits: 2, minCharge: 50, name: "Canadian Dollar" },
        { code: "CDF", digits: 2, minCharge: 0, name: "Congo/Kinshasa Franc" },
        { code: "CHF", digits: 2, minCharge: 50, name: "Swiss Franc" },
        { code: "CLP", digits: 0, minCharge: 0, name: "Chilean Peso" },
        { code: "CNY", digits: 2, minCharge: 0, name: "Chinese Renminbi Yuan" },
        { code: "COP", digits: 2, minCharge: 0, name: "Colombian Peso" },
        { code: "CRC", digits: 2, minCharge: 0, name: "Costa Rican Col\xF3n" },
        { code: "CVE", digits: 2, minCharge: 0, name: "Cape Verdean Escudo" },
        // See above.
        { code: "CZK", digits: 2, minCharge: 0, name: "Czech Koruna" },
        { code: "DJF", digits: 0, minCharge: 0, name: "Djiboutian Franc" },
        { code: "DKK", digits: 2, minCharge: 250, name: "Danish Krone" },
        { code: "DOP", digits: 2, minCharge: 0, name: "Dominican Peso" },
        { code: "DZD", digits: 2, minCharge: 0, name: "Algerian Dinar" },
        { code: "EGP", digits: 2, minCharge: 0, name: "Egyptian Pound" },
        { code: "ETB", digits: 2, minCharge: 0, name: "Ethiopian Birr" },
        { code: "EUR", digits: 2, minCharge: 50, name: "Euro" },
        { code: "FJD", digits: 2, minCharge: 0, name: "Fijian Dollar" },
        { code: "FKP", digits: 2, minCharge: 0, name: "Falkland Islands Pound" },
        { code: "GBP", digits: 2, minCharge: 30, name: "British Pound" },
        { code: "GEL", digits: 2, minCharge: 0, name: "Georgia Lari" },
        { code: "GIP", digits: 2, minCharge: 0, name: "Gibraltar Pound" },
        { code: "GMD", digits: 2, minCharge: 0, name: "Gambian Dalasi" },
        { code: "GNF", digits: 0, minCharge: 0, name: "Guinean Franc" },
        { code: "GTQ", digits: 2, minCharge: 0, name: "Guatemalan Quetzal" },
        { code: "GYD", digits: 2, minCharge: 0, name: "Guyanese Dollar" },
        { code: "HKD", digits: 2, minCharge: 400, name: "Hong Kong Dollar" },
        { code: "HNL", digits: 2, minCharge: 0, name: "Honduran Lempira" },
        { code: "HRK", digits: 2, minCharge: 0, name: "Croatian Kuna" },
        { code: "HTG", digits: 2, minCharge: 0, name: "Haitian Gourde" },
        { code: "HUF", digits: 2, minCharge: 0, name: "Hungarian Forint" },
        { code: "IDR", digits: 2, minCharge: 0, name: "Indonesian Rupiah" },
        { code: "ILS", digits: 2, minCharge: 0, name: "Israeli New Sheqel" },
        { code: "INR", digits: 2, minCharge: 50, name: "Indian Rupee" },
        { code: "ISK", digits: 2, minCharge: 0, name: "Icelandic Kr\xF3na" },
        // See above.
        { code: "JMD", digits: 2, minCharge: 0, name: "Jamaican Dollar" },
        { code: "JPY", digits: 0, minCharge: 50, name: "Japanese Yen" },
        { code: "KES", digits: 2, minCharge: 0, name: "Kenyan Shilling" },
        { code: "KGS", digits: 2, minCharge: 0, name: "Kyrgyzstan Som" },
        { code: "KHR", digits: 2, minCharge: 0, name: "Cambodian Riel" },
        { code: "KMF", digits: 0, minCharge: 0, name: "Comorian Franc" },
        { code: "KRW", digits: 0, minCharge: 0, name: "South Korean Won" },
        { code: "KYD", digits: 2, minCharge: 0, name: "Cayman Islands Dollar" },
        { code: "KZT", digits: 2, minCharge: 0, name: "Kazakhstani Tenge" },
        { code: "LAK", digits: 2, minCharge: 0, name: "Lao Kip" },
        { code: "LBP", digits: 2, minCharge: 0, name: "Lebanese Pound" },
        { code: "LKR", digits: 2, minCharge: 0, name: "Sri Lankan Rupee" },
        { code: "LRD", digits: 2, minCharge: 0, name: "Liberian Dollar" },
        { code: "LSL", digits: 2, minCharge: 0, name: "Lesotho Loti" },
        { code: "MAD", digits: 2, minCharge: 0, name: "Moroccan Dirham" },
        { code: "MDL", digits: 2, minCharge: 0, name: "Moldovan Leu" },
        { code: "MGA", digits: 0, minCharge: 0, name: "Madagascar Ariary" },
        // See above.
        { code: "MKD", digits: 2, minCharge: 0, name: "Macedonia Denar" },
        { code: "MMK", digits: 2, minCharge: 0, name: "Myanmar (Burma) Kyat" },
        { code: "MNT", digits: 2, minCharge: 0, name: "Mongolian T\xF6gr\xF6g" },
        { code: "MOP", digits: 2, minCharge: 0, name: "Macanese Pataca" },
        { code: "MRO", digits: 2, minCharge: 0, name: "Mauritanian Ouguiya" },
        { code: "MUR", digits: 2, minCharge: 0, name: "Mauritian Rupee" },
        { code: "MVR", digits: 2, minCharge: 0, name: "Maldivian Rufiyaa" },
        { code: "MWK", digits: 2, minCharge: 0, name: "Malawian Kwacha" },
        { code: "MXN", digits: 2, minCharge: 1e3, name: "Mexican Peso" },
        { code: "MYR", digits: 2, minCharge: 200, name: "Malaysian Ringgit" },
        { code: "MZN", digits: 2, minCharge: 0, name: "Mozambique Metical" },
        { code: "NAD", digits: 2, minCharge: 0, name: "Namibian Dollar" },
        { code: "NGN", digits: 2, minCharge: 0, name: "Nigerian Naira" },
        { code: "NIO", digits: 2, minCharge: 0, name: "Nicaraguan C\xF3rdoba" },
        { code: "NOK", digits: 2, minCharge: 300, name: "Norwegian Krone" },
        { code: "NPR", digits: 2, minCharge: 0, name: "Nepalese Rupee" },
        { code: "NZD", digits: 2, minCharge: 50, name: "New Zealand Dollar" },
        { code: "PAB", digits: 2, minCharge: 0, name: "Panamanian Balboa" },
        { code: "PEN", digits: 2, minCharge: 0, name: "Peruvian Nuevo Sol" },
        { code: "PGK", digits: 2, minCharge: 0, name: "Papua New Guinean Kina" },
        { code: "PHP", digits: 2, minCharge: 0, name: "Philippine Peso" },
        { code: "PKR", digits: 2, minCharge: 0, name: "Pakistani Rupee" },
        { code: "PLN", digits: 2, minCharge: 200, name: "Polish Z\u0142oty" },
        { code: "PYG", digits: 0, minCharge: 0, name: "Paraguayan Guaran\xED" },
        { code: "QAR", digits: 2, minCharge: 0, name: "Qatari Riyal" },
        { code: "RON", digits: 2, minCharge: 0, name: "Romania Leu" },
        { code: "RSD", digits: 2, minCharge: 0, name: "Serbia Dinar" },
        { code: "RUB", digits: 2, minCharge: 0, name: "Russian Ruble" },
        { code: "RWF", digits: 0, minCharge: 0, name: "Rwanda Franc" },
        { code: "SAR", digits: 2, minCharge: 0, name: "Saudi Riyal" },
        { code: "SBD", digits: 2, minCharge: 0, name: "Solomon Islands Dollar" },
        { code: "SCR", digits: 2, minCharge: 0, name: "Seychellois Rupee" },
        { code: "SEK", digits: 2, minCharge: 300, name: "Swedish Krona" },
        { code: "SGD", digits: 2, minCharge: 50, name: "Singapore Dollar" },
        { code: "SHP", digits: 2, minCharge: 0, name: "Saint Helenian Pound" },
        { code: "SLL", digits: 2, minCharge: 0, name: "Sierra Leonean Leone" },
        { code: "SOS", digits: 2, minCharge: 0, name: "Somali Shilling" },
        { code: "SRD", digits: 2, minCharge: 0, name: "Suriname Dollar" },
        { code: "STD", digits: 2, minCharge: 0, name: "S\xE3o Tom\xE9 and Pr\xEDncipe Dobra" },
        { code: "SZL", digits: 2, minCharge: 0, name: "Swazi Lilangeni" },
        { code: "THB", digits: 2, minCharge: 0, name: "Thai Baht" },
        { code: "TJS", digits: 2, minCharge: 0, name: "Tajikistan Somoni" },
        { code: "TOP", digits: 2, minCharge: 0, name: "Tongan Pa\u02BBanga" },
        { code: "TRY", digits: 2, minCharge: 0, name: "Turkey Lira" },
        { code: "TTD", digits: 2, minCharge: 0, name: "Trinidad and Tobago Dollar" },
        { code: "TWD", digits: 2, minCharge: 0, name: "New Taiwan Dollar" },
        { code: "TZS", digits: 2, minCharge: 0, name: "Tanzanian Shilling" },
        { code: "UAH", digits: 2, minCharge: 0, name: "Ukrainian Hryvnia" },
        { code: "UGX", digits: 0, minCharge: 0, name: "Ugandan Shilling" },
        // See above.
        { code: "USD", digits: 2, minCharge: 50, name: "United States Dollar" },
        { code: "UYU", digits: 2, minCharge: 0, name: "Uruguayan Peso" },
        { code: "UZS", digits: 2, minCharge: 0, name: "Uzbekistani Som" },
        { code: "VND", digits: 0, minCharge: 0, name: "Vietnamese \u0110\u1ED3ng" },
        { code: "VUV", digits: 0, minCharge: 0, name: "Vanuatu Vatu" },
        { code: "WST", digits: 2, minCharge: 0, name: "Samoan Tala" },
        { code: "XAF", digits: 0, minCharge: 0, name: "Central African Cfa Franc" },
        { code: "XCD", digits: 2, minCharge: 0, name: "East Caribbean Dollar" },
        { code: "XOF", digits: 0, minCharge: 0, name: "West African Cfa Franc" },
        { code: "XPF", digits: 0, minCharge: 0, name: "Cfp Franc" },
        { code: "YER", digits: 2, minCharge: 0, name: "Yemeni Rial" },
        { code: "ZAR", digits: 2, minCharge: 0, name: "South African Rand" },
        { code: "ZMW", digits: 2, minCharge: 0, name: "Zambia Kwacha" }
      ];
    }
  });

  // packages/systems/commerce/constants/index.ts
  function _withDerivedValue({
    label,
    type = "PlainText",
    path = (0, import_camelCase.default)(label),
    options = {
      readOnly: false,
      isNotAddable: false
    }
  }) {
    return {
      label,
      type,
      ...options,
      value: JSON.stringify({ path, type })
    };
  }
  var import_camelCase, SHIPPING_METHOD_FLAT, SHIPPING_METHOD_PERCENTAGE, SHIPPING_METHOD_PRICE, SHIPPING_METHOD_QUANTITY, SHIPPING_METHOD_WEIGHT, SHIPPING_METHODS, INVENTORY_TYPE_FINITE, INVENTORY_TYPE_INFINITE, PRICE_TEMPLATE_CURRENCY_SYMBOL, PRICE_TEMPLATE_AMOUNT, PRICE_TEMPLATE_CURRENCY_CODE, _intoToken, DEFAULT_PRICE_TEMPLATE_VALUE, CSV_CURRENCY_TEMPLATE, CSV_INTEGRATION_CURRENCY_TEMPLATE, STRIPE_SUBSCRIPTION_STATUS_ENUM, ACTIVE_STRIPE_SUBSCRIPTION_STATUSES, DEFAULT_PRODUCT_TYPE_PRODUCT_FIELDS, DEFAULT_PRODUCT_TYPE_SKU_FIELDS, PHYSICAL_PRODUCT_TYPE, DIGITAL_PRODUCT_TYPE, SERVICE_PRODUCT_TYPE, MEMBERSHIP_PRODUCT_TYPE, ADVANCED_PRODUCT_TYPE, TEMPLATE_PRODUCT_TYPES, templateProductTypeIds, PRODUCT_TYPE_HELP_TEXT, DEFAULT_PRODUCT_TYPE_ID, ORDER_SORT_MODES, SUBSCRIPTION_SORT_MODES;
  var init_constants = __esm({
    "packages/systems/commerce/constants/index.ts"() {
      "use strict";
      import_camelCase = __toESM(require_camelCase());
      init_pluginConstants();
      init_bindingContextConstants();
      init_paypalCurrencyList();
      init_stripeCurrencyList();
      SHIPPING_METHOD_FLAT = "flat-rate";
      SHIPPING_METHOD_PERCENTAGE = "percentage";
      SHIPPING_METHOD_PRICE = "price";
      SHIPPING_METHOD_QUANTITY = "quantity";
      SHIPPING_METHOD_WEIGHT = "weight";
      SHIPPING_METHODS = Object.freeze({
        FLAT: SHIPPING_METHOD_FLAT,
        PERCENTAGE: SHIPPING_METHOD_PERCENTAGE,
        PRICE: SHIPPING_METHOD_PRICE,
        QUANTITY: SHIPPING_METHOD_QUANTITY,
        WEIGHT: SHIPPING_METHOD_WEIGHT
      });
      INVENTORY_TYPE_FINITE = "finite";
      INVENTORY_TYPE_INFINITE = "infinite";
      PRICE_TEMPLATE_CURRENCY_SYMBOL = _withDerivedValue({
        label: "Currency symbol",
        path: "symbol"
      });
      PRICE_TEMPLATE_AMOUNT = _withDerivedValue({
        label: "Amount",
        type: "CommercePrice",
        options: {
          readOnly: true,
          isNotAddable: true
        }
      });
      PRICE_TEMPLATE_CURRENCY_CODE = _withDerivedValue({
        label: "Currency code"
      });
      _intoToken = (option) => `{{wf ${option.value} }}`;
      DEFAULT_PRICE_TEMPLATE_VALUE = [
        _intoToken(PRICE_TEMPLATE_CURRENCY_SYMBOL),
        " ",
        _intoToken(PRICE_TEMPLATE_AMOUNT),
        " ",
        _intoToken(PRICE_TEMPLATE_CURRENCY_CODE)
      ].join("");
      CSV_CURRENCY_TEMPLATE = [
        _intoToken(PRICE_TEMPLATE_CURRENCY_SYMBOL),
        _intoToken(PRICE_TEMPLATE_AMOUNT)
      ].join("");
      CSV_INTEGRATION_CURRENCY_TEMPLATE = [
        _intoToken(PRICE_TEMPLATE_AMOUNT),
        " ",
        _intoToken(PRICE_TEMPLATE_CURRENCY_CODE)
      ].join("");
      STRIPE_SUBSCRIPTION_STATUS_ENUM = {
        active: "active",
        past_due: "past_due",
        unpaid: "unpaid",
        canceled: "canceled",
        incomplete: "incomplete",
        incomplete_expired: "incomplete_expired",
        trialing: "trialing"
      };
      ACTIVE_STRIPE_SUBSCRIPTION_STATUSES = [
        STRIPE_SUBSCRIPTION_STATUS_ENUM.active,
        STRIPE_SUBSCRIPTION_STATUS_ENUM.past_due,
        STRIPE_SUBSCRIPTION_STATUS_ENUM.trialing
      ];
      DEFAULT_PRODUCT_TYPE_PRODUCT_FIELDS = [
        { fieldSlug: "name", required: true },
        { fieldSlug: "slug", required: true },
        { fieldSlug: "sku-properties", required: false },
        { fieldSlug: "category", required: false },
        { fieldSlug: "description", required: false },
        { fieldSlug: "tax-category", required: false },
        { fieldSlug: "default-sku", required: false },
        { fieldSlug: "ec-product-type", required: false },
        { fieldSlug: "options", required: false }
      ];
      DEFAULT_PRODUCT_TYPE_SKU_FIELDS = [
        { fieldSlug: "sku-values", required: false },
        { fieldSlug: "product", required: false },
        { fieldSlug: "main-image", required: false },
        { fieldSlug: "more-images", required: false },
        { fieldSlug: "price", required: true },
        { fieldSlug: "compare-at-price", required: false },
        { fieldSlug: "ec-sku-subscription-plan", required: false },
        { fieldSlug: "sku", required: false },
        { fieldSlug: "ec-sku-billing-method", required: false },
        { fieldSlug: "track-inventory", required: false },
        { fieldSlug: "quantity", required: false }
      ];
      PHYSICAL_PRODUCT_TYPE = {
        name: "Physical",
        id: "ff42fee0113744f693a764e3431a9cc2",
        fields: {
          product: [
            ...DEFAULT_PRODUCT_TYPE_PRODUCT_FIELDS,
            { fieldSlug: "shippable", required: false }
          ],
          sku: [
            ...DEFAULT_PRODUCT_TYPE_SKU_FIELDS,
            { fieldSlug: "weight", required: false },
            { fieldSlug: "width", required: false },
            { fieldSlug: "height", required: false },
            { fieldSlug: "length", required: false }
          ]
        }
      };
      DIGITAL_PRODUCT_TYPE = {
        name: "Digital",
        id: "f22027db68002190aef89a4a2b7ac8a1",
        fields: {
          product: [...DEFAULT_PRODUCT_TYPE_PRODUCT_FIELDS],
          sku: [
            ...DEFAULT_PRODUCT_TYPE_SKU_FIELDS,
            { fieldSlug: "download-files", required: true }
          ]
        }
      };
      SERVICE_PRODUCT_TYPE = {
        name: "Service",
        id: "c599e43b1a1c34d5a323aedf75d3adf6",
        fields: {
          product: [...DEFAULT_PRODUCT_TYPE_PRODUCT_FIELDS],
          sku: [...DEFAULT_PRODUCT_TYPE_SKU_FIELDS]
        }
      };
      MEMBERSHIP_PRODUCT_TYPE = {
        name: "Membership",
        id: "e348fd487d0102946c9179d2a94bb613",
        fields: {
          product: [
            ...DEFAULT_PRODUCT_TYPE_PRODUCT_FIELDS,
            { fieldSlug: "shippable", required: false }
          ],
          sku: [
            ...DEFAULT_PRODUCT_TYPE_SKU_FIELDS,
            { fieldSlug: "weight", required: false },
            { fieldSlug: "width", required: false },
            { fieldSlug: "height", required: false },
            { fieldSlug: "length", required: false },
            { fieldSlug: "download-files", required: false },
            { fieldSlug: "include-downloads", required: false }
          ]
        }
      };
      ADVANCED_PRODUCT_TYPE = {
        name: "Advanced",
        id: "b6ccc1830db4b1babeb06a9ac5f6dd76"
      };
      TEMPLATE_PRODUCT_TYPES = [
        PHYSICAL_PRODUCT_TYPE,
        DIGITAL_PRODUCT_TYPE,
        SERVICE_PRODUCT_TYPE,
        MEMBERSHIP_PRODUCT_TYPE,
        ADVANCED_PRODUCT_TYPE
      ];
      templateProductTypeIds = TEMPLATE_PRODUCT_TYPES.reduce((ids, t) => {
        ids[t.id] = "";
        return ids;
      }, {});
      PRODUCT_TYPE_HELP_TEXT = {
        [PHYSICAL_PRODUCT_TYPE.id]: "Physical products are shipped to the customer (e.g., merchandise, apparel).",
        [DIGITAL_PRODUCT_TYPE.id]: "Digital products are immediately downloadable by the customer after checkout (e.g., audio files, ebooks).",
        [SERVICE_PRODUCT_TYPE.id]: "Service products do not require a shipping address during checkout (e.g., classes, consultations).",
        [MEMBERSHIP_PRODUCT_TYPE.id]: "Membership products give users access to gated content through recurring or one-time payment (e.g., subscriptions, one-time membership fee). Membership products require a user login and can only be purchased once.",
        [ADVANCED_PRODUCT_TYPE.id]: "Advanced products provide all available customizable options."
      };
      DEFAULT_PRODUCT_TYPE_ID = PHYSICAL_PRODUCT_TYPE.id;
      ORDER_SORT_MODES = Object.freeze({
        "-count": "-purchasedItemsCount -_id",
        count: "purchasedItemsCount _id",
        "-name": "-customerInfo.fullName -_id",
        name: "customerInfo.fullName _id",
        "-orderid": "-orderId",
        orderid: "orderId",
        "-paid": "-customerPaid.unit -customerPaid.value -_id",
        paid: "customerPaid.unit customerPaid.value _id",
        "-status": "-statusCode -_id",
        status: "statusCode _id",
        "-time": "-acceptedOn -_id",
        time: "acceptedOn _id"
      });
      SUBSCRIPTION_SORT_MODES = Object.freeze({
        "-lastBilled": "-lastInvoiced -_id",
        lastBilled: "lastInvoiced _id",
        "-nextBilling": "-paidUntil -_id",
        nextBilling: "paidUntil _id",
        "-orderid": "-orderId",
        orderid: "orderId",
        "-purchased": "-subCreatedOn -_id",
        purchased: "subCreatedOn _id",
        "-status": "-status -_id",
        status: "status _id",
        "-trialing": "-trialing -_id",
        trialing: "trialing _id"
      });
    }
  });

  // packages/utilities/fp/utils/Const.ts
  var create, VALUE, prototype2, Const, getConst;
  var init_Const = __esm({
    "packages/utilities/fp/utils/Const.ts"() {
      "use strict";
      ({ create } = Object);
      VALUE = Symbol();
      prototype2 = {
        map() {
          return this;
        }
      };
      Const = (value) => {
        const object = create(prototype2);
        object[VALUE] = value;
        return object;
      };
      getConst = (con) => con[VALUE];
    }
  });

  // packages/utilities/fp/utils/Identity.ts
  var create2, VALUE2;
  var init_Identity = __esm({
    "packages/utilities/fp/utils/Identity.ts"() {
      "use strict";
      ({ create: create2 } = Object);
      VALUE2 = Symbol();
    }
  });

  // packages/utilities/fp/option/index.ts
  var create3, returnThis, VALUE3, FOLD, None, Some, SomePrototype, maybe3;
  var init_option = __esm({
    "packages/utilities/fp/option/index.ts"() {
      "use strict";
      ({ create: create3 } = Object);
      returnThis = function() {
        return this;
      };
      VALUE3 = Symbol();
      FOLD = Symbol();
      None = create3({
        map: returnThis,
        chain: returnThis,
        alt: (alternativeOption) => alternativeOption,
        ap: returnThis,
        concat: (other) => other,
        /**
         * Returns a default fallback value if the `Option` is a `None`.
         */
        [FOLD]: (fallback) => fallback
      });
      Some = (value) => {
        const object = create3(SomePrototype);
        object[VALUE3] = value;
        return object;
      };
      SomePrototype = {
        /**
         * Transform the value inside of a `Option` by applying a unary function to it.
         */
        map(f) {
          return Some(f(this[VALUE3]));
        },
        /**
         * Sequence computations by applying a function to the value
         * contained in the `Option`. The function must return an `Option`.
         */
        chain(f) {
          return f(this[VALUE3]);
        },
        /**
         * Provide an alternative option that will be returned if this option is None.
         */
        alt: returnThis,
        /**
         * Allows you to apply the Option's value with another Option's value,
         * returning another Option.
         */
        ap(m) {
          return m.map(this[VALUE3]);
        },
        concat(other) {
          return other[FOLD](
            this,
            (otherValue) => Some(this[VALUE3].concat(otherValue))
          );
        },
        /**
         * Applies a function to the value contained in an `Option`
         * if the `Option` is a `Some`.
         */
        [FOLD](fallback, mapValue) {
          return mapValue(this[VALUE3]);
        }
      };
      maybe3 = (fallback) => (mapValue) => (option) => option[FOLD](fallback, mapValue);
    }
  });

  // packages/utilities/fp/result/index.ts
  var create4, returnThis2, VALUE4, ERROR, FOLD2, Ok, ErrPrototype, OkPrototype, either;
  var init_result = __esm({
    "packages/utilities/fp/result/index.ts"() {
      "use strict";
      ({ create: create4 } = Object);
      returnThis2 = function() {
        return this;
      };
      VALUE4 = Symbol();
      ERROR = Symbol();
      FOLD2 = Symbol();
      Ok = (value) => {
        const object = create4(OkPrototype);
        object[VALUE4] = value;
        return object;
      };
      ErrPrototype = {
        map: returnThis2,
        chain: returnThis2,
        ap: returnThis2,
        [FOLD2]: function(errorHandler, _) {
          return errorHandler(this[ERROR]);
        }
      };
      OkPrototype = {
        map(f) {
          return Ok(f(this[VALUE4]));
        },
        chain(f) {
          return f(this[VALUE4]);
        },
        ap(m) {
          return m.map(this[VALUE4]);
        },
        [FOLD2]: function(errorHandler, valueHandler) {
          return valueHandler(this[VALUE4]);
        }
      };
      either = (mapErr) => (mapVal) => (result2) => result2[FOLD2](mapErr, mapVal);
    }
  });

  // packages/utilities/fp/utils/index.ts
  var emptyArray, emptyObject, identity2, constant, compose, flip, thrush, constantFalse, constantTrue, not, complement, optionToBool, resultToBool, isNil, notNil, unionWith, union, unionTo, zipWith, zip, reduce2, concat, concatTo, constantIdentity, parseIntWithRadix, safeParseInt, flatMap, flat, view, constantNone, okToOption, errToOption, extractBool, extractArray, extractFunctionFromOption, extractFunctionFromResult, optionToArray, optionOfEmptyArray, resultOfEmptyArray, resultOfEmptyObject, values;
  var init_utils2 = __esm({
    "packages/utilities/fp/utils/index.ts"() {
      "use strict";
      init_Const();
      init_Identity();
      init_option();
      init_result();
      emptyArray = [];
      emptyObject = {};
      if (false) {
        const proxy = (sharedConstantName) => ({
          set: (target, prop, value) => {
            console.error(
              'Invalid mutation of shared constant. Property "%s" was set on "%s".',
              prop,
              sharedConstantName
            );
            target[prop] = value;
            return true;
          }
        });
        emptyArray = new Proxy(emptyArray, proxy("emptyArray"));
        emptyObject = new Proxy(emptyObject, proxy("emptyObject"));
      }
      identity2 = (x) => x;
      constant = (x) => (_) => x;
      compose = (f) => (g) => (x) => f(g(x));
      flip = (f) => (x) => (y) => f(y)(x);
      thrush = (x) => (f) => f(x);
      constantFalse = constant(false);
      constantTrue = constant(true);
      not = (x) => !x;
      complement = compose(not);
      optionToBool = maybe3(false)(constantTrue);
      resultToBool = either(constantFalse)(constantTrue);
      isNil = (value) => value == null;
      notNil = complement(isNil);
      unionWith = (combine) => (first) => first === emptyObject ? identity2 : (second) => {
        if (second === emptyObject)
          return first;
        let changedFromFirst = false;
        let changedFromSecond = false;
        const result2 = {};
        for (const key in second) {
          const secondVal = second[key];
          if (key in first) {
            const firstVal = first[key];
            const finalVal = combine(firstVal)(secondVal);
            if (finalVal !== secondVal) {
              changedFromSecond = true;
            }
            if (finalVal !== firstVal) {
              changedFromFirst = true;
            }
            result2[key] = finalVal;
          } else {
            changedFromFirst = true;
            result2[key] = secondVal;
          }
        }
        for (const key in first) {
          if (key in result2)
            continue;
          changedFromSecond = true;
          result2[key] = first[key];
        }
        if (!changedFromFirst)
          return first;
        if (!changedFromSecond)
          return second;
        return result2;
      };
      union = unionWith(constant);
      unionTo = flip(union);
      zipWith = (f) => (xs) => (ys) => {
        const rv = [];
        let idx = 0;
        const len = Math.min(xs.length, ys.length);
        while (idx < len) {
          rv[idx] = f(xs[idx])(ys[idx]);
          idx += 1;
        }
        return rv;
      };
      zip = zipWith((x) => (y) => [x, y]);
      reduce2 = (reducer) => (init2) => (xs) => xs.reduce(reducer, init2);
      concat = (ys) => ys.length ? (xs) => xs.length ? xs.concat(ys) : ys : identity2;
      concatTo = flip(concat);
      constantIdentity = constant(identity2);
      parseIntWithRadix = (radix) => (num) => {
        const parsed = parseInt(num, radix);
        return isNaN(parsed) ? None : Some(parsed);
      };
      safeParseInt = parseIntWithRadix(10);
      flatMap = (f) => reduce2((result2, item) => {
        const ys = f(item);
        if (!ys.length) {
          return result2;
        }
        const nextResult = result2.length ? result2 : [];
        nextResult.push.apply(nextResult, ys);
        return nextResult;
      })(emptyArray);
      flat = flatMap(
        identity2
      );
      view = // @ts-expect-error Argument of type '<A>(arg1: (arg2: A) => unknown) => (arg3: A) => unknown' is not assignable to parameter of type '(arg1: unknown) => (arg3: unknown) => unknown'.  Types of parameters 'arg1' and 'arg1' are incompatible.  Type 'unknown' is not assignable to type '(arg2: unknown) => unknown'.
      compose(compose(getConst))(thrush(Const));
      constantNone = constant(None);
      okToOption = // eslint-disable-next-line @typescript-eslint/no-explicit-any
      either(constantNone)(Some);
      errToOption = // eslint-disable-next-line @typescript-eslint/no-explicit-any
      either(Some)(constantNone);
      extractBool = maybe3(false)(identity2);
      extractArray = maybe3(emptyArray)(identity2);
      extractFunctionFromOption = maybe3(identity2)(identity2);
      extractFunctionFromResult = either(constantIdentity)(identity2);
      optionToArray = maybe3(
        emptyArray
      )(Array.of);
      optionOfEmptyArray = Some(emptyArray);
      resultOfEmptyArray = Ok(emptyArray);
      resultOfEmptyObject = Ok(emptyObject);
      values = (obj) => (
        // @ts-expect-error - TS2322 - Type '(T | undefined)[]' is not assignable to type 'T[]'.
        Object.keys(obj).map((k) => obj[k])
      );
    }
  });

  // packages/systems/users/constants/types.ts
  var USYS_ACCESS_TYPES;
  var init_types5 = __esm({
    "packages/systems/users/constants/types.ts"() {
      "use strict";
      USYS_ACCESS_TYPES = {
        LOGGED_IN: "LOGGED_IN",
        ADMIN_ALWAYS_VISIBLE: "ADMIN_ALWAYS_VISIBLE"
      };
    }
  });

  // packages/systems/users/constants/errorStates.ts
  var ERROR_MSG_CLASS, ERROR_STATE, ErrorStateToCopy, SERVER_DATA_VALIDATION_ERRORS, LOGIN_UI_ERROR_CODES, SIGNUP_UI_ERROR_CODES, ERROR_ATTRIBUTE_PREFIX, UPDATE_PASSWORD_UI_ERROR_CODES, RESET_PASSWORD_UI_ERROR_CODES, TOO_LARGE_ERR, TOO_SMALL_ERR, TYPE_ERR, GENERIC_ERR, REQUIRED_ERR, USER_FILE_UPLOAD_ERRORS, FORM_PATH, FORM_TOO_LARGE_ERROR_PATH, FORM_TOO_SMALL_ERROR_PATH, FORM_TYPE_ERROR_PATH, FORM_GENERIC_ERROR_PATH, FORM_REQUIRED_ERROR_PATH, __DEPRECATED__logInErrorStates, logInErrorStates, SIGNUP_ERROR_CATEGORY, signUpErrorStates, updatePasswordErrorStates, resetPasswordErrorStates, UPDATE_ACCOUNT_ERROR_CODES, updateAccountErrorStates;
  var init_errorStates = __esm({
    "packages/systems/users/constants/errorStates.ts"() {
      "use strict";
      ERROR_MSG_CLASS = "user-form-error-msg";
      ERROR_STATE = {
        SIGNUP: "signup-error-state",
        LOGIN: "login-error-state",
        UPDATE_PASSWORD: "update-password-error-state",
        RESET_PASSWORD: "reset-password-error-state",
        ACCOUNT_UPDATE: "account-update-error-state"
      };
      ErrorStateToCopy = (errorStateType, id) => {
        if (errorStateType === "signup-error-state") {
          return signUpErrorStates[id]?.copy ?? null;
        }
        if (errorStateType === "login-error-state") {
          return logInErrorStates[id]?.copy ?? null;
        }
        if (errorStateType === "update-password-error-state") {
          return updatePasswordErrorStates[id]?.copy ?? null;
        }
        if (errorStateType === "reset-password-error-state") {
          return resetPasswordErrorStates[id]?.copy ?? null;
        }
        if (errorStateType === "account-update-error-state") {
          return updateAccountErrorStates[id]?.copy ?? null;
        }
        console.error(`copy for ${errorStateType} not found`);
        return null;
      };
      SERVER_DATA_VALIDATION_ERRORS = {
        RequiredError: "EmptyValue",
        MinSizeError: "MinSizeError",
        MaxSizeError: "MaxSizeError",
        ExtensionsError: "ExtensionsError",
        DefaultError: "DefaultError"
      };
      LOGIN_UI_ERROR_CODES = {
        GENERAL_ERROR: "GENERAL_ERROR",
        INVALID_EMAIL_OR_PASSWORD: "INVALID_EMAIL_OR_PASSWORD"
      };
      SIGNUP_UI_ERROR_CODES = {
        GENERAL_ERROR: "GENERAL_ERROR",
        NOT_ALLOWED: "NOT_ALLOWED",
        NOT_VERIFIED: "NOT_VERIFIED",
        EMAIL_ALREADY_EXIST: "EMAIL_ALREADY_EXIST",
        USE_INVITE_EMAIL: "USE_INVITE_EMAIL",
        INVALID_EMAIL: "INVALID_EMAIL",
        INVALID_PASSWORD: "INVALID_PASSWORD",
        EXPIRED_TOKEN: "EXPIRED_TOKEN",
        VALIDATION_FAILED: "VALIDATION_FAILED",
        REQUIRED: "REQUIRED"
      };
      ERROR_ATTRIBUTE_PREFIX = {
        SIGNUP: "wf-signup-form",
        LOGIN: "wf-login-form",
        RESET_PASSWORD: "wf-reset-pw-form",
        UPDATE_PASSWORD: "wf-update-pw-form",
        ACCOUNT_UPDATE: "wf-account-update-form"
      };
      UPDATE_PASSWORD_UI_ERROR_CODES = {
        GENERAL_ERROR: "GENERAL_ERROR",
        WEAK_PASSWORD: "WEAK_PASSWORD"
      };
      RESET_PASSWORD_UI_ERROR_CODES = {
        GENERAL_ERROR: "GENERAL_ERROR"
      };
      TOO_LARGE_ERR = "TOO_LARGE_ERROR";
      TOO_SMALL_ERR = "TOO_SMALL_ERROR";
      TYPE_ERR = "TYPE_ERROR";
      GENERIC_ERR = "GENERIC_ERROR";
      REQUIRED_ERR = "REQUIRED_ERROR";
      USER_FILE_UPLOAD_ERRORS = {
        GENERIC: {
          id: GENERIC_ERR,
          msg: "Upload failed. Something went wrong. Please retry.",
          path: ["data", "form", GENERIC_ERR]
        },
        TOO_LARGE: {
          id: TOO_LARGE_ERR,
          msg: "Upload failed. File too large.",
          path: ["data", "form", TOO_LARGE_ERR]
        },
        TOO_SMALL: {
          id: TOO_SMALL_ERR,
          msg: "Upload failed. File too small.",
          path: ["data", "form", TOO_SMALL_ERR]
        },
        TYPE: {
          id: TYPE_ERR,
          msg: "Upload failed. Invalid file type.",
          path: ["data", "form", TYPE_ERR]
        },
        REQUIRED: {
          id: REQUIRED_ERR,
          msg: "Please upload a file.",
          path: ["data", "form", REQUIRED_ERR]
        }
      };
      FORM_PATH = [{ in: "Record", at: "form" }];
      FORM_TOO_LARGE_ERROR_PATH = [
        ...FORM_PATH,
        { in: "Record", at: TOO_LARGE_ERR }
      ];
      FORM_TOO_SMALL_ERROR_PATH = [
        ...FORM_PATH,
        { in: "Record", at: TOO_SMALL_ERR }
      ];
      FORM_TYPE_ERROR_PATH = [
        ...FORM_PATH,
        { in: "Record", at: TYPE_ERR }
      ];
      FORM_GENERIC_ERROR_PATH = [
        ...FORM_PATH,
        { in: "Record", at: GENERIC_ERR }
      ];
      FORM_REQUIRED_ERROR_PATH = [
        ...FORM_PATH,
        { in: "Record", at: REQUIRED_ERR }
      ];
      __DEPRECATED__logInErrorStates = {
        [LOGIN_UI_ERROR_CODES.GENERAL_ERROR]: {
          id: LOGIN_UI_ERROR_CODES.GENERAL_ERROR,
          name: "General error",
          copy: "We're having trouble logging you in. Please try again, or contact us if you continue to have problems.",
          path: ["data", "users", LOGIN_UI_ERROR_CODES.GENERAL_ERROR]
        }
      };
      logInErrorStates = {
        [LOGIN_UI_ERROR_CODES.GENERAL_ERROR]: {
          id: LOGIN_UI_ERROR_CODES.GENERAL_ERROR,
          name: "General error",
          copy: "We're having trouble logging you in. Please try again, or contact us if you continue to have problems.",
          path: ["data", "users", LOGIN_UI_ERROR_CODES.GENERAL_ERROR]
        },
        [LOGIN_UI_ERROR_CODES.INVALID_EMAIL_OR_PASSWORD]: {
          id: LOGIN_UI_ERROR_CODES.INVALID_EMAIL_OR_PASSWORD,
          name: "Wrong email or password",
          copy: "Invalid email or password. Please try again.",
          path: ["data", "users", LOGIN_UI_ERROR_CODES.INVALID_EMAIL_OR_PASSWORD]
        }
      };
      SIGNUP_ERROR_CATEGORY = {
        GENERAL: { id: "GENERAL", label: "General Errors" },
        EMAIL: { id: "EMAIL", label: "Email Errors" },
        PASSWORD: { id: "PASSWORD", label: "Password Errors" },
        INVITE: { id: "INVITE", label: "Invitation Errors" },
        VERFIICATION: { id: "VERIFCATION", label: "Verification Errors" },
        VALIDATION: { id: "VALIDATION", label: "Validation Errors" }
      };
      signUpErrorStates = {
        [SIGNUP_UI_ERROR_CODES.GENERAL_ERROR]: {
          id: SIGNUP_UI_ERROR_CODES.GENERAL_ERROR,
          // @ts-expect-error - TS2418 - Type of computed property's value is '{ id: "GENERAL_ERROR"; category: { readonly id: "GENERAL"; readonly label: "General Errors"; }; name: string; copy: string; path: string[]; }', which is not assignable to type 'ErrorStateType'.
          category: SIGNUP_ERROR_CATEGORY.GENERAL,
          name: "General error",
          copy: "There was an error signing you up. Please try again, or contact us if you continue to have problems.",
          path: ["data", "users", SIGNUP_UI_ERROR_CODES.GENERAL_ERROR]
        },
        [SIGNUP_UI_ERROR_CODES.NOT_ALLOWED]: {
          id: SIGNUP_UI_ERROR_CODES.NOT_ALLOWED,
          // @ts-expect-error - TS2418 - Type of computed property's value is '{ id: "NOT_ALLOWED"; category: { readonly id: "EMAIL"; readonly label: "Email Errors"; }; name: string; copy: string; path: string[]; }', which is not assignable to type 'ErrorStateType'.
          category: SIGNUP_ERROR_CATEGORY.EMAIL,
          name: "Email not allowed",
          copy: "You're not allowed to access this site, please contact the admin for support.",
          path: ["data", "users", SIGNUP_UI_ERROR_CODES.NOT_ALLOWED]
        },
        // email errors
        [SIGNUP_UI_ERROR_CODES.INVALID_EMAIL]: {
          id: SIGNUP_UI_ERROR_CODES.INVALID_EMAIL,
          // @ts-expect-error - TS2418 - Type of computed property's value is '{ id: "INVALID_EMAIL"; category: { readonly id: "EMAIL"; readonly label: "Email Errors"; }; name: string; copy: string; path: string[]; }', which is not assignable to type 'ErrorStateType'.
          category: SIGNUP_ERROR_CATEGORY.EMAIL,
          name: "Invalid email",
          copy: "Make sure your email exists and is properly formatted (e.g., user@domain.com).",
          path: ["data", "users", SIGNUP_UI_ERROR_CODES.INVALID_EMAIL]
        },
        [SIGNUP_UI_ERROR_CODES.EMAIL_ALREADY_EXIST]: {
          id: SIGNUP_UI_ERROR_CODES.EMAIL_ALREADY_EXIST,
          // @ts-expect-error - TS2418 - Type of computed property's value is '{ id: "EMAIL_ALREADY_EXIST"; category: { readonly id: "EMAIL"; readonly label: "Email Errors"; }; name: string; copy: string; path: string[]; }', which is not assignable to type 'ErrorStateType'.
          category: SIGNUP_ERROR_CATEGORY.EMAIL,
          name: "Email already exists",
          copy: "An account with this email address already exists. Log in or reset your password.",
          path: ["data", "users", SIGNUP_UI_ERROR_CODES.EMAIL_ALREADY_EXIST]
        },
        // invitation errors
        [SIGNUP_UI_ERROR_CODES.USE_INVITE_EMAIL]: {
          id: SIGNUP_UI_ERROR_CODES.USE_INVITE_EMAIL,
          // @ts-expect-error - TS2418 - Type of computed property's value is '{ id: "USE_INVITE_EMAIL"; category: { readonly id: "INVITE"; readonly label: "Invitation Errors"; }; name: string; copy: string; path: string[]; }', which is not assignable to type 'ErrorStateType'.
          category: SIGNUP_ERROR_CATEGORY.INVITE,
          name: "Must use invite email",
          copy: "Use the same email address your invitation was sent to.",
          path: ["data", "users", SIGNUP_UI_ERROR_CODES.USE_INVITE_EMAIL]
        },
        // password errors
        [SIGNUP_UI_ERROR_CODES.INVALID_PASSWORD]: {
          id: SIGNUP_UI_ERROR_CODES.INVALID_PASSWORD,
          // @ts-expect-error - TS2418 - Type of computed property's value is '{ id: "INVALID_PASSWORD"; category: { readonly id: "PASSWORD"; readonly label: "Password Errors"; }; name: string; copy: string; path: string[]; }', which is not assignable to type 'ErrorStateType'.
          category: SIGNUP_ERROR_CATEGORY.PASSWORD,
          name: "Invalid password",
          copy: "Your password must be at least 8 characters.",
          path: ["data", "users", SIGNUP_UI_ERROR_CODES.INVALID_PASSWORD]
        },
        // verification errors
        [SIGNUP_UI_ERROR_CODES.NOT_VERIFIED]: {
          id: SIGNUP_UI_ERROR_CODES.NOT_VERIFIED,
          // @ts-expect-error - TS2418 - Type of computed property's value is '{ id: "NOT_VERIFIED"; category: { readonly id: "VERIFCATION"; readonly label: "Verification Errors"; }; name: string; copy: string; path: string[]; }', which is not assignable to type 'ErrorStateType'.
          category: SIGNUP_ERROR_CATEGORY.VERFIICATION,
          name: "Verification failed",
          copy: "We couldn't verify your account. Please try again, or contact us if you continue to have problems.",
          path: ["data", "users", SIGNUP_UI_ERROR_CODES.NOT_VERIFIED]
        },
        [SIGNUP_UI_ERROR_CODES.EXPIRED_TOKEN]: {
          id: SIGNUP_UI_ERROR_CODES.EXPIRED_TOKEN,
          // @ts-expect-error - TS2418 - Type of computed property's value is '{ id: "EXPIRED_TOKEN"; category: { readonly id: "VERIFCATION"; readonly label: "Verification Errors"; }; name: string; copy: string; path: string[]; }', which is not assignable to type 'ErrorStateType'.
          category: SIGNUP_ERROR_CATEGORY.VERFIICATION,
          name: "Verification expired",
          copy: "This link has expired. A new link has been sent to your email. Please try again, or contact us if you continue to have problems.",
          path: ["data", "users", SIGNUP_UI_ERROR_CODES.EXPIRED_TOKEN]
        },
        [SIGNUP_UI_ERROR_CODES.VALIDATION_FAILED]: {
          id: SIGNUP_UI_ERROR_CODES.VALIDATION_FAILED,
          // @ts-expect-error - TS2418 - Type of computed property's value is '{ id: "VALIDATION_FAILED"; category: { readonly id: "VALIDATION"; readonly label: "Validation Errors"; }; name: string; copy: string; path: string[]; }', which is not assignable to type 'ErrorStateType'.
          category: SIGNUP_ERROR_CATEGORY.VALIDATION,
          name: "Validation error",
          copy: "There was an error in some of the information provided.",
          path: ["data", "users", SIGNUP_UI_ERROR_CODES.VALIDATION_FAILED]
        },
        [SIGNUP_UI_ERROR_CODES.REQUIRED]: {
          id: SIGNUP_UI_ERROR_CODES.REQUIRED,
          // @ts-expect-error - TS2418 - Type of computed property's value is '{ id: "REQUIRED"; category: { readonly id: "VALIDATION"; readonly label: "Validation Errors"; }; name: string; copy: string; path: string[]; }', which is not assignable to type 'ErrorStateType'.
          category: SIGNUP_ERROR_CATEGORY.VALIDATION,
          name: "Missing information",
          copy: "Fill out all required fields",
          path: ["data", "users", SIGNUP_UI_ERROR_CODES.REQUIRED]
        }
      };
      updatePasswordErrorStates = {
        [UPDATE_PASSWORD_UI_ERROR_CODES.GENERAL_ERROR]: {
          id: UPDATE_PASSWORD_UI_ERROR_CODES.GENERAL_ERROR,
          name: "General error",
          copy: "There was an error updating your password. Please try again, or contact us if you continue to have problems.",
          path: ["data", "users", UPDATE_PASSWORD_UI_ERROR_CODES.GENERAL_ERROR]
        },
        [UPDATE_PASSWORD_UI_ERROR_CODES.WEAK_PASSWORD]: {
          id: UPDATE_PASSWORD_UI_ERROR_CODES.WEAK_PASSWORD,
          name: "Weak password",
          copy: "Your password must be at least 8 characters.",
          path: ["data", "users", UPDATE_PASSWORD_UI_ERROR_CODES.WEAK_PASSWORD]
        }
      };
      resetPasswordErrorStates = {
        [RESET_PASSWORD_UI_ERROR_CODES.GENERAL_ERROR]: {
          id: RESET_PASSWORD_UI_ERROR_CODES.GENERAL_ERROR,
          name: "General error",
          copy: "There was an error resetting your password. Please try again, or contact us if you continue to have problems.",
          path: ["data", "users", RESET_PASSWORD_UI_ERROR_CODES.GENERAL_ERROR]
        }
      };
      UPDATE_ACCOUNT_ERROR_CODES = {
        GENERAL_ERROR: "GENERAL_ERROR"
      };
      updateAccountErrorStates = {
        [UPDATE_ACCOUNT_ERROR_CODES.GENERAL_ERROR]: {
          id: UPDATE_ACCOUNT_ERROR_CODES.GENERAL_ERROR,
          name: "General error",
          copy: "There was an error updating your account. Please try again, or contact us if you continue to have problems.",
          path: ["data", "users", UPDATE_ACCOUNT_ERROR_CODES.GENERAL_ERROR]
        }
      };
    }
  });

  // packages/systems/users/constants/index.ts
  var constants_exports = {};
  __export(constants_exports, {
    ACCESS_GROUP_ADMISSION_TYPE: () => ACCESS_GROUP_ADMISSION_TYPE,
    ACCESS_GROUP_FREE_TYPE: () => ACCESS_GROUP_FREE_TYPE,
    ACCESS_GROUP_INLINE_PRODUCT_FIELD_SLUG: () => ACCESS_GROUP_INLINE_PRODUCT_FIELD_SLUG,
    BASIC_MAX_NUM_USERS: () => BASIC_MAX_NUM_USERS,
    BUSINESS_MAX_NUM_USERS: () => BUSINESS_MAX_NUM_USERS,
    CONFIRM_UNSAVED_CHANGES_COPY: () => CONFIRM_UNSAVED_CHANGES_COPY,
    DEFAULT_SESSION_DURATION_IN_MS: () => DEFAULT_SESSION_DURATION_IN_MS,
    DEFAULT_SESSION_TOKEN_DURATION_IN_MS: () => DEFAULT_SESSION_TOKEN_DURATION_IN_MS,
    DEFAULT_STYLES: () => DEFAULT_STYLES,
    DEFAULT_TOKEN_AGE_MS: () => DEFAULT_TOKEN_AGE_MS,
    DEFAULT_USER_FIELDS: () => DEFAULT_USER_FIELDS,
    ECOMM_PLUS_MAX_NUM_USERS: () => ECOMM_PLUS_MAX_NUM_USERS,
    ECOMM_STANDARD_MAX_NUM_USERS: () => ECOMM_STANDARD_MAX_NUM_USERS,
    EMAIL_TEMPLATE_TYPES: () => EMAIL_TEMPLATE_TYPES,
    ERROR_ATTRIBUTE_PREFIX: () => ERROR_ATTRIBUTE_PREFIX,
    ERROR_MSG_CLASS: () => ERROR_MSG_CLASS,
    ERROR_STATE: () => ERROR_STATE,
    EXCEEDS_MAX_FILE_SIZE_ERROR: () => EXCEEDS_MAX_FILE_SIZE_ERROR,
    EXCEEDS_MAX_IMAGE_SIZE_ERROR: () => EXCEEDS_MAX_IMAGE_SIZE_ERROR,
    ErrorStateToCopy: () => ErrorStateToCopy,
    FORM_GENERIC_ERROR_PATH: () => FORM_GENERIC_ERROR_PATH,
    FORM_REQUIRED_ERROR_PATH: () => FORM_REQUIRED_ERROR_PATH,
    FORM_TOO_LARGE_ERROR_PATH: () => FORM_TOO_LARGE_ERROR_PATH,
    FORM_TOO_SMALL_ERROR_PATH: () => FORM_TOO_SMALL_ERROR_PATH,
    FORM_TYPE_ERROR_PATH: () => FORM_TYPE_ERROR_PATH,
    HARD_LIMIT_MAX_NUM_USERS: () => HARD_LIMIT_MAX_NUM_USERS,
    KEY_FROM_RESERVED_USER_FIELD: () => KEY_FROM_RESERVED_USER_FIELD,
    LOGGEDIN_COOKIE_NAME: () => LOGGEDIN_COOKIE_NAME,
    LOGIN_UI_ERROR_CODES: () => LOGIN_UI_ERROR_CODES,
    MAX_GROUP_ID_LENGTH: () => MAX_GROUP_ID_LENGTH,
    MAX_NUM_GROUPS: () => MAX_NUM_GROUPS,
    MAX_UPDATE_USER_DATA_FIELDS: () => MAX_UPDATE_USER_DATA_FIELDS,
    MAX_USER_DATA_FIELDS: () => MAX_USER_DATA_FIELDS,
    MEMBERSHIPS_EMAIL_KEYS: () => MEMBERSHIPS_EMAIL_KEYS,
    MIN_GROUP_ID_LENGTH: () => MIN_GROUP_ID_LENGTH,
    NAMES_FROM_USER_FIELDS: () => NAMES_FROM_USER_FIELDS,
    NEW_USER_FIELD_ID: () => NEW_USER_FIELD_ID,
    NO_REQUIRED_ATTRIBUTE: () => NO_REQUIRED_ATTRIBUTE,
    PASSWORD_MAX_LENGTH: () => PASSWORD_MAX_LENGTH,
    PASSWORD_MIN_LENGTH: () => PASSWORD_MIN_LENGTH,
    RESERVED_USER_FIELDS: () => RESERVED_USER_FIELDS,
    RESERVED_USER_PREFIX: () => RESERVED_USER_PREFIX,
    RESET_PASSWORD_UI_ERROR_CODES: () => RESET_PASSWORD_UI_ERROR_CODES,
    SERVER_DATA_VALIDATION_ERRORS: () => SERVER_DATA_VALIDATION_ERRORS,
    SESSION_COOKIE_NAME: () => SESSION_COOKIE_NAME,
    SETUP_GUIDE_ALL_KEYS: () => SETUP_GUIDE_ALL_KEYS,
    SETUP_GUIDE_KEYS: () => SETUP_GUIDE_KEYS,
    SIGNUP_ERROR_CATEGORY: () => SIGNUP_ERROR_CATEGORY,
    SIGNUP_UI_ERROR_CODES: () => SIGNUP_UI_ERROR_CODES,
    STARTER_MAX_NUM_USERS: () => STARTER_MAX_NUM_USERS,
    SUBSCRIPTION_EMAIL_TYPES: () => SUBSCRIPTION_EMAIL_TYPES,
    SUBSCRIPTION_USER_LIMITS: () => SUBSCRIPTION_USER_LIMITS,
    TEMP_STATE_PATH: () => TEMP_STATE_PATH,
    TEXT_INPUT_TYPE_TO_FIELD_TYPE: () => TEXT_INPUT_TYPE_TO_FIELD_TYPE,
    UPDATE_ACCOUNT_ERROR_CODES: () => UPDATE_ACCOUNT_ERROR_CODES,
    UPDATE_PASSWORD_UI_ERROR_CODES: () => UPDATE_PASSWORD_UI_ERROR_CODES,
    USER_ACCESS_META_OPTIONS: () => USER_ACCESS_META_OPTIONS,
    USER_CSV_IMPORT_STATUS_MAX_TRIES: () => USER_CSV_IMPORT_STATUS_MAX_TRIES,
    USER_CSV_IMPORT_STATUS_POLLING_INTERVAL: () => USER_CSV_IMPORT_STATUS_POLLING_INTERVAL,
    USER_FIELD_DEFAULTS: () => USER_FIELD_DEFAULTS,
    USER_FIELD_FORM_ID: () => USER_FIELD_FORM_ID,
    USER_FILE_UPLOAD_ERRORS: () => USER_FILE_UPLOAD_ERRORS,
    USER_PAGE_SIZE: () => USER_PAGE_SIZE,
    USER_STATUSES: () => USER_STATUSES,
    USYS_ACCESS_TYPES: () => USYS_ACCESS_TYPES,
    USYS_CONTEXT_PATH: () => USYS_CONTEXT_PATH,
    USYS_DATA_ATTRS: () => USYS_DATA_ATTRS,
    USYS_DOM_CLASS_NAMES: () => USYS_DOM_CLASS_NAMES,
    USYS_FIELD_PATH: () => USYS_FIELD_PATH,
    USYS_FORM_TYPES: () => USYS_FORM_TYPES,
    USYS_INPUT_SIGN_UP_IDS: () => USYS_INPUT_SIGN_UP_IDS,
    USYS_INPUT_TYPES: () => USYS_INPUT_TYPES,
    USYS_PAGE_SETTINGS: () => USYS_PAGE_SETTINGS,
    USYS_PAGE_UTIL_KEYS: () => USYS_PAGE_UTIL_KEYS,
    USYS_RESERVED_SLUGS: () => USYS_RESERVED_SLUGS,
    USYS_TOKEN_TYPES: () => USYS_TOKEN_TYPES,
    USYS_USER_STATES: () => USYS_USER_STATES,
    USYS_UTILITY_KEYS: () => USYS_UTILITY_KEYS,
    __DEPRECATED__logInErrorStates: () => __DEPRECATED__logInErrorStates,
    logInErrorStates: () => logInErrorStates,
    resetPasswordErrorStates: () => resetPasswordErrorStates,
    signUpErrorStates: () => signUpErrorStates,
    updateAccountErrorStates: () => updateAccountErrorStates,
    updatePasswordErrorStates: () => updatePasswordErrorStates
  });
  var RESERVED_USER_PREFIX, RESERVED_USER_FIELDS, KEY_FROM_RESERVED_USER_FIELD, NAMES_FROM_USER_FIELDS, TEXT_INPUT_TYPE_TO_FIELD_TYPE, USYS_UTILITY_KEYS, USYS_DATA_ATTRS, USYS_DOM_CLASS_NAMES, USYS_FORM_TYPES, USYS_INPUT_TYPES, USYS_INPUT_SIGN_UP_IDS, USYS_USER_STATES, USYS_PAGE_SETTINGS, USYS_RESERVED_SLUGS, USYS_PAGE_UTIL_KEYS, DEFAULT_STYLES, PASSWORD_MIN_LENGTH, PASSWORD_MAX_LENGTH, SECOND, MINUTE, HOUR, DAY, SESSION_COOKIE_NAME, LOGGEDIN_COOKIE_NAME, DEFAULT_SESSION_DURATION_IN_MS, DEFAULT_SESSION_TOKEN_DURATION_IN_MS, DEFAULT_TOKEN_AGE_MS, STARTER_MAX_NUM_USERS, BASIC_MAX_NUM_USERS, BUSINESS_MAX_NUM_USERS, ECOMM_STANDARD_MAX_NUM_USERS, ECOMM_PLUS_MAX_NUM_USERS, HARD_LIMIT_MAX_NUM_USERS, SUBSCRIPTION_USER_LIMITS, MAX_NUM_GROUPS, MIN_GROUP_ID_LENGTH, MAX_GROUP_ID_LENGTH, USYS_TOKEN_TYPES, ACCESS_GROUP_INLINE_PRODUCT_FIELD_SLUG, ACCESS_GROUP_ADMISSION_TYPE, ACCESS_GROUP_FREE_TYPE, SUBSCRIPTION_EMAIL_TYPES, MEMBERSHIPS_EMAIL_KEYS, EMAIL_TEMPLATE_TYPES, CONFIRM_UNSAVED_CHANGES_COPY, USER_FIELD_FORM_ID, NEW_USER_FIELD_ID, USER_FIELD_DEFAULTS, DEFAULT_USER_FIELDS, SETUP_GUIDE_KEYS, SETUP_GUIDE_ALL_KEYS, MAX_USER_DATA_FIELDS, MAX_UPDATE_USER_DATA_FIELDS, USYS_FIELD_PATH, USYS_CONTEXT_PATH, TEMP_PATH, TEMP_STATE_PATH, USER_ACCESS_META_OPTIONS, EXCEEDS_MAX_FILE_SIZE_ERROR, EXCEEDS_MAX_IMAGE_SIZE_ERROR, NO_REQUIRED_ATTRIBUTE, USER_STATUSES, USER_PAGE_SIZE, USER_CSV_IMPORT_STATUS_POLLING_TIMEOUT, USER_CSV_IMPORT_STATUS_POLLING_INTERVAL, USER_CSV_IMPORT_STATUS_MAX_TRIES;
  var init_constants2 = __esm({
    "packages/systems/users/constants/index.ts"() {
      "use strict";
      init_utils2();
      init_types5();
      init_errorStates();
      init_types5();
      RESERVED_USER_PREFIX = "wf-user-field-";
      RESERVED_USER_FIELDS = {
        name: RESERVED_USER_PREFIX + "name",
        acceptPrivacy: RESERVED_USER_PREFIX + "accept-privacy",
        acceptCommunications: RESERVED_USER_PREFIX + "accept-communications"
      };
      KEY_FROM_RESERVED_USER_FIELD = {
        [RESERVED_USER_PREFIX + "name"]: "name",
        [RESERVED_USER_PREFIX + "accept-privacy"]: "acceptPrivacy",
        [RESERVED_USER_PREFIX + "accept-communications"]: "acceptCommunications"
      };
      NAMES_FROM_USER_FIELDS = {
        [RESERVED_USER_PREFIX + "name"]: "Name",
        [RESERVED_USER_PREFIX + "accept-privacy"]: "Accept privacy policy",
        [RESERVED_USER_PREFIX + "accept-communications"]: "Accept communications",
        PRIVACY_POLICY: "Accept privacy policy",
        PASSWORD: "Password",
        EMAIL: "Email"
      };
      TEXT_INPUT_TYPE_TO_FIELD_TYPE = {
        text: "PlainText",
        password: "Password",
        email: "Email",
        number: "PlainText",
        tel: "PlainText"
      };
      USYS_UTILITY_KEYS = {
        "usys-log-in": "usys-log-in",
        "usys-sign-up": "usys-sign-up",
        "usys-reset-password": "usys-reset-password",
        "usys-update-password": "usys-update-password",
        "usys-access-denied": "usys-access-denied",
        "usys-user-account": "usys-user-account"
      };
      USYS_DATA_ATTRS = {
        formType: "data-wf-user-form-type",
        inputType: "data-wf-user-form-input-type",
        logout: "data-wf-user-logout",
        login: "data-wf-user-login",
        formError: "data-wf-user-form-error",
        redirectUrl: "data-wf-user-form-redirect",
        formVerification: "data-wf-user-form-verification",
        userSubscriptions: "data-wf-user-subscriptions-list",
        userSubscriptionsEmptyState: "data-wf-user-subscriptions-empty",
        userAccount: "data-wf-user-account",
        subscriptionCancel: "data-wf-user-subscription-cancel",
        userId: "data-wf-user-id",
        field: "data-wf-user-field",
        fieldType: "data-wf-user-field-type",
        fileUploadKey: "data-wf-user-file-upload-key",
        unsavedFileUploadKey: "data-wf-unsaved-user-file-upload-key"
      };
      USYS_DOM_CLASS_NAMES = {
        formSuccess: "w-form-success",
        formVerfication: "w-form-verification",
        formError: "w-form-fail"
      };
      USYS_FORM_TYPES = {
        login: "login",
        signup: "signup",
        updatePassword: "updatePassword",
        resetPassword: "resetPassword",
        account: "userAccount"
      };
      USYS_INPUT_TYPES = {
        email: "email",
        name: "name",
        password: "password",
        acceptPrivacy: "accept-privacy"
      };
      USYS_INPUT_SIGN_UP_IDS = {
        email: "wf-sign-up-email",
        name: "wf-sign-up-name",
        password: "wf-sign-up-password",
        acceptPrivacy: "wf-sign-up-accept-privacy",
        acceptCommunications: "wf-sign-up-accept-communications"
      };
      USYS_USER_STATES = {
        loggedIn: "loggedIn",
        loggedOut: "loggedOut"
      };
      USYS_PAGE_SETTINGS = {
        login: {
          parent: null,
          sortPos: 0,
          utilKey: "usys-log-in",
          slug: "log-in",
          title: "Log In"
        },
        signup: {
          parent: null,
          sortPos: 1,
          utilKey: "usys-sign-up",
          slug: "sign-up",
          title: "Sign Up"
        },
        resetPassword: {
          parent: null,
          sortPos: 2,
          utilKey: "usys-reset-password",
          slug: "reset-password",
          title: "Reset Password"
        },
        updatePassword: {
          parent: null,
          sortPos: 3,
          utilKey: "usys-update-password",
          slug: "update-password",
          title: "Update Password"
        },
        accessDenied: {
          parent: null,
          sortPos: 4,
          utilKey: "usys-access-denied",
          slug: "access-denied",
          title: "Access Denied"
        },
        userAccount: {
          parent: null,
          sortPos: 5,
          utilKey: "usys-user-account",
          slug: "user-account",
          title: "User Account"
        }
      };
      USYS_RESERVED_SLUGS = values(USYS_PAGE_SETTINGS).map(
        (pageSettings) => pageSettings.slug
      );
      USYS_PAGE_UTIL_KEYS = values(USYS_PAGE_SETTINGS).map(
        (pageSettings) => pageSettings.utilKey
      );
      DEFAULT_STYLES = {
        accentColor: "#468EE5",
        bgColor: "#F5F6F7",
        includeWfBrand: true
      };
      PASSWORD_MIN_LENGTH = 8;
      PASSWORD_MAX_LENGTH = 72;
      SECOND = 1e3;
      MINUTE = 60 * SECOND;
      HOUR = 60 * MINUTE;
      DAY = 24 * HOUR;
      SESSION_COOKIE_NAME = "wf_sid";
      LOGGEDIN_COOKIE_NAME = "wf_loggedin";
      DEFAULT_SESSION_DURATION_IN_MS = 7 * DAY;
      DEFAULT_SESSION_TOKEN_DURATION_IN_MS = 4 * HOUR;
      DEFAULT_TOKEN_AGE_MS = HOUR;
      STARTER_MAX_NUM_USERS = 100;
      BASIC_MAX_NUM_USERS = 2e4;
      BUSINESS_MAX_NUM_USERS = 2e4;
      ECOMM_STANDARD_MAX_NUM_USERS = 2e4;
      ECOMM_PLUS_MAX_NUM_USERS = 2e4;
      HARD_LIMIT_MAX_NUM_USERS = 100 * 1e3;
      SUBSCRIPTION_USER_LIMITS = {
        free: STARTER_MAX_NUM_USERS,
        static: BASIC_MAX_NUM_USERS,
        cms: BUSINESS_MAX_NUM_USERS,
        business: BUSINESS_MAX_NUM_USERS,
        ecommerce_standard: ECOMM_STANDARD_MAX_NUM_USERS,
        ecommerce_plus: ECOMM_PLUS_MAX_NUM_USERS,
        ecommerce_advanced: BUSINESS_MAX_NUM_USERS,
        enterprise: BUSINESS_MAX_NUM_USERS,
        enterprise_lite: BUSINESS_MAX_NUM_USERS
      };
      MAX_NUM_GROUPS = 20;
      MIN_GROUP_ID_LENGTH = 2;
      MAX_GROUP_ID_LENGTH = 2;
      USYS_TOKEN_TYPES = {
        inviteUser: "inviteUser",
        resetPassword: "resetPassword",
        verifyEmail: "verifyEmail"
      };
      ACCESS_GROUP_INLINE_PRODUCT_FIELD_SLUG = "access-group-membership-product";
      ACCESS_GROUP_ADMISSION_TYPE = {
        free: "free",
        paid: "paid"
      };
      ACCESS_GROUP_FREE_TYPE = {
        all: "all",
        admin: "admin"
      };
      SUBSCRIPTION_EMAIL_TYPES = {
        PAYMENT_FAILED: "paymentFailed",
        PAYMENT_SUCCESSFUL: "paymentSuccessful",
        SUBSCRIPTION_CANCELED: "subscriptionCanceled",
        VERIFY_PAYMENT: "verifyPayment"
      };
      MEMBERSHIPS_EMAIL_KEYS = {
        invite: "invite",
        resetPassword: "resetPassword",
        updatedPassword: "updatedPassword",
        welcome: "welcome",
        verify: "verify"
      };
      EMAIL_TEMPLATE_TYPES = {
        invite: "MEMBERSHIPS_INVITE",
        resetPassword: "MEMBERSHIPS_RESET_PASSWORD",
        updatedPassword: "MEMBERSHIPS_UPDATED_PASSWORD",
        verify: "MEMBERSHIPS_VERIFY",
        welcome: "MEMBERSHIPS_WELCOME"
      };
      CONFIRM_UNSAVED_CHANGES_COPY = {
        title: "Continue without saving?",
        content: "Your changes will be lost.",
        iconType: "warning",
        submit: { label: "Continue", intent: "danger" },
        cancel: { label: "Cancel", intent: "default" }
      };
      USER_FIELD_FORM_ID = "UserFieldForm";
      NEW_USER_FIELD_ID = "mint-user-field";
      USER_FIELD_DEFAULTS = {
        PlainText: {
          id: NEW_USER_FIELD_ID,
          name: "",
          slug: "",
          required: false,
          type: "PlainText",
          validations: {}
        },
        Email: {
          id: NEW_USER_FIELD_ID,
          name: "",
          slug: "",
          required: false,
          type: "Email",
          validations: {}
        },
        Bool: {
          id: NEW_USER_FIELD_ID,
          name: "",
          slug: "",
          required: false,
          type: "Bool",
          validations: {}
        },
        FileRef: {
          id: NEW_USER_FIELD_ID,
          name: "",
          slug: "",
          required: false,
          type: "FileRef",
          validations: {}
        },
        Option: {
          id: NEW_USER_FIELD_ID,
          name: "",
          slug: "",
          required: false,
          type: "Option",
          validations: {
            options: []
          }
        },
        Password: {
          id: NEW_USER_FIELD_ID,
          name: "Password",
          slug: "",
          required: true,
          type: "Password",
          validations: {}
        },
        Number: {
          id: NEW_USER_FIELD_ID,
          name: "",
          slug: "",
          required: false,
          type: "Number",
          validations: {
            min: 0,
            step: 1
          }
        },
        Link: {
          id: NEW_USER_FIELD_ID,
          name: "",
          slug: "",
          required: false,
          type: "Link",
          validations: {}
        }
      };
      DEFAULT_USER_FIELDS = [
        {
          id: "name",
          name: "Name",
          required: false,
          slug: "name",
          type: "PlainText",
          validations: {}
        },
        {
          id: "email",
          name: "Email",
          required: true,
          slug: "email",
          type: "Email",
          validations: {}
        },
        {
          id: "password",
          name: "Password",
          required: true,
          slug: "password",
          type: "Password",
          validations: {}
        },
        {
          id: "acceptPrivacy",
          name: "Accept privacy",
          required: false,
          slug: "accept-privacy",
          type: "Bool",
          validations: {}
        },
        {
          id: "acceptCommunications",
          name: "Accept communications",
          required: false,
          slug: "accept-communications",
          type: "Bool",
          validations: {}
        }
      ];
      SETUP_GUIDE_KEYS = {
        hasVisitedAccessDeniedPage: "hasVisitedAccessDeniedPage",
        hasVisitedLoginPage: "hasVisitedLoginPage",
        hasVisitedSignUpPage: "hasVisitedSignUpPage",
        hasVisitedUserAccountSettings: "hasVisitedUserAccountSettings",
        hasVisitedUserAccountPage: "hasVisitedUserAccountPage"
      };
      SETUP_GUIDE_ALL_KEYS = {
        ...SETUP_GUIDE_KEYS,
        hasHostingPlan: "hasHostingPlan",
        hasEcommerce: "hasEcommerce",
        hasEnabledSSL: "hasEnabledSSL",
        hasUsers: "hasUsers",
        hasAccessGroups: "hasAccessGroups",
        hasRestrictedContent: "hasRestrictedContent",
        hasRestrictedProducts: "hasRestrictedProducts"
      };
      MAX_USER_DATA_FIELDS = 20;
      MAX_UPDATE_USER_DATA_FIELDS = MAX_USER_DATA_FIELDS + 2;
      USYS_FIELD_PATH = [
        { in: "Record", at: "users" },
        { in: "Record", at: "field" }
      ];
      USYS_CONTEXT_PATH = [
        { in: "Record", at: "users" },
        { in: "Record", at: "context" }
      ];
      TEMP_PATH = [{ in: "Record", at: "temp" }];
      TEMP_STATE_PATH = [
        ...TEMP_PATH,
        { in: "Record", at: "state" }
      ];
      USER_ACCESS_META_OPTIONS = [
        USYS_ACCESS_TYPES.LOGGED_IN
      ];
      EXCEEDS_MAX_FILE_SIZE_ERROR = "Maximum size allowed for a file upload is 10000kb / 10mb.";
      EXCEEDS_MAX_IMAGE_SIZE_ERROR = "Maximum size allowed for a image upload is 4000kb / 4mb.";
      NO_REQUIRED_ATTRIBUTE = ["FileRef", "Bool"];
      USER_STATUSES = {
        invited: "Invited",
        verified: "Verified",
        unverified: "Unverified"
      };
      USER_PAGE_SIZE = 100;
      USER_CSV_IMPORT_STATUS_POLLING_TIMEOUT = 20 * 60 * 1e3;
      USER_CSV_IMPORT_STATUS_POLLING_INTERVAL = 5e3;
      USER_CSV_IMPORT_STATUS_MAX_TRIES = Math.floor(
        USER_CSV_IMPORT_STATUS_POLLING_TIMEOUT / USER_CSV_IMPORT_STATUS_POLLING_INTERVAL
      );
    }
  });

  // packages/systems/dynamo/constants/index.ts
  var SECOND2, MINUTE2, HOUR2, DAY2, YEAR, CLASS_NAME_W_DYN_BIND_EMPTY, CONDITION_INVISIBLE_CLASS, NON_EXISTING_ITEM_ID, SCHEDULED_PUBLISH_LIMIT_IN_MS, SCHEDULED_PUBLISH_GRACE_PERIOD_IN_MS, SHARED_ALLOWED_FIELD_TYPES, DATETIME_FORMAT_OPTIONS, DATE_FORMAT_OPTIONS;
  var init_constants3 = __esm({
    "packages/systems/dynamo/constants/index.ts"() {
      "use strict";
      SECOND2 = 1e3;
      MINUTE2 = 60 * SECOND2;
      HOUR2 = 60 * MINUTE2;
      DAY2 = 24 * HOUR2;
      YEAR = 365 * DAY2;
      CLASS_NAME_W_DYN_BIND_EMPTY = "w-dyn-bind-empty";
      CONDITION_INVISIBLE_CLASS = "w-condition-invisible";
      NON_EXISTING_ITEM_ID = "000000000000000000000000";
      SCHEDULED_PUBLISH_LIMIT_IN_MS = 5 * YEAR;
      SCHEDULED_PUBLISH_GRACE_PERIOD_IN_MS = 30 * MINUTE2;
      SHARED_ALLOWED_FIELD_TYPES = {
        innerHTML: {
          PlainText: "innerText",
          HighlightedText: "innerText",
          RichText: "innerHTML",
          Number: "innerText",
          Video: "innerHTML",
          Option: "innerText",
          Date: "innerText",
          Phone: "innerText",
          Email: "innerText",
          CommercePrice: "innerHTML",
          Link: "innerText",
          ImageRef: false,
          FileRef: false,
          ItemRef: false,
          CommercePropValues: "innerText"
        },
        "style.color": {
          Color: true
        },
        "style.background-color": {
          Color: true
        },
        "style.border-color": {
          Color: true
        },
        "style.background-image": {
          ImageRef: true
        },
        src: ["ImageRef"],
        alt: [
          "PlainText",
          "Option",
          "Number",
          "Date",
          "Phone",
          "Email",
          "Video",
          "Link"
        ],
        href: ["Phone", "Email", "Video", "Link", "FileRef"],
        id: ["PlainText"],
        for: ["PlainText"],
        value: ["Number", "PlainText"],
        checked: ["Bool"],
        dataWHref: ["PlainText", "FullSlug"]
      };
      DATETIME_FORMAT_OPTIONS = [
        "MMMM D, YYYY",
        "MMMM D, YYYY h:mm A",
        "MMMM D, YYYY H:mm",
        "MMM D, YYYY",
        "MMM D, YYYY h:mm A",
        "MMM D, YYYY H:mm",
        "dddd, MMMM D, YYYY",
        "M/D/YYYY",
        "M.D.YYYY",
        "D/M/YYYY",
        "D.M.YYYY",
        "M/D/YYYY h:mm A",
        "M/D/YYYY H:mm",
        "M.D.YYYY h:mm A",
        "M.D.YYYY H:mm",
        "D/M/YYYY h:mm A",
        "D/M/YYYY H:mm",
        "D.M.YYYY h:mm A",
        "D.M.YYYY H:mm",
        "M/D/YY",
        "M.D.YY",
        "D/M/YY",
        "D.M.YY",
        "M/D/YY h:mm a",
        "M/D/YY H:mm",
        "M.D.YY h:mm a",
        "M.D.YY H:mm",
        "D/M/YY h:mm a",
        "D/M/YY H:mm",
        "D.M.YY h:mm a",
        "D.M.YY H:mm",
        "YYYY-MM-DD",
        "YYYY-MM-DD h:mm a",
        "YYYY-MM-DD H:mm",
        "MMM D",
        "D MMM",
        "MMMM YYYY",
        "MMM YYYY",
        "MM/YYYY",
        "h:mm a",
        "H:mm",
        "D",
        "DD",
        "ddd",
        "dddd",
        "M",
        "MM",
        "MMM",
        "MMMM",
        "YY",
        "YYYY"
      ];
      DATE_FORMAT_OPTIONS = DATETIME_FORMAT_OPTIONS.filter(
        (format) => !/[hHmaA]/.test(format)
      );
    }
  });

  // packages/shared/render/plugins/Dynamo/constants.ts
  var CLASS_NAME_DYNAMIC_LIST_REPEATER_REF, CLASS_NAME_DYNAMIC_LIST_ITEM, CLASS_NAME_DYNAMIC_LIST_REPEATER_ITEM;
  var init_constants4 = __esm({
    "packages/shared/render/plugins/Dynamo/constants.ts"() {
      "use strict";
      CLASS_NAME_DYNAMIC_LIST_REPEATER_REF = "w-dyn-items-repeater-ref";
      CLASS_NAME_DYNAMIC_LIST_ITEM = "w-dyn-item";
      CLASS_NAME_DYNAMIC_LIST_REPEATER_ITEM = "w-dyn-repeater-item";
    }
  });

  // packages/shared/render/plugins/Lightbox/utils.ts
  var createJsonItemFromBoundMedia, createJsonFromBoundMedia;
  var init_utils3 = __esm({
    "packages/shared/render/plugins/Lightbox/utils.ts"() {
      "use strict";
      createJsonItemFromBoundMedia = (binding) => {
        if (binding) {
          if (binding.metadata) {
            const {
              html,
              height,
              width,
              thumbnail_url: thumbnailUrl
            } = binding.metadata;
            return {
              url: binding.url,
              html,
              height,
              width,
              thumbnailUrl,
              type: "video"
            };
          } else {
            return { url: binding.url, type: "image" };
          }
        }
        return null;
      };
      createJsonFromBoundMedia = (binding, nodeJsonData) => {
        const group = nodeJsonData ? nodeJsonData.group : void 0;
        if (Array.isArray(binding)) {
          const items = binding.reduce((memo, subBinding) => {
            const jsonItem2 = createJsonItemFromBoundMedia(subBinding);
            if (jsonItem2) {
              memo.push(jsonItem2);
            }
            return memo;
          }, []);
          return items.length > 0 ? { items, group } : null;
        }
        const jsonItem = createJsonItemFromBoundMedia(binding);
        return jsonItem !== null ? {
          items: [jsonItem],
          group
        } : null;
      };
    }
  });

  // packages/shared/site/utils/Commerce.ts
  var simplifySkuValues, getProductOptionValueName;
  var init_Commerce = __esm({
    "packages/shared/site/utils/Commerce.ts"() {
      "use strict";
      simplifySkuValues = (skuValues) => skuValues.reduce((acc, pair) => {
        acc[pair.property.id] = pair.value.id;
        return acc;
      }, {});
      getProductOptionValueName = (property, simplifiedSkuValues) => {
        if (property.id && property.enum) {
          const propValueId = simplifiedSkuValues[property.id];
          const propValue = property.enum.find((value) => value.id === propValueId);
          if (propValue && typeof propValue.name === "string") {
            return propValue.name;
          }
        }
        return "";
      };
    }
  });

  // packages/shared/site/index.ts
  var init_site = __esm({
    "packages/shared/site/index.ts"() {
      "use strict";
      init_Commerce();
    }
  });

  // packages/shared/render/plugins/Commerce/modules/commerceUtils.ts
  var safeParseJson, findElementByNodeType, findAllElementsByNodeType, findClosestElementByNodeType, findClosestElementWithAttribute, findClosestElementByClassName, triggerRender, isProductionLikeEnv, isProtocolHttps, formToObject, customDataFormToArray, setElementLoading, loadingCallbacks, addLoadingCallback, executeLoadingCallbacks, isFreeOrder, hasSubscription, showElement, hideElement, orderStatusFlagsQuery, fetchOrderStatusFlags, acceptedOrderDataQuery, fetchAcceptedOrderData, trackOrder;
  var init_commerceUtils = __esm({
    "packages/shared/render/plugins/Commerce/modules/commerceUtils.ts"() {
      "use strict";
      init_lib7();
      init_constants();
      safeParseJson = (jsonString) => {
        let json = null;
        try {
          if (jsonString != null) {
            json = JSON.parse(decodeURIComponent(jsonString));
          }
        } catch (e) {
          if (!(e instanceof SyntaxError && e.message.match(/\bJSON\b/i))) {
            throw e;
          }
        } finally {
          return json;
        }
      };
      findElementByNodeType = (type, scope = document) => {
        return scope.querySelector(`[${DATA_ATTR_NODE_TYPE}="${type}"]`);
      };
      findAllElementsByNodeType = (type, scope = document) => {
        return Array.from(
          scope.querySelectorAll(`[${DATA_ATTR_NODE_TYPE}="${type}"]`)
        );
      };
      findClosestElementByNodeType = (nodeType, element) => {
        let target = element;
        while (target) {
          if (target instanceof Element && target.getAttribute(DATA_ATTR_NODE_TYPE) === nodeType) {
            return target;
          } else {
            target = target instanceof Element ? target.parentElement : null;
          }
        }
        return target;
      };
      findClosestElementWithAttribute = (dataAttribute, element) => {
        let target = element;
        while (target) {
          if (target instanceof Element && target.hasAttribute(dataAttribute)) {
            return target;
          } else {
            target = target instanceof Element ? target.parentElement : null;
          }
        }
        return target;
      };
      findClosestElementByClassName = (className, element) => {
        let target = element;
        while (target) {
          if (target instanceof Element && target.classList.contains(className)) {
            return target;
          } else {
            target = target instanceof Element ? target.parentElement : null;
          }
        }
        return target;
      };
      triggerRender = (error, isInitial = false) => {
        const renderEvent = new CustomEvent(RENDER_TREE_EVENT, {
          detail: {
            error,
            isInitial
          }
        });
        window.dispatchEvent(renderEvent);
      };
      isProductionLikeEnv = () => true;
      isProtocolHttps = () => !isProductionLikeEnv() || window.location.protocol === "https:";
      formToObject = (form, toString3) => {
        const values2 = {};
        Array.from(form.elements).forEach((element) => {
          const name = element.getAttribute("name");
          if (name && name !== "") {
            const value = toString3 ? String(element.value).trim() : element.value;
            values2[name] = value == null || value === "" ? null : value;
          }
        });
        return values2;
      };
      customDataFormToArray = (form) => {
        const customData = [];
        if (!form || !(form instanceof HTMLFormElement)) {
          return customData;
        }
        Array.from(form.elements).forEach(
          // @ts-expect-error - TS2345 - Argument of type '(element: HTMLElement | HTMLInputElement | HTMLTextAreaElement) => void' is not assignable to parameter of type '(value: Element, index: number, array: Element[]) => void'.
          (element) => {
            const name = element.getAttribute("name");
            if (element instanceof HTMLTextAreaElement && element.value) {
              customData.push({
                name: name ? name : "Textarea",
                textArea: element.value
              });
            } else if (element instanceof HTMLInputElement) {
              if (element.type === "checkbox") {
                customData.push({
                  name: name ? name : "Checkbox",
                  checkbox: element.checked
                });
              } else if (element.value) {
                customData.push({
                  name: name ? name : "Text Input",
                  textInput: element.value
                });
              }
            }
          }
        );
        return customData;
      };
      setElementLoading = (el) => {
        const tr = window.Webflow.tram(el);
        tr.set({ opacity: 0.2 });
        tr.add("opacity 500ms ease-in-out");
        const animate = () => {
          tr.start({ opacity: 0.2 }).then({ opacity: 0.4 }).then(animate);
        };
        animate();
        return () => tr.destroy();
      };
      loadingCallbacks = [];
      addLoadingCallback = (cb) => {
        loadingCallbacks.push(cb);
      };
      executeLoadingCallbacks = () => {
        let finishLoading;
        while ((finishLoading = loadingCallbacks.shift()) !== void 0) {
          finishLoading();
        }
      };
      isFreeOrder = (response) => response && response.data && response.data.database && response.data.database.commerceOrder && response.data.database.commerceOrder.statusFlags && response.data.database.commerceOrder.statusFlags.isFreeOrder === true;
      hasSubscription = (response) => response && response.data && response.data.database && response.data.database.commerceOrder && response.data.database.commerceOrder.statusFlags && response.data.database.commerceOrder.statusFlags.hasSubscription === true;
      showElement = (element) => element.style.removeProperty("display");
      hideElement = (element) => element.style.setProperty("display", "none");
      orderStatusFlagsQuery = lib_default2`
  query FetchCartInfo {
    database @client {
      id
      commerceOrder {
        id
        statusFlags {
          requiresShipping
          isFreeOrder
          hasSubscription
        }
      }
    }
  }
`;
      fetchOrderStatusFlags = (apolloClient2) => apolloClient2.query({
        query: orderStatusFlagsQuery
      }).then((data) => {
        return data && data.data && data.data.database && data.data.database.commerceOrder && data.data.database.commerceOrder.statusFlags;
      });
      acceptedOrderDataQuery = lib_default2`
  query FetchAcceptedOrderData(
    $finalizedOrder: commerce_order_finalized_order_args
  ) {
    database {
      id
      commerceOrder(finalizedOrder: $finalizedOrder) {
        id
        total {
          decimalValue
          unit
        }
        userItems {
          id
          count
          product {
            id
            f_name_
          }
          sku {
            id
          }
          price {
            decimalValue
          }
        }
      }
    }
  }
`;
      fetchAcceptedOrderData = (apolloClient2, finalizedOrder) => apolloClient2.query({
        query: acceptedOrderDataQuery,
        variables: { finalizedOrder }
      }).then((data) => data?.data?.database?.commerceOrder);
      trackOrder = (apolloClient2, finalizedOrder) => {
        if (typeof fbq === "undefined" && typeof gtag === "undefined") {
          return;
        }
        let trackedOrders = {};
        try {
          const storedTrackedOrders = window.localStorage.getItem("wf-seen-orders");
          if (storedTrackedOrders) {
            trackedOrders = JSON.parse(storedTrackedOrders);
          }
        } catch (err) {
          return;
        }
        if (trackedOrders[finalizedOrder.orderId]) {
          return;
        }
        fetchAcceptedOrderData(apolloClient2, finalizedOrder).then((order) => {
          if (!order) {
            return;
          }
          const { decimalValue, unit } = order.total;
          if (typeof fbq !== "undefined" && typeof fbq === "function") {
            fbq("track", "Purchase", {
              value: decimalValue,
              currency: unit,
              // @ts-expect-error - TS7006 - Parameter 'item' implicitly has an 'any' type.
              content_ids: (order.userItems || []).map((item) => item.sku.id),
              content_type: "product",
              // @ts-expect-error - TS7006 - Parameter 'item' implicitly has an 'any' type.
              contents: (order.userItems || []).map((item) => ({
                id: item.sku.id,
                quantity: item.count,
                item_price: item.price.decimalValue
              }))
            });
          }
          if (typeof gtag !== "undefined" && typeof gtag === "function") {
            gtag("event", "purchase", {
              transaction_id: order.id,
              value: decimalValue,
              currency: unit,
              // @ts-expect-error - TS7006 - Parameter 'item' implicitly has an 'any' type.
              items: (order.userItems || []).map((item) => ({
                id: item.sku.id,
                name: item.product.f_name_,
                quantity: item.count,
                price: item.price.decimalValue
              }))
            });
          }
          trackedOrders[finalizedOrder.orderId] = true;
          try {
            window.localStorage.setItem(
              "wf-seen-orders",
              JSON.stringify(trackedOrders)
            );
          } catch (err) {
            return;
          }
        });
      };
    }
  });

  // node_modules/moment/moment.js
  var require_moment = __commonJS({
    "node_modules/moment/moment.js"(exports, module2) {
      (function(global2, factory) {
        typeof exports === "object" && typeof module2 !== "undefined" ? module2.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global2.moment = factory();
      })(exports, function() {
        "use strict";
        var hookCallback;
        function hooks() {
          return hookCallback.apply(null, arguments);
        }
        function setHookCallback(callback) {
          hookCallback = callback;
        }
        function isArray2(input) {
          return input instanceof Array || Object.prototype.toString.call(input) === "[object Array]";
        }
        function isObject2(input) {
          return input != null && Object.prototype.toString.call(input) === "[object Object]";
        }
        function hasOwnProp(a, b) {
          return Object.prototype.hasOwnProperty.call(a, b);
        }
        function isObjectEmpty(obj) {
          if (Object.getOwnPropertyNames) {
            return Object.getOwnPropertyNames(obj).length === 0;
          } else {
            var k;
            for (k in obj) {
              if (hasOwnProp(obj, k)) {
                return false;
              }
            }
            return true;
          }
        }
        function isUndefined(input) {
          return input === void 0;
        }
        function isNumber2(input) {
          return typeof input === "number" || Object.prototype.toString.call(input) === "[object Number]";
        }
        function isDate(input) {
          return input instanceof Date || Object.prototype.toString.call(input) === "[object Date]";
        }
        function map(arr, fn) {
          var res = [], i, arrLen = arr.length;
          for (i = 0; i < arrLen; ++i) {
            res.push(fn(arr[i], i));
          }
          return res;
        }
        function extend(a, b) {
          for (var i in b) {
            if (hasOwnProp(b, i)) {
              a[i] = b[i];
            }
          }
          if (hasOwnProp(b, "toString")) {
            a.toString = b.toString;
          }
          if (hasOwnProp(b, "valueOf")) {
            a.valueOf = b.valueOf;
          }
          return a;
        }
        function createUTC(input, format2, locale2, strict) {
          return createLocalOrUTC(input, format2, locale2, strict, true).utc();
        }
        function defaultParsingFlags() {
          return {
            empty: false,
            unusedTokens: [],
            unusedInput: [],
            overflow: -2,
            charsLeftOver: 0,
            nullInput: false,
            invalidEra: null,
            invalidMonth: null,
            invalidFormat: false,
            userInvalidated: false,
            iso: false,
            parsedDateParts: [],
            era: null,
            meridiem: null,
            rfc2822: false,
            weekdayMismatch: false
          };
        }
        function getParsingFlags(m) {
          if (m._pf == null) {
            m._pf = defaultParsingFlags();
          }
          return m._pf;
        }
        var some;
        if (Array.prototype.some) {
          some = Array.prototype.some;
        } else {
          some = function(fun) {
            var t = Object(this), len = t.length >>> 0, i;
            for (i = 0; i < len; i++) {
              if (i in t && fun.call(this, t[i], i, t)) {
                return true;
              }
            }
            return false;
          };
        }
        function isValid(m) {
          if (m._isValid == null) {
            var flags = getParsingFlags(m), parsedParts = some.call(flags.parsedDateParts, function(i) {
              return i != null;
            }), isNowValid = !isNaN(m._d.getTime()) && flags.overflow < 0 && !flags.empty && !flags.invalidEra && !flags.invalidMonth && !flags.invalidWeekday && !flags.weekdayMismatch && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated && (!flags.meridiem || flags.meridiem && parsedParts);
            if (m._strict) {
              isNowValid = isNowValid && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0 && flags.bigHour === void 0;
            }
            if (Object.isFrozen == null || !Object.isFrozen(m)) {
              m._isValid = isNowValid;
            } else {
              return isNowValid;
            }
          }
          return m._isValid;
        }
        function createInvalid(flags) {
          var m = createUTC(NaN);
          if (flags != null) {
            extend(getParsingFlags(m), flags);
          } else {
            getParsingFlags(m).userInvalidated = true;
          }
          return m;
        }
        var momentProperties = hooks.momentProperties = [], updateInProgress = false;
        function copyConfig(to2, from2) {
          var i, prop, val, momentPropertiesLen = momentProperties.length;
          if (!isUndefined(from2._isAMomentObject)) {
            to2._isAMomentObject = from2._isAMomentObject;
          }
          if (!isUndefined(from2._i)) {
            to2._i = from2._i;
          }
          if (!isUndefined(from2._f)) {
            to2._f = from2._f;
          }
          if (!isUndefined(from2._l)) {
            to2._l = from2._l;
          }
          if (!isUndefined(from2._strict)) {
            to2._strict = from2._strict;
          }
          if (!isUndefined(from2._tzm)) {
            to2._tzm = from2._tzm;
          }
          if (!isUndefined(from2._isUTC)) {
            to2._isUTC = from2._isUTC;
          }
          if (!isUndefined(from2._offset)) {
            to2._offset = from2._offset;
          }
          if (!isUndefined(from2._pf)) {
            to2._pf = getParsingFlags(from2);
          }
          if (!isUndefined(from2._locale)) {
            to2._locale = from2._locale;
          }
          if (momentPropertiesLen > 0) {
            for (i = 0; i < momentPropertiesLen; i++) {
              prop = momentProperties[i];
              val = from2[prop];
              if (!isUndefined(val)) {
                to2[prop] = val;
              }
            }
          }
          return to2;
        }
        function Moment(config) {
          copyConfig(this, config);
          this._d = new Date(config._d != null ? config._d.getTime() : NaN);
          if (!this.isValid()) {
            this._d = /* @__PURE__ */ new Date(NaN);
          }
          if (updateInProgress === false) {
            updateInProgress = true;
            hooks.updateOffset(this);
            updateInProgress = false;
          }
        }
        function isMoment(obj) {
          return obj instanceof Moment || obj != null && obj._isAMomentObject != null;
        }
        function warn(msg) {
          if (hooks.suppressDeprecationWarnings === false && typeof console !== "undefined" && console.warn) {
            console.warn("Deprecation warning: " + msg);
          }
        }
        function deprecate(msg, fn) {
          var firstTime = true;
          return extend(function() {
            if (hooks.deprecationHandler != null) {
              hooks.deprecationHandler(null, msg);
            }
            if (firstTime) {
              var args = [], arg, i, key, argLen = arguments.length;
              for (i = 0; i < argLen; i++) {
                arg = "";
                if (typeof arguments[i] === "object") {
                  arg += "\n[" + i + "] ";
                  for (key in arguments[0]) {
                    if (hasOwnProp(arguments[0], key)) {
                      arg += key + ": " + arguments[0][key] + ", ";
                    }
                  }
                  arg = arg.slice(0, -2);
                } else {
                  arg = arguments[i];
                }
                args.push(arg);
              }
              warn(
                msg + "\nArguments: " + Array.prototype.slice.call(args).join("") + "\n" + new Error().stack
              );
              firstTime = false;
            }
            return fn.apply(this, arguments);
          }, fn);
        }
        var deprecations = {};
        function deprecateSimple(name, msg) {
          if (hooks.deprecationHandler != null) {
            hooks.deprecationHandler(name, msg);
          }
          if (!deprecations[name]) {
            warn(msg);
            deprecations[name] = true;
          }
        }
        hooks.suppressDeprecationWarnings = false;
        hooks.deprecationHandler = null;
        function isFunction3(input) {
          return typeof Function !== "undefined" && input instanceof Function || Object.prototype.toString.call(input) === "[object Function]";
        }
        function set3(config) {
          var prop, i;
          for (i in config) {
            if (hasOwnProp(config, i)) {
              prop = config[i];
              if (isFunction3(prop)) {
                this[i] = prop;
              } else {
                this["_" + i] = prop;
              }
            }
          }
          this._config = config;
          this._dayOfMonthOrdinalParseLenient = new RegExp(
            (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source
          );
        }
        function mergeConfigs(parentConfig, childConfig) {
          var res = extend({}, parentConfig), prop;
          for (prop in childConfig) {
            if (hasOwnProp(childConfig, prop)) {
              if (isObject2(parentConfig[prop]) && isObject2(childConfig[prop])) {
                res[prop] = {};
                extend(res[prop], parentConfig[prop]);
                extend(res[prop], childConfig[prop]);
              } else if (childConfig[prop] != null) {
                res[prop] = childConfig[prop];
              } else {
                delete res[prop];
              }
            }
          }
          for (prop in parentConfig) {
            if (hasOwnProp(parentConfig, prop) && !hasOwnProp(childConfig, prop) && isObject2(parentConfig[prop])) {
              res[prop] = extend({}, res[prop]);
            }
          }
          return res;
        }
        function Locale(config) {
          if (config != null) {
            this.set(config);
          }
        }
        var keys;
        if (Object.keys) {
          keys = Object.keys;
        } else {
          keys = function(obj) {
            var i, res = [];
            for (i in obj) {
              if (hasOwnProp(obj, i)) {
                res.push(i);
              }
            }
            return res;
          };
        }
        var defaultCalendar = {
          sameDay: "[Today at] LT",
          nextDay: "[Tomorrow at] LT",
          nextWeek: "dddd [at] LT",
          lastDay: "[Yesterday at] LT",
          lastWeek: "[Last] dddd [at] LT",
          sameElse: "L"
        };
        function calendar(key, mom, now2) {
          var output = this._calendar[key] || this._calendar["sameElse"];
          return isFunction3(output) ? output.call(mom, now2) : output;
        }
        function zeroFill(number, targetLength, forceSign) {
          var absNumber = "" + Math.abs(number), zerosToFill = targetLength - absNumber.length, sign2 = number >= 0;
          return (sign2 ? forceSign ? "+" : "" : "-") + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
        }
        var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, formatFunctions = {}, formatTokenFunctions = {};
        function addFormatToken(token2, padded, ordinal2, callback) {
          var func = callback;
          if (typeof callback === "string") {
            func = function() {
              return this[callback]();
            };
          }
          if (token2) {
            formatTokenFunctions[token2] = func;
          }
          if (padded) {
            formatTokenFunctions[padded[0]] = function() {
              return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
            };
          }
          if (ordinal2) {
            formatTokenFunctions[ordinal2] = function() {
              return this.localeData().ordinal(
                func.apply(this, arguments),
                token2
              );
            };
          }
        }
        function removeFormattingTokens(input) {
          if (input.match(/\[[\s\S]/)) {
            return input.replace(/^\[|\]$/g, "");
          }
          return input.replace(/\\/g, "");
        }
        function makeFormatFunction(format2) {
          var array = format2.match(formattingTokens), i, length;
          for (i = 0, length = array.length; i < length; i++) {
            if (formatTokenFunctions[array[i]]) {
              array[i] = formatTokenFunctions[array[i]];
            } else {
              array[i] = removeFormattingTokens(array[i]);
            }
          }
          return function(mom) {
            var output = "", i2;
            for (i2 = 0; i2 < length; i2++) {
              output += isFunction3(array[i2]) ? array[i2].call(mom, format2) : array[i2];
            }
            return output;
          };
        }
        function formatMoment(m, format2) {
          if (!m.isValid()) {
            return m.localeData().invalidDate();
          }
          format2 = expandFormat(format2, m.localeData());
          formatFunctions[format2] = formatFunctions[format2] || makeFormatFunction(format2);
          return formatFunctions[format2](m);
        }
        function expandFormat(format2, locale2) {
          var i = 5;
          function replaceLongDateFormatTokens(input) {
            return locale2.longDateFormat(input) || input;
          }
          localFormattingTokens.lastIndex = 0;
          while (i >= 0 && localFormattingTokens.test(format2)) {
            format2 = format2.replace(
              localFormattingTokens,
              replaceLongDateFormatTokens
            );
            localFormattingTokens.lastIndex = 0;
            i -= 1;
          }
          return format2;
        }
        var defaultLongDateFormat = {
          LTS: "h:mm:ss A",
          LT: "h:mm A",
          L: "MM/DD/YYYY",
          LL: "MMMM D, YYYY",
          LLL: "MMMM D, YYYY h:mm A",
          LLLL: "dddd, MMMM D, YYYY h:mm A"
        };
        function longDateFormat(key) {
          var format2 = this._longDateFormat[key], formatUpper = this._longDateFormat[key.toUpperCase()];
          if (format2 || !formatUpper) {
            return format2;
          }
          this._longDateFormat[key] = formatUpper.match(formattingTokens).map(function(tok) {
            if (tok === "MMMM" || tok === "MM" || tok === "DD" || tok === "dddd") {
              return tok.slice(1);
            }
            return tok;
          }).join("");
          return this._longDateFormat[key];
        }
        var defaultInvalidDate = "Invalid date";
        function invalidDate() {
          return this._invalidDate;
        }
        var defaultOrdinal = "%d", defaultDayOfMonthOrdinalParse = /\d{1,2}/;
        function ordinal(number) {
          return this._ordinal.replace("%d", number);
        }
        var defaultRelativeTime = {
          future: "in %s",
          past: "%s ago",
          s: "a few seconds",
          ss: "%d seconds",
          m: "a minute",
          mm: "%d minutes",
          h: "an hour",
          hh: "%d hours",
          d: "a day",
          dd: "%d days",
          w: "a week",
          ww: "%d weeks",
          M: "a month",
          MM: "%d months",
          y: "a year",
          yy: "%d years"
        };
        function relativeTime(number, withoutSuffix, string, isFuture) {
          var output = this._relativeTime[string];
          return isFunction3(output) ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number);
        }
        function pastFuture(diff2, output) {
          var format2 = this._relativeTime[diff2 > 0 ? "future" : "past"];
          return isFunction3(format2) ? format2(output) : format2.replace(/%s/i, output);
        }
        var aliases = {};
        function addUnitAlias(unit, shorthand) {
          var lowerCase = unit.toLowerCase();
          aliases[lowerCase] = aliases[lowerCase + "s"] = aliases[shorthand] = unit;
        }
        function normalizeUnits(units) {
          return typeof units === "string" ? aliases[units] || aliases[units.toLowerCase()] : void 0;
        }
        function normalizeObjectUnits(inputObject) {
          var normalizedInput = {}, normalizedProp, prop;
          for (prop in inputObject) {
            if (hasOwnProp(inputObject, prop)) {
              normalizedProp = normalizeUnits(prop);
              if (normalizedProp) {
                normalizedInput[normalizedProp] = inputObject[prop];
              }
            }
          }
          return normalizedInput;
        }
        var priorities = {};
        function addUnitPriority(unit, priority) {
          priorities[unit] = priority;
        }
        function getPrioritizedUnits(unitsObj) {
          var units = [], u;
          for (u in unitsObj) {
            if (hasOwnProp(unitsObj, u)) {
              units.push({ unit: u, priority: priorities[u] });
            }
          }
          units.sort(function(a, b) {
            return a.priority - b.priority;
          });
          return units;
        }
        function isLeapYear(year) {
          return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
        }
        function absFloor(number) {
          if (number < 0) {
            return Math.ceil(number) || 0;
          } else {
            return Math.floor(number);
          }
        }
        function toInt(argumentForCoercion) {
          var coercedNumber = +argumentForCoercion, value = 0;
          if (coercedNumber !== 0 && isFinite(coercedNumber)) {
            value = absFloor(coercedNumber);
          }
          return value;
        }
        function makeGetSet(unit, keepTime) {
          return function(value) {
            if (value != null) {
              set$1(this, unit, value);
              hooks.updateOffset(this, keepTime);
              return this;
            } else {
              return get8(this, unit);
            }
          };
        }
        function get8(mom, unit) {
          return mom.isValid() ? mom._d["get" + (mom._isUTC ? "UTC" : "") + unit]() : NaN;
        }
        function set$1(mom, unit, value) {
          if (mom.isValid() && !isNaN(value)) {
            if (unit === "FullYear" && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {
              value = toInt(value);
              mom._d["set" + (mom._isUTC ? "UTC" : "") + unit](
                value,
                mom.month(),
                daysInMonth(value, mom.month())
              );
            } else {
              mom._d["set" + (mom._isUTC ? "UTC" : "") + unit](value);
            }
          }
        }
        function stringGet(units) {
          units = normalizeUnits(units);
          if (isFunction3(this[units])) {
            return this[units]();
          }
          return this;
        }
        function stringSet(units, value) {
          if (typeof units === "object") {
            units = normalizeObjectUnits(units);
            var prioritized = getPrioritizedUnits(units), i, prioritizedLen = prioritized.length;
            for (i = 0; i < prioritizedLen; i++) {
              this[prioritized[i].unit](units[prioritized[i].unit]);
            }
          } else {
            units = normalizeUnits(units);
            if (isFunction3(this[units])) {
              return this[units](value);
            }
          }
          return this;
        }
        var match1 = /\d/, match2 = /\d\d/, match3 = /\d{3}/, match4 = /\d{4}/, match6 = /[+-]?\d{6}/, match1to2 = /\d\d?/, match3to4 = /\d\d\d\d?/, match5to6 = /\d\d\d\d\d\d?/, match1to3 = /\d{1,3}/, match1to4 = /\d{1,4}/, match1to6 = /[+-]?\d{1,6}/, matchUnsigned = /\d+/, matchSigned = /[+-]?\d+/, matchOffset = /Z|[+-]\d\d:?\d\d/gi, matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, regexes;
        regexes = {};
        function addRegexToken(token2, regex, strictRegex) {
          regexes[token2] = isFunction3(regex) ? regex : function(isStrict, localeData2) {
            return isStrict && strictRegex ? strictRegex : regex;
          };
        }
        function getParseRegexForToken(token2, config) {
          if (!hasOwnProp(regexes, token2)) {
            return new RegExp(unescapeFormat(token2));
          }
          return regexes[token2](config._strict, config._locale);
        }
        function unescapeFormat(s) {
          return regexEscape(
            s.replace("\\", "").replace(
              /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,
              function(matched, p1, p2, p3, p4) {
                return p1 || p2 || p3 || p4;
              }
            )
          );
        }
        function regexEscape(s) {
          return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
        }
        var tokens = {};
        function addParseToken(token2, callback) {
          var i, func = callback, tokenLen;
          if (typeof token2 === "string") {
            token2 = [token2];
          }
          if (isNumber2(callback)) {
            func = function(input, array) {
              array[callback] = toInt(input);
            };
          }
          tokenLen = token2.length;
          for (i = 0; i < tokenLen; i++) {
            tokens[token2[i]] = func;
          }
        }
        function addWeekParseToken(token2, callback) {
          addParseToken(token2, function(input, array, config, token3) {
            config._w = config._w || {};
            callback(input, config._w, config, token3);
          });
        }
        function addTimeToArrayFromToken(token2, input, config) {
          if (input != null && hasOwnProp(tokens, token2)) {
            tokens[token2](input, config._a, config, token2);
          }
        }
        var YEAR2 = 0, MONTH = 1, DATE = 2, HOUR3 = 3, MINUTE3 = 4, SECOND3 = 5, MILLISECOND = 6, WEEK = 7, WEEKDAY = 8;
        function mod(n, x) {
          return (n % x + x) % x;
        }
        var indexOf;
        if (Array.prototype.indexOf) {
          indexOf = Array.prototype.indexOf;
        } else {
          indexOf = function(o) {
            var i;
            for (i = 0; i < this.length; ++i) {
              if (this[i] === o) {
                return i;
              }
            }
            return -1;
          };
        }
        function daysInMonth(year, month) {
          if (isNaN(year) || isNaN(month)) {
            return NaN;
          }
          var modMonth = mod(month, 12);
          year += (month - modMonth) / 12;
          return modMonth === 1 ? isLeapYear(year) ? 29 : 28 : 31 - modMonth % 7 % 2;
        }
        addFormatToken("M", ["MM", 2], "Mo", function() {
          return this.month() + 1;
        });
        addFormatToken("MMM", 0, 0, function(format2) {
          return this.localeData().monthsShort(this, format2);
        });
        addFormatToken("MMMM", 0, 0, function(format2) {
          return this.localeData().months(this, format2);
        });
        addUnitAlias("month", "M");
        addUnitPriority("month", 8);
        addRegexToken("M", match1to2);
        addRegexToken("MM", match1to2, match2);
        addRegexToken("MMM", function(isStrict, locale2) {
          return locale2.monthsShortRegex(isStrict);
        });
        addRegexToken("MMMM", function(isStrict, locale2) {
          return locale2.monthsRegex(isStrict);
        });
        addParseToken(["M", "MM"], function(input, array) {
          array[MONTH] = toInt(input) - 1;
        });
        addParseToken(["MMM", "MMMM"], function(input, array, config, token2) {
          var month = config._locale.monthsParse(input, token2, config._strict);
          if (month != null) {
            array[MONTH] = month;
          } else {
            getParsingFlags(config).invalidMonth = input;
          }
        });
        var defaultLocaleMonths = "January_February_March_April_May_June_July_August_September_October_November_December".split(
          "_"
        ), defaultLocaleMonthsShort = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, defaultMonthsShortRegex = matchWord, defaultMonthsRegex = matchWord;
        function localeMonths(m, format2) {
          if (!m) {
            return isArray2(this._months) ? this._months : this._months["standalone"];
          }
          return isArray2(this._months) ? this._months[m.month()] : this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format2) ? "format" : "standalone"][m.month()];
        }
        function localeMonthsShort(m, format2) {
          if (!m) {
            return isArray2(this._monthsShort) ? this._monthsShort : this._monthsShort["standalone"];
          }
          return isArray2(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format2) ? "format" : "standalone"][m.month()];
        }
        function handleStrictParse(monthName, format2, strict) {
          var i, ii, mom, llc = monthName.toLocaleLowerCase();
          if (!this._monthsParse) {
            this._monthsParse = [];
            this._longMonthsParse = [];
            this._shortMonthsParse = [];
            for (i = 0; i < 12; ++i) {
              mom = createUTC([2e3, i]);
              this._shortMonthsParse[i] = this.monthsShort(
                mom,
                ""
              ).toLocaleLowerCase();
              this._longMonthsParse[i] = this.months(mom, "").toLocaleLowerCase();
            }
          }
          if (strict) {
            if (format2 === "MMM") {
              ii = indexOf.call(this._shortMonthsParse, llc);
              return ii !== -1 ? ii : null;
            } else {
              ii = indexOf.call(this._longMonthsParse, llc);
              return ii !== -1 ? ii : null;
            }
          } else {
            if (format2 === "MMM") {
              ii = indexOf.call(this._shortMonthsParse, llc);
              if (ii !== -1) {
                return ii;
              }
              ii = indexOf.call(this._longMonthsParse, llc);
              return ii !== -1 ? ii : null;
            } else {
              ii = indexOf.call(this._longMonthsParse, llc);
              if (ii !== -1) {
                return ii;
              }
              ii = indexOf.call(this._shortMonthsParse, llc);
              return ii !== -1 ? ii : null;
            }
          }
        }
        function localeMonthsParse(monthName, format2, strict) {
          var i, mom, regex;
          if (this._monthsParseExact) {
            return handleStrictParse.call(this, monthName, format2, strict);
          }
          if (!this._monthsParse) {
            this._monthsParse = [];
            this._longMonthsParse = [];
            this._shortMonthsParse = [];
          }
          for (i = 0; i < 12; i++) {
            mom = createUTC([2e3, i]);
            if (strict && !this._longMonthsParse[i]) {
              this._longMonthsParse[i] = new RegExp(
                "^" + this.months(mom, "").replace(".", "") + "$",
                "i"
              );
              this._shortMonthsParse[i] = new RegExp(
                "^" + this.monthsShort(mom, "").replace(".", "") + "$",
                "i"
              );
            }
            if (!strict && !this._monthsParse[i]) {
              regex = "^" + this.months(mom, "") + "|^" + this.monthsShort(mom, "");
              this._monthsParse[i] = new RegExp(regex.replace(".", ""), "i");
            }
            if (strict && format2 === "MMMM" && this._longMonthsParse[i].test(monthName)) {
              return i;
            } else if (strict && format2 === "MMM" && this._shortMonthsParse[i].test(monthName)) {
              return i;
            } else if (!strict && this._monthsParse[i].test(monthName)) {
              return i;
            }
          }
        }
        function setMonth(mom, value) {
          var dayOfMonth;
          if (!mom.isValid()) {
            return mom;
          }
          if (typeof value === "string") {
            if (/^\d+$/.test(value)) {
              value = toInt(value);
            } else {
              value = mom.localeData().monthsParse(value);
              if (!isNumber2(value)) {
                return mom;
              }
            }
          }
          dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
          mom._d["set" + (mom._isUTC ? "UTC" : "") + "Month"](value, dayOfMonth);
          return mom;
        }
        function getSetMonth(value) {
          if (value != null) {
            setMonth(this, value);
            hooks.updateOffset(this, true);
            return this;
          } else {
            return get8(this, "Month");
          }
        }
        function getDaysInMonth() {
          return daysInMonth(this.year(), this.month());
        }
        function monthsShortRegex(isStrict) {
          if (this._monthsParseExact) {
            if (!hasOwnProp(this, "_monthsRegex")) {
              computeMonthsParse.call(this);
            }
            if (isStrict) {
              return this._monthsShortStrictRegex;
            } else {
              return this._monthsShortRegex;
            }
          } else {
            if (!hasOwnProp(this, "_monthsShortRegex")) {
              this._monthsShortRegex = defaultMonthsShortRegex;
            }
            return this._monthsShortStrictRegex && isStrict ? this._monthsShortStrictRegex : this._monthsShortRegex;
          }
        }
        function monthsRegex(isStrict) {
          if (this._monthsParseExact) {
            if (!hasOwnProp(this, "_monthsRegex")) {
              computeMonthsParse.call(this);
            }
            if (isStrict) {
              return this._monthsStrictRegex;
            } else {
              return this._monthsRegex;
            }
          } else {
            if (!hasOwnProp(this, "_monthsRegex")) {
              this._monthsRegex = defaultMonthsRegex;
            }
            return this._monthsStrictRegex && isStrict ? this._monthsStrictRegex : this._monthsRegex;
          }
        }
        function computeMonthsParse() {
          function cmpLenRev(a, b) {
            return b.length - a.length;
          }
          var shortPieces = [], longPieces = [], mixedPieces = [], i, mom;
          for (i = 0; i < 12; i++) {
            mom = createUTC([2e3, i]);
            shortPieces.push(this.monthsShort(mom, ""));
            longPieces.push(this.months(mom, ""));
            mixedPieces.push(this.months(mom, ""));
            mixedPieces.push(this.monthsShort(mom, ""));
          }
          shortPieces.sort(cmpLenRev);
          longPieces.sort(cmpLenRev);
          mixedPieces.sort(cmpLenRev);
          for (i = 0; i < 12; i++) {
            shortPieces[i] = regexEscape(shortPieces[i]);
            longPieces[i] = regexEscape(longPieces[i]);
          }
          for (i = 0; i < 24; i++) {
            mixedPieces[i] = regexEscape(mixedPieces[i]);
          }
          this._monthsRegex = new RegExp("^(" + mixedPieces.join("|") + ")", "i");
          this._monthsShortRegex = this._monthsRegex;
          this._monthsStrictRegex = new RegExp(
            "^(" + longPieces.join("|") + ")",
            "i"
          );
          this._monthsShortStrictRegex = new RegExp(
            "^(" + shortPieces.join("|") + ")",
            "i"
          );
        }
        addFormatToken("Y", 0, 0, function() {
          var y = this.year();
          return y <= 9999 ? zeroFill(y, 4) : "+" + y;
        });
        addFormatToken(0, ["YY", 2], 0, function() {
          return this.year() % 100;
        });
        addFormatToken(0, ["YYYY", 4], 0, "year");
        addFormatToken(0, ["YYYYY", 5], 0, "year");
        addFormatToken(0, ["YYYYYY", 6, true], 0, "year");
        addUnitAlias("year", "y");
        addUnitPriority("year", 1);
        addRegexToken("Y", matchSigned);
        addRegexToken("YY", match1to2, match2);
        addRegexToken("YYYY", match1to4, match4);
        addRegexToken("YYYYY", match1to6, match6);
        addRegexToken("YYYYYY", match1to6, match6);
        addParseToken(["YYYYY", "YYYYYY"], YEAR2);
        addParseToken("YYYY", function(input, array) {
          array[YEAR2] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
        });
        addParseToken("YY", function(input, array) {
          array[YEAR2] = hooks.parseTwoDigitYear(input);
        });
        addParseToken("Y", function(input, array) {
          array[YEAR2] = parseInt(input, 10);
        });
        function daysInYear(year) {
          return isLeapYear(year) ? 366 : 365;
        }
        hooks.parseTwoDigitYear = function(input) {
          return toInt(input) + (toInt(input) > 68 ? 1900 : 2e3);
        };
        var getSetYear = makeGetSet("FullYear", true);
        function getIsLeapYear() {
          return isLeapYear(this.year());
        }
        function createDate(y, m, d, h, M, s, ms) {
          var date2;
          if (y < 100 && y >= 0) {
            date2 = new Date(y + 400, m, d, h, M, s, ms);
            if (isFinite(date2.getFullYear())) {
              date2.setFullYear(y);
            }
          } else {
            date2 = new Date(y, m, d, h, M, s, ms);
          }
          return date2;
        }
        function createUTCDate(y) {
          var date2, args;
          if (y < 100 && y >= 0) {
            args = Array.prototype.slice.call(arguments);
            args[0] = y + 400;
            date2 = new Date(Date.UTC.apply(null, args));
            if (isFinite(date2.getUTCFullYear())) {
              date2.setUTCFullYear(y);
            }
          } else {
            date2 = new Date(Date.UTC.apply(null, arguments));
          }
          return date2;
        }
        function firstWeekOffset(year, dow, doy) {
          var fwd = 7 + dow - doy, fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
          return -fwdlw + fwd - 1;
        }
        function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
          var localWeekday = (7 + weekday - dow) % 7, weekOffset = firstWeekOffset(year, dow, doy), dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, resYear, resDayOfYear;
          if (dayOfYear <= 0) {
            resYear = year - 1;
            resDayOfYear = daysInYear(resYear) + dayOfYear;
          } else if (dayOfYear > daysInYear(year)) {
            resYear = year + 1;
            resDayOfYear = dayOfYear - daysInYear(year);
          } else {
            resYear = year;
            resDayOfYear = dayOfYear;
          }
          return {
            year: resYear,
            dayOfYear: resDayOfYear
          };
        }
        function weekOfYear(mom, dow, doy) {
          var weekOffset = firstWeekOffset(mom.year(), dow, doy), week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, resWeek, resYear;
          if (week < 1) {
            resYear = mom.year() - 1;
            resWeek = week + weeksInYear(resYear, dow, doy);
          } else if (week > weeksInYear(mom.year(), dow, doy)) {
            resWeek = week - weeksInYear(mom.year(), dow, doy);
            resYear = mom.year() + 1;
          } else {
            resYear = mom.year();
            resWeek = week;
          }
          return {
            week: resWeek,
            year: resYear
          };
        }
        function weeksInYear(year, dow, doy) {
          var weekOffset = firstWeekOffset(year, dow, doy), weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
          return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
        }
        addFormatToken("w", ["ww", 2], "wo", "week");
        addFormatToken("W", ["WW", 2], "Wo", "isoWeek");
        addUnitAlias("week", "w");
        addUnitAlias("isoWeek", "W");
        addUnitPriority("week", 5);
        addUnitPriority("isoWeek", 5);
        addRegexToken("w", match1to2);
        addRegexToken("ww", match1to2, match2);
        addRegexToken("W", match1to2);
        addRegexToken("WW", match1to2, match2);
        addWeekParseToken(
          ["w", "ww", "W", "WW"],
          function(input, week, config, token2) {
            week[token2.substr(0, 1)] = toInt(input);
          }
        );
        function localeWeek(mom) {
          return weekOfYear(mom, this._week.dow, this._week.doy).week;
        }
        var defaultLocaleWeek = {
          dow: 0,
          // Sunday is the first day of the week.
          doy: 6
          // The week that contains Jan 6th is the first week of the year.
        };
        function localeFirstDayOfWeek() {
          return this._week.dow;
        }
        function localeFirstDayOfYear() {
          return this._week.doy;
        }
        function getSetWeek(input) {
          var week = this.localeData().week(this);
          return input == null ? week : this.add((input - week) * 7, "d");
        }
        function getSetISOWeek(input) {
          var week = weekOfYear(this, 1, 4).week;
          return input == null ? week : this.add((input - week) * 7, "d");
        }
        addFormatToken("d", 0, "do", "day");
        addFormatToken("dd", 0, 0, function(format2) {
          return this.localeData().weekdaysMin(this, format2);
        });
        addFormatToken("ddd", 0, 0, function(format2) {
          return this.localeData().weekdaysShort(this, format2);
        });
        addFormatToken("dddd", 0, 0, function(format2) {
          return this.localeData().weekdays(this, format2);
        });
        addFormatToken("e", 0, 0, "weekday");
        addFormatToken("E", 0, 0, "isoWeekday");
        addUnitAlias("day", "d");
        addUnitAlias("weekday", "e");
        addUnitAlias("isoWeekday", "E");
        addUnitPriority("day", 11);
        addUnitPriority("weekday", 11);
        addUnitPriority("isoWeekday", 11);
        addRegexToken("d", match1to2);
        addRegexToken("e", match1to2);
        addRegexToken("E", match1to2);
        addRegexToken("dd", function(isStrict, locale2) {
          return locale2.weekdaysMinRegex(isStrict);
        });
        addRegexToken("ddd", function(isStrict, locale2) {
          return locale2.weekdaysShortRegex(isStrict);
        });
        addRegexToken("dddd", function(isStrict, locale2) {
          return locale2.weekdaysRegex(isStrict);
        });
        addWeekParseToken(["dd", "ddd", "dddd"], function(input, week, config, token2) {
          var weekday = config._locale.weekdaysParse(input, token2, config._strict);
          if (weekday != null) {
            week.d = weekday;
          } else {
            getParsingFlags(config).invalidWeekday = input;
          }
        });
        addWeekParseToken(["d", "e", "E"], function(input, week, config, token2) {
          week[token2] = toInt(input);
        });
        function parseWeekday(input, locale2) {
          if (typeof input !== "string") {
            return input;
          }
          if (!isNaN(input)) {
            return parseInt(input, 10);
          }
          input = locale2.weekdaysParse(input);
          if (typeof input === "number") {
            return input;
          }
          return null;
        }
        function parseIsoWeekday(input, locale2) {
          if (typeof input === "string") {
            return locale2.weekdaysParse(input) % 7 || 7;
          }
          return isNaN(input) ? null : input;
        }
        function shiftWeekdays(ws, n) {
          return ws.slice(n, 7).concat(ws.slice(0, n));
        }
        var defaultLocaleWeekdays = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), defaultLocaleWeekdaysShort = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), defaultLocaleWeekdaysMin = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), defaultWeekdaysRegex = matchWord, defaultWeekdaysShortRegex = matchWord, defaultWeekdaysMinRegex = matchWord;
        function localeWeekdays(m, format2) {
          var weekdays = isArray2(this._weekdays) ? this._weekdays : this._weekdays[m && m !== true && this._weekdays.isFormat.test(format2) ? "format" : "standalone"];
          return m === true ? shiftWeekdays(weekdays, this._week.dow) : m ? weekdays[m.day()] : weekdays;
        }
        function localeWeekdaysShort(m) {
          return m === true ? shiftWeekdays(this._weekdaysShort, this._week.dow) : m ? this._weekdaysShort[m.day()] : this._weekdaysShort;
        }
        function localeWeekdaysMin(m) {
          return m === true ? shiftWeekdays(this._weekdaysMin, this._week.dow) : m ? this._weekdaysMin[m.day()] : this._weekdaysMin;
        }
        function handleStrictParse$1(weekdayName, format2, strict) {
          var i, ii, mom, llc = weekdayName.toLocaleLowerCase();
          if (!this._weekdaysParse) {
            this._weekdaysParse = [];
            this._shortWeekdaysParse = [];
            this._minWeekdaysParse = [];
            for (i = 0; i < 7; ++i) {
              mom = createUTC([2e3, 1]).day(i);
              this._minWeekdaysParse[i] = this.weekdaysMin(
                mom,
                ""
              ).toLocaleLowerCase();
              this._shortWeekdaysParse[i] = this.weekdaysShort(
                mom,
                ""
              ).toLocaleLowerCase();
              this._weekdaysParse[i] = this.weekdays(mom, "").toLocaleLowerCase();
            }
          }
          if (strict) {
            if (format2 === "dddd") {
              ii = indexOf.call(this._weekdaysParse, llc);
              return ii !== -1 ? ii : null;
            } else if (format2 === "ddd") {
              ii = indexOf.call(this._shortWeekdaysParse, llc);
              return ii !== -1 ? ii : null;
            } else {
              ii = indexOf.call(this._minWeekdaysParse, llc);
              return ii !== -1 ? ii : null;
            }
          } else {
            if (format2 === "dddd") {
              ii = indexOf.call(this._weekdaysParse, llc);
              if (ii !== -1) {
                return ii;
              }
              ii = indexOf.call(this._shortWeekdaysParse, llc);
              if (ii !== -1) {
                return ii;
              }
              ii = indexOf.call(this._minWeekdaysParse, llc);
              return ii !== -1 ? ii : null;
            } else if (format2 === "ddd") {
              ii = indexOf.call(this._shortWeekdaysParse, llc);
              if (ii !== -1) {
                return ii;
              }
              ii = indexOf.call(this._weekdaysParse, llc);
              if (ii !== -1) {
                return ii;
              }
              ii = indexOf.call(this._minWeekdaysParse, llc);
              return ii !== -1 ? ii : null;
            } else {
              ii = indexOf.call(this._minWeekdaysParse, llc);
              if (ii !== -1) {
                return ii;
              }
              ii = indexOf.call(this._weekdaysParse, llc);
              if (ii !== -1) {
                return ii;
              }
              ii = indexOf.call(this._shortWeekdaysParse, llc);
              return ii !== -1 ? ii : null;
            }
          }
        }
        function localeWeekdaysParse(weekdayName, format2, strict) {
          var i, mom, regex;
          if (this._weekdaysParseExact) {
            return handleStrictParse$1.call(this, weekdayName, format2, strict);
          }
          if (!this._weekdaysParse) {
            this._weekdaysParse = [];
            this._minWeekdaysParse = [];
            this._shortWeekdaysParse = [];
            this._fullWeekdaysParse = [];
          }
          for (i = 0; i < 7; i++) {
            mom = createUTC([2e3, 1]).day(i);
            if (strict && !this._fullWeekdaysParse[i]) {
              this._fullWeekdaysParse[i] = new RegExp(
                "^" + this.weekdays(mom, "").replace(".", "\\.?") + "$",
                "i"
              );
              this._shortWeekdaysParse[i] = new RegExp(
                "^" + this.weekdaysShort(mom, "").replace(".", "\\.?") + "$",
                "i"
              );
              this._minWeekdaysParse[i] = new RegExp(
                "^" + this.weekdaysMin(mom, "").replace(".", "\\.?") + "$",
                "i"
              );
            }
            if (!this._weekdaysParse[i]) {
              regex = "^" + this.weekdays(mom, "") + "|^" + this.weekdaysShort(mom, "") + "|^" + this.weekdaysMin(mom, "");
              this._weekdaysParse[i] = new RegExp(regex.replace(".", ""), "i");
            }
            if (strict && format2 === "dddd" && this._fullWeekdaysParse[i].test(weekdayName)) {
              return i;
            } else if (strict && format2 === "ddd" && this._shortWeekdaysParse[i].test(weekdayName)) {
              return i;
            } else if (strict && format2 === "dd" && this._minWeekdaysParse[i].test(weekdayName)) {
              return i;
            } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
              return i;
            }
          }
        }
        function getSetDayOfWeek(input) {
          if (!this.isValid()) {
            return input != null ? this : NaN;
          }
          var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
          if (input != null) {
            input = parseWeekday(input, this.localeData());
            return this.add(input - day, "d");
          } else {
            return day;
          }
        }
        function getSetLocaleDayOfWeek(input) {
          if (!this.isValid()) {
            return input != null ? this : NaN;
          }
          var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
          return input == null ? weekday : this.add(input - weekday, "d");
        }
        function getSetISODayOfWeek(input) {
          if (!this.isValid()) {
            return input != null ? this : NaN;
          }
          if (input != null) {
            var weekday = parseIsoWeekday(input, this.localeData());
            return this.day(this.day() % 7 ? weekday : weekday - 7);
          } else {
            return this.day() || 7;
          }
        }
        function weekdaysRegex(isStrict) {
          if (this._weekdaysParseExact) {
            if (!hasOwnProp(this, "_weekdaysRegex")) {
              computeWeekdaysParse.call(this);
            }
            if (isStrict) {
              return this._weekdaysStrictRegex;
            } else {
              return this._weekdaysRegex;
            }
          } else {
            if (!hasOwnProp(this, "_weekdaysRegex")) {
              this._weekdaysRegex = defaultWeekdaysRegex;
            }
            return this._weekdaysStrictRegex && isStrict ? this._weekdaysStrictRegex : this._weekdaysRegex;
          }
        }
        function weekdaysShortRegex(isStrict) {
          if (this._weekdaysParseExact) {
            if (!hasOwnProp(this, "_weekdaysRegex")) {
              computeWeekdaysParse.call(this);
            }
            if (isStrict) {
              return this._weekdaysShortStrictRegex;
            } else {
              return this._weekdaysShortRegex;
            }
          } else {
            if (!hasOwnProp(this, "_weekdaysShortRegex")) {
              this._weekdaysShortRegex = defaultWeekdaysShortRegex;
            }
            return this._weekdaysShortStrictRegex && isStrict ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex;
          }
        }
        function weekdaysMinRegex(isStrict) {
          if (this._weekdaysParseExact) {
            if (!hasOwnProp(this, "_weekdaysRegex")) {
              computeWeekdaysParse.call(this);
            }
            if (isStrict) {
              return this._weekdaysMinStrictRegex;
            } else {
              return this._weekdaysMinRegex;
            }
          } else {
            if (!hasOwnProp(this, "_weekdaysMinRegex")) {
              this._weekdaysMinRegex = defaultWeekdaysMinRegex;
            }
            return this._weekdaysMinStrictRegex && isStrict ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex;
          }
        }
        function computeWeekdaysParse() {
          function cmpLenRev(a, b) {
            return b.length - a.length;
          }
          var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [], i, mom, minp, shortp, longp;
          for (i = 0; i < 7; i++) {
            mom = createUTC([2e3, 1]).day(i);
            minp = regexEscape(this.weekdaysMin(mom, ""));
            shortp = regexEscape(this.weekdaysShort(mom, ""));
            longp = regexEscape(this.weekdays(mom, ""));
            minPieces.push(minp);
            shortPieces.push(shortp);
            longPieces.push(longp);
            mixedPieces.push(minp);
            mixedPieces.push(shortp);
            mixedPieces.push(longp);
          }
          minPieces.sort(cmpLenRev);
          shortPieces.sort(cmpLenRev);
          longPieces.sort(cmpLenRev);
          mixedPieces.sort(cmpLenRev);
          this._weekdaysRegex = new RegExp("^(" + mixedPieces.join("|") + ")", "i");
          this._weekdaysShortRegex = this._weekdaysRegex;
          this._weekdaysMinRegex = this._weekdaysRegex;
          this._weekdaysStrictRegex = new RegExp(
            "^(" + longPieces.join("|") + ")",
            "i"
          );
          this._weekdaysShortStrictRegex = new RegExp(
            "^(" + shortPieces.join("|") + ")",
            "i"
          );
          this._weekdaysMinStrictRegex = new RegExp(
            "^(" + minPieces.join("|") + ")",
            "i"
          );
        }
        function hFormat() {
          return this.hours() % 12 || 12;
        }
        function kFormat() {
          return this.hours() || 24;
        }
        addFormatToken("H", ["HH", 2], 0, "hour");
        addFormatToken("h", ["hh", 2], 0, hFormat);
        addFormatToken("k", ["kk", 2], 0, kFormat);
        addFormatToken("hmm", 0, 0, function() {
          return "" + hFormat.apply(this) + zeroFill(this.minutes(), 2);
        });
        addFormatToken("hmmss", 0, 0, function() {
          return "" + hFormat.apply(this) + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);
        });
        addFormatToken("Hmm", 0, 0, function() {
          return "" + this.hours() + zeroFill(this.minutes(), 2);
        });
        addFormatToken("Hmmss", 0, 0, function() {
          return "" + this.hours() + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);
        });
        function meridiem(token2, lowercase) {
          addFormatToken(token2, 0, 0, function() {
            return this.localeData().meridiem(
              this.hours(),
              this.minutes(),
              lowercase
            );
          });
        }
        meridiem("a", true);
        meridiem("A", false);
        addUnitAlias("hour", "h");
        addUnitPriority("hour", 13);
        function matchMeridiem(isStrict, locale2) {
          return locale2._meridiemParse;
        }
        addRegexToken("a", matchMeridiem);
        addRegexToken("A", matchMeridiem);
        addRegexToken("H", match1to2);
        addRegexToken("h", match1to2);
        addRegexToken("k", match1to2);
        addRegexToken("HH", match1to2, match2);
        addRegexToken("hh", match1to2, match2);
        addRegexToken("kk", match1to2, match2);
        addRegexToken("hmm", match3to4);
        addRegexToken("hmmss", match5to6);
        addRegexToken("Hmm", match3to4);
        addRegexToken("Hmmss", match5to6);
        addParseToken(["H", "HH"], HOUR3);
        addParseToken(["k", "kk"], function(input, array, config) {
          var kInput = toInt(input);
          array[HOUR3] = kInput === 24 ? 0 : kInput;
        });
        addParseToken(["a", "A"], function(input, array, config) {
          config._isPm = config._locale.isPM(input);
          config._meridiem = input;
        });
        addParseToken(["h", "hh"], function(input, array, config) {
          array[HOUR3] = toInt(input);
          getParsingFlags(config).bigHour = true;
        });
        addParseToken("hmm", function(input, array, config) {
          var pos = input.length - 2;
          array[HOUR3] = toInt(input.substr(0, pos));
          array[MINUTE3] = toInt(input.substr(pos));
          getParsingFlags(config).bigHour = true;
        });
        addParseToken("hmmss", function(input, array, config) {
          var pos1 = input.length - 4, pos2 = input.length - 2;
          array[HOUR3] = toInt(input.substr(0, pos1));
          array[MINUTE3] = toInt(input.substr(pos1, 2));
          array[SECOND3] = toInt(input.substr(pos2));
          getParsingFlags(config).bigHour = true;
        });
        addParseToken("Hmm", function(input, array, config) {
          var pos = input.length - 2;
          array[HOUR3] = toInt(input.substr(0, pos));
          array[MINUTE3] = toInt(input.substr(pos));
        });
        addParseToken("Hmmss", function(input, array, config) {
          var pos1 = input.length - 4, pos2 = input.length - 2;
          array[HOUR3] = toInt(input.substr(0, pos1));
          array[MINUTE3] = toInt(input.substr(pos1, 2));
          array[SECOND3] = toInt(input.substr(pos2));
        });
        function localeIsPM(input) {
          return (input + "").toLowerCase().charAt(0) === "p";
        }
        var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, getSetHour = makeGetSet("Hours", true);
        function localeMeridiem(hours2, minutes2, isLower) {
          if (hours2 > 11) {
            return isLower ? "pm" : "PM";
          } else {
            return isLower ? "am" : "AM";
          }
        }
        var baseConfig = {
          calendar: defaultCalendar,
          longDateFormat: defaultLongDateFormat,
          invalidDate: defaultInvalidDate,
          ordinal: defaultOrdinal,
          dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
          relativeTime: defaultRelativeTime,
          months: defaultLocaleMonths,
          monthsShort: defaultLocaleMonthsShort,
          week: defaultLocaleWeek,
          weekdays: defaultLocaleWeekdays,
          weekdaysMin: defaultLocaleWeekdaysMin,
          weekdaysShort: defaultLocaleWeekdaysShort,
          meridiemParse: defaultLocaleMeridiemParse
        };
        var locales = {}, localeFamilies = {}, globalLocale;
        function commonPrefix(arr1, arr2) {
          var i, minl = Math.min(arr1.length, arr2.length);
          for (i = 0; i < minl; i += 1) {
            if (arr1[i] !== arr2[i]) {
              return i;
            }
          }
          return minl;
        }
        function normalizeLocale(key) {
          return key ? key.toLowerCase().replace("_", "-") : key;
        }
        function chooseLocale(names) {
          var i = 0, j, next, locale2, split;
          while (i < names.length) {
            split = normalizeLocale(names[i]).split("-");
            j = split.length;
            next = normalizeLocale(names[i + 1]);
            next = next ? next.split("-") : null;
            while (j > 0) {
              locale2 = loadLocale(split.slice(0, j).join("-"));
              if (locale2) {
                return locale2;
              }
              if (next && next.length >= j && commonPrefix(split, next) >= j - 1) {
                break;
              }
              j--;
            }
            i++;
          }
          return globalLocale;
        }
        function isLocaleNameSane(name) {
          return name.match("^[^/\\\\]*$") != null;
        }
        function loadLocale(name) {
          var oldLocale = null, aliasedRequire;
          if (locales[name] === void 0 && typeof module2 !== "undefined" && module2 && module2.exports && isLocaleNameSane(name)) {
            try {
              oldLocale = globalLocale._abbr;
              aliasedRequire = __require;
              aliasedRequire("./locale/" + name);
              getSetGlobalLocale(oldLocale);
            } catch (e) {
              locales[name] = null;
            }
          }
          return locales[name];
        }
        function getSetGlobalLocale(key, values2) {
          var data;
          if (key) {
            if (isUndefined(values2)) {
              data = getLocale(key);
            } else {
              data = defineLocale(key, values2);
            }
            if (data) {
              globalLocale = data;
            } else {
              if (typeof console !== "undefined" && console.warn) {
                console.warn(
                  "Locale " + key + " not found. Did you forget to load it?"
                );
              }
            }
          }
          return globalLocale._abbr;
        }
        function defineLocale(name, config) {
          if (config !== null) {
            var locale2, parentConfig = baseConfig;
            config.abbr = name;
            if (locales[name] != null) {
              deprecateSimple(
                "defineLocaleOverride",
                "use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."
              );
              parentConfig = locales[name]._config;
            } else if (config.parentLocale != null) {
              if (locales[config.parentLocale] != null) {
                parentConfig = locales[config.parentLocale]._config;
              } else {
                locale2 = loadLocale(config.parentLocale);
                if (locale2 != null) {
                  parentConfig = locale2._config;
                } else {
                  if (!localeFamilies[config.parentLocale]) {
                    localeFamilies[config.parentLocale] = [];
                  }
                  localeFamilies[config.parentLocale].push({
                    name,
                    config
                  });
                  return null;
                }
              }
            }
            locales[name] = new Locale(mergeConfigs(parentConfig, config));
            if (localeFamilies[name]) {
              localeFamilies[name].forEach(function(x) {
                defineLocale(x.name, x.config);
              });
            }
            getSetGlobalLocale(name);
            return locales[name];
          } else {
            delete locales[name];
            return null;
          }
        }
        function updateLocale(name, config) {
          if (config != null) {
            var locale2, tmpLocale, parentConfig = baseConfig;
            if (locales[name] != null && locales[name].parentLocale != null) {
              locales[name].set(mergeConfigs(locales[name]._config, config));
            } else {
              tmpLocale = loadLocale(name);
              if (tmpLocale != null) {
                parentConfig = tmpLocale._config;
              }
              config = mergeConfigs(parentConfig, config);
              if (tmpLocale == null) {
                config.abbr = name;
              }
              locale2 = new Locale(config);
              locale2.parentLocale = locales[name];
              locales[name] = locale2;
            }
            getSetGlobalLocale(name);
          } else {
            if (locales[name] != null) {
              if (locales[name].parentLocale != null) {
                locales[name] = locales[name].parentLocale;
                if (name === getSetGlobalLocale()) {
                  getSetGlobalLocale(name);
                }
              } else if (locales[name] != null) {
                delete locales[name];
              }
            }
          }
          return locales[name];
        }
        function getLocale(key) {
          var locale2;
          if (key && key._locale && key._locale._abbr) {
            key = key._locale._abbr;
          }
          if (!key) {
            return globalLocale;
          }
          if (!isArray2(key)) {
            locale2 = loadLocale(key);
            if (locale2) {
              return locale2;
            }
            key = [key];
          }
          return chooseLocale(key);
        }
        function listLocales() {
          return keys(locales);
        }
        function checkOverflow(m) {
          var overflow, a = m._a;
          if (a && getParsingFlags(m).overflow === -2) {
            overflow = a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR2], a[MONTH]) ? DATE : a[HOUR3] < 0 || a[HOUR3] > 24 || a[HOUR3] === 24 && (a[MINUTE3] !== 0 || a[SECOND3] !== 0 || a[MILLISECOND] !== 0) ? HOUR3 : a[MINUTE3] < 0 || a[MINUTE3] > 59 ? MINUTE3 : a[SECOND3] < 0 || a[SECOND3] > 59 ? SECOND3 : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : -1;
            if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR2 || overflow > DATE)) {
              overflow = DATE;
            }
            if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
              overflow = WEEK;
            }
            if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
              overflow = WEEKDAY;
            }
            getParsingFlags(m).overflow = overflow;
          }
          return m;
        }
        var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, tzRegex = /Z|[+-]\d\d(?::?\d\d)?/, isoDates = [
          ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/],
          ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/],
          ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/],
          ["GGGG-[W]WW", /\d{4}-W\d\d/, false],
          ["YYYY-DDD", /\d{4}-\d{3}/],
          ["YYYY-MM", /\d{4}-\d\d/, false],
          ["YYYYYYMMDD", /[+-]\d{10}/],
          ["YYYYMMDD", /\d{8}/],
          ["GGGG[W]WWE", /\d{4}W\d{3}/],
          ["GGGG[W]WW", /\d{4}W\d{2}/, false],
          ["YYYYDDD", /\d{7}/],
          ["YYYYMM", /\d{6}/, false],
          ["YYYY", /\d{4}/, false]
        ], isoTimes = [
          ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/],
          ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/],
          ["HH:mm:ss", /\d\d:\d\d:\d\d/],
          ["HH:mm", /\d\d:\d\d/],
          ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/],
          ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/],
          ["HHmmss", /\d\d\d\d\d\d/],
          ["HHmm", /\d\d\d\d/],
          ["HH", /\d\d/]
        ], aspNetJsonRegex = /^\/?Date\((-?\d+)/i, rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, obsOffsets = {
          UT: 0,
          GMT: 0,
          EDT: -4 * 60,
          EST: -5 * 60,
          CDT: -5 * 60,
          CST: -6 * 60,
          MDT: -6 * 60,
          MST: -7 * 60,
          PDT: -7 * 60,
          PST: -8 * 60
        };
        function configFromISO(config) {
          var i, l, string = config._i, match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), allowTime, dateFormat, timeFormat, tzFormat, isoDatesLen = isoDates.length, isoTimesLen = isoTimes.length;
          if (match) {
            getParsingFlags(config).iso = true;
            for (i = 0, l = isoDatesLen; i < l; i++) {
              if (isoDates[i][1].exec(match[1])) {
                dateFormat = isoDates[i][0];
                allowTime = isoDates[i][2] !== false;
                break;
              }
            }
            if (dateFormat == null) {
              config._isValid = false;
              return;
            }
            if (match[3]) {
              for (i = 0, l = isoTimesLen; i < l; i++) {
                if (isoTimes[i][1].exec(match[3])) {
                  timeFormat = (match[2] || " ") + isoTimes[i][0];
                  break;
                }
              }
              if (timeFormat == null) {
                config._isValid = false;
                return;
              }
            }
            if (!allowTime && timeFormat != null) {
              config._isValid = false;
              return;
            }
            if (match[4]) {
              if (tzRegex.exec(match[4])) {
                tzFormat = "Z";
              } else {
                config._isValid = false;
                return;
              }
            }
            config._f = dateFormat + (timeFormat || "") + (tzFormat || "");
            configFromStringAndFormat(config);
          } else {
            config._isValid = false;
          }
        }
        function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
          var result2 = [
            untruncateYear(yearStr),
            defaultLocaleMonthsShort.indexOf(monthStr),
            parseInt(dayStr, 10),
            parseInt(hourStr, 10),
            parseInt(minuteStr, 10)
          ];
          if (secondStr) {
            result2.push(parseInt(secondStr, 10));
          }
          return result2;
        }
        function untruncateYear(yearStr) {
          var year = parseInt(yearStr, 10);
          if (year <= 49) {
            return 2e3 + year;
          } else if (year <= 999) {
            return 1900 + year;
          }
          return year;
        }
        function preprocessRFC2822(s) {
          return s.replace(/\([^()]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "");
        }
        function checkWeekday(weekdayStr, parsedInput, config) {
          if (weekdayStr) {
            var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), weekdayActual = new Date(
              parsedInput[0],
              parsedInput[1],
              parsedInput[2]
            ).getDay();
            if (weekdayProvided !== weekdayActual) {
              getParsingFlags(config).weekdayMismatch = true;
              config._isValid = false;
              return false;
            }
          }
          return true;
        }
        function calculateOffset(obsOffset, militaryOffset, numOffset) {
          if (obsOffset) {
            return obsOffsets[obsOffset];
          } else if (militaryOffset) {
            return 0;
          } else {
            var hm = parseInt(numOffset, 10), m = hm % 100, h = (hm - m) / 100;
            return h * 60 + m;
          }
        }
        function configFromRFC2822(config) {
          var match = rfc2822.exec(preprocessRFC2822(config._i)), parsedArray;
          if (match) {
            parsedArray = extractFromRFC2822Strings(
              match[4],
              match[3],
              match[2],
              match[5],
              match[6],
              match[7]
            );
            if (!checkWeekday(match[1], parsedArray, config)) {
              return;
            }
            config._a = parsedArray;
            config._tzm = calculateOffset(match[8], match[9], match[10]);
            config._d = createUTCDate.apply(null, config._a);
            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
            getParsingFlags(config).rfc2822 = true;
          } else {
            config._isValid = false;
          }
        }
        function configFromString(config) {
          var matched = aspNetJsonRegex.exec(config._i);
          if (matched !== null) {
            config._d = /* @__PURE__ */ new Date(+matched[1]);
            return;
          }
          configFromISO(config);
          if (config._isValid === false) {
            delete config._isValid;
          } else {
            return;
          }
          configFromRFC2822(config);
          if (config._isValid === false) {
            delete config._isValid;
          } else {
            return;
          }
          if (config._strict) {
            config._isValid = false;
          } else {
            hooks.createFromInputFallback(config);
          }
        }
        hooks.createFromInputFallback = deprecate(
          "value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",
          function(config) {
            config._d = /* @__PURE__ */ new Date(config._i + (config._useUTC ? " UTC" : ""));
          }
        );
        function defaults(a, b, c) {
          if (a != null) {
            return a;
          }
          if (b != null) {
            return b;
          }
          return c;
        }
        function currentDateArray(config) {
          var nowValue = new Date(hooks.now());
          if (config._useUTC) {
            return [
              nowValue.getUTCFullYear(),
              nowValue.getUTCMonth(),
              nowValue.getUTCDate()
            ];
          }
          return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
        }
        function configFromArray(config) {
          var i, date2, input = [], currentDate, expectedWeekday, yearToUse;
          if (config._d) {
            return;
          }
          currentDate = currentDateArray(config);
          if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
            dayOfYearFromWeekInfo(config);
          }
          if (config._dayOfYear != null) {
            yearToUse = defaults(config._a[YEAR2], currentDate[YEAR2]);
            if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {
              getParsingFlags(config)._overflowDayOfYear = true;
            }
            date2 = createUTCDate(yearToUse, 0, config._dayOfYear);
            config._a[MONTH] = date2.getUTCMonth();
            config._a[DATE] = date2.getUTCDate();
          }
          for (i = 0; i < 3 && config._a[i] == null; ++i) {
            config._a[i] = input[i] = currentDate[i];
          }
          for (; i < 7; i++) {
            config._a[i] = input[i] = config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i];
          }
          if (config._a[HOUR3] === 24 && config._a[MINUTE3] === 0 && config._a[SECOND3] === 0 && config._a[MILLISECOND] === 0) {
            config._nextDay = true;
            config._a[HOUR3] = 0;
          }
          config._d = (config._useUTC ? createUTCDate : createDate).apply(
            null,
            input
          );
          expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();
          if (config._tzm != null) {
            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
          }
          if (config._nextDay) {
            config._a[HOUR3] = 24;
          }
          if (config._w && typeof config._w.d !== "undefined" && config._w.d !== expectedWeekday) {
            getParsingFlags(config).weekdayMismatch = true;
          }
        }
        function dayOfYearFromWeekInfo(config) {
          var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;
          w = config._w;
          if (w.GG != null || w.W != null || w.E != null) {
            dow = 1;
            doy = 4;
            weekYear = defaults(
              w.GG,
              config._a[YEAR2],
              weekOfYear(createLocal(), 1, 4).year
            );
            week = defaults(w.W, 1);
            weekday = defaults(w.E, 1);
            if (weekday < 1 || weekday > 7) {
              weekdayOverflow = true;
            }
          } else {
            dow = config._locale._week.dow;
            doy = config._locale._week.doy;
            curWeek = weekOfYear(createLocal(), dow, doy);
            weekYear = defaults(w.gg, config._a[YEAR2], curWeek.year);
            week = defaults(w.w, curWeek.week);
            if (w.d != null) {
              weekday = w.d;
              if (weekday < 0 || weekday > 6) {
                weekdayOverflow = true;
              }
            } else if (w.e != null) {
              weekday = w.e + dow;
              if (w.e < 0 || w.e > 6) {
                weekdayOverflow = true;
              }
            } else {
              weekday = dow;
            }
          }
          if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
            getParsingFlags(config)._overflowWeeks = true;
          } else if (weekdayOverflow != null) {
            getParsingFlags(config)._overflowWeekday = true;
          } else {
            temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
            config._a[YEAR2] = temp.year;
            config._dayOfYear = temp.dayOfYear;
          }
        }
        hooks.ISO_8601 = function() {
        };
        hooks.RFC_2822 = function() {
        };
        function configFromStringAndFormat(config) {
          if (config._f === hooks.ISO_8601) {
            configFromISO(config);
            return;
          }
          if (config._f === hooks.RFC_2822) {
            configFromRFC2822(config);
            return;
          }
          config._a = [];
          getParsingFlags(config).empty = true;
          var string = "" + config._i, i, parsedInput, tokens2, token2, skipped, stringLength = string.length, totalParsedInputLength = 0, era, tokenLen;
          tokens2 = expandFormat(config._f, config._locale).match(formattingTokens) || [];
          tokenLen = tokens2.length;
          for (i = 0; i < tokenLen; i++) {
            token2 = tokens2[i];
            parsedInput = (string.match(getParseRegexForToken(token2, config)) || [])[0];
            if (parsedInput) {
              skipped = string.substr(0, string.indexOf(parsedInput));
              if (skipped.length > 0) {
                getParsingFlags(config).unusedInput.push(skipped);
              }
              string = string.slice(
                string.indexOf(parsedInput) + parsedInput.length
              );
              totalParsedInputLength += parsedInput.length;
            }
            if (formatTokenFunctions[token2]) {
              if (parsedInput) {
                getParsingFlags(config).empty = false;
              } else {
                getParsingFlags(config).unusedTokens.push(token2);
              }
              addTimeToArrayFromToken(token2, parsedInput, config);
            } else if (config._strict && !parsedInput) {
              getParsingFlags(config).unusedTokens.push(token2);
            }
          }
          getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
          if (string.length > 0) {
            getParsingFlags(config).unusedInput.push(string);
          }
          if (config._a[HOUR3] <= 12 && getParsingFlags(config).bigHour === true && config._a[HOUR3] > 0) {
            getParsingFlags(config).bigHour = void 0;
          }
          getParsingFlags(config).parsedDateParts = config._a.slice(0);
          getParsingFlags(config).meridiem = config._meridiem;
          config._a[HOUR3] = meridiemFixWrap(
            config._locale,
            config._a[HOUR3],
            config._meridiem
          );
          era = getParsingFlags(config).era;
          if (era !== null) {
            config._a[YEAR2] = config._locale.erasConvertYear(era, config._a[YEAR2]);
          }
          configFromArray(config);
          checkOverflow(config);
        }
        function meridiemFixWrap(locale2, hour, meridiem2) {
          var isPm;
          if (meridiem2 == null) {
            return hour;
          }
          if (locale2.meridiemHour != null) {
            return locale2.meridiemHour(hour, meridiem2);
          } else if (locale2.isPM != null) {
            isPm = locale2.isPM(meridiem2);
            if (isPm && hour < 12) {
              hour += 12;
            }
            if (!isPm && hour === 12) {
              hour = 0;
            }
            return hour;
          } else {
            return hour;
          }
        }
        function configFromStringAndArray(config) {
          var tempConfig, bestMoment, scoreToBeat, i, currentScore, validFormatFound, bestFormatIsValid = false, configfLen = config._f.length;
          if (configfLen === 0) {
            getParsingFlags(config).invalidFormat = true;
            config._d = /* @__PURE__ */ new Date(NaN);
            return;
          }
          for (i = 0; i < configfLen; i++) {
            currentScore = 0;
            validFormatFound = false;
            tempConfig = copyConfig({}, config);
            if (config._useUTC != null) {
              tempConfig._useUTC = config._useUTC;
            }
            tempConfig._f = config._f[i];
            configFromStringAndFormat(tempConfig);
            if (isValid(tempConfig)) {
              validFormatFound = true;
            }
            currentScore += getParsingFlags(tempConfig).charsLeftOver;
            currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
            getParsingFlags(tempConfig).score = currentScore;
            if (!bestFormatIsValid) {
              if (scoreToBeat == null || currentScore < scoreToBeat || validFormatFound) {
                scoreToBeat = currentScore;
                bestMoment = tempConfig;
                if (validFormatFound) {
                  bestFormatIsValid = true;
                }
              }
            } else {
              if (currentScore < scoreToBeat) {
                scoreToBeat = currentScore;
                bestMoment = tempConfig;
              }
            }
          }
          extend(config, bestMoment || tempConfig);
        }
        function configFromObject(config) {
          if (config._d) {
            return;
          }
          var i = normalizeObjectUnits(config._i), dayOrDate = i.day === void 0 ? i.date : i.day;
          config._a = map(
            [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],
            function(obj) {
              return obj && parseInt(obj, 10);
            }
          );
          configFromArray(config);
        }
        function createFromConfig(config) {
          var res = new Moment(checkOverflow(prepareConfig(config)));
          if (res._nextDay) {
            res.add(1, "d");
            res._nextDay = void 0;
          }
          return res;
        }
        function prepareConfig(config) {
          var input = config._i, format2 = config._f;
          config._locale = config._locale || getLocale(config._l);
          if (input === null || format2 === void 0 && input === "") {
            return createInvalid({ nullInput: true });
          }
          if (typeof input === "string") {
            config._i = input = config._locale.preparse(input);
          }
          if (isMoment(input)) {
            return new Moment(checkOverflow(input));
          } else if (isDate(input)) {
            config._d = input;
          } else if (isArray2(format2)) {
            configFromStringAndArray(config);
          } else if (format2) {
            configFromStringAndFormat(config);
          } else {
            configFromInput(config);
          }
          if (!isValid(config)) {
            config._d = null;
          }
          return config;
        }
        function configFromInput(config) {
          var input = config._i;
          if (isUndefined(input)) {
            config._d = new Date(hooks.now());
          } else if (isDate(input)) {
            config._d = new Date(input.valueOf());
          } else if (typeof input === "string") {
            configFromString(config);
          } else if (isArray2(input)) {
            config._a = map(input.slice(0), function(obj) {
              return parseInt(obj, 10);
            });
            configFromArray(config);
          } else if (isObject2(input)) {
            configFromObject(config);
          } else if (isNumber2(input)) {
            config._d = new Date(input);
          } else {
            hooks.createFromInputFallback(config);
          }
        }
        function createLocalOrUTC(input, format2, locale2, strict, isUTC) {
          var c = {};
          if (format2 === true || format2 === false) {
            strict = format2;
            format2 = void 0;
          }
          if (locale2 === true || locale2 === false) {
            strict = locale2;
            locale2 = void 0;
          }
          if (isObject2(input) && isObjectEmpty(input) || isArray2(input) && input.length === 0) {
            input = void 0;
          }
          c._isAMomentObject = true;
          c._useUTC = c._isUTC = isUTC;
          c._l = locale2;
          c._i = input;
          c._f = format2;
          c._strict = strict;
          return createFromConfig(c);
        }
        function createLocal(input, format2, locale2, strict) {
          return createLocalOrUTC(input, format2, locale2, strict, false);
        }
        var prototypeMin = deprecate(
          "moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",
          function() {
            var other = createLocal.apply(null, arguments);
            if (this.isValid() && other.isValid()) {
              return other < this ? this : other;
            } else {
              return createInvalid();
            }
          }
        ), prototypeMax = deprecate(
          "moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",
          function() {
            var other = createLocal.apply(null, arguments);
            if (this.isValid() && other.isValid()) {
              return other > this ? this : other;
            } else {
              return createInvalid();
            }
          }
        );
        function pickBy(fn, moments) {
          var res, i;
          if (moments.length === 1 && isArray2(moments[0])) {
            moments = moments[0];
          }
          if (!moments.length) {
            return createLocal();
          }
          res = moments[0];
          for (i = 1; i < moments.length; ++i) {
            if (!moments[i].isValid() || moments[i][fn](res)) {
              res = moments[i];
            }
          }
          return res;
        }
        function min() {
          var args = [].slice.call(arguments, 0);
          return pickBy("isBefore", args);
        }
        function max() {
          var args = [].slice.call(arguments, 0);
          return pickBy("isAfter", args);
        }
        var now = function() {
          return Date.now ? Date.now() : +/* @__PURE__ */ new Date();
        };
        var ordering = [
          "year",
          "quarter",
          "month",
          "week",
          "day",
          "hour",
          "minute",
          "second",
          "millisecond"
        ];
        function isDurationValid(m) {
          var key, unitHasDecimal = false, i, orderLen = ordering.length;
          for (key in m) {
            if (hasOwnProp(m, key) && !(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {
              return false;
            }
          }
          for (i = 0; i < orderLen; ++i) {
            if (m[ordering[i]]) {
              if (unitHasDecimal) {
                return false;
              }
              if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
                unitHasDecimal = true;
              }
            }
          }
          return true;
        }
        function isValid$1() {
          return this._isValid;
        }
        function createInvalid$1() {
          return createDuration(NaN);
        }
        function Duration(duration) {
          var normalizedInput = normalizeObjectUnits(duration), years2 = normalizedInput.year || 0, quarters = normalizedInput.quarter || 0, months2 = normalizedInput.month || 0, weeks2 = normalizedInput.week || normalizedInput.isoWeek || 0, days2 = normalizedInput.day || 0, hours2 = normalizedInput.hour || 0, minutes2 = normalizedInput.minute || 0, seconds2 = normalizedInput.second || 0, milliseconds2 = normalizedInput.millisecond || 0;
          this._isValid = isDurationValid(normalizedInput);
          this._milliseconds = +milliseconds2 + seconds2 * 1e3 + // 1000
          minutes2 * 6e4 + // 1000 * 60
          hours2 * 1e3 * 60 * 60;
          this._days = +days2 + weeks2 * 7;
          this._months = +months2 + quarters * 3 + years2 * 12;
          this._data = {};
          this._locale = getLocale();
          this._bubble();
        }
        function isDuration(obj) {
          return obj instanceof Duration;
        }
        function absRound(number) {
          if (number < 0) {
            return Math.round(-1 * number) * -1;
          } else {
            return Math.round(number);
          }
        }
        function compareArrays(array1, array2, dontConvert) {
          var len = Math.min(array1.length, array2.length), lengthDiff = Math.abs(array1.length - array2.length), diffs = 0, i;
          for (i = 0; i < len; i++) {
            if (dontConvert && array1[i] !== array2[i] || !dontConvert && toInt(array1[i]) !== toInt(array2[i])) {
              diffs++;
            }
          }
          return diffs + lengthDiff;
        }
        function offset(token2, separator) {
          addFormatToken(token2, 0, 0, function() {
            var offset2 = this.utcOffset(), sign2 = "+";
            if (offset2 < 0) {
              offset2 = -offset2;
              sign2 = "-";
            }
            return sign2 + zeroFill(~~(offset2 / 60), 2) + separator + zeroFill(~~offset2 % 60, 2);
          });
        }
        offset("Z", ":");
        offset("ZZ", "");
        addRegexToken("Z", matchShortOffset);
        addRegexToken("ZZ", matchShortOffset);
        addParseToken(["Z", "ZZ"], function(input, array, config) {
          config._useUTC = true;
          config._tzm = offsetFromString(matchShortOffset, input);
        });
        var chunkOffset = /([\+\-]|\d\d)/gi;
        function offsetFromString(matcher, string) {
          var matches = (string || "").match(matcher), chunk, parts, minutes2;
          if (matches === null) {
            return null;
          }
          chunk = matches[matches.length - 1] || [];
          parts = (chunk + "").match(chunkOffset) || ["-", 0, 0];
          minutes2 = +(parts[1] * 60) + toInt(parts[2]);
          return minutes2 === 0 ? 0 : parts[0] === "+" ? minutes2 : -minutes2;
        }
        function cloneWithOffset(input, model) {
          var res, diff2;
          if (model._isUTC) {
            res = model.clone();
            diff2 = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();
            res._d.setTime(res._d.valueOf() + diff2);
            hooks.updateOffset(res, false);
            return res;
          } else {
            return createLocal(input).local();
          }
        }
        function getDateOffset(m) {
          return -Math.round(m._d.getTimezoneOffset());
        }
        hooks.updateOffset = function() {
        };
        function getSetOffset(input, keepLocalTime, keepMinutes) {
          var offset2 = this._offset || 0, localAdjust;
          if (!this.isValid()) {
            return input != null ? this : NaN;
          }
          if (input != null) {
            if (typeof input === "string") {
              input = offsetFromString(matchShortOffset, input);
              if (input === null) {
                return this;
              }
            } else if (Math.abs(input) < 16 && !keepMinutes) {
              input = input * 60;
            }
            if (!this._isUTC && keepLocalTime) {
              localAdjust = getDateOffset(this);
            }
            this._offset = input;
            this._isUTC = true;
            if (localAdjust != null) {
              this.add(localAdjust, "m");
            }
            if (offset2 !== input) {
              if (!keepLocalTime || this._changeInProgress) {
                addSubtract(
                  this,
                  createDuration(input - offset2, "m"),
                  1,
                  false
                );
              } else if (!this._changeInProgress) {
                this._changeInProgress = true;
                hooks.updateOffset(this, true);
                this._changeInProgress = null;
              }
            }
            return this;
          } else {
            return this._isUTC ? offset2 : getDateOffset(this);
          }
        }
        function getSetZone(input, keepLocalTime) {
          if (input != null) {
            if (typeof input !== "string") {
              input = -input;
            }
            this.utcOffset(input, keepLocalTime);
            return this;
          } else {
            return -this.utcOffset();
          }
        }
        function setOffsetToUTC(keepLocalTime) {
          return this.utcOffset(0, keepLocalTime);
        }
        function setOffsetToLocal(keepLocalTime) {
          if (this._isUTC) {
            this.utcOffset(0, keepLocalTime);
            this._isUTC = false;
            if (keepLocalTime) {
              this.subtract(getDateOffset(this), "m");
            }
          }
          return this;
        }
        function setOffsetToParsedOffset() {
          if (this._tzm != null) {
            this.utcOffset(this._tzm, false, true);
          } else if (typeof this._i === "string") {
            var tZone = offsetFromString(matchOffset, this._i);
            if (tZone != null) {
              this.utcOffset(tZone);
            } else {
              this.utcOffset(0, true);
            }
          }
          return this;
        }
        function hasAlignedHourOffset(input) {
          if (!this.isValid()) {
            return false;
          }
          input = input ? createLocal(input).utcOffset() : 0;
          return (this.utcOffset() - input) % 60 === 0;
        }
        function isDaylightSavingTime() {
          return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();
        }
        function isDaylightSavingTimeShifted() {
          if (!isUndefined(this._isDSTShifted)) {
            return this._isDSTShifted;
          }
          var c = {}, other;
          copyConfig(c, this);
          c = prepareConfig(c);
          if (c._a) {
            other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
            this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0;
          } else {
            this._isDSTShifted = false;
          }
          return this._isDSTShifted;
        }
        function isLocal() {
          return this.isValid() ? !this._isUTC : false;
        }
        function isUtcOffset() {
          return this.isValid() ? this._isUTC : false;
        }
        function isUtc() {
          return this.isValid() ? this._isUTC && this._offset === 0 : false;
        }
        var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
        function createDuration(input, key) {
          var duration = input, match = null, sign2, ret, diffRes;
          if (isDuration(input)) {
            duration = {
              ms: input._milliseconds,
              d: input._days,
              M: input._months
            };
          } else if (isNumber2(input) || !isNaN(+input)) {
            duration = {};
            if (key) {
              duration[key] = +input;
            } else {
              duration.milliseconds = +input;
            }
          } else if (match = aspNetRegex.exec(input)) {
            sign2 = match[1] === "-" ? -1 : 1;
            duration = {
              y: 0,
              d: toInt(match[DATE]) * sign2,
              h: toInt(match[HOUR3]) * sign2,
              m: toInt(match[MINUTE3]) * sign2,
              s: toInt(match[SECOND3]) * sign2,
              ms: toInt(absRound(match[MILLISECOND] * 1e3)) * sign2
              // the millisecond decimal point is included in the match
            };
          } else if (match = isoRegex.exec(input)) {
            sign2 = match[1] === "-" ? -1 : 1;
            duration = {
              y: parseIso(match[2], sign2),
              M: parseIso(match[3], sign2),
              w: parseIso(match[4], sign2),
              d: parseIso(match[5], sign2),
              h: parseIso(match[6], sign2),
              m: parseIso(match[7], sign2),
              s: parseIso(match[8], sign2)
            };
          } else if (duration == null) {
            duration = {};
          } else if (typeof duration === "object" && ("from" in duration || "to" in duration)) {
            diffRes = momentsDifference(
              createLocal(duration.from),
              createLocal(duration.to)
            );
            duration = {};
            duration.ms = diffRes.milliseconds;
            duration.M = diffRes.months;
          }
          ret = new Duration(duration);
          if (isDuration(input) && hasOwnProp(input, "_locale")) {
            ret._locale = input._locale;
          }
          if (isDuration(input) && hasOwnProp(input, "_isValid")) {
            ret._isValid = input._isValid;
          }
          return ret;
        }
        createDuration.fn = Duration.prototype;
        createDuration.invalid = createInvalid$1;
        function parseIso(inp, sign2) {
          var res = inp && parseFloat(inp.replace(",", "."));
          return (isNaN(res) ? 0 : res) * sign2;
        }
        function positiveMomentsDifference(base, other) {
          var res = {};
          res.months = other.month() - base.month() + (other.year() - base.year()) * 12;
          if (base.clone().add(res.months, "M").isAfter(other)) {
            --res.months;
          }
          res.milliseconds = +other - +base.clone().add(res.months, "M");
          return res;
        }
        function momentsDifference(base, other) {
          var res;
          if (!(base.isValid() && other.isValid())) {
            return { milliseconds: 0, months: 0 };
          }
          other = cloneWithOffset(other, base);
          if (base.isBefore(other)) {
            res = positiveMomentsDifference(base, other);
          } else {
            res = positiveMomentsDifference(other, base);
            res.milliseconds = -res.milliseconds;
            res.months = -res.months;
          }
          return res;
        }
        function createAdder(direction, name) {
          return function(val, period) {
            var dur, tmp;
            if (period !== null && !isNaN(+period)) {
              deprecateSimple(
                name,
                "moment()." + name + "(period, number) is deprecated. Please use moment()." + name + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."
              );
              tmp = val;
              val = period;
              period = tmp;
            }
            dur = createDuration(val, period);
            addSubtract(this, dur, direction);
            return this;
          };
        }
        function addSubtract(mom, duration, isAdding, updateOffset) {
          var milliseconds2 = duration._milliseconds, days2 = absRound(duration._days), months2 = absRound(duration._months);
          if (!mom.isValid()) {
            return;
          }
          updateOffset = updateOffset == null ? true : updateOffset;
          if (months2) {
            setMonth(mom, get8(mom, "Month") + months2 * isAdding);
          }
          if (days2) {
            set$1(mom, "Date", get8(mom, "Date") + days2 * isAdding);
          }
          if (milliseconds2) {
            mom._d.setTime(mom._d.valueOf() + milliseconds2 * isAdding);
          }
          if (updateOffset) {
            hooks.updateOffset(mom, days2 || months2);
          }
        }
        var add = createAdder(1, "add"), subtract = createAdder(-1, "subtract");
        function isString2(input) {
          return typeof input === "string" || input instanceof String;
        }
        function isMomentInput(input) {
          return isMoment(input) || isDate(input) || isString2(input) || isNumber2(input) || isNumberOrStringArray(input) || isMomentInputObject(input) || input === null || input === void 0;
        }
        function isMomentInputObject(input) {
          var objectTest = isObject2(input) && !isObjectEmpty(input), propertyTest = false, properties = [
            "years",
            "year",
            "y",
            "months",
            "month",
            "M",
            "days",
            "day",
            "d",
            "dates",
            "date",
            "D",
            "hours",
            "hour",
            "h",
            "minutes",
            "minute",
            "m",
            "seconds",
            "second",
            "s",
            "milliseconds",
            "millisecond",
            "ms"
          ], i, property, propertyLen = properties.length;
          for (i = 0; i < propertyLen; i += 1) {
            property = properties[i];
            propertyTest = propertyTest || hasOwnProp(input, property);
          }
          return objectTest && propertyTest;
        }
        function isNumberOrStringArray(input) {
          var arrayTest = isArray2(input), dataTypeTest = false;
          if (arrayTest) {
            dataTypeTest = input.filter(function(item) {
              return !isNumber2(item) && isString2(input);
            }).length === 0;
          }
          return arrayTest && dataTypeTest;
        }
        function isCalendarSpec(input) {
          var objectTest = isObject2(input) && !isObjectEmpty(input), propertyTest = false, properties = [
            "sameDay",
            "nextDay",
            "lastDay",
            "nextWeek",
            "lastWeek",
            "sameElse"
          ], i, property;
          for (i = 0; i < properties.length; i += 1) {
            property = properties[i];
            propertyTest = propertyTest || hasOwnProp(input, property);
          }
          return objectTest && propertyTest;
        }
        function getCalendarFormat(myMoment, now2) {
          var diff2 = myMoment.diff(now2, "days", true);
          return diff2 < -6 ? "sameElse" : diff2 < -1 ? "lastWeek" : diff2 < 0 ? "lastDay" : diff2 < 1 ? "sameDay" : diff2 < 2 ? "nextDay" : diff2 < 7 ? "nextWeek" : "sameElse";
        }
        function calendar$1(time, formats) {
          if (arguments.length === 1) {
            if (!arguments[0]) {
              time = void 0;
              formats = void 0;
            } else if (isMomentInput(arguments[0])) {
              time = arguments[0];
              formats = void 0;
            } else if (isCalendarSpec(arguments[0])) {
              formats = arguments[0];
              time = void 0;
            }
          }
          var now2 = time || createLocal(), sod = cloneWithOffset(now2, this).startOf("day"), format2 = hooks.calendarFormat(this, sod) || "sameElse", output = formats && (isFunction3(formats[format2]) ? formats[format2].call(this, now2) : formats[format2]);
          return this.format(
            output || this.localeData().calendar(format2, this, createLocal(now2))
          );
        }
        function clone() {
          return new Moment(this);
        }
        function isAfter(input, units) {
          var localInput = isMoment(input) ? input : createLocal(input);
          if (!(this.isValid() && localInput.isValid())) {
            return false;
          }
          units = normalizeUnits(units) || "millisecond";
          if (units === "millisecond") {
            return this.valueOf() > localInput.valueOf();
          } else {
            return localInput.valueOf() < this.clone().startOf(units).valueOf();
          }
        }
        function isBefore(input, units) {
          var localInput = isMoment(input) ? input : createLocal(input);
          if (!(this.isValid() && localInput.isValid())) {
            return false;
          }
          units = normalizeUnits(units) || "millisecond";
          if (units === "millisecond") {
            return this.valueOf() < localInput.valueOf();
          } else {
            return this.clone().endOf(units).valueOf() < localInput.valueOf();
          }
        }
        function isBetween(from2, to2, units, inclusivity) {
          var localFrom = isMoment(from2) ? from2 : createLocal(from2), localTo = isMoment(to2) ? to2 : createLocal(to2);
          if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {
            return false;
          }
          inclusivity = inclusivity || "()";
          return (inclusivity[0] === "(" ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && (inclusivity[1] === ")" ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));
        }
        function isSame(input, units) {
          var localInput = isMoment(input) ? input : createLocal(input), inputMs;
          if (!(this.isValid() && localInput.isValid())) {
            return false;
          }
          units = normalizeUnits(units) || "millisecond";
          if (units === "millisecond") {
            return this.valueOf() === localInput.valueOf();
          } else {
            inputMs = localInput.valueOf();
            return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();
          }
        }
        function isSameOrAfter(input, units) {
          return this.isSame(input, units) || this.isAfter(input, units);
        }
        function isSameOrBefore(input, units) {
          return this.isSame(input, units) || this.isBefore(input, units);
        }
        function diff(input, units, asFloat) {
          var that, zoneDelta, output;
          if (!this.isValid()) {
            return NaN;
          }
          that = cloneWithOffset(input, this);
          if (!that.isValid()) {
            return NaN;
          }
          zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
          units = normalizeUnits(units);
          switch (units) {
            case "year":
              output = monthDiff(this, that) / 12;
              break;
            case "month":
              output = monthDiff(this, that);
              break;
            case "quarter":
              output = monthDiff(this, that) / 3;
              break;
            case "second":
              output = (this - that) / 1e3;
              break;
            case "minute":
              output = (this - that) / 6e4;
              break;
            case "hour":
              output = (this - that) / 36e5;
              break;
            case "day":
              output = (this - that - zoneDelta) / 864e5;
              break;
            case "week":
              output = (this - that - zoneDelta) / 6048e5;
              break;
            default:
              output = this - that;
          }
          return asFloat ? output : absFloor(output);
        }
        function monthDiff(a, b) {
          if (a.date() < b.date()) {
            return -monthDiff(b, a);
          }
          var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), anchor = a.clone().add(wholeMonthDiff, "months"), anchor2, adjust;
          if (b - anchor < 0) {
            anchor2 = a.clone().add(wholeMonthDiff - 1, "months");
            adjust = (b - anchor) / (anchor - anchor2);
          } else {
            anchor2 = a.clone().add(wholeMonthDiff + 1, "months");
            adjust = (b - anchor) / (anchor2 - anchor);
          }
          return -(wholeMonthDiff + adjust) || 0;
        }
        hooks.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ";
        hooks.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]";
        function toString3() {
          return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
        }
        function toISOString(keepOffset) {
          if (!this.isValid()) {
            return null;
          }
          var utc = keepOffset !== true, m = utc ? this.clone().utc() : this;
          if (m.year() < 0 || m.year() > 9999) {
            return formatMoment(
              m,
              utc ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"
            );
          }
          if (isFunction3(Date.prototype.toISOString)) {
            if (utc) {
              return this.toDate().toISOString();
            } else {
              return new Date(this.valueOf() + this.utcOffset() * 60 * 1e3).toISOString().replace("Z", formatMoment(m, "Z"));
            }
          }
          return formatMoment(
            m,
            utc ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ"
          );
        }
        function inspect2() {
          if (!this.isValid()) {
            return "moment.invalid(/* " + this._i + " */)";
          }
          var func = "moment", zone = "", prefix, year, datetime, suffix;
          if (!this.isLocal()) {
            func = this.utcOffset() === 0 ? "moment.utc" : "moment.parseZone";
            zone = "Z";
          }
          prefix = "[" + func + '("]';
          year = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY";
          datetime = "-MM-DD[T]HH:mm:ss.SSS";
          suffix = zone + '[")]';
          return this.format(prefix + year + datetime + suffix);
        }
        function format(inputString) {
          if (!inputString) {
            inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;
          }
          var output = formatMoment(this, inputString);
          return this.localeData().postformat(output);
        }
        function from(time, withoutSuffix) {
          if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {
            return createDuration({ to: this, from: time }).locale(this.locale()).humanize(!withoutSuffix);
          } else {
            return this.localeData().invalidDate();
          }
        }
        function fromNow(withoutSuffix) {
          return this.from(createLocal(), withoutSuffix);
        }
        function to(time, withoutSuffix) {
          if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {
            return createDuration({ from: this, to: time }).locale(this.locale()).humanize(!withoutSuffix);
          } else {
            return this.localeData().invalidDate();
          }
        }
        function toNow(withoutSuffix) {
          return this.to(createLocal(), withoutSuffix);
        }
        function locale(key) {
          var newLocaleData;
          if (key === void 0) {
            return this._locale._abbr;
          } else {
            newLocaleData = getLocale(key);
            if (newLocaleData != null) {
              this._locale = newLocaleData;
            }
            return this;
          }
        }
        var lang = deprecate(
          "moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",
          function(key) {
            if (key === void 0) {
              return this.localeData();
            } else {
              return this.locale(key);
            }
          }
        );
        function localeData() {
          return this._locale;
        }
        var MS_PER_SECOND = 1e3, MS_PER_MINUTE = 60 * MS_PER_SECOND, MS_PER_HOUR = 60 * MS_PER_MINUTE, MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;
        function mod$1(dividend, divisor) {
          return (dividend % divisor + divisor) % divisor;
        }
        function localStartOfDate(y, m, d) {
          if (y < 100 && y >= 0) {
            return new Date(y + 400, m, d) - MS_PER_400_YEARS;
          } else {
            return new Date(y, m, d).valueOf();
          }
        }
        function utcStartOfDate(y, m, d) {
          if (y < 100 && y >= 0) {
            return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;
          } else {
            return Date.UTC(y, m, d);
          }
        }
        function startOf(units) {
          var time, startOfDate;
          units = normalizeUnits(units);
          if (units === void 0 || units === "millisecond" || !this.isValid()) {
            return this;
          }
          startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
          switch (units) {
            case "year":
              time = startOfDate(this.year(), 0, 1);
              break;
            case "quarter":
              time = startOfDate(
                this.year(),
                this.month() - this.month() % 3,
                1
              );
              break;
            case "month":
              time = startOfDate(this.year(), this.month(), 1);
              break;
            case "week":
              time = startOfDate(
                this.year(),
                this.month(),
                this.date() - this.weekday()
              );
              break;
            case "isoWeek":
              time = startOfDate(
                this.year(),
                this.month(),
                this.date() - (this.isoWeekday() - 1)
              );
              break;
            case "day":
            case "date":
              time = startOfDate(this.year(), this.month(), this.date());
              break;
            case "hour":
              time = this._d.valueOf();
              time -= mod$1(
                time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),
                MS_PER_HOUR
              );
              break;
            case "minute":
              time = this._d.valueOf();
              time -= mod$1(time, MS_PER_MINUTE);
              break;
            case "second":
              time = this._d.valueOf();
              time -= mod$1(time, MS_PER_SECOND);
              break;
          }
          this._d.setTime(time);
          hooks.updateOffset(this, true);
          return this;
        }
        function endOf(units) {
          var time, startOfDate;
          units = normalizeUnits(units);
          if (units === void 0 || units === "millisecond" || !this.isValid()) {
            return this;
          }
          startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
          switch (units) {
            case "year":
              time = startOfDate(this.year() + 1, 0, 1) - 1;
              break;
            case "quarter":
              time = startOfDate(
                this.year(),
                this.month() - this.month() % 3 + 3,
                1
              ) - 1;
              break;
            case "month":
              time = startOfDate(this.year(), this.month() + 1, 1) - 1;
              break;
            case "week":
              time = startOfDate(
                this.year(),
                this.month(),
                this.date() - this.weekday() + 7
              ) - 1;
              break;
            case "isoWeek":
              time = startOfDate(
                this.year(),
                this.month(),
                this.date() - (this.isoWeekday() - 1) + 7
              ) - 1;
              break;
            case "day":
            case "date":
              time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;
              break;
            case "hour":
              time = this._d.valueOf();
              time += MS_PER_HOUR - mod$1(
                time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),
                MS_PER_HOUR
              ) - 1;
              break;
            case "minute":
              time = this._d.valueOf();
              time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;
              break;
            case "second":
              time = this._d.valueOf();
              time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;
              break;
          }
          this._d.setTime(time);
          hooks.updateOffset(this, true);
          return this;
        }
        function valueOf() {
          return this._d.valueOf() - (this._offset || 0) * 6e4;
        }
        function unix() {
          return Math.floor(this.valueOf() / 1e3);
        }
        function toDate() {
          return new Date(this.valueOf());
        }
        function toArray() {
          var m = this;
          return [
            m.year(),
            m.month(),
            m.date(),
            m.hour(),
            m.minute(),
            m.second(),
            m.millisecond()
          ];
        }
        function toObject() {
          var m = this;
          return {
            years: m.year(),
            months: m.month(),
            date: m.date(),
            hours: m.hours(),
            minutes: m.minutes(),
            seconds: m.seconds(),
            milliseconds: m.milliseconds()
          };
        }
        function toJSON() {
          return this.isValid() ? this.toISOString() : null;
        }
        function isValid$2() {
          return isValid(this);
        }
        function parsingFlags() {
          return extend({}, getParsingFlags(this));
        }
        function invalidAt() {
          return getParsingFlags(this).overflow;
        }
        function creationData() {
          return {
            input: this._i,
            format: this._f,
            locale: this._locale,
            isUTC: this._isUTC,
            strict: this._strict
          };
        }
        addFormatToken("N", 0, 0, "eraAbbr");
        addFormatToken("NN", 0, 0, "eraAbbr");
        addFormatToken("NNN", 0, 0, "eraAbbr");
        addFormatToken("NNNN", 0, 0, "eraName");
        addFormatToken("NNNNN", 0, 0, "eraNarrow");
        addFormatToken("y", ["y", 1], "yo", "eraYear");
        addFormatToken("y", ["yy", 2], 0, "eraYear");
        addFormatToken("y", ["yyy", 3], 0, "eraYear");
        addFormatToken("y", ["yyyy", 4], 0, "eraYear");
        addRegexToken("N", matchEraAbbr);
        addRegexToken("NN", matchEraAbbr);
        addRegexToken("NNN", matchEraAbbr);
        addRegexToken("NNNN", matchEraName);
        addRegexToken("NNNNN", matchEraNarrow);
        addParseToken(
          ["N", "NN", "NNN", "NNNN", "NNNNN"],
          function(input, array, config, token2) {
            var era = config._locale.erasParse(input, token2, config._strict);
            if (era) {
              getParsingFlags(config).era = era;
            } else {
              getParsingFlags(config).invalidEra = input;
            }
          }
        );
        addRegexToken("y", matchUnsigned);
        addRegexToken("yy", matchUnsigned);
        addRegexToken("yyy", matchUnsigned);
        addRegexToken("yyyy", matchUnsigned);
        addRegexToken("yo", matchEraYearOrdinal);
        addParseToken(["y", "yy", "yyy", "yyyy"], YEAR2);
        addParseToken(["yo"], function(input, array, config, token2) {
          var match;
          if (config._locale._eraYearOrdinalRegex) {
            match = input.match(config._locale._eraYearOrdinalRegex);
          }
          if (config._locale.eraYearOrdinalParse) {
            array[YEAR2] = config._locale.eraYearOrdinalParse(input, match);
          } else {
            array[YEAR2] = parseInt(input, 10);
          }
        });
        function localeEras(m, format2) {
          var i, l, date2, eras = this._eras || getLocale("en")._eras;
          for (i = 0, l = eras.length; i < l; ++i) {
            switch (typeof eras[i].since) {
              case "string":
                date2 = hooks(eras[i].since).startOf("day");
                eras[i].since = date2.valueOf();
                break;
            }
            switch (typeof eras[i].until) {
              case "undefined":
                eras[i].until = Infinity;
                break;
              case "string":
                date2 = hooks(eras[i].until).startOf("day").valueOf();
                eras[i].until = date2.valueOf();
                break;
            }
          }
          return eras;
        }
        function localeErasParse(eraName, format2, strict) {
          var i, l, eras = this.eras(), name, abbr, narrow;
          eraName = eraName.toUpperCase();
          for (i = 0, l = eras.length; i < l; ++i) {
            name = eras[i].name.toUpperCase();
            abbr = eras[i].abbr.toUpperCase();
            narrow = eras[i].narrow.toUpperCase();
            if (strict) {
              switch (format2) {
                case "N":
                case "NN":
                case "NNN":
                  if (abbr === eraName) {
                    return eras[i];
                  }
                  break;
                case "NNNN":
                  if (name === eraName) {
                    return eras[i];
                  }
                  break;
                case "NNNNN":
                  if (narrow === eraName) {
                    return eras[i];
                  }
                  break;
              }
            } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {
              return eras[i];
            }
          }
        }
        function localeErasConvertYear(era, year) {
          var dir = era.since <= era.until ? 1 : -1;
          if (year === void 0) {
            return hooks(era.since).year();
          } else {
            return hooks(era.since).year() + (year - era.offset) * dir;
          }
        }
        function getEraName() {
          var i, l, val, eras = this.localeData().eras();
          for (i = 0, l = eras.length; i < l; ++i) {
            val = this.clone().startOf("day").valueOf();
            if (eras[i].since <= val && val <= eras[i].until) {
              return eras[i].name;
            }
            if (eras[i].until <= val && val <= eras[i].since) {
              return eras[i].name;
            }
          }
          return "";
        }
        function getEraNarrow() {
          var i, l, val, eras = this.localeData().eras();
          for (i = 0, l = eras.length; i < l; ++i) {
            val = this.clone().startOf("day").valueOf();
            if (eras[i].since <= val && val <= eras[i].until) {
              return eras[i].narrow;
            }
            if (eras[i].until <= val && val <= eras[i].since) {
              return eras[i].narrow;
            }
          }
          return "";
        }
        function getEraAbbr() {
          var i, l, val, eras = this.localeData().eras();
          for (i = 0, l = eras.length; i < l; ++i) {
            val = this.clone().startOf("day").valueOf();
            if (eras[i].since <= val && val <= eras[i].until) {
              return eras[i].abbr;
            }
            if (eras[i].until <= val && val <= eras[i].since) {
              return eras[i].abbr;
            }
          }
          return "";
        }
        function getEraYear() {
          var i, l, dir, val, eras = this.localeData().eras();
          for (i = 0, l = eras.length; i < l; ++i) {
            dir = eras[i].since <= eras[i].until ? 1 : -1;
            val = this.clone().startOf("day").valueOf();
            if (eras[i].since <= val && val <= eras[i].until || eras[i].until <= val && val <= eras[i].since) {
              return (this.year() - hooks(eras[i].since).year()) * dir + eras[i].offset;
            }
          }
          return this.year();
        }
        function erasNameRegex(isStrict) {
          if (!hasOwnProp(this, "_erasNameRegex")) {
            computeErasParse.call(this);
          }
          return isStrict ? this._erasNameRegex : this._erasRegex;
        }
        function erasAbbrRegex(isStrict) {
          if (!hasOwnProp(this, "_erasAbbrRegex")) {
            computeErasParse.call(this);
          }
          return isStrict ? this._erasAbbrRegex : this._erasRegex;
        }
        function erasNarrowRegex(isStrict) {
          if (!hasOwnProp(this, "_erasNarrowRegex")) {
            computeErasParse.call(this);
          }
          return isStrict ? this._erasNarrowRegex : this._erasRegex;
        }
        function matchEraAbbr(isStrict, locale2) {
          return locale2.erasAbbrRegex(isStrict);
        }
        function matchEraName(isStrict, locale2) {
          return locale2.erasNameRegex(isStrict);
        }
        function matchEraNarrow(isStrict, locale2) {
          return locale2.erasNarrowRegex(isStrict);
        }
        function matchEraYearOrdinal(isStrict, locale2) {
          return locale2._eraYearOrdinalRegex || matchUnsigned;
        }
        function computeErasParse() {
          var abbrPieces = [], namePieces = [], narrowPieces = [], mixedPieces = [], i, l, eras = this.eras();
          for (i = 0, l = eras.length; i < l; ++i) {
            namePieces.push(regexEscape(eras[i].name));
            abbrPieces.push(regexEscape(eras[i].abbr));
            narrowPieces.push(regexEscape(eras[i].narrow));
            mixedPieces.push(regexEscape(eras[i].name));
            mixedPieces.push(regexEscape(eras[i].abbr));
            mixedPieces.push(regexEscape(eras[i].narrow));
          }
          this._erasRegex = new RegExp("^(" + mixedPieces.join("|") + ")", "i");
          this._erasNameRegex = new RegExp("^(" + namePieces.join("|") + ")", "i");
          this._erasAbbrRegex = new RegExp("^(" + abbrPieces.join("|") + ")", "i");
          this._erasNarrowRegex = new RegExp(
            "^(" + narrowPieces.join("|") + ")",
            "i"
          );
        }
        addFormatToken(0, ["gg", 2], 0, function() {
          return this.weekYear() % 100;
        });
        addFormatToken(0, ["GG", 2], 0, function() {
          return this.isoWeekYear() % 100;
        });
        function addWeekYearFormatToken(token2, getter) {
          addFormatToken(0, [token2, token2.length], 0, getter);
        }
        addWeekYearFormatToken("gggg", "weekYear");
        addWeekYearFormatToken("ggggg", "weekYear");
        addWeekYearFormatToken("GGGG", "isoWeekYear");
        addWeekYearFormatToken("GGGGG", "isoWeekYear");
        addUnitAlias("weekYear", "gg");
        addUnitAlias("isoWeekYear", "GG");
        addUnitPriority("weekYear", 1);
        addUnitPriority("isoWeekYear", 1);
        addRegexToken("G", matchSigned);
        addRegexToken("g", matchSigned);
        addRegexToken("GG", match1to2, match2);
        addRegexToken("gg", match1to2, match2);
        addRegexToken("GGGG", match1to4, match4);
        addRegexToken("gggg", match1to4, match4);
        addRegexToken("GGGGG", match1to6, match6);
        addRegexToken("ggggg", match1to6, match6);
        addWeekParseToken(
          ["gggg", "ggggg", "GGGG", "GGGGG"],
          function(input, week, config, token2) {
            week[token2.substr(0, 2)] = toInt(input);
          }
        );
        addWeekParseToken(["gg", "GG"], function(input, week, config, token2) {
          week[token2] = hooks.parseTwoDigitYear(input);
        });
        function getSetWeekYear(input) {
          return getSetWeekYearHelper.call(
            this,
            input,
            this.week(),
            this.weekday(),
            this.localeData()._week.dow,
            this.localeData()._week.doy
          );
        }
        function getSetISOWeekYear(input) {
          return getSetWeekYearHelper.call(
            this,
            input,
            this.isoWeek(),
            this.isoWeekday(),
            1,
            4
          );
        }
        function getISOWeeksInYear() {
          return weeksInYear(this.year(), 1, 4);
        }
        function getISOWeeksInISOWeekYear() {
          return weeksInYear(this.isoWeekYear(), 1, 4);
        }
        function getWeeksInYear() {
          var weekInfo = this.localeData()._week;
          return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
        }
        function getWeeksInWeekYear() {
          var weekInfo = this.localeData()._week;
          return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);
        }
        function getSetWeekYearHelper(input, week, weekday, dow, doy) {
          var weeksTarget;
          if (input == null) {
            return weekOfYear(this, dow, doy).year;
          } else {
            weeksTarget = weeksInYear(input, dow, doy);
            if (week > weeksTarget) {
              week = weeksTarget;
            }
            return setWeekAll.call(this, input, week, weekday, dow, doy);
          }
        }
        function setWeekAll(weekYear, week, weekday, dow, doy) {
          var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), date2 = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
          this.year(date2.getUTCFullYear());
          this.month(date2.getUTCMonth());
          this.date(date2.getUTCDate());
          return this;
        }
        addFormatToken("Q", 0, "Qo", "quarter");
        addUnitAlias("quarter", "Q");
        addUnitPriority("quarter", 7);
        addRegexToken("Q", match1);
        addParseToken("Q", function(input, array) {
          array[MONTH] = (toInt(input) - 1) * 3;
        });
        function getSetQuarter(input) {
          return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
        }
        addFormatToken("D", ["DD", 2], "Do", "date");
        addUnitAlias("date", "D");
        addUnitPriority("date", 9);
        addRegexToken("D", match1to2);
        addRegexToken("DD", match1to2, match2);
        addRegexToken("Do", function(isStrict, locale2) {
          return isStrict ? locale2._dayOfMonthOrdinalParse || locale2._ordinalParse : locale2._dayOfMonthOrdinalParseLenient;
        });
        addParseToken(["D", "DD"], DATE);
        addParseToken("Do", function(input, array) {
          array[DATE] = toInt(input.match(match1to2)[0]);
        });
        var getSetDayOfMonth = makeGetSet("Date", true);
        addFormatToken("DDD", ["DDDD", 3], "DDDo", "dayOfYear");
        addUnitAlias("dayOfYear", "DDD");
        addUnitPriority("dayOfYear", 4);
        addRegexToken("DDD", match1to3);
        addRegexToken("DDDD", match3);
        addParseToken(["DDD", "DDDD"], function(input, array, config) {
          config._dayOfYear = toInt(input);
        });
        function getSetDayOfYear(input) {
          var dayOfYear = Math.round(
            (this.clone().startOf("day") - this.clone().startOf("year")) / 864e5
          ) + 1;
          return input == null ? dayOfYear : this.add(input - dayOfYear, "d");
        }
        addFormatToken("m", ["mm", 2], 0, "minute");
        addUnitAlias("minute", "m");
        addUnitPriority("minute", 14);
        addRegexToken("m", match1to2);
        addRegexToken("mm", match1to2, match2);
        addParseToken(["m", "mm"], MINUTE3);
        var getSetMinute = makeGetSet("Minutes", false);
        addFormatToken("s", ["ss", 2], 0, "second");
        addUnitAlias("second", "s");
        addUnitPriority("second", 15);
        addRegexToken("s", match1to2);
        addRegexToken("ss", match1to2, match2);
        addParseToken(["s", "ss"], SECOND3);
        var getSetSecond = makeGetSet("Seconds", false);
        addFormatToken("S", 0, 0, function() {
          return ~~(this.millisecond() / 100);
        });
        addFormatToken(0, ["SS", 2], 0, function() {
          return ~~(this.millisecond() / 10);
        });
        addFormatToken(0, ["SSS", 3], 0, "millisecond");
        addFormatToken(0, ["SSSS", 4], 0, function() {
          return this.millisecond() * 10;
        });
        addFormatToken(0, ["SSSSS", 5], 0, function() {
          return this.millisecond() * 100;
        });
        addFormatToken(0, ["SSSSSS", 6], 0, function() {
          return this.millisecond() * 1e3;
        });
        addFormatToken(0, ["SSSSSSS", 7], 0, function() {
          return this.millisecond() * 1e4;
        });
        addFormatToken(0, ["SSSSSSSS", 8], 0, function() {
          return this.millisecond() * 1e5;
        });
        addFormatToken(0, ["SSSSSSSSS", 9], 0, function() {
          return this.millisecond() * 1e6;
        });
        addUnitAlias("millisecond", "ms");
        addUnitPriority("millisecond", 16);
        addRegexToken("S", match1to3, match1);
        addRegexToken("SS", match1to3, match2);
        addRegexToken("SSS", match1to3, match3);
        var token, getSetMillisecond;
        for (token = "SSSS"; token.length <= 9; token += "S") {
          addRegexToken(token, matchUnsigned);
        }
        function parseMs(input, array) {
          array[MILLISECOND] = toInt(("0." + input) * 1e3);
        }
        for (token = "S"; token.length <= 9; token += "S") {
          addParseToken(token, parseMs);
        }
        getSetMillisecond = makeGetSet("Milliseconds", false);
        addFormatToken("z", 0, 0, "zoneAbbr");
        addFormatToken("zz", 0, 0, "zoneName");
        function getZoneAbbr() {
          return this._isUTC ? "UTC" : "";
        }
        function getZoneName() {
          return this._isUTC ? "Coordinated Universal Time" : "";
        }
        var proto = Moment.prototype;
        proto.add = add;
        proto.calendar = calendar$1;
        proto.clone = clone;
        proto.diff = diff;
        proto.endOf = endOf;
        proto.format = format;
        proto.from = from;
        proto.fromNow = fromNow;
        proto.to = to;
        proto.toNow = toNow;
        proto.get = stringGet;
        proto.invalidAt = invalidAt;
        proto.isAfter = isAfter;
        proto.isBefore = isBefore;
        proto.isBetween = isBetween;
        proto.isSame = isSame;
        proto.isSameOrAfter = isSameOrAfter;
        proto.isSameOrBefore = isSameOrBefore;
        proto.isValid = isValid$2;
        proto.lang = lang;
        proto.locale = locale;
        proto.localeData = localeData;
        proto.max = prototypeMax;
        proto.min = prototypeMin;
        proto.parsingFlags = parsingFlags;
        proto.set = stringSet;
        proto.startOf = startOf;
        proto.subtract = subtract;
        proto.toArray = toArray;
        proto.toObject = toObject;
        proto.toDate = toDate;
        proto.toISOString = toISOString;
        proto.inspect = inspect2;
        if (typeof Symbol !== "undefined" && Symbol.for != null) {
          proto[Symbol.for("nodejs.util.inspect.custom")] = function() {
            return "Moment<" + this.format() + ">";
          };
        }
        proto.toJSON = toJSON;
        proto.toString = toString3;
        proto.unix = unix;
        proto.valueOf = valueOf;
        proto.creationData = creationData;
        proto.eraName = getEraName;
        proto.eraNarrow = getEraNarrow;
        proto.eraAbbr = getEraAbbr;
        proto.eraYear = getEraYear;
        proto.year = getSetYear;
        proto.isLeapYear = getIsLeapYear;
        proto.weekYear = getSetWeekYear;
        proto.isoWeekYear = getSetISOWeekYear;
        proto.quarter = proto.quarters = getSetQuarter;
        proto.month = getSetMonth;
        proto.daysInMonth = getDaysInMonth;
        proto.week = proto.weeks = getSetWeek;
        proto.isoWeek = proto.isoWeeks = getSetISOWeek;
        proto.weeksInYear = getWeeksInYear;
        proto.weeksInWeekYear = getWeeksInWeekYear;
        proto.isoWeeksInYear = getISOWeeksInYear;
        proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;
        proto.date = getSetDayOfMonth;
        proto.day = proto.days = getSetDayOfWeek;
        proto.weekday = getSetLocaleDayOfWeek;
        proto.isoWeekday = getSetISODayOfWeek;
        proto.dayOfYear = getSetDayOfYear;
        proto.hour = proto.hours = getSetHour;
        proto.minute = proto.minutes = getSetMinute;
        proto.second = proto.seconds = getSetSecond;
        proto.millisecond = proto.milliseconds = getSetMillisecond;
        proto.utcOffset = getSetOffset;
        proto.utc = setOffsetToUTC;
        proto.local = setOffsetToLocal;
        proto.parseZone = setOffsetToParsedOffset;
        proto.hasAlignedHourOffset = hasAlignedHourOffset;
        proto.isDST = isDaylightSavingTime;
        proto.isLocal = isLocal;
        proto.isUtcOffset = isUtcOffset;
        proto.isUtc = isUtc;
        proto.isUTC = isUtc;
        proto.zoneAbbr = getZoneAbbr;
        proto.zoneName = getZoneName;
        proto.dates = deprecate(
          "dates accessor is deprecated. Use date instead.",
          getSetDayOfMonth
        );
        proto.months = deprecate(
          "months accessor is deprecated. Use month instead",
          getSetMonth
        );
        proto.years = deprecate(
          "years accessor is deprecated. Use year instead",
          getSetYear
        );
        proto.zone = deprecate(
          "moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",
          getSetZone
        );
        proto.isDSTShifted = deprecate(
          "isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",
          isDaylightSavingTimeShifted
        );
        function createUnix(input) {
          return createLocal(input * 1e3);
        }
        function createInZone() {
          return createLocal.apply(null, arguments).parseZone();
        }
        function preParsePostFormat(string) {
          return string;
        }
        var proto$1 = Locale.prototype;
        proto$1.calendar = calendar;
        proto$1.longDateFormat = longDateFormat;
        proto$1.invalidDate = invalidDate;
        proto$1.ordinal = ordinal;
        proto$1.preparse = preParsePostFormat;
        proto$1.postformat = preParsePostFormat;
        proto$1.relativeTime = relativeTime;
        proto$1.pastFuture = pastFuture;
        proto$1.set = set3;
        proto$1.eras = localeEras;
        proto$1.erasParse = localeErasParse;
        proto$1.erasConvertYear = localeErasConvertYear;
        proto$1.erasAbbrRegex = erasAbbrRegex;
        proto$1.erasNameRegex = erasNameRegex;
        proto$1.erasNarrowRegex = erasNarrowRegex;
        proto$1.months = localeMonths;
        proto$1.monthsShort = localeMonthsShort;
        proto$1.monthsParse = localeMonthsParse;
        proto$1.monthsRegex = monthsRegex;
        proto$1.monthsShortRegex = monthsShortRegex;
        proto$1.week = localeWeek;
        proto$1.firstDayOfYear = localeFirstDayOfYear;
        proto$1.firstDayOfWeek = localeFirstDayOfWeek;
        proto$1.weekdays = localeWeekdays;
        proto$1.weekdaysMin = localeWeekdaysMin;
        proto$1.weekdaysShort = localeWeekdaysShort;
        proto$1.weekdaysParse = localeWeekdaysParse;
        proto$1.weekdaysRegex = weekdaysRegex;
        proto$1.weekdaysShortRegex = weekdaysShortRegex;
        proto$1.weekdaysMinRegex = weekdaysMinRegex;
        proto$1.isPM = localeIsPM;
        proto$1.meridiem = localeMeridiem;
        function get$1(format2, index, field, setter) {
          var locale2 = getLocale(), utc = createUTC().set(setter, index);
          return locale2[field](utc, format2);
        }
        function listMonthsImpl(format2, index, field) {
          if (isNumber2(format2)) {
            index = format2;
            format2 = void 0;
          }
          format2 = format2 || "";
          if (index != null) {
            return get$1(format2, index, field, "month");
          }
          var i, out = [];
          for (i = 0; i < 12; i++) {
            out[i] = get$1(format2, i, field, "month");
          }
          return out;
        }
        function listWeekdaysImpl(localeSorted, format2, index, field) {
          if (typeof localeSorted === "boolean") {
            if (isNumber2(format2)) {
              index = format2;
              format2 = void 0;
            }
            format2 = format2 || "";
          } else {
            format2 = localeSorted;
            index = format2;
            localeSorted = false;
            if (isNumber2(format2)) {
              index = format2;
              format2 = void 0;
            }
            format2 = format2 || "";
          }
          var locale2 = getLocale(), shift = localeSorted ? locale2._week.dow : 0, i, out = [];
          if (index != null) {
            return get$1(format2, (index + shift) % 7, field, "day");
          }
          for (i = 0; i < 7; i++) {
            out[i] = get$1(format2, (i + shift) % 7, field, "day");
          }
          return out;
        }
        function listMonths(format2, index) {
          return listMonthsImpl(format2, index, "months");
        }
        function listMonthsShort(format2, index) {
          return listMonthsImpl(format2, index, "monthsShort");
        }
        function listWeekdays(localeSorted, format2, index) {
          return listWeekdaysImpl(localeSorted, format2, index, "weekdays");
        }
        function listWeekdaysShort(localeSorted, format2, index) {
          return listWeekdaysImpl(localeSorted, format2, index, "weekdaysShort");
        }
        function listWeekdaysMin(localeSorted, format2, index) {
          return listWeekdaysImpl(localeSorted, format2, index, "weekdaysMin");
        }
        getSetGlobalLocale("en", {
          eras: [
            {
              since: "0001-01-01",
              until: Infinity,
              offset: 1,
              name: "Anno Domini",
              narrow: "AD",
              abbr: "AD"
            },
            {
              since: "0000-12-31",
              until: -Infinity,
              offset: 1,
              name: "Before Christ",
              narrow: "BC",
              abbr: "BC"
            }
          ],
          dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
          ordinal: function(number) {
            var b = number % 10, output = toInt(number % 100 / 10) === 1 ? "th" : b === 1 ? "st" : b === 2 ? "nd" : b === 3 ? "rd" : "th";
            return number + output;
          }
        });
        hooks.lang = deprecate(
          "moment.lang is deprecated. Use moment.locale instead.",
          getSetGlobalLocale
        );
        hooks.langData = deprecate(
          "moment.langData is deprecated. Use moment.localeData instead.",
          getLocale
        );
        var mathAbs = Math.abs;
        function abs() {
          var data = this._data;
          this._milliseconds = mathAbs(this._milliseconds);
          this._days = mathAbs(this._days);
          this._months = mathAbs(this._months);
          data.milliseconds = mathAbs(data.milliseconds);
          data.seconds = mathAbs(data.seconds);
          data.minutes = mathAbs(data.minutes);
          data.hours = mathAbs(data.hours);
          data.months = mathAbs(data.months);
          data.years = mathAbs(data.years);
          return this;
        }
        function addSubtract$1(duration, input, value, direction) {
          var other = createDuration(input, value);
          duration._milliseconds += direction * other._milliseconds;
          duration._days += direction * other._days;
          duration._months += direction * other._months;
          return duration._bubble();
        }
        function add$1(input, value) {
          return addSubtract$1(this, input, value, 1);
        }
        function subtract$1(input, value) {
          return addSubtract$1(this, input, value, -1);
        }
        function absCeil(number) {
          if (number < 0) {
            return Math.floor(number);
          } else {
            return Math.ceil(number);
          }
        }
        function bubble() {
          var milliseconds2 = this._milliseconds, days2 = this._days, months2 = this._months, data = this._data, seconds2, minutes2, hours2, years2, monthsFromDays;
          if (!(milliseconds2 >= 0 && days2 >= 0 && months2 >= 0 || milliseconds2 <= 0 && days2 <= 0 && months2 <= 0)) {
            milliseconds2 += absCeil(monthsToDays(months2) + days2) * 864e5;
            days2 = 0;
            months2 = 0;
          }
          data.milliseconds = milliseconds2 % 1e3;
          seconds2 = absFloor(milliseconds2 / 1e3);
          data.seconds = seconds2 % 60;
          minutes2 = absFloor(seconds2 / 60);
          data.minutes = minutes2 % 60;
          hours2 = absFloor(minutes2 / 60);
          data.hours = hours2 % 24;
          days2 += absFloor(hours2 / 24);
          monthsFromDays = absFloor(daysToMonths(days2));
          months2 += monthsFromDays;
          days2 -= absCeil(monthsToDays(monthsFromDays));
          years2 = absFloor(months2 / 12);
          months2 %= 12;
          data.days = days2;
          data.months = months2;
          data.years = years2;
          return this;
        }
        function daysToMonths(days2) {
          return days2 * 4800 / 146097;
        }
        function monthsToDays(months2) {
          return months2 * 146097 / 4800;
        }
        function as(units) {
          if (!this.isValid()) {
            return NaN;
          }
          var days2, months2, milliseconds2 = this._milliseconds;
          units = normalizeUnits(units);
          if (units === "month" || units === "quarter" || units === "year") {
            days2 = this._days + milliseconds2 / 864e5;
            months2 = this._months + daysToMonths(days2);
            switch (units) {
              case "month":
                return months2;
              case "quarter":
                return months2 / 3;
              case "year":
                return months2 / 12;
            }
          } else {
            days2 = this._days + Math.round(monthsToDays(this._months));
            switch (units) {
              case "week":
                return days2 / 7 + milliseconds2 / 6048e5;
              case "day":
                return days2 + milliseconds2 / 864e5;
              case "hour":
                return days2 * 24 + milliseconds2 / 36e5;
              case "minute":
                return days2 * 1440 + milliseconds2 / 6e4;
              case "second":
                return days2 * 86400 + milliseconds2 / 1e3;
              case "millisecond":
                return Math.floor(days2 * 864e5) + milliseconds2;
              default:
                throw new Error("Unknown unit " + units);
            }
          }
        }
        function valueOf$1() {
          if (!this.isValid()) {
            return NaN;
          }
          return this._milliseconds + this._days * 864e5 + this._months % 12 * 2592e6 + toInt(this._months / 12) * 31536e6;
        }
        function makeAs(alias) {
          return function() {
            return this.as(alias);
          };
        }
        var asMilliseconds = makeAs("ms"), asSeconds = makeAs("s"), asMinutes = makeAs("m"), asHours = makeAs("h"), asDays = makeAs("d"), asWeeks = makeAs("w"), asMonths = makeAs("M"), asQuarters = makeAs("Q"), asYears = makeAs("y");
        function clone$1() {
          return createDuration(this);
        }
        function get$2(units) {
          units = normalizeUnits(units);
          return this.isValid() ? this[units + "s"]() : NaN;
        }
        function makeGetter(name) {
          return function() {
            return this.isValid() ? this._data[name] : NaN;
          };
        }
        var milliseconds = makeGetter("milliseconds"), seconds = makeGetter("seconds"), minutes = makeGetter("minutes"), hours = makeGetter("hours"), days = makeGetter("days"), months = makeGetter("months"), years = makeGetter("years");
        function weeks() {
          return absFloor(this.days() / 7);
        }
        var round = Math.round, thresholds = {
          ss: 44,
          // a few seconds to seconds
          s: 45,
          // seconds to minute
          m: 45,
          // minutes to hour
          h: 22,
          // hours to day
          d: 26,
          // days to month/week
          w: null,
          // weeks to month
          M: 11
          // months to year
        };
        function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale2) {
          return locale2.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
        }
        function relativeTime$1(posNegDuration, withoutSuffix, thresholds2, locale2) {
          var duration = createDuration(posNegDuration).abs(), seconds2 = round(duration.as("s")), minutes2 = round(duration.as("m")), hours2 = round(duration.as("h")), days2 = round(duration.as("d")), months2 = round(duration.as("M")), weeks2 = round(duration.as("w")), years2 = round(duration.as("y")), a = seconds2 <= thresholds2.ss && ["s", seconds2] || seconds2 < thresholds2.s && ["ss", seconds2] || minutes2 <= 1 && ["m"] || minutes2 < thresholds2.m && ["mm", minutes2] || hours2 <= 1 && ["h"] || hours2 < thresholds2.h && ["hh", hours2] || days2 <= 1 && ["d"] || days2 < thresholds2.d && ["dd", days2];
          if (thresholds2.w != null) {
            a = a || weeks2 <= 1 && ["w"] || weeks2 < thresholds2.w && ["ww", weeks2];
          }
          a = a || months2 <= 1 && ["M"] || months2 < thresholds2.M && ["MM", months2] || years2 <= 1 && ["y"] || ["yy", years2];
          a[2] = withoutSuffix;
          a[3] = +posNegDuration > 0;
          a[4] = locale2;
          return substituteTimeAgo.apply(null, a);
        }
        function getSetRelativeTimeRounding(roundingFunction) {
          if (roundingFunction === void 0) {
            return round;
          }
          if (typeof roundingFunction === "function") {
            round = roundingFunction;
            return true;
          }
          return false;
        }
        function getSetRelativeTimeThreshold(threshold, limit) {
          if (thresholds[threshold] === void 0) {
            return false;
          }
          if (limit === void 0) {
            return thresholds[threshold];
          }
          thresholds[threshold] = limit;
          if (threshold === "s") {
            thresholds.ss = limit - 1;
          }
          return true;
        }
        function humanize(argWithSuffix, argThresholds) {
          if (!this.isValid()) {
            return this.localeData().invalidDate();
          }
          var withSuffix = false, th = thresholds, locale2, output;
          if (typeof argWithSuffix === "object") {
            argThresholds = argWithSuffix;
            argWithSuffix = false;
          }
          if (typeof argWithSuffix === "boolean") {
            withSuffix = argWithSuffix;
          }
          if (typeof argThresholds === "object") {
            th = Object.assign({}, thresholds, argThresholds);
            if (argThresholds.s != null && argThresholds.ss == null) {
              th.ss = argThresholds.s - 1;
            }
          }
          locale2 = this.localeData();
          output = relativeTime$1(this, !withSuffix, th, locale2);
          if (withSuffix) {
            output = locale2.pastFuture(+this, output);
          }
          return locale2.postformat(output);
        }
        var abs$1 = Math.abs;
        function sign(x) {
          return (x > 0) - (x < 0) || +x;
        }
        function toISOString$1() {
          if (!this.isValid()) {
            return this.localeData().invalidDate();
          }
          var seconds2 = abs$1(this._milliseconds) / 1e3, days2 = abs$1(this._days), months2 = abs$1(this._months), minutes2, hours2, years2, s, total = this.asSeconds(), totalSign, ymSign, daysSign, hmsSign;
          if (!total) {
            return "P0D";
          }
          minutes2 = absFloor(seconds2 / 60);
          hours2 = absFloor(minutes2 / 60);
          seconds2 %= 60;
          minutes2 %= 60;
          years2 = absFloor(months2 / 12);
          months2 %= 12;
          s = seconds2 ? seconds2.toFixed(3).replace(/\.?0+$/, "") : "";
          totalSign = total < 0 ? "-" : "";
          ymSign = sign(this._months) !== sign(total) ? "-" : "";
          daysSign = sign(this._days) !== sign(total) ? "-" : "";
          hmsSign = sign(this._milliseconds) !== sign(total) ? "-" : "";
          return totalSign + "P" + (years2 ? ymSign + years2 + "Y" : "") + (months2 ? ymSign + months2 + "M" : "") + (days2 ? daysSign + days2 + "D" : "") + (hours2 || minutes2 || seconds2 ? "T" : "") + (hours2 ? hmsSign + hours2 + "H" : "") + (minutes2 ? hmsSign + minutes2 + "M" : "") + (seconds2 ? hmsSign + s + "S" : "");
        }
        var proto$2 = Duration.prototype;
        proto$2.isValid = isValid$1;
        proto$2.abs = abs;
        proto$2.add = add$1;
        proto$2.subtract = subtract$1;
        proto$2.as = as;
        proto$2.asMilliseconds = asMilliseconds;
        proto$2.asSeconds = asSeconds;
        proto$2.asMinutes = asMinutes;
        proto$2.asHours = asHours;
        proto$2.asDays = asDays;
        proto$2.asWeeks = asWeeks;
        proto$2.asMonths = asMonths;
        proto$2.asQuarters = asQuarters;
        proto$2.asYears = asYears;
        proto$2.valueOf = valueOf$1;
        proto$2._bubble = bubble;
        proto$2.clone = clone$1;
        proto$2.get = get$2;
        proto$2.milliseconds = milliseconds;
        proto$2.seconds = seconds;
        proto$2.minutes = minutes;
        proto$2.hours = hours;
        proto$2.days = days;
        proto$2.weeks = weeks;
        proto$2.months = months;
        proto$2.years = years;
        proto$2.humanize = humanize;
        proto$2.toISOString = toISOString$1;
        proto$2.toString = toISOString$1;
        proto$2.toJSON = toISOString$1;
        proto$2.locale = locale;
        proto$2.localeData = localeData;
        proto$2.toIsoString = deprecate(
          "toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",
          toISOString$1
        );
        proto$2.lang = lang;
        addFormatToken("X", 0, 0, "unix");
        addFormatToken("x", 0, 0, "valueOf");
        addRegexToken("x", matchSigned);
        addRegexToken("X", matchTimestamp);
        addParseToken("X", function(input, array, config) {
          config._d = new Date(parseFloat(input) * 1e3);
        });
        addParseToken("x", function(input, array, config) {
          config._d = new Date(toInt(input));
        });
        hooks.version = "2.29.4";
        setHookCallback(createLocal);
        hooks.fn = proto;
        hooks.min = min;
        hooks.max = max;
        hooks.now = now;
        hooks.utc = createUTC;
        hooks.unix = createUnix;
        hooks.months = listMonths;
        hooks.isDate = isDate;
        hooks.locale = getSetGlobalLocale;
        hooks.invalid = createInvalid;
        hooks.duration = createDuration;
        hooks.isMoment = isMoment;
        hooks.weekdays = listWeekdays;
        hooks.parseZone = createInZone;
        hooks.localeData = getLocale;
        hooks.isDuration = isDuration;
        hooks.monthsShort = listMonthsShort;
        hooks.weekdaysMin = listWeekdaysMin;
        hooks.defineLocale = defineLocale;
        hooks.updateLocale = updateLocale;
        hooks.locales = listLocales;
        hooks.weekdaysShort = listWeekdaysShort;
        hooks.normalizeUnits = normalizeUnits;
        hooks.relativeTimeRounding = getSetRelativeTimeRounding;
        hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
        hooks.calendarFormat = getCalendarFormat;
        hooks.prototype = proto;
        hooks.HTML5_FMT = {
          DATETIME_LOCAL: "YYYY-MM-DDTHH:mm",
          // <input type="datetime-local" />
          DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss",
          // <input type="datetime-local" step="1" />
          DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS",
          // <input type="datetime-local" step="0.001" />
          DATE: "YYYY-MM-DD",
          // <input type="date" />
          TIME: "HH:mm",
          // <input type="time" />
          TIME_SECONDS: "HH:mm:ss",
          // <input type="time" step="1" />
          TIME_MS: "HH:mm:ss.SSS",
          // <input type="time" step="0.001" />
          WEEK: "GGGG-[W]WW",
          // <input type="week" />
          MONTH: "YYYY-MM"
          // <input type="month" />
        };
        return hooks;
      });
    }
  });

  // node_modules/moment-timezone/moment-timezone.js
  var require_moment_timezone = __commonJS({
    "node_modules/moment-timezone/moment-timezone.js"(exports, module2) {
      (function(root2, factory) {
        "use strict";
        if (typeof module2 === "object" && module2.exports) {
          module2.exports = factory(require_moment());
        } else if (typeof define === "function" && define.amd) {
          define(["moment"], factory);
        } else {
          factory(root2.moment);
        }
      })(exports, function(moment4) {
        "use strict";
        if (moment4.version === void 0 && moment4.default) {
          moment4 = moment4.default;
        }
        var VERSION = "0.5.31", zones = {}, links = {}, countries = {}, names = {}, guesses = {}, cachedGuess;
        if (!moment4 || typeof moment4.version !== "string") {
          logError("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/");
        }
        var momentVersion = moment4.version.split("."), major = +momentVersion[0], minor = +momentVersion[1];
        if (major < 2 || major === 2 && minor < 6) {
          logError("Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js " + moment4.version + ". See momentjs.com");
        }
        function charCodeToInt(charCode) {
          if (charCode > 96) {
            return charCode - 87;
          } else if (charCode > 64) {
            return charCode - 29;
          }
          return charCode - 48;
        }
        function unpackBase60(string) {
          var i = 0, parts = string.split("."), whole = parts[0], fractional = parts[1] || "", multiplier = 1, num, out = 0, sign = 1;
          if (string.charCodeAt(0) === 45) {
            i = 1;
            sign = -1;
          }
          for (i; i < whole.length; i++) {
            num = charCodeToInt(whole.charCodeAt(i));
            out = 60 * out + num;
          }
          for (i = 0; i < fractional.length; i++) {
            multiplier = multiplier / 60;
            num = charCodeToInt(fractional.charCodeAt(i));
            out += num * multiplier;
          }
          return out * sign;
        }
        function arrayToInt(array) {
          for (var i = 0; i < array.length; i++) {
            array[i] = unpackBase60(array[i]);
          }
        }
        function intToUntil(array, length) {
          for (var i = 0; i < length; i++) {
            array[i] = Math.round((array[i - 1] || 0) + array[i] * 6e4);
          }
          array[length - 1] = Infinity;
        }
        function mapIndices(source, indices) {
          var out = [], i;
          for (i = 0; i < indices.length; i++) {
            out[i] = source[indices[i]];
          }
          return out;
        }
        function unpack(string) {
          var data = string.split("|"), offsets = data[2].split(" "), indices = data[3].split(""), untils = data[4].split(" ");
          arrayToInt(offsets);
          arrayToInt(indices);
          arrayToInt(untils);
          intToUntil(untils, indices.length);
          return {
            name: data[0],
            abbrs: mapIndices(data[1].split(" "), indices),
            offsets: mapIndices(offsets, indices),
            untils,
            population: data[5] | 0
          };
        }
        function Zone(packedString) {
          if (packedString) {
            this._set(unpack(packedString));
          }
        }
        Zone.prototype = {
          _set: function(unpacked) {
            this.name = unpacked.name;
            this.abbrs = unpacked.abbrs;
            this.untils = unpacked.untils;
            this.offsets = unpacked.offsets;
            this.population = unpacked.population;
          },
          _index: function(timestamp) {
            var target = +timestamp, untils = this.untils, i;
            for (i = 0; i < untils.length; i++) {
              if (target < untils[i]) {
                return i;
              }
            }
          },
          countries: function() {
            var zone_name = this.name;
            return Object.keys(countries).filter(function(country_code) {
              return countries[country_code].zones.indexOf(zone_name) !== -1;
            });
          },
          parse: function(timestamp) {
            var target = +timestamp, offsets = this.offsets, untils = this.untils, max = untils.length - 1, offset, offsetNext, offsetPrev, i;
            for (i = 0; i < max; i++) {
              offset = offsets[i];
              offsetNext = offsets[i + 1];
              offsetPrev = offsets[i ? i - 1 : i];
              if (offset < offsetNext && tz.moveAmbiguousForward) {
                offset = offsetNext;
              } else if (offset > offsetPrev && tz.moveInvalidForward) {
                offset = offsetPrev;
              }
              if (target < untils[i] - offset * 6e4) {
                return offsets[i];
              }
            }
            return offsets[max];
          },
          abbr: function(mom) {
            return this.abbrs[this._index(mom)];
          },
          offset: function(mom) {
            logError("zone.offset has been deprecated in favor of zone.utcOffset");
            return this.offsets[this._index(mom)];
          },
          utcOffset: function(mom) {
            return this.offsets[this._index(mom)];
          }
        };
        function Country(country_name, zone_names) {
          this.name = country_name;
          this.zones = zone_names;
        }
        function OffsetAt(at) {
          var timeString = at.toTimeString();
          var abbr = timeString.match(/\([a-z ]+\)/i);
          if (abbr && abbr[0]) {
            abbr = abbr[0].match(/[A-Z]/g);
            abbr = abbr ? abbr.join("") : void 0;
          } else {
            abbr = timeString.match(/[A-Z]{3,5}/g);
            abbr = abbr ? abbr[0] : void 0;
          }
          if (abbr === "GMT") {
            abbr = void 0;
          }
          this.at = +at;
          this.abbr = abbr;
          this.offset = at.getTimezoneOffset();
        }
        function ZoneScore(zone) {
          this.zone = zone;
          this.offsetScore = 0;
          this.abbrScore = 0;
        }
        ZoneScore.prototype.scoreOffsetAt = function(offsetAt) {
          this.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);
          if (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, "") !== offsetAt.abbr) {
            this.abbrScore++;
          }
        };
        function findChange(low, high) {
          var mid, diff;
          while (diff = ((high.at - low.at) / 12e4 | 0) * 6e4) {
            mid = new OffsetAt(new Date(low.at + diff));
            if (mid.offset === low.offset) {
              low = mid;
            } else {
              high = mid;
            }
          }
          return low;
        }
        function userOffsets() {
          var startYear = (/* @__PURE__ */ new Date()).getFullYear() - 2, last = new OffsetAt(new Date(startYear, 0, 1)), offsets = [last], change, next, i;
          for (i = 1; i < 48; i++) {
            next = new OffsetAt(new Date(startYear, i, 1));
            if (next.offset !== last.offset) {
              change = findChange(last, next);
              offsets.push(change);
              offsets.push(new OffsetAt(new Date(change.at + 6e4)));
            }
            last = next;
          }
          for (i = 0; i < 4; i++) {
            offsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));
            offsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));
          }
          return offsets;
        }
        function sortZoneScores(a, b) {
          if (a.offsetScore !== b.offsetScore) {
            return a.offsetScore - b.offsetScore;
          }
          if (a.abbrScore !== b.abbrScore) {
            return a.abbrScore - b.abbrScore;
          }
          if (a.zone.population !== b.zone.population) {
            return b.zone.population - a.zone.population;
          }
          return b.zone.name.localeCompare(a.zone.name);
        }
        function addToGuesses(name, offsets) {
          var i, offset;
          arrayToInt(offsets);
          for (i = 0; i < offsets.length; i++) {
            offset = offsets[i];
            guesses[offset] = guesses[offset] || {};
            guesses[offset][name] = true;
          }
        }
        function guessesForUserOffsets(offsets) {
          var offsetsLength = offsets.length, filteredGuesses = {}, out = [], i, j, guessesOffset;
          for (i = 0; i < offsetsLength; i++) {
            guessesOffset = guesses[offsets[i].offset] || {};
            for (j in guessesOffset) {
              if (guessesOffset.hasOwnProperty(j)) {
                filteredGuesses[j] = true;
              }
            }
          }
          for (i in filteredGuesses) {
            if (filteredGuesses.hasOwnProperty(i)) {
              out.push(names[i]);
            }
          }
          return out;
        }
        function rebuildGuess() {
          try {
            var intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;
            if (intlName && intlName.length > 3) {
              var name = names[normalizeName(intlName)];
              if (name) {
                return name;
              }
              logError("Moment Timezone found " + intlName + " from the Intl api, but did not have that data loaded.");
            }
          } catch (e) {
          }
          var offsets = userOffsets(), offsetsLength = offsets.length, guesses2 = guessesForUserOffsets(offsets), zoneScores = [], zoneScore, i, j;
          for (i = 0; i < guesses2.length; i++) {
            zoneScore = new ZoneScore(getZone(guesses2[i]), offsetsLength);
            for (j = 0; j < offsetsLength; j++) {
              zoneScore.scoreOffsetAt(offsets[j]);
            }
            zoneScores.push(zoneScore);
          }
          zoneScores.sort(sortZoneScores);
          return zoneScores.length > 0 ? zoneScores[0].zone.name : void 0;
        }
        function guess(ignoreCache) {
          if (!cachedGuess || ignoreCache) {
            cachedGuess = rebuildGuess();
          }
          return cachedGuess;
        }
        function normalizeName(name) {
          return (name || "").toLowerCase().replace(/\//g, "_");
        }
        function addZone(packed) {
          var i, name, split, normalized;
          if (typeof packed === "string") {
            packed = [packed];
          }
          for (i = 0; i < packed.length; i++) {
            split = packed[i].split("|");
            name = split[0];
            normalized = normalizeName(name);
            zones[normalized] = packed[i];
            names[normalized] = name;
            addToGuesses(normalized, split[2].split(" "));
          }
        }
        function getZone(name, caller) {
          name = normalizeName(name);
          var zone = zones[name];
          var link;
          if (zone instanceof Zone) {
            return zone;
          }
          if (typeof zone === "string") {
            zone = new Zone(zone);
            zones[name] = zone;
            return zone;
          }
          if (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {
            zone = zones[name] = new Zone();
            zone._set(link);
            zone.name = names[name];
            return zone;
          }
          return null;
        }
        function getNames() {
          var i, out = [];
          for (i in names) {
            if (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {
              out.push(names[i]);
            }
          }
          return out.sort();
        }
        function getCountryNames() {
          return Object.keys(countries);
        }
        function addLink(aliases) {
          var i, alias, normal0, normal1;
          if (typeof aliases === "string") {
            aliases = [aliases];
          }
          for (i = 0; i < aliases.length; i++) {
            alias = aliases[i].split("|");
            normal0 = normalizeName(alias[0]);
            normal1 = normalizeName(alias[1]);
            links[normal0] = normal1;
            names[normal0] = alias[0];
            links[normal1] = normal0;
            names[normal1] = alias[1];
          }
        }
        function addCountries(data) {
          var i, country_code, country_zones, split;
          if (!data || !data.length)
            return;
          for (i = 0; i < data.length; i++) {
            split = data[i].split("|");
            country_code = split[0].toUpperCase();
            country_zones = split[1].split(" ");
            countries[country_code] = new Country(
              country_code,
              country_zones
            );
          }
        }
        function getCountry(name) {
          name = name.toUpperCase();
          return countries[name] || null;
        }
        function zonesForCountry(country, with_offset) {
          country = getCountry(country);
          if (!country)
            return null;
          var zones2 = country.zones.sort();
          if (with_offset) {
            return zones2.map(function(zone_name) {
              var zone = getZone(zone_name);
              return {
                name: zone_name,
                offset: zone.utcOffset(/* @__PURE__ */ new Date())
              };
            });
          }
          return zones2;
        }
        function loadData(data) {
          addZone(data.zones);
          addLink(data.links);
          addCountries(data.countries);
          tz.dataVersion = data.version;
        }
        function zoneExists(name) {
          if (!zoneExists.didShowError) {
            zoneExists.didShowError = true;
            logError("moment.tz.zoneExists('" + name + "') has been deprecated in favor of !moment.tz.zone('" + name + "')");
          }
          return !!getZone(name);
        }
        function needsOffset(m) {
          var isUnixTimestamp = m._f === "X" || m._f === "x";
          return !!(m._a && m._tzm === void 0 && !isUnixTimestamp);
        }
        function logError(message) {
          if (typeof console !== "undefined" && typeof console.error === "function") {
            console.error(message);
          }
        }
        function tz(input) {
          var args = Array.prototype.slice.call(arguments, 0, -1), name = arguments[arguments.length - 1], zone = getZone(name), out = moment4.utc.apply(null, args);
          if (zone && !moment4.isMoment(input) && needsOffset(out)) {
            out.add(zone.parse(out), "minutes");
          }
          out.tz(name);
          return out;
        }
        tz.version = VERSION;
        tz.dataVersion = "";
        tz._zones = zones;
        tz._links = links;
        tz._names = names;
        tz._countries = countries;
        tz.add = addZone;
        tz.link = addLink;
        tz.load = loadData;
        tz.zone = getZone;
        tz.zoneExists = zoneExists;
        tz.guess = guess;
        tz.names = getNames;
        tz.Zone = Zone;
        tz.unpack = unpack;
        tz.unpackBase60 = unpackBase60;
        tz.needsOffset = needsOffset;
        tz.moveInvalidForward = true;
        tz.moveAmbiguousForward = false;
        tz.countries = getCountryNames;
        tz.zonesForCountry = zonesForCountry;
        var fn = moment4.fn;
        moment4.tz = tz;
        moment4.defaultZone = null;
        moment4.updateOffset = function(mom, keepTime) {
          var zone = moment4.defaultZone, offset;
          if (mom._z === void 0) {
            if (zone && needsOffset(mom) && !mom._isUTC) {
              mom._d = moment4.utc(mom._a)._d;
              mom.utc().add(zone.parse(mom), "minutes");
            }
            mom._z = zone;
          }
          if (mom._z) {
            offset = mom._z.utcOffset(mom);
            if (Math.abs(offset) < 16) {
              offset = offset / 60;
            }
            if (mom.utcOffset !== void 0) {
              var z = mom._z;
              mom.utcOffset(-offset, keepTime);
              mom._z = z;
            } else {
              mom.zone(offset, keepTime);
            }
          }
        };
        fn.tz = function(name, keepTime) {
          if (name) {
            if (typeof name !== "string") {
              throw new Error("Time zone name must be a string, got " + name + " [" + typeof name + "]");
            }
            this._z = getZone(name);
            if (this._z) {
              moment4.updateOffset(this, keepTime);
            } else {
              logError("Moment Timezone has no data for " + name + ". See http://momentjs.com/timezone/docs/#/data-loading/.");
            }
            return this;
          }
          if (this._z) {
            return this._z.name;
          }
        };
        function abbrWrap(old) {
          return function() {
            if (this._z) {
              return this._z.abbr(this);
            }
            return old.call(this);
          };
        }
        function resetZoneWrap(old) {
          return function() {
            this._z = null;
            return old.apply(this, arguments);
          };
        }
        function resetZoneWrap2(old) {
          return function() {
            if (arguments.length > 0)
              this._z = null;
            return old.apply(this, arguments);
          };
        }
        fn.zoneName = abbrWrap(fn.zoneName);
        fn.zoneAbbr = abbrWrap(fn.zoneAbbr);
        fn.utc = resetZoneWrap(fn.utc);
        fn.local = resetZoneWrap(fn.local);
        fn.utcOffset = resetZoneWrap2(fn.utcOffset);
        moment4.tz.setDefault = function(name) {
          if (major < 2 || major === 2 && minor < 9) {
            logError("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js " + moment4.version + ".");
          }
          moment4.defaultZone = name ? getZone(name) : null;
          return moment4;
        };
        var momentProperties = moment4.momentProperties;
        if (Object.prototype.toString.call(momentProperties) === "[object Array]") {
          momentProperties.push("_z");
          momentProperties.push("_a");
        } else if (momentProperties) {
          momentProperties._z = null;
        }
        return moment4;
      });
    }
  });

  // node_modules/moment-timezone/data/packed/latest.json
  var require_latest = __commonJS({
    "node_modules/moment-timezone/data/packed/latest.json"(exports, module2) {
      module2.exports = {
        version: "2020a",
        zones: [
          "Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5",
          "Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5",
          "Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5",
          "Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5",
          "Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6",
          "Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4",
          "Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5",
          "Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6",
          "Africa/Casablanca|LMT +00 +01|u.k 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0|32e5",
          "Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3",
          "Africa/El_Aaiun|LMT -01 +00 +01|Q.M 10 0 -10|012323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0|20e4",
          "Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5",
          "Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0|",
          "Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5",
          "Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5",
          "Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5",
          "Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|0121|-2le00 4i6N0 2q00|",
          "Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5",
          "Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5",
          "Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4",
          "America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326",
          "America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4",
          "America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3",
          "America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4",
          "America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0|",
          "America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0|",
          "America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0|",
          "America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0|",
          "America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|",
          "America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0|",
          "America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|",
          "America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0|",
          "America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0|",
          "America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0|",
          "America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0|",
          "America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0|",
          "America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4",
          "America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5",
          "America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2",
          "America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3",
          "America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5",
          "America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4",
          "America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5",
          "America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3",
          "America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2",
          "America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2",
          "America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5",
          "America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4",
          "America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2",
          "America/Campo_Grande|LMT -04 -03|3C.s 40 30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4",
          "America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4",
          "America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5",
          "America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3",
          "America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5",
          "America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5",
          "America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4",
          "America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5",
          "America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2",
          "America/Cuiaba|LMT -04 -03|3I.k 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|54e4",
          "America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8",
          "America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3",
          "America/Dawson|YST YDT YWT YPT YDDT PST PDT MST|90 80 80 80 70 80 70 70|01010230405656565656565656565656565656565656565656565656565656565656565656565656565656565657|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|13e2",
          "America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5",
          "America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|0123425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 JxX1 SMX 1cN0 1cL0 aW10 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5",
          "America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|0121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 XQp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5",
          "America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3",
          "America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5",
          "America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5",
          "America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2",
          "America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5",
          "America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3",
          "America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3",
          "America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2",
          "America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2",
          "America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5",
          "America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5",
          "America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4",
          "America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4",
          "America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5",
          "America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4",
          "America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010401054541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 8wn0 1cN0 1cL0 1cN0 1cK0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2",
          "America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2",
          "America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4",
          "America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3",
          "America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 1nX1 e0X 9vd0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5",
          "America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6",
          "America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6",
          "America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4",
          "America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5",
          "America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5",
          "America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4",
          "America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4",
          "America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4",
          "America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2",
          "America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5",
          "America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|01203030303030303030303030303030304545450454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2",
          "America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6",
          "America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2",
          "America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3",
          "America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5",
          "America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5",
          "America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5",
          "America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4",
          "America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6",
          "America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2",
          "America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2",
          "America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2",
          "America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3",
          "America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2",
          "America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4",
          "America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5",
          "America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5",
          "America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4",
          "America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4",
          "America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5",
          "America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|",
          "America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842",
          "America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2",
          "America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5",
          "America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4",
          "America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229",
          "America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4",
          "America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0|62e5",
          "America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5",
          "America/Sao_Paulo|LMT -03 -02|36.s 30 20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6",
          "America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452",
          "America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2",
          "America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4",
          "America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3",
          "America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5",
          "America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656",
          "America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4",
          "America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5",
          "America/Whitehorse|YST YDT YWT YPT YDDT PST PDT MST|90 80 80 80 70 80 70 70|01010230405656565656565656565656565656565656565656565656565656565656565656565656565656565657|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|23e3",
          "America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4",
          "America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642",
          "America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3",
          "Antarctica/Casey|-00 +08 +11|0 -80 -b0|01212121|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10|10",
          "Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70",
          "Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80",
          "Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1",
          "Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60",
          "Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5",
          "Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40",
          "Antarctica/Rothera|-00 -03|0 30|01|gOo0|130",
          "Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20",
          "Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40",
          "Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25",
          "Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4",
          "Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5",
          "Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5",
          "Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5",
          "Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3",
          "Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4",
          "Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4",
          "Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4",
          "Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|",
          "Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5",
          "Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4",
          "Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5",
          "Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6",
          "Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|",
          "Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5",
          "Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4",
          "Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4",
          "Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6",
          "Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4",
          "Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3",
          "Asia/Shanghai|CST CDT|-80 -90|01010101010101010101010101010|-23uw0 18n0 OjB0 Rz0 11d0 1wL0 A10 8HX0 1G10 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 aL0 1tU30 Rb0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6",
          "Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5",
          "Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6",
          "Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5",
          "Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4",
          "Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5",
          "Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4",
          "Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|",
          "Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|0101010101010101010101010101010123232323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXd0 gM0 8Q00 IM0 1wM0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0|18e5",
          "Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXd0 gM0 8Q00 IM0 1wM0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0|25e4",
          "Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5",
          "Asia/Hong_Kong|LMT HKT HKST HKWT JST|-7A.G -80 -90 -8u -90|0123412121212121212121212121212121212121212121212121212121212121212121|-2CFH0 1taO0 Hc0 xUu 9tBu 11z0 1tDu Rc0 1wo0 11A0 1cM0 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5",
          "Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3",
          "Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4",
          "Europe/Istanbul|IMT EET EEST +03 +04|-1U.U -20 -30 -30 -40|0121212121212121212121212121212121212121212121234312121212121212121212121212121212121212121212121212121212121212123|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSN0 CL0 mp0 1Vz0 1gN0 8yn0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1ip0 19X0 1ip0 17b0 qdB0 38L0 1jd0 Tz0 l6O0 11A0 WN0 1qL0 TB0 1tX0 U10 1tz0 11B0 1in0 17d0 z90 cne0 pb0 2Cp0 1800 14o0 1dc0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6",
          "Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6",
          "Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4",
          "Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 bXd0 gM0 8Q00 IM0 1wM0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4",
          "Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5",
          "Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4",
          "Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6",
          "Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5",
          "Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5",
          "Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2",
          "Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5",
          "Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5",
          "Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4",
          "Asia/Macau|LMT CST +09 +10 CDT|-7y.a -80 -90 -a0 -90|012323214141414141414141414141414141414141414141414141414141414141414141|-2CFHy.a 1uqKy.a PX0 1kn0 15B0 11b0 4Qq0 1oM0 11c0 1ko0 1u00 11A0 1cM0 11c0 1o00 11A0 1o00 11A0 1oo0 1400 1o00 11A0 1o00 U00 1tA0 U00 1wo0 Rc0 1wru U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cK0 1cO0 1cK0 1cO0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|57e4",
          "Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3",
          "Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5",
          "Asia/Manila|PST PDT JST|-80 -90 -90|010201010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6",
          "Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4",
          "Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4",
          "Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5",
          "Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5",
          "Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4",
          "Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4",
          "Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BA0|29e5",
          "Asia/Qostanay|LMT +04 +05 +06|-4e.s -40 -50 -60|012323232323232323232123232323232323232323232323|-1Pc4e.s eUoe.s 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|",
          "Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|01232323232323232323232323232323232323232323232|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 zQl0|73e4",
          "Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5",
          "Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4",
          "Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4",
          "Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -a0 -9u|012343434343151515151515134343|-2um8r.Q 97XV.Q 1m1zu 6CM0 Fz0 1kN0 14n0 1kN0 14L0 1zd0 On0 69B0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6",
          "Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2",
          "Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5",
          "Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5",
          "Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5",
          "Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6",
          "Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3",
          "Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rc0 1lc0 14o0 1zc0 Oo0 1zc0 Oo0|38e6",
          "Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5",
          "Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5",
          "Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2",
          "Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4",
          "Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4",
          "Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5",
          "Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5",
          "Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4",
          "Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3",
          "Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4",
          "Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4",
          "Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3",
          "Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4",
          "Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4",
          "Atlantic/South_Georgia|-02|20|0||30",
          "Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2",
          "Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5",
          "Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5",
          "Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5",
          "Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3",
          "Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746",
          "Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4",
          "Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368",
          "Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4",
          "Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347",
          "Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10",
          "Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5",
          "Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5",
          "CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|",
          "Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0|30e2",
          "CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|",
          "Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
          "EST|EST|50|0||",
          "EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "Etc/GMT-0|GMT|0|0||",
          "Etc/GMT-1|+01|-10|0||",
          "Pacific/Port_Moresby|+10|-a0|0||25e4",
          "Etc/GMT-11|+11|-b0|0||",
          "Pacific/Tarawa|+12|-c0|0||29e3",
          "Etc/GMT-13|+13|-d0|0||",
          "Etc/GMT-14|+14|-e0|0||",
          "Etc/GMT-2|+02|-20|0||",
          "Etc/GMT-3|+03|-30|0||",
          "Etc/GMT-4|+04|-40|0||",
          "Etc/GMT-5|+05|-50|0||",
          "Etc/GMT-6|+06|-60|0||",
          "Indian/Christmas|+07|-70|0||21e2",
          "Etc/GMT-8|+08|-80|0||",
          "Pacific/Palau|+09|-90|0||21e3",
          "Etc/GMT+1|-01|10|0||",
          "Etc/GMT+10|-10|a0|0||",
          "Etc/GMT+11|-11|b0|0||",
          "Etc/GMT+12|-12|c0|0||",
          "Etc/GMT+3|-03|30|0||",
          "Etc/GMT+4|-04|40|0||",
          "Etc/GMT+5|-05|50|0||",
          "Etc/GMT+6|-06|60|0||",
          "Etc/GMT+7|-07|70|0||",
          "Etc/GMT+8|-08|80|0||",
          "Etc/GMT+9|-09|90|0||",
          "Etc/UTC|UTC|0|0||",
          "Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5",
          "Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3",
          "Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|10e5",
          "Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5",
          "Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6",
          "Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
          "Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5",
          "Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5",
          "Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5",
          "Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5",
          "Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5",
          "Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4",
          "Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4",
          "Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
          "Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3",
          "Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
          "Europe/Kaliningrad|CET CEST EET EEST MSK MSD +03|-10 -20 -20 -30 -30 -40 -30|01010101010101232454545454545454543232323232323232323232323232323232323232323262|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 390 7A0 1en0 12N0 1pbb0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4",
          "Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5",
          "Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4",
          "Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5",
          "Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4",
          "Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5",
          "Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4",
          "Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5",
          "Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3",
          "Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6",
          "Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6",
          "Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4",
          "Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5",
          "Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5",
          "Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810|",
          "Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4",
          "Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
          "Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5",
          "Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4",
          "Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4",
          "Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|13e5",
          "Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4",
          "Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1ao0 1co0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5",
          "Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4",
          "Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 9Jd0|10e5",
          "Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5",
          "Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4",
          "HST|HST|a0|0||",
          "Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2",
          "Indian/Cocos|+0630|-6u|0||596",
          "Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130",
          "Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3",
          "Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4",
          "Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4",
          "Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4",
          "Pacific/Kwajalein|+11 +10 +09 -12 +12|-b0 -a0 -90 c0 -c0|012034|-1kln0 akp0 6Up0 12ry0 Wan0|14e3",
          "MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|",
          "MST|MST|70|0||",
          "MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600",
          "Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3",
          "Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4",
          "Pacific/Chuuk|+10 +09|-a0 -90|01010|-2ewy0 axB0 RVX0 axd0|49e3",
          "Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3",
          "Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1",
          "Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483",
          "Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00|88e4",
          "Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3",
          "Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125",
          "Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4",
          "Pacific/Guam|GST +09 GDT ChST|-a0 -90 -b0 -a0|01020202020202020203|-18jK0 6pB0 AhB0 3QL0 g2p0 3p91 WOX rX0 1zd0 Rb0 1wp0 Rb0 5xd0 rX0 5sN0 zb1 1C0X On0 ULb0|17e4",
          "Pacific/Honolulu|HST HDT HWT HPT HST|au 9u 9u 9u a0|0102304|-1thLu 8x0 lef0 8wWu iAu 46p0|37e4",
          "Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2",
          "Pacific/Kosrae|+11 +09 +10 +12|-b0 -90 -a0 -c0|01021030|-2ewz0 axC0 HBy0 akp0 axd0 WOK0 1bdz0|66e2",
          "Pacific/Majuro|+11 +09 +10 +12|-b0 -90 -a0 -c0|0102103|-2ewz0 axC0 HBy0 akp0 6RB0 12um0|28e3",
          "Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2",
          "Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2",
          "Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E QCnB.E 7mqu 1lnbu|10e3",
          "Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2",
          "Pacific/Norfolk|+1112 +1130 +1230 +11 +12|-bc -bu -cu -b0 -c0|012134343434343434343434343434343434343434|-Kgbc W01G Oo0 1COo0 9Jcu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|25e4",
          "Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3",
          "Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56",
          "Pacific/Pohnpei|+11 +09 +10|-b0 -90 -a0|010210|-2ewz0 axC0 HBy0 akp0 axd0|34e3",
          "Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3",
          "Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4",
          "Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3",
          "PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
          "WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|"
        ],
        links: [
          "Africa/Abidjan|Africa/Bamako",
          "Africa/Abidjan|Africa/Banjul",
          "Africa/Abidjan|Africa/Conakry",
          "Africa/Abidjan|Africa/Dakar",
          "Africa/Abidjan|Africa/Freetown",
          "Africa/Abidjan|Africa/Lome",
          "Africa/Abidjan|Africa/Nouakchott",
          "Africa/Abidjan|Africa/Ouagadougou",
          "Africa/Abidjan|Africa/Timbuktu",
          "Africa/Abidjan|Atlantic/St_Helena",
          "Africa/Cairo|Egypt",
          "Africa/Johannesburg|Africa/Maseru",
          "Africa/Johannesburg|Africa/Mbabane",
          "Africa/Lagos|Africa/Bangui",
          "Africa/Lagos|Africa/Brazzaville",
          "Africa/Lagos|Africa/Douala",
          "Africa/Lagos|Africa/Kinshasa",
          "Africa/Lagos|Africa/Libreville",
          "Africa/Lagos|Africa/Luanda",
          "Africa/Lagos|Africa/Malabo",
          "Africa/Lagos|Africa/Niamey",
          "Africa/Lagos|Africa/Porto-Novo",
          "Africa/Maputo|Africa/Blantyre",
          "Africa/Maputo|Africa/Bujumbura",
          "Africa/Maputo|Africa/Gaborone",
          "Africa/Maputo|Africa/Harare",
          "Africa/Maputo|Africa/Kigali",
          "Africa/Maputo|Africa/Lubumbashi",
          "Africa/Maputo|Africa/Lusaka",
          "Africa/Nairobi|Africa/Addis_Ababa",
          "Africa/Nairobi|Africa/Asmara",
          "Africa/Nairobi|Africa/Asmera",
          "Africa/Nairobi|Africa/Dar_es_Salaam",
          "Africa/Nairobi|Africa/Djibouti",
          "Africa/Nairobi|Africa/Kampala",
          "Africa/Nairobi|Africa/Mogadishu",
          "Africa/Nairobi|Indian/Antananarivo",
          "Africa/Nairobi|Indian/Comoro",
          "Africa/Nairobi|Indian/Mayotte",
          "Africa/Tripoli|Libya",
          "America/Adak|America/Atka",
          "America/Adak|US/Aleutian",
          "America/Anchorage|US/Alaska",
          "America/Argentina/Buenos_Aires|America/Buenos_Aires",
          "America/Argentina/Catamarca|America/Argentina/ComodRivadavia",
          "America/Argentina/Catamarca|America/Catamarca",
          "America/Argentina/Cordoba|America/Cordoba",
          "America/Argentina/Cordoba|America/Rosario",
          "America/Argentina/Jujuy|America/Jujuy",
          "America/Argentina/Mendoza|America/Mendoza",
          "America/Atikokan|America/Coral_Harbour",
          "America/Chicago|US/Central",
          "America/Curacao|America/Aruba",
          "America/Curacao|America/Kralendijk",
          "America/Curacao|America/Lower_Princes",
          "America/Denver|America/Shiprock",
          "America/Denver|Navajo",
          "America/Denver|US/Mountain",
          "America/Detroit|US/Michigan",
          "America/Edmonton|Canada/Mountain",
          "America/Fort_Wayne|America/Indiana/Indianapolis",
          "America/Fort_Wayne|America/Indianapolis",
          "America/Fort_Wayne|US/East-Indiana",
          "America/Godthab|America/Nuuk",
          "America/Halifax|Canada/Atlantic",
          "America/Havana|Cuba",
          "America/Indiana/Knox|America/Knox_IN",
          "America/Indiana/Knox|US/Indiana-Starke",
          "America/Jamaica|Jamaica",
          "America/Kentucky/Louisville|America/Louisville",
          "America/Los_Angeles|US/Pacific",
          "America/Los_Angeles|US/Pacific-New",
          "America/Manaus|Brazil/West",
          "America/Mazatlan|Mexico/BajaSur",
          "America/Mexico_City|Mexico/General",
          "America/New_York|US/Eastern",
          "America/Noronha|Brazil/DeNoronha",
          "America/Panama|America/Cayman",
          "America/Phoenix|US/Arizona",
          "America/Port_of_Spain|America/Anguilla",
          "America/Port_of_Spain|America/Antigua",
          "America/Port_of_Spain|America/Dominica",
          "America/Port_of_Spain|America/Grenada",
          "America/Port_of_Spain|America/Guadeloupe",
          "America/Port_of_Spain|America/Marigot",
          "America/Port_of_Spain|America/Montserrat",
          "America/Port_of_Spain|America/St_Barthelemy",
          "America/Port_of_Spain|America/St_Kitts",
          "America/Port_of_Spain|America/St_Lucia",
          "America/Port_of_Spain|America/St_Thomas",
          "America/Port_of_Spain|America/St_Vincent",
          "America/Port_of_Spain|America/Tortola",
          "America/Port_of_Spain|America/Virgin",
          "America/Regina|Canada/Saskatchewan",
          "America/Rio_Branco|America/Porto_Acre",
          "America/Rio_Branco|Brazil/Acre",
          "America/Santiago|Chile/Continental",
          "America/Sao_Paulo|Brazil/East",
          "America/St_Johns|Canada/Newfoundland",
          "America/Tijuana|America/Ensenada",
          "America/Tijuana|America/Santa_Isabel",
          "America/Tijuana|Mexico/BajaNorte",
          "America/Toronto|America/Montreal",
          "America/Toronto|Canada/Eastern",
          "America/Vancouver|Canada/Pacific",
          "America/Whitehorse|Canada/Yukon",
          "America/Winnipeg|Canada/Central",
          "Asia/Ashgabat|Asia/Ashkhabad",
          "Asia/Bangkok|Asia/Phnom_Penh",
          "Asia/Bangkok|Asia/Vientiane",
          "Asia/Dhaka|Asia/Dacca",
          "Asia/Dubai|Asia/Muscat",
          "Asia/Ho_Chi_Minh|Asia/Saigon",
          "Asia/Hong_Kong|Hongkong",
          "Asia/Jerusalem|Asia/Tel_Aviv",
          "Asia/Jerusalem|Israel",
          "Asia/Kathmandu|Asia/Katmandu",
          "Asia/Kolkata|Asia/Calcutta",
          "Asia/Kuala_Lumpur|Asia/Singapore",
          "Asia/Kuala_Lumpur|Singapore",
          "Asia/Macau|Asia/Macao",
          "Asia/Makassar|Asia/Ujung_Pandang",
          "Asia/Nicosia|Europe/Nicosia",
          "Asia/Qatar|Asia/Bahrain",
          "Asia/Rangoon|Asia/Yangon",
          "Asia/Riyadh|Asia/Aden",
          "Asia/Riyadh|Asia/Kuwait",
          "Asia/Seoul|ROK",
          "Asia/Shanghai|Asia/Chongqing",
          "Asia/Shanghai|Asia/Chungking",
          "Asia/Shanghai|Asia/Harbin",
          "Asia/Shanghai|PRC",
          "Asia/Taipei|ROC",
          "Asia/Tehran|Iran",
          "Asia/Thimphu|Asia/Thimbu",
          "Asia/Tokyo|Japan",
          "Asia/Ulaanbaatar|Asia/Ulan_Bator",
          "Asia/Urumqi|Asia/Kashgar",
          "Atlantic/Faroe|Atlantic/Faeroe",
          "Atlantic/Reykjavik|Iceland",
          "Atlantic/South_Georgia|Etc/GMT+2",
          "Australia/Adelaide|Australia/South",
          "Australia/Brisbane|Australia/Queensland",
          "Australia/Broken_Hill|Australia/Yancowinna",
          "Australia/Darwin|Australia/North",
          "Australia/Hobart|Australia/Tasmania",
          "Australia/Lord_Howe|Australia/LHI",
          "Australia/Melbourne|Australia/Victoria",
          "Australia/Perth|Australia/West",
          "Australia/Sydney|Australia/ACT",
          "Australia/Sydney|Australia/Canberra",
          "Australia/Sydney|Australia/NSW",
          "Etc/GMT-0|Etc/GMT",
          "Etc/GMT-0|Etc/GMT+0",
          "Etc/GMT-0|Etc/GMT0",
          "Etc/GMT-0|Etc/Greenwich",
          "Etc/GMT-0|GMT",
          "Etc/GMT-0|GMT+0",
          "Etc/GMT-0|GMT-0",
          "Etc/GMT-0|GMT0",
          "Etc/GMT-0|Greenwich",
          "Etc/UTC|Etc/UCT",
          "Etc/UTC|Etc/Universal",
          "Etc/UTC|Etc/Zulu",
          "Etc/UTC|UCT",
          "Etc/UTC|UTC",
          "Etc/UTC|Universal",
          "Etc/UTC|Zulu",
          "Europe/Belgrade|Europe/Ljubljana",
          "Europe/Belgrade|Europe/Podgorica",
          "Europe/Belgrade|Europe/Sarajevo",
          "Europe/Belgrade|Europe/Skopje",
          "Europe/Belgrade|Europe/Zagreb",
          "Europe/Chisinau|Europe/Tiraspol",
          "Europe/Dublin|Eire",
          "Europe/Helsinki|Europe/Mariehamn",
          "Europe/Istanbul|Asia/Istanbul",
          "Europe/Istanbul|Turkey",
          "Europe/Lisbon|Portugal",
          "Europe/London|Europe/Belfast",
          "Europe/London|Europe/Guernsey",
          "Europe/London|Europe/Isle_of_Man",
          "Europe/London|Europe/Jersey",
          "Europe/London|GB",
          "Europe/London|GB-Eire",
          "Europe/Moscow|W-SU",
          "Europe/Oslo|Arctic/Longyearbyen",
          "Europe/Oslo|Atlantic/Jan_Mayen",
          "Europe/Prague|Europe/Bratislava",
          "Europe/Rome|Europe/San_Marino",
          "Europe/Rome|Europe/Vatican",
          "Europe/Warsaw|Poland",
          "Europe/Zurich|Europe/Busingen",
          "Europe/Zurich|Europe/Vaduz",
          "Indian/Christmas|Etc/GMT-7",
          "Pacific/Auckland|Antarctica/McMurdo",
          "Pacific/Auckland|Antarctica/South_Pole",
          "Pacific/Auckland|NZ",
          "Pacific/Chatham|NZ-CHAT",
          "Pacific/Chuuk|Pacific/Truk",
          "Pacific/Chuuk|Pacific/Yap",
          "Pacific/Easter|Chile/EasterIsland",
          "Pacific/Guam|Pacific/Saipan",
          "Pacific/Honolulu|Pacific/Johnston",
          "Pacific/Honolulu|US/Hawaii",
          "Pacific/Kwajalein|Kwajalein",
          "Pacific/Pago_Pago|Pacific/Midway",
          "Pacific/Pago_Pago|Pacific/Samoa",
          "Pacific/Pago_Pago|US/Samoa",
          "Pacific/Palau|Etc/GMT-9",
          "Pacific/Pohnpei|Pacific/Ponape",
          "Pacific/Port_Moresby|Etc/GMT-10",
          "Pacific/Tarawa|Etc/GMT-12",
          "Pacific/Tarawa|Pacific/Funafuti",
          "Pacific/Tarawa|Pacific/Wake",
          "Pacific/Tarawa|Pacific/Wallis"
        ],
        countries: [
          "AD|Europe/Andorra",
          "AE|Asia/Dubai",
          "AF|Asia/Kabul",
          "AG|America/Port_of_Spain America/Antigua",
          "AI|America/Port_of_Spain America/Anguilla",
          "AL|Europe/Tirane",
          "AM|Asia/Yerevan",
          "AO|Africa/Lagos Africa/Luanda",
          "AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo",
          "AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia",
          "AS|Pacific/Pago_Pago",
          "AT|Europe/Vienna",
          "AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Currie Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla",
          "AW|America/Curacao America/Aruba",
          "AX|Europe/Helsinki Europe/Mariehamn",
          "AZ|Asia/Baku",
          "BA|Europe/Belgrade Europe/Sarajevo",
          "BB|America/Barbados",
          "BD|Asia/Dhaka",
          "BE|Europe/Brussels",
          "BF|Africa/Abidjan Africa/Ouagadougou",
          "BG|Europe/Sofia",
          "BH|Asia/Qatar Asia/Bahrain",
          "BI|Africa/Maputo Africa/Bujumbura",
          "BJ|Africa/Lagos Africa/Porto-Novo",
          "BL|America/Port_of_Spain America/St_Barthelemy",
          "BM|Atlantic/Bermuda",
          "BN|Asia/Brunei",
          "BO|America/La_Paz",
          "BQ|America/Curacao America/Kralendijk",
          "BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco",
          "BS|America/Nassau",
          "BT|Asia/Thimphu",
          "BW|Africa/Maputo Africa/Gaborone",
          "BY|Europe/Minsk",
          "BZ|America/Belize",
          "CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Vancouver America/Whitehorse America/Dawson",
          "CC|Indian/Cocos",
          "CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi",
          "CF|Africa/Lagos Africa/Bangui",
          "CG|Africa/Lagos Africa/Brazzaville",
          "CH|Europe/Zurich",
          "CI|Africa/Abidjan",
          "CK|Pacific/Rarotonga",
          "CL|America/Santiago America/Punta_Arenas Pacific/Easter",
          "CM|Africa/Lagos Africa/Douala",
          "CN|Asia/Shanghai Asia/Urumqi",
          "CO|America/Bogota",
          "CR|America/Costa_Rica",
          "CU|America/Havana",
          "CV|Atlantic/Cape_Verde",
          "CW|America/Curacao",
          "CX|Indian/Christmas",
          "CY|Asia/Nicosia Asia/Famagusta",
          "CZ|Europe/Prague",
          "DE|Europe/Zurich Europe/Berlin Europe/Busingen",
          "DJ|Africa/Nairobi Africa/Djibouti",
          "DK|Europe/Copenhagen",
          "DM|America/Port_of_Spain America/Dominica",
          "DO|America/Santo_Domingo",
          "DZ|Africa/Algiers",
          "EC|America/Guayaquil Pacific/Galapagos",
          "EE|Europe/Tallinn",
          "EG|Africa/Cairo",
          "EH|Africa/El_Aaiun",
          "ER|Africa/Nairobi Africa/Asmara",
          "ES|Europe/Madrid Africa/Ceuta Atlantic/Canary",
          "ET|Africa/Nairobi Africa/Addis_Ababa",
          "FI|Europe/Helsinki",
          "FJ|Pacific/Fiji",
          "FK|Atlantic/Stanley",
          "FM|Pacific/Chuuk Pacific/Pohnpei Pacific/Kosrae",
          "FO|Atlantic/Faroe",
          "FR|Europe/Paris",
          "GA|Africa/Lagos Africa/Libreville",
          "GB|Europe/London",
          "GD|America/Port_of_Spain America/Grenada",
          "GE|Asia/Tbilisi",
          "GF|America/Cayenne",
          "GG|Europe/London Europe/Guernsey",
          "GH|Africa/Accra",
          "GI|Europe/Gibraltar",
          "GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule",
          "GM|Africa/Abidjan Africa/Banjul",
          "GN|Africa/Abidjan Africa/Conakry",
          "GP|America/Port_of_Spain America/Guadeloupe",
          "GQ|Africa/Lagos Africa/Malabo",
          "GR|Europe/Athens",
          "GS|Atlantic/South_Georgia",
          "GT|America/Guatemala",
          "GU|Pacific/Guam",
          "GW|Africa/Bissau",
          "GY|America/Guyana",
          "HK|Asia/Hong_Kong",
          "HN|America/Tegucigalpa",
          "HR|Europe/Belgrade Europe/Zagreb",
          "HT|America/Port-au-Prince",
          "HU|Europe/Budapest",
          "ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura",
          "IE|Europe/Dublin",
          "IL|Asia/Jerusalem",
          "IM|Europe/London Europe/Isle_of_Man",
          "IN|Asia/Kolkata",
          "IO|Indian/Chagos",
          "IQ|Asia/Baghdad",
          "IR|Asia/Tehran",
          "IS|Atlantic/Reykjavik",
          "IT|Europe/Rome",
          "JE|Europe/London Europe/Jersey",
          "JM|America/Jamaica",
          "JO|Asia/Amman",
          "JP|Asia/Tokyo",
          "KE|Africa/Nairobi",
          "KG|Asia/Bishkek",
          "KH|Asia/Bangkok Asia/Phnom_Penh",
          "KI|Pacific/Tarawa Pacific/Enderbury Pacific/Kiritimati",
          "KM|Africa/Nairobi Indian/Comoro",
          "KN|America/Port_of_Spain America/St_Kitts",
          "KP|Asia/Pyongyang",
          "KR|Asia/Seoul",
          "KW|Asia/Riyadh Asia/Kuwait",
          "KY|America/Panama America/Cayman",
          "KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral",
          "LA|Asia/Bangkok Asia/Vientiane",
          "LB|Asia/Beirut",
          "LC|America/Port_of_Spain America/St_Lucia",
          "LI|Europe/Zurich Europe/Vaduz",
          "LK|Asia/Colombo",
          "LR|Africa/Monrovia",
          "LS|Africa/Johannesburg Africa/Maseru",
          "LT|Europe/Vilnius",
          "LU|Europe/Luxembourg",
          "LV|Europe/Riga",
          "LY|Africa/Tripoli",
          "MA|Africa/Casablanca",
          "MC|Europe/Monaco",
          "MD|Europe/Chisinau",
          "ME|Europe/Belgrade Europe/Podgorica",
          "MF|America/Port_of_Spain America/Marigot",
          "MG|Africa/Nairobi Indian/Antananarivo",
          "MH|Pacific/Majuro Pacific/Kwajalein",
          "MK|Europe/Belgrade Europe/Skopje",
          "ML|Africa/Abidjan Africa/Bamako",
          "MM|Asia/Yangon",
          "MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan",
          "MO|Asia/Macau",
          "MP|Pacific/Guam Pacific/Saipan",
          "MQ|America/Martinique",
          "MR|Africa/Abidjan Africa/Nouakchott",
          "MS|America/Port_of_Spain America/Montserrat",
          "MT|Europe/Malta",
          "MU|Indian/Mauritius",
          "MV|Indian/Maldives",
          "MW|Africa/Maputo Africa/Blantyre",
          "MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas",
          "MY|Asia/Kuala_Lumpur Asia/Kuching",
          "MZ|Africa/Maputo",
          "NA|Africa/Windhoek",
          "NC|Pacific/Noumea",
          "NE|Africa/Lagos Africa/Niamey",
          "NF|Pacific/Norfolk",
          "NG|Africa/Lagos",
          "NI|America/Managua",
          "NL|Europe/Amsterdam",
          "NO|Europe/Oslo",
          "NP|Asia/Kathmandu",
          "NR|Pacific/Nauru",
          "NU|Pacific/Niue",
          "NZ|Pacific/Auckland Pacific/Chatham",
          "OM|Asia/Dubai Asia/Muscat",
          "PA|America/Panama",
          "PE|America/Lima",
          "PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier",
          "PG|Pacific/Port_Moresby Pacific/Bougainville",
          "PH|Asia/Manila",
          "PK|Asia/Karachi",
          "PL|Europe/Warsaw",
          "PM|America/Miquelon",
          "PN|Pacific/Pitcairn",
          "PR|America/Puerto_Rico",
          "PS|Asia/Gaza Asia/Hebron",
          "PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores",
          "PW|Pacific/Palau",
          "PY|America/Asuncion",
          "QA|Asia/Qatar",
          "RE|Indian/Reunion",
          "RO|Europe/Bucharest",
          "RS|Europe/Belgrade",
          "RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Astrakhan Europe/Volgograd Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr",
          "RW|Africa/Maputo Africa/Kigali",
          "SA|Asia/Riyadh",
          "SB|Pacific/Guadalcanal",
          "SC|Indian/Mahe",
          "SD|Africa/Khartoum",
          "SE|Europe/Stockholm",
          "SG|Asia/Singapore",
          "SH|Africa/Abidjan Atlantic/St_Helena",
          "SI|Europe/Belgrade Europe/Ljubljana",
          "SJ|Europe/Oslo Arctic/Longyearbyen",
          "SK|Europe/Prague Europe/Bratislava",
          "SL|Africa/Abidjan Africa/Freetown",
          "SM|Europe/Rome Europe/San_Marino",
          "SN|Africa/Abidjan Africa/Dakar",
          "SO|Africa/Nairobi Africa/Mogadishu",
          "SR|America/Paramaribo",
          "SS|Africa/Juba",
          "ST|Africa/Sao_Tome",
          "SV|America/El_Salvador",
          "SX|America/Curacao America/Lower_Princes",
          "SY|Asia/Damascus",
          "SZ|Africa/Johannesburg Africa/Mbabane",
          "TC|America/Grand_Turk",
          "TD|Africa/Ndjamena",
          "TF|Indian/Reunion Indian/Kerguelen",
          "TG|Africa/Abidjan Africa/Lome",
          "TH|Asia/Bangkok",
          "TJ|Asia/Dushanbe",
          "TK|Pacific/Fakaofo",
          "TL|Asia/Dili",
          "TM|Asia/Ashgabat",
          "TN|Africa/Tunis",
          "TO|Pacific/Tongatapu",
          "TR|Europe/Istanbul",
          "TT|America/Port_of_Spain",
          "TV|Pacific/Funafuti",
          "TW|Asia/Taipei",
          "TZ|Africa/Nairobi Africa/Dar_es_Salaam",
          "UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye",
          "UG|Africa/Nairobi Africa/Kampala",
          "UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway",
          "US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu",
          "UY|America/Montevideo",
          "UZ|Asia/Samarkand Asia/Tashkent",
          "VA|Europe/Rome Europe/Vatican",
          "VC|America/Port_of_Spain America/St_Vincent",
          "VE|America/Caracas",
          "VG|America/Port_of_Spain America/Tortola",
          "VI|America/Port_of_Spain America/St_Thomas",
          "VN|Asia/Bangkok Asia/Ho_Chi_Minh",
          "VU|Pacific/Efate",
          "WF|Pacific/Wallis",
          "WS|Pacific/Apia",
          "YE|Asia/Riyadh Asia/Aden",
          "YT|Africa/Nairobi Indian/Mayotte",
          "ZA|Africa/Johannesburg",
          "ZM|Africa/Maputo Africa/Lusaka",
          "ZW|Africa/Maputo Africa/Harare"
        ]
      };
    }
  });

  // node_modules/moment-timezone/index.js
  var require_moment_timezone2 = __commonJS({
    "node_modules/moment-timezone/index.js"(exports, module2) {
      var moment4 = module2.exports = require_moment_timezone();
      moment4.tz.load(require_latest());
    }
  });

  // packages/systems/dynamo/utils/ParamFieldPathUtils/index.ts
  var SEPARATOR, isFieldOfItemRef, getValueFieldSlug, getItemRefSlug, createFieldPath;
  var init_ParamFieldPathUtils = __esm({
    "packages/systems/dynamo/utils/ParamFieldPathUtils/index.ts"() {
      "use strict";
      SEPARATOR = ":";
      isFieldOfItemRef = (fieldPath) => fieldPath.indexOf(SEPARATOR) !== -1;
      getValueFieldSlug = (fieldPath) => {
        const splitPath = fieldPath.split(SEPARATOR);
        return splitPath[splitPath.length - 1];
      };
      getItemRefSlug = (fieldPath) => {
        if (isFieldOfItemRef(fieldPath)) {
          const splitPath = fieldPath.split(SEPARATOR);
          return splitPath[0];
        }
        return null;
      };
      createFieldPath = (...fieldSlugs) => fieldSlugs.join(SEPARATOR);
    }
  });

  // packages/systems/dynamo/utils/FilterUtils/FilterUtils.ts
  var convertConditionFieldsFromObjectToArray, normalizeConditionFields;
  var init_FilterUtils = __esm({
    "packages/systems/dynamo/utils/FilterUtils/FilterUtils.ts"() {
      "use strict";
      init_utils2();
      convertConditionFieldsFromObjectToArray = (fields) => {
        const mapper = (fieldPath) => {
          const type = fields[fieldPath].type;
          return Object.entries(fields[fieldPath]).reduce(
            (conditionFields, [operatorName, value]) => {
              if (operatorName === "type") {
                return conditionFields;
              }
              conditionFields.push({ fieldPath, operatorName, value, type });
              return conditionFields;
            },
            []
          );
        };
        return flatMap(mapper)(Object.keys(fields));
      };
      normalizeConditionFields = (fields = []) => {
        if (Array.isArray(fields)) {
          return fields;
        }
        return convertConditionFieldsFromObjectToArray(fields);
      };
    }
  });

  // packages/systems/dynamo/utils/FilterUtils/index.ts
  var init_FilterUtils2 = __esm({
    "packages/systems/dynamo/utils/FilterUtils/index.ts"() {
      "use strict";
      init_FilterUtils();
    }
  });

  // packages/systems/dynamo/utils/DynamoConditionUtils/index.ts
  function test(itemData, conditionData, timezone) {
    const conditionFields = normalizeConditionFields(conditionData.fields);
    for (const conditionField of conditionFields) {
      const result2 = testSingleCondition({
        conditionField,
        itemData,
        timezone
      });
      if (!result2) {
        return false;
      }
    }
    return true;
  }
  function testSingleCondition({
    conditionField,
    itemData,
    timezone
  }) {
    const { fieldPath, operatorName, value, type } = conditionField;
    const opFn = OPERATOR_FNS[operatorName];
    if (!opFn) {
      console.warn(`Ignoring unsupported condition operator: ${operatorName}`);
      return true;
    }
    const itemFieldValue = itemData.hasOwnProperty(fieldPath) ? itemData[fieldPath] : getItemFieldValue(itemData, fieldPath);
    const itemFieldType = type ? convertFieldTypeToLegacyItemType(type) : _getLegacyItemType(fieldPath, itemFieldValue);
    const resolvedFieldValue = castItemFieldValue(itemFieldValue, itemFieldType);
    const resolvedConditionValue = castConditionValue(
      value,
      operatorName,
      itemFieldType,
      timezone
    );
    return opFn(resolvedFieldValue, resolvedConditionValue);
  }
  function castItemValue({
    operator,
    value,
    type,
    timezone
  }) {
    if (value !== void 0) {
      switch (type) {
        case "Bool":
          return function() {
            if (typeof value === "boolean") {
              return value;
            } else if (typeof value === "string") {
              return value.toLowerCase() === "true";
            } else {
              return Boolean(value);
            }
          }();
        case "Number":
          return parseFloat(value);
        case "Date":
          return parseDate({ operator, value, timezone });
        default:
          return value;
      }
    } else {
      return value;
    }
  }
  function castConditionValue(value, op, type, timezone) {
    if (op === "exists") {
      return value;
    } else {
      return castItemValue({ operator: op, timezone, type, value });
    }
  }
  function handleDeprecatedParseDate({
    value,
    timezone,
    momentNowUtc
  }) {
    function getToday() {
      return momentNowUtc.tz(timezone).startOf("day");
    }
    function getEndOfToday() {
      return momentNowUtc.tz(timezone).endOf("day");
    }
    function getNow() {
      return momentNowUtc.tz(timezone);
    }
    const simpleResults = value.match(DEPRECATED_END_OF_TOMORROW_YESTERDAY_REGEX);
    if (simpleResults) {
      const [, endOf, relativeDate] = simpleResults;
      const getStart = endOf ? getEndOfToday : getToday;
      if (relativeDate === "tomorrow") {
        return getStart().add(1, "day").toDate();
      }
      if (relativeDate === "yesterday") {
        return getStart().subtract(1, "day").toDate();
      }
    }
    const complexResults = value.match(DEPRECATED_RELATIVE_TIME_COMPLEX_REGEX);
    if (complexResults) {
      const [, values2, mode, endOf, relativeDate] = complexResults;
      const getStart = endOf ? getEndOfToday : getToday;
      let time;
      switch (relativeDate) {
        case "today":
          time = getStart();
          break;
        case "tomorrow":
          time = getStart().add(1, "day");
          break;
        case "yesterday":
          time = getStart().subtract(1, "day");
          break;
        default:
          time = getNow();
          break;
      }
      const timeLengthIntervalItems = values2.match(
        FULL_TIME_LENGTH_INTERVAL_STRING_REGEX
      );
      if (!timeLengthIntervalItems) {
        return null;
      }
      const method = mode === "from now" ? "add" : "subtract";
      timeLengthIntervalItems.forEach((item) => {
        const [length, interval] = item.split(" ");
        time[method](parseInt(length, 10), interval);
      });
      return time.toDate();
    }
  }
  function parseDate({
    operator,
    value,
    timezone = "UTC",
    nowUtcString
  }) {
    const momentNowUtc = nowUtcString ? import_moment_timezone.default.utc(nowUtcString) : import_moment_timezone.default.utc();
    function getToday() {
      return momentNowUtc.tz(timezone).startOf("day");
    }
    function getEndOfToday() {
      return momentNowUtc.tz(timezone).endOf("day");
    }
    function getNow() {
      return momentNowUtc.tz(timezone);
    }
    const stringValue = String(value).toLowerCase();
    if (NOW_REGEX.test(stringValue)) {
      return getNow().toDate();
    }
    if (isDeprecatedDatePattern(stringValue)) {
      return handleDeprecatedParseDate({
        value: stringValue,
        timezone,
        momentNowUtc
      });
    }
    const simpleResults = stringValue.match(END_OF_TODAY_REGEX);
    if (simpleResults) {
      const [, endOf] = simpleResults;
      return endOf ? getEndOfToday().toDate() : getToday().toDate();
    }
    const complexResults = stringValue.match(RELATIVE_TIME_COMPLEX_REGEX);
    if (complexResults) {
      const [, fullTimeLengthIntervalString, tense] = complexResults;
      const timeLengthIntervalItems = fullTimeLengthIntervalString.match(
        FULL_TIME_LENGTH_INTERVAL_STRING_REGEX
      );
      if (!timeLengthIntervalItems) {
        return null;
      }
      const getStart = operator && operator === OPERATOR_LTE_NAME ? getEndOfToday : getToday;
      const TENSE_METHODS_MAP = {
        future: "add",
        past: "subtract"
      };
      const tenseMethod = TENSE_METHODS_MAP[tense];
      const reducedDateTime = timeLengthIntervalItems.reduce(
        (accumulatedMoment, item) => {
          const [length, interval] = item.split(" ");
          return accumulatedMoment[tenseMethod](
            // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
            parseInt(length, 10),
            interval
          );
        },
        getStart()
      );
      return reducedDateTime.toDate();
    }
    const isoMoment = import_moment_timezone.default.utc(value, import_moment_timezone.default.ISO_8601).tz(timezone);
    if (!isoMoment || !isoMoment.isValid()) {
      return null;
    }
    return isoMoment.toDate();
  }
  function castItemFieldValue(fieldValue, fieldType) {
    switch (fieldType) {
      case "CommercePrice": {
        return fieldValue !== null && typeof fieldValue === "object" && typeof fieldValue.value === "number" ? fieldValue.value / 100 : NaN;
      }
      case "ItemRef": {
        return fieldValue !== null && typeof fieldValue === "object" ? fieldValue._id : fieldValue;
      }
      case "ItemRefSet": {
        return Array.isArray(fieldValue) ? fieldValue.map(function(itemRef) {
          return itemRef._id;
        }) : [];
      }
      case "Option": {
        return fieldValue !== null && typeof fieldValue === "object" ? fieldValue.id : fieldValue;
      }
      case "Number": {
        return fieldValue === null ? NaN : fieldValue;
      }
      default: {
        return fieldValue;
      }
    }
  }
  function getItemFieldValue(itemData, fieldPath) {
    const itemRefSlug = getItemRefSlug(fieldPath);
    const valueFieldSlug = getValueFieldSlug(fieldPath);
    return itemRefSlug ? itemData[itemRefSlug] && itemData[itemRefSlug][valueFieldSlug] : itemData[valueFieldSlug];
  }
  function convertFieldTypeToLegacyItemType(fieldType) {
    switch (fieldType) {
      case "Bool":
      case "CommercePrice":
      case "Date":
      case "ImageRef":
      case "ItemRef":
      case "ItemRefSet":
      case "Number":
      case "Option":
      case "Set": {
        return fieldType;
      }
      case "FileRef":
      case "Video": {
        return "ImageRef";
      }
      case "Email":
      case "Phone":
      case "PlainText":
      case "RichText":
      case "Link": {
        return "String";
      }
      default: {
        return "String";
      }
    }
  }
  function _getLegacyItemType(name, value) {
    if (name === "_id") {
      return "Id";
    } else {
      switch (typeof value) {
        case "number":
          return "Number";
        case "boolean":
          return "Bool";
        case "object":
          return function() {
            if (value) {
              if (value instanceof Date) {
                return "Date";
              } else if ("_id" in value && "_cid" in value) {
                return "ItemRef";
              } else if (Array.isArray(value)) {
                return "ItemRefSet";
              } else if ("url" in value) {
                return "ImageRef";
              } else if ("value" in value && "unit" in value) {
                return "CommercePrice";
              } else {
                return "Option";
              }
            } else {
              return "Option";
            }
          }();
        default:
          return "String";
      }
    }
  }
  var import_moment_timezone, EXAMPLE_IMG_URL, OPERATOR_FNS, containsResolver, OPERATOR_LTE_NAME, NOW_REGEX, END_OF_TODAY_REGEX, DEPRECATED_END_OF_TOMORROW_YESTERDAY_REGEX, DEPRECATED_RELATIVE_TIME_COMPLEX_REGEX, RELATIVE_TIME_COMPLEX_REGEX, FULL_TIME_LENGTH_INTERVAL_STRING_REGEX, isDeprecatedDatePattern;
  var init_DynamoConditionUtils = __esm({
    "packages/systems/dynamo/utils/DynamoConditionUtils/index.ts"() {
      "use strict";
      import_moment_timezone = __toESM(require_moment_timezone2());
      init_ParamFieldPathUtils();
      init_FilterUtils2();
      EXAMPLE_IMG_URL = "https://d3e54v103j8qbb.cloudfront.net/img/image-placeholder.svg";
      OPERATOR_FNS = {
        eq: function(a, b) {
          return a == b;
        },
        ne: function(a, b) {
          return a != b;
        },
        gt: function(a, b) {
          return a > b;
        },
        lt: function(a, b) {
          return a < b;
        },
        gte: function(a, b) {
          return a >= b;
        },
        lte: function(a, b) {
          return a <= b;
        },
        exists: function(a, b) {
          function getATruthiness() {
            if (a != null) {
              if (Array.isArray(a)) {
                return a.length > 0;
              } else if (typeof a === "object") {
                return !("url" in a) || a.url !== EXAMPLE_IMG_URL;
              } else if (typeof a === "number") {
                return !Number.isNaN(a);
              } else {
                return true;
              }
            } else {
              return false;
            }
          }
          function getBTruthiness() {
            return b === "yes";
          }
          const aIsTruthy = getATruthiness();
          const bIsTruthy = getBTruthiness();
          return aIsTruthy === bIsTruthy;
        },
        idin: function(a, b) {
          return containsResolver(a, b);
        },
        idnin: function(a, b) {
          return !containsResolver(a, b);
        },
        type: false
        // ensure the `type` property will never resolve to a function
      };
      containsResolver = (a, b) => {
        if (Array.isArray(a) && typeof b === "string") {
          return a.includes(b);
        }
        if (Array.isArray(a) && Array.isArray(b)) {
          return b.some((id) => a.includes(id));
        }
        if (typeof a === "string" && Array.isArray(b)) {
          return b.includes(a);
        }
        return false;
      };
      OPERATOR_LTE_NAME = "lte";
      NOW_REGEX = /^now$/i;
      END_OF_TODAY_REGEX = /^(end of )?(today)$/i;
      DEPRECATED_END_OF_TOMORROW_YESTERDAY_REGEX = /^(end of )?(tomorrow|yesterday)$/i;
      DEPRECATED_RELATIVE_TIME_COMPLEX_REGEX = /^((?:\d+ (?:year|quarter|month|week|day|hour|minute|second)s? )+)(ago|from now)(?: (?:starting (?:now|(?:(end of )?(today|yesterday|tomorrow)))))?$/i;
      RELATIVE_TIME_COMPLEX_REGEX = /^((?:\d+ (?:year|quarter|month|week|day|hour|minute|second)s? )+)in the (future|past)$/i;
      FULL_TIME_LENGTH_INTERVAL_STRING_REGEX = /\d+ (?:year|quarter|month|week|day|hour|minute|second)s?/gi;
      isDeprecatedDatePattern = (str) => DEPRECATED_END_OF_TOMORROW_YESTERDAY_REGEX.test(str) || DEPRECATED_RELATIVE_TIME_COMPLEX_REGEX.test(str);
    }
  });

  // node_modules/lodash/_baseInverter.js
  var require_baseInverter = __commonJS({
    "node_modules/lodash/_baseInverter.js"(exports, module2) {
      var baseForOwn = require_baseForOwn();
      function baseInverter(object, setter, iteratee, accumulator) {
        baseForOwn(object, function(value, key, object2) {
          setter(accumulator, iteratee(value), key, object2);
        });
        return accumulator;
      }
      module2.exports = baseInverter;
    }
  });

  // node_modules/lodash/_createInverter.js
  var require_createInverter = __commonJS({
    "node_modules/lodash/_createInverter.js"(exports, module2) {
      var baseInverter = require_baseInverter();
      function createInverter(setter, toIteratee) {
        return function(object, iteratee) {
          return baseInverter(object, setter, toIteratee(iteratee), {});
        };
      }
      module2.exports = createInverter;
    }
  });

  // node_modules/lodash/invert.js
  var require_invert = __commonJS({
    "node_modules/lodash/invert.js"(exports, module2) {
      var constant2 = require_constant();
      var createInverter = require_createInverter();
      var identity3 = require_identity();
      var objectProto = Object.prototype;
      var nativeObjectToString = objectProto.toString;
      var invert2 = createInverter(function(result2, value, key) {
        if (value != null && typeof value.toString != "function") {
          value = nativeObjectToString.call(value);
        }
        result2[value] = key;
      }, constant2(identity3));
      module2.exports = invert2;
    }
  });

  // packages/systems/dynamo/utils/SchemaEncoder/SchemaEncoder.ts
  function _crapCode(str) {
    str = String(str);
    const right = [];
    const left = str.replace(/[^a-z0-9]/gi, (substr, idx) => {
      const hex = substr.charCodeAt(0).toString(16);
      const letters = hex.replace(/./g, (ch) => hex_lookup[ch]);
      right.push(String(idx) + letters);
      return "_";
    });
    return left + "_" + right.join("");
  }
  var import_invert, hex_lookup, reverse_hex_lookup, fieldSlug;
  var init_SchemaEncoder = __esm({
    "packages/systems/dynamo/utils/SchemaEncoder/SchemaEncoder.ts"() {
      "use strict";
      import_invert = __toESM(require_invert());
      hex_lookup = {
        "0": "b",
        "1": "c",
        "2": "d",
        "3": "f",
        "4": "g",
        "5": "h",
        "6": "j",
        "7": "k",
        "8": "l",
        "9": "m",
        a: "n",
        b: "p",
        c: "q",
        d: "r",
        e: "s",
        f: "t"
      };
      reverse_hex_lookup = (0, import_invert.default)(hex_lookup);
      fieldSlug = (field) => "f_" + _crapCode(field.slug);
    }
  });

  // packages/systems/dynamo/utils/SchemaEncoder/index.ts
  var init_SchemaEncoder2 = __esm({
    "packages/systems/dynamo/utils/SchemaEncoder/index.ts"() {
      "use strict";
      init_SchemaEncoder();
    }
  });

  // packages/systems/dynamo/utils/SlugUtils/SlugUtils.ts
  var fieldSlug2, DYNAMO_GQL_FIELD_SLUG, isDynamoGraphQLFieldSlug;
  var init_SlugUtils = __esm({
    "packages/systems/dynamo/utils/SlugUtils/SlugUtils.ts"() {
      "use strict";
      init_SchemaEncoder2();
      init_SchemaEncoder2();
      fieldSlug2 = (slug) => fieldSlug({ slug });
      DYNAMO_GQL_FIELD_SLUG = "f_";
      isDynamoGraphQLFieldSlug = (str) => str.startsWith(DYNAMO_GQL_FIELD_SLUG);
    }
  });

  // packages/systems/dynamo/utils/SlugUtils/index.ts
  var init_SlugUtils2 = __esm({
    "packages/systems/dynamo/utils/SlugUtils/index.ts"() {
      "use strict";
      init_SlugUtils();
    }
  });

  // node_modules/reselect/lib/index.js
  var require_lib3 = __commonJS({
    "node_modules/reselect/lib/index.js"(exports) {
      "use strict";
      exports.__esModule = true;
      exports.defaultMemoize = defaultMemoize2;
      exports.createSelectorCreator = createSelectorCreator;
      exports.createSelector = createSelector;
      exports.createStructuredSelector = createStructuredSelector;
      function _toConsumableArray(arr) {
        if (Array.isArray(arr)) {
          for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++)
            arr2[i] = arr[i];
          return arr2;
        } else {
          return Array.from(arr);
        }
      }
      function defaultEqualityCheck(a, b) {
        return a === b;
      }
      function defaultMemoize2(func) {
        var equalityCheck = arguments.length <= 1 || arguments[1] === void 0 ? defaultEqualityCheck : arguments[1];
        var lastArgs = null;
        var lastResult = null;
        return function() {
          for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
            args[_key] = arguments[_key];
          }
          if (lastArgs !== null && lastArgs.length === args.length && args.every(function(value, index) {
            return equalityCheck(value, lastArgs[index]);
          })) {
            return lastResult;
          }
          lastArgs = args;
          lastResult = func.apply(void 0, args);
          return lastResult;
        };
      }
      function getDependencies(funcs) {
        var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;
        if (!dependencies.every(function(dep2) {
          return typeof dep2 === "function";
        })) {
          var dependencyTypes = dependencies.map(function(dep2) {
            return typeof dep2;
          }).join(", ");
          throw new Error("Selector creators expect all input-selectors to be functions, " + ("instead received the following types: [" + dependencyTypes + "]"));
        }
        return dependencies;
      }
      function createSelectorCreator(memoize2) {
        for (var _len2 = arguments.length, memoizeOptions = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
          memoizeOptions[_key2 - 1] = arguments[_key2];
        }
        return function() {
          for (var _len3 = arguments.length, funcs = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
            funcs[_key3] = arguments[_key3];
          }
          var recomputations = 0;
          var resultFunc = funcs.pop();
          var dependencies = getDependencies(funcs);
          var memoizedResultFunc = memoize2.apply(void 0, [function() {
            recomputations++;
            return resultFunc.apply(void 0, arguments);
          }].concat(memoizeOptions));
          var selector = function selector2(state, props) {
            for (var _len4 = arguments.length, args = Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {
              args[_key4 - 2] = arguments[_key4];
            }
            var params = dependencies.map(function(dependency) {
              return dependency.apply(void 0, [state, props].concat(args));
            });
            return memoizedResultFunc.apply(void 0, _toConsumableArray(params));
          };
          selector.recomputations = function() {
            return recomputations;
          };
          selector.resetRecomputations = function() {
            return recomputations = 0;
          };
          return selector;
        };
      }
      function createSelector() {
        return createSelectorCreator(defaultMemoize2).apply(void 0, arguments);
      }
      function createStructuredSelector(selectors) {
        var selectorCreator = arguments.length <= 1 || arguments[1] === void 0 ? createSelector : arguments[1];
        if (typeof selectors !== "object") {
          throw new Error("createStructuredSelector expects first argument to be an object " + ("where each property is a selector, instead received a " + typeof selectors));
        }
        var objectKeys = Object.keys(selectors);
        return selectorCreator(objectKeys.map(function(key) {
          return selectors[key];
        }), function() {
          for (var _len5 = arguments.length, values2 = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
            values2[_key5] = arguments[_key5];
          }
          return values2.reduce(function(composition, value, index) {
            composition[objectKeys[index]] = value;
            return composition;
          }, {});
        });
      }
    }
  });

  // node_modules/lru-cache/dist/esm/index.js
  var perf, warned, PROCESS, emitWarning, AC, AS, shouldWarn, TYPE, isPosInt, getUintArray, ZeroArray, _constructing, _Stack, Stack, LRUCache;
  var init_esm = __esm({
    "node_modules/lru-cache/dist/esm/index.js"() {
      perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
      warned = /* @__PURE__ */ new Set();
      PROCESS = typeof process === "object" && !!process ? process : {};
      emitWarning = (msg, type, code, fn) => {
        typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type, code, fn) : console.error(`[${code}] ${type}: ${msg}`);
      };
      AC = globalThis.AbortController;
      AS = globalThis.AbortSignal;
      if (typeof AC === "undefined") {
        AS = class AbortSignal {
          onabort;
          _onabort = [];
          reason;
          aborted = false;
          addEventListener(_, fn) {
            this._onabort.push(fn);
          }
        };
        AC = class AbortController {
          constructor() {
            warnACPolyfill();
          }
          signal = new AS();
          abort(reason) {
            if (this.signal.aborted)
              return;
            this.signal.reason = reason;
            this.signal.aborted = true;
            for (const fn of this.signal._onabort) {
              fn(reason);
            }
            this.signal.onabort?.(reason);
          }
        };
        let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
        const warnACPolyfill = () => {
          if (!printACPolyfillWarning)
            return;
          printACPolyfillWarning = false;
          emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
        };
      }
      shouldWarn = (code) => !warned.has(code);
      TYPE = Symbol("type");
      isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
      getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
      ZeroArray = class extends Array {
        constructor(size2) {
          super(size2);
          this.fill(0);
        }
      };
      _Stack = class {
        heap;
        length;
        static create(max) {
          const HeapCls = getUintArray(max);
          if (!HeapCls)
            return [];
          __privateSet(_Stack, _constructing, true);
          const s = new _Stack(max, HeapCls);
          __privateSet(_Stack, _constructing, false);
          return s;
        }
        constructor(max, HeapCls) {
          if (!__privateGet(_Stack, _constructing)) {
            throw new TypeError("instantiate Stack using Stack.create(n)");
          }
          this.heap = new HeapCls(max);
          this.length = 0;
        }
        push(n) {
          this.heap[this.length++] = n;
        }
        pop() {
          return this.heap[--this.length];
        }
      };
      Stack = _Stack;
      _constructing = new WeakMap();
      // private constructor
      __privateAdd(Stack, _constructing, false);
      LRUCache = class {
        // properties coming in from the options of these, only max and maxSize
        // really *need* to be protected. The rest can be modified, as they just
        // set defaults for various methods.
        #max;
        #maxSize;
        #dispose;
        #disposeAfter;
        #fetchMethod;
        /**
         * {@link LRUCache.OptionsBase.ttl}
         */
        ttl;
        /**
         * {@link LRUCache.OptionsBase.ttlResolution}
         */
        ttlResolution;
        /**
         * {@link LRUCache.OptionsBase.ttlAutopurge}
         */
        ttlAutopurge;
        /**
         * {@link LRUCache.OptionsBase.updateAgeOnGet}
         */
        updateAgeOnGet;
        /**
         * {@link LRUCache.OptionsBase.updateAgeOnHas}
         */
        updateAgeOnHas;
        /**
         * {@link LRUCache.OptionsBase.allowStale}
         */
        allowStale;
        /**
         * {@link LRUCache.OptionsBase.noDisposeOnSet}
         */
        noDisposeOnSet;
        /**
         * {@link LRUCache.OptionsBase.noUpdateTTL}
         */
        noUpdateTTL;
        /**
         * {@link LRUCache.OptionsBase.maxEntrySize}
         */
        maxEntrySize;
        /**
         * {@link LRUCache.OptionsBase.sizeCalculation}
         */
        sizeCalculation;
        /**
         * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
         */
        noDeleteOnFetchRejection;
        /**
         * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
         */
        noDeleteOnStaleGet;
        /**
         * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
         */
        allowStaleOnFetchAbort;
        /**
         * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
         */
        allowStaleOnFetchRejection;
        /**
         * {@link LRUCache.OptionsBase.ignoreFetchAbort}
         */
        ignoreFetchAbort;
        // computed properties
        #size;
        #calculatedSize;
        #keyMap;
        #keyList;
        #valList;
        #next;
        #prev;
        #head;
        #tail;
        #free;
        #disposed;
        #sizes;
        #starts;
        #ttls;
        #hasDispose;
        #hasFetchMethod;
        #hasDisposeAfter;
        /**
         * Do not call this method unless you need to inspect the
         * inner workings of the cache.  If anything returned by this
         * object is modified in any way, strange breakage may occur.
         *
         * These fields are private for a reason!
         *
         * @internal
         */
        static unsafeExposeInternals(c) {
          return {
            // properties
            starts: c.#starts,
            ttls: c.#ttls,
            sizes: c.#sizes,
            keyMap: c.#keyMap,
            keyList: c.#keyList,
            valList: c.#valList,
            next: c.#next,
            prev: c.#prev,
            get head() {
              return c.#head;
            },
            get tail() {
              return c.#tail;
            },
            free: c.#free,
            // methods
            isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
            backgroundFetch: (k, index, options, context) => c.#backgroundFetch(k, index, options, context),
            moveToTail: (index) => c.#moveToTail(index),
            indexes: (options) => c.#indexes(options),
            rindexes: (options) => c.#rindexes(options),
            isStale: (index) => c.#isStale(index)
          };
        }
        // Protected read-only members
        /**
         * {@link LRUCache.OptionsBase.max} (read-only)
         */
        get max() {
          return this.#max;
        }
        /**
         * {@link LRUCache.OptionsBase.maxSize} (read-only)
         */
        get maxSize() {
          return this.#maxSize;
        }
        /**
         * The total computed size of items in the cache (read-only)
         */
        get calculatedSize() {
          return this.#calculatedSize;
        }
        /**
         * The number of items stored in the cache (read-only)
         */
        get size() {
          return this.#size;
        }
        /**
         * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
         */
        get fetchMethod() {
          return this.#fetchMethod;
        }
        /**
         * {@link LRUCache.OptionsBase.dispose} (read-only)
         */
        get dispose() {
          return this.#dispose;
        }
        /**
         * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
         */
        get disposeAfter() {
          return this.#disposeAfter;
        }
        constructor(options) {
          const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
          if (max !== 0 && !isPosInt(max)) {
            throw new TypeError("max option must be a nonnegative integer");
          }
          const UintArray = max ? getUintArray(max) : Array;
          if (!UintArray) {
            throw new Error("invalid max value: " + max);
          }
          this.#max = max;
          this.#maxSize = maxSize;
          this.maxEntrySize = maxEntrySize || this.#maxSize;
          this.sizeCalculation = sizeCalculation;
          if (this.sizeCalculation) {
            if (!this.#maxSize && !this.maxEntrySize) {
              throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
            }
            if (typeof this.sizeCalculation !== "function") {
              throw new TypeError("sizeCalculation set to non-function");
            }
          }
          if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
            throw new TypeError("fetchMethod must be a function if specified");
          }
          this.#fetchMethod = fetchMethod;
          this.#hasFetchMethod = !!fetchMethod;
          this.#keyMap = /* @__PURE__ */ new Map();
          this.#keyList = new Array(max).fill(void 0);
          this.#valList = new Array(max).fill(void 0);
          this.#next = new UintArray(max);
          this.#prev = new UintArray(max);
          this.#head = 0;
          this.#tail = 0;
          this.#free = Stack.create(max);
          this.#size = 0;
          this.#calculatedSize = 0;
          if (typeof dispose === "function") {
            this.#dispose = dispose;
          }
          if (typeof disposeAfter === "function") {
            this.#disposeAfter = disposeAfter;
            this.#disposed = [];
          } else {
            this.#disposeAfter = void 0;
            this.#disposed = void 0;
          }
          this.#hasDispose = !!this.#dispose;
          this.#hasDisposeAfter = !!this.#disposeAfter;
          this.noDisposeOnSet = !!noDisposeOnSet;
          this.noUpdateTTL = !!noUpdateTTL;
          this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
          this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
          this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
          this.ignoreFetchAbort = !!ignoreFetchAbort;
          if (this.maxEntrySize !== 0) {
            if (this.#maxSize !== 0) {
              if (!isPosInt(this.#maxSize)) {
                throw new TypeError("maxSize must be a positive integer if specified");
              }
            }
            if (!isPosInt(this.maxEntrySize)) {
              throw new TypeError("maxEntrySize must be a positive integer if specified");
            }
            this.#initializeSizeTracking();
          }
          this.allowStale = !!allowStale;
          this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
          this.updateAgeOnGet = !!updateAgeOnGet;
          this.updateAgeOnHas = !!updateAgeOnHas;
          this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
          this.ttlAutopurge = !!ttlAutopurge;
          this.ttl = ttl || 0;
          if (this.ttl) {
            if (!isPosInt(this.ttl)) {
              throw new TypeError("ttl must be a positive integer if specified");
            }
            this.#initializeTTLTracking();
          }
          if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
            throw new TypeError("At least one of max, maxSize, or ttl is required");
          }
          if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
            const code = "LRU_CACHE_UNBOUNDED";
            if (shouldWarn(code)) {
              warned.add(code);
              const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
              emitWarning(msg, "UnboundedCacheWarning", code, LRUCache);
            }
          }
        }
        /**
         * Return the remaining TTL time for a given entry key
         */
        getRemainingTTL(key) {
          return this.#keyMap.has(key) ? Infinity : 0;
        }
        #initializeTTLTracking() {
          const ttls = new ZeroArray(this.#max);
          const starts = new ZeroArray(this.#max);
          this.#ttls = ttls;
          this.#starts = starts;
          this.#setItemTTL = (index, ttl, start = perf.now()) => {
            starts[index] = ttl !== 0 ? start : 0;
            ttls[index] = ttl;
            if (ttl !== 0 && this.ttlAutopurge) {
              const t = setTimeout(() => {
                if (this.#isStale(index)) {
                  this.delete(this.#keyList[index]);
                }
              }, ttl + 1);
              if (t.unref) {
                t.unref();
              }
            }
          };
          this.#updateItemAge = (index) => {
            starts[index] = ttls[index] !== 0 ? perf.now() : 0;
          };
          this.#statusTTL = (status, index) => {
            if (ttls[index]) {
              const ttl = ttls[index];
              const start = starts[index];
              if (!ttl || !start)
                return;
              status.ttl = ttl;
              status.start = start;
              status.now = cachedNow || getNow();
              const age = status.now - start;
              status.remainingTTL = ttl - age;
            }
          };
          let cachedNow = 0;
          const getNow = () => {
            const n = perf.now();
            if (this.ttlResolution > 0) {
              cachedNow = n;
              const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
              if (t.unref) {
                t.unref();
              }
            }
            return n;
          };
          this.getRemainingTTL = (key) => {
            const index = this.#keyMap.get(key);
            if (index === void 0) {
              return 0;
            }
            const ttl = ttls[index];
            const start = starts[index];
            if (!ttl || !start) {
              return Infinity;
            }
            const age = (cachedNow || getNow()) - start;
            return ttl - age;
          };
          this.#isStale = (index) => {
            const s = starts[index];
            const t = ttls[index];
            return !!t && !!s && (cachedNow || getNow()) - s > t;
          };
        }
        // conditionally set private methods related to TTL
        #updateItemAge = () => {
        };
        #statusTTL = () => {
        };
        #setItemTTL = () => {
        };
        /* c8 ignore stop */
        #isStale = () => false;
        #initializeSizeTracking() {
          const sizes = new ZeroArray(this.#max);
          this.#calculatedSize = 0;
          this.#sizes = sizes;
          this.#removeItemSize = (index) => {
            this.#calculatedSize -= sizes[index];
            sizes[index] = 0;
          };
          this.#requireSize = (k, v, size2, sizeCalculation) => {
            if (this.#isBackgroundFetch(v)) {
              return 0;
            }
            if (!isPosInt(size2)) {
              if (sizeCalculation) {
                if (typeof sizeCalculation !== "function") {
                  throw new TypeError("sizeCalculation must be a function");
                }
                size2 = sizeCalculation(v, k);
                if (!isPosInt(size2)) {
                  throw new TypeError("sizeCalculation return invalid (expect positive integer)");
                }
              } else {
                throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
              }
            }
            return size2;
          };
          this.#addItemSize = (index, size2, status) => {
            sizes[index] = size2;
            if (this.#maxSize) {
              const maxSize = this.#maxSize - sizes[index];
              while (this.#calculatedSize > maxSize) {
                this.#evict(true);
              }
            }
            this.#calculatedSize += sizes[index];
            if (status) {
              status.entrySize = size2;
              status.totalCalculatedSize = this.#calculatedSize;
            }
          };
        }
        #removeItemSize = (_i) => {
        };
        #addItemSize = (_i, _s, _st) => {
        };
        #requireSize = (_k, _v, size2, sizeCalculation) => {
          if (size2 || sizeCalculation) {
            throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
          }
          return 0;
        };
        *#indexes({ allowStale = this.allowStale } = {}) {
          if (this.#size) {
            for (let i = this.#tail; true; ) {
              if (!this.#isValidIndex(i)) {
                break;
              }
              if (allowStale || !this.#isStale(i)) {
                yield i;
              }
              if (i === this.#head) {
                break;
              } else {
                i = this.#prev[i];
              }
            }
          }
        }
        *#rindexes({ allowStale = this.allowStale } = {}) {
          if (this.#size) {
            for (let i = this.#head; true; ) {
              if (!this.#isValidIndex(i)) {
                break;
              }
              if (allowStale || !this.#isStale(i)) {
                yield i;
              }
              if (i === this.#tail) {
                break;
              } else {
                i = this.#next[i];
              }
            }
          }
        }
        #isValidIndex(index) {
          return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
        }
        /**
         * Return a generator yielding `[key, value]` pairs,
         * in order from most recently used to least recently used.
         */
        *entries() {
          for (const i of this.#indexes()) {
            if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
              yield [this.#keyList[i], this.#valList[i]];
            }
          }
        }
        /**
         * Inverse order version of {@link LRUCache.entries}
         *
         * Return a generator yielding `[key, value]` pairs,
         * in order from least recently used to most recently used.
         */
        *rentries() {
          for (const i of this.#rindexes()) {
            if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
              yield [this.#keyList[i], this.#valList[i]];
            }
          }
        }
        /**
         * Return a generator yielding the keys in the cache,
         * in order from most recently used to least recently used.
         */
        *keys() {
          for (const i of this.#indexes()) {
            const k = this.#keyList[i];
            if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
              yield k;
            }
          }
        }
        /**
         * Inverse order version of {@link LRUCache.keys}
         *
         * Return a generator yielding the keys in the cache,
         * in order from least recently used to most recently used.
         */
        *rkeys() {
          for (const i of this.#rindexes()) {
            const k = this.#keyList[i];
            if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
              yield k;
            }
          }
        }
        /**
         * Return a generator yielding the values in the cache,
         * in order from most recently used to least recently used.
         */
        *values() {
          for (const i of this.#indexes()) {
            const v = this.#valList[i];
            if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
              yield this.#valList[i];
            }
          }
        }
        /**
         * Inverse order version of {@link LRUCache.values}
         *
         * Return a generator yielding the values in the cache,
         * in order from least recently used to most recently used.
         */
        *rvalues() {
          for (const i of this.#rindexes()) {
            const v = this.#valList[i];
            if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
              yield this.#valList[i];
            }
          }
        }
        /**
         * Iterating over the cache itself yields the same results as
         * {@link LRUCache.entries}
         */
        [Symbol.iterator]() {
          return this.entries();
        }
        /**
         * A String value that is used in the creation of the default string description of an object.
         * Called by the built-in method Object.prototype.toString.
         */
        [Symbol.toStringTag] = "LRUCache";
        /**
         * Find a value for which the supplied fn method returns a truthy value,
         * similar to Array.find().  fn is called as fn(value, key, cache).
         */
        find(fn, getOptions = {}) {
          for (const i of this.#indexes()) {
            const v = this.#valList[i];
            const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
            if (value === void 0)
              continue;
            if (fn(value, this.#keyList[i], this)) {
              return this.get(this.#keyList[i], getOptions);
            }
          }
        }
        /**
         * Call the supplied function on each item in the cache, in order from
         * most recently used to least recently used.  fn is called as
         * fn(value, key, cache).  Does not update age or recenty of use.
         * Does not iterate over stale values.
         */
        forEach(fn, thisp = this) {
          for (const i of this.#indexes()) {
            const v = this.#valList[i];
            const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
            if (value === void 0)
              continue;
            fn.call(thisp, value, this.#keyList[i], this);
          }
        }
        /**
         * The same as {@link LRUCache.forEach} but items are iterated over in
         * reverse order.  (ie, less recently used items are iterated over first.)
         */
        rforEach(fn, thisp = this) {
          for (const i of this.#rindexes()) {
            const v = this.#valList[i];
            const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
            if (value === void 0)
              continue;
            fn.call(thisp, value, this.#keyList[i], this);
          }
        }
        /**
         * Delete any stale entries. Returns true if anything was removed,
         * false otherwise.
         */
        purgeStale() {
          let deleted = false;
          for (const i of this.#rindexes({ allowStale: true })) {
            if (this.#isStale(i)) {
              this.delete(this.#keyList[i]);
              deleted = true;
            }
          }
          return deleted;
        }
        /**
         * Get the extended info about a given entry, to get its value, size, and
         * TTL info simultaneously. Like {@link LRUCache#dump}, but just for a
         * single key. Always returns stale values, if their info is found in the
         * cache, so be sure to check for expired TTLs if relevant.
         */
        info(key) {
          const i = this.#keyMap.get(key);
          if (i === void 0)
            return void 0;
          const v = this.#valList[i];
          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
          if (value === void 0)
            return void 0;
          const entry = { value };
          if (this.#ttls && this.#starts) {
            const ttl = this.#ttls[i];
            const start = this.#starts[i];
            if (ttl && start) {
              const remain = ttl - (perf.now() - start);
              entry.ttl = remain;
              entry.start = Date.now();
            }
          }
          if (this.#sizes) {
            entry.size = this.#sizes[i];
          }
          return entry;
        }
        /**
         * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
         * passed to cache.load()
         */
        dump() {
          const arr = [];
          for (const i of this.#indexes({ allowStale: true })) {
            const key = this.#keyList[i];
            const v = this.#valList[i];
            const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
            if (value === void 0 || key === void 0)
              continue;
            const entry = { value };
            if (this.#ttls && this.#starts) {
              entry.ttl = this.#ttls[i];
              const age = perf.now() - this.#starts[i];
              entry.start = Math.floor(Date.now() - age);
            }
            if (this.#sizes) {
              entry.size = this.#sizes[i];
            }
            arr.unshift([key, entry]);
          }
          return arr;
        }
        /**
         * Reset the cache and load in the items in entries in the order listed.
         * Note that the shape of the resulting cache may be different if the
         * same options are not used in both caches.
         */
        load(arr) {
          this.clear();
          for (const [key, entry] of arr) {
            if (entry.start) {
              const age = Date.now() - entry.start;
              entry.start = perf.now() - age;
            }
            this.set(key, entry.value, entry);
          }
        }
        /**
         * Add a value to the cache.
         *
         * Note: if `undefined` is specified as a value, this is an alias for
         * {@link LRUCache#delete}
         */
        set(k, v, setOptions = {}) {
          if (v === void 0) {
            this.delete(k);
            return this;
          }
          const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
          let { noUpdateTTL = this.noUpdateTTL } = setOptions;
          const size2 = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
          if (this.maxEntrySize && size2 > this.maxEntrySize) {
            if (status) {
              status.set = "miss";
              status.maxEntrySizeExceeded = true;
            }
            this.delete(k);
            return this;
          }
          let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
          if (index === void 0) {
            index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
            this.#keyList[index] = k;
            this.#valList[index] = v;
            this.#keyMap.set(k, index);
            this.#next[this.#tail] = index;
            this.#prev[index] = this.#tail;
            this.#tail = index;
            this.#size++;
            this.#addItemSize(index, size2, status);
            if (status)
              status.set = "add";
            noUpdateTTL = false;
          } else {
            this.#moveToTail(index);
            const oldVal = this.#valList[index];
            if (v !== oldVal) {
              if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
                oldVal.__abortController.abort(new Error("replaced"));
                const { __staleWhileFetching: s } = oldVal;
                if (s !== void 0 && !noDisposeOnSet) {
                  if (this.#hasDispose) {
                    this.#dispose?.(s, k, "set");
                  }
                  if (this.#hasDisposeAfter) {
                    this.#disposed?.push([s, k, "set"]);
                  }
                }
              } else if (!noDisposeOnSet) {
                if (this.#hasDispose) {
                  this.#dispose?.(oldVal, k, "set");
                }
                if (this.#hasDisposeAfter) {
                  this.#disposed?.push([oldVal, k, "set"]);
                }
              }
              this.#removeItemSize(index);
              this.#addItemSize(index, size2, status);
              this.#valList[index] = v;
              if (status) {
                status.set = "replace";
                const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
                if (oldValue !== void 0)
                  status.oldValue = oldValue;
              }
            } else if (status) {
              status.set = "update";
            }
          }
          if (ttl !== 0 && !this.#ttls) {
            this.#initializeTTLTracking();
          }
          if (this.#ttls) {
            if (!noUpdateTTL) {
              this.#setItemTTL(index, ttl, start);
            }
            if (status)
              this.#statusTTL(status, index);
          }
          if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
            const dt = this.#disposed;
            let task;
            while (task = dt?.shift()) {
              this.#disposeAfter?.(...task);
            }
          }
          return this;
        }
        /**
         * Evict the least recently used item, returning its value or
         * `undefined` if cache is empty.
         */
        pop() {
          try {
            while (this.#size) {
              const val = this.#valList[this.#head];
              this.#evict(true);
              if (this.#isBackgroundFetch(val)) {
                if (val.__staleWhileFetching) {
                  return val.__staleWhileFetching;
                }
              } else if (val !== void 0) {
                return val;
              }
            }
          } finally {
            if (this.#hasDisposeAfter && this.#disposed) {
              const dt = this.#disposed;
              let task;
              while (task = dt?.shift()) {
                this.#disposeAfter?.(...task);
              }
            }
          }
        }
        #evict(free) {
          const head = this.#head;
          const k = this.#keyList[head];
          const v = this.#valList[head];
          if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
            v.__abortController.abort(new Error("evicted"));
          } else if (this.#hasDispose || this.#hasDisposeAfter) {
            if (this.#hasDispose) {
              this.#dispose?.(v, k, "evict");
            }
            if (this.#hasDisposeAfter) {
              this.#disposed?.push([v, k, "evict"]);
            }
          }
          this.#removeItemSize(head);
          if (free) {
            this.#keyList[head] = void 0;
            this.#valList[head] = void 0;
            this.#free.push(head);
          }
          if (this.#size === 1) {
            this.#head = this.#tail = 0;
            this.#free.length = 0;
          } else {
            this.#head = this.#next[head];
          }
          this.#keyMap.delete(k);
          this.#size--;
          return head;
        }
        /**
         * Check if a key is in the cache, without updating the recency of use.
         * Will return false if the item is stale, even though it is technically
         * in the cache.
         *
         * Will not update item age unless
         * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
         */
        has(k, hasOptions = {}) {
          const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
          const index = this.#keyMap.get(k);
          if (index !== void 0) {
            const v = this.#valList[index];
            if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
              return false;
            }
            if (!this.#isStale(index)) {
              if (updateAgeOnHas) {
                this.#updateItemAge(index);
              }
              if (status) {
                status.has = "hit";
                this.#statusTTL(status, index);
              }
              return true;
            } else if (status) {
              status.has = "stale";
              this.#statusTTL(status, index);
            }
          } else if (status) {
            status.has = "miss";
          }
          return false;
        }
        /**
         * Like {@link LRUCache#get} but doesn't update recency or delete stale
         * items.
         *
         * Returns `undefined` if the item is stale, unless
         * {@link LRUCache.OptionsBase.allowStale} is set.
         */
        peek(k, peekOptions = {}) {
          const { allowStale = this.allowStale } = peekOptions;
          const index = this.#keyMap.get(k);
          if (index === void 0 || !allowStale && this.#isStale(index)) {
            return;
          }
          const v = this.#valList[index];
          return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
        }
        #backgroundFetch(k, index, options, context) {
          const v = index === void 0 ? void 0 : this.#valList[index];
          if (this.#isBackgroundFetch(v)) {
            return v;
          }
          const ac = new AC();
          const { signal } = options;
          signal?.addEventListener("abort", () => ac.abort(signal.reason), {
            signal: ac.signal
          });
          const fetchOpts = {
            signal: ac.signal,
            options,
            context
          };
          const cb = (v2, updateCache = false) => {
            const { aborted } = ac.signal;
            const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
            if (options.status) {
              if (aborted && !updateCache) {
                options.status.fetchAborted = true;
                options.status.fetchError = ac.signal.reason;
                if (ignoreAbort)
                  options.status.fetchAbortIgnored = true;
              } else {
                options.status.fetchResolved = true;
              }
            }
            if (aborted && !ignoreAbort && !updateCache) {
              return fetchFail(ac.signal.reason);
            }
            const bf2 = p;
            if (this.#valList[index] === p) {
              if (v2 === void 0) {
                if (bf2.__staleWhileFetching) {
                  this.#valList[index] = bf2.__staleWhileFetching;
                } else {
                  this.delete(k);
                }
              } else {
                if (options.status)
                  options.status.fetchUpdated = true;
                this.set(k, v2, fetchOpts.options);
              }
            }
            return v2;
          };
          const eb = (er) => {
            if (options.status) {
              options.status.fetchRejected = true;
              options.status.fetchError = er;
            }
            return fetchFail(er);
          };
          const fetchFail = (er) => {
            const { aborted } = ac.signal;
            const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
            const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
            const noDelete = allowStale || options.noDeleteOnFetchRejection;
            const bf2 = p;
            if (this.#valList[index] === p) {
              const del = !noDelete || bf2.__staleWhileFetching === void 0;
              if (del) {
                this.delete(k);
              } else if (!allowStaleAborted) {
                this.#valList[index] = bf2.__staleWhileFetching;
              }
            }
            if (allowStale) {
              if (options.status && bf2.__staleWhileFetching !== void 0) {
                options.status.returnedStale = true;
              }
              return bf2.__staleWhileFetching;
            } else if (bf2.__returned === bf2) {
              throw er;
            }
          };
          const pcall = (res, rej) => {
            const fmp = this.#fetchMethod?.(k, v, fetchOpts);
            if (fmp && fmp instanceof Promise) {
              fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
            }
            ac.signal.addEventListener("abort", () => {
              if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
                res(void 0);
                if (options.allowStaleOnFetchAbort) {
                  res = (v2) => cb(v2, true);
                }
              }
            });
          };
          if (options.status)
            options.status.fetchDispatched = true;
          const p = new Promise(pcall).then(cb, eb);
          const bf = Object.assign(p, {
            __abortController: ac,
            __staleWhileFetching: v,
            __returned: void 0
          });
          if (index === void 0) {
            this.set(k, bf, { ...fetchOpts.options, status: void 0 });
            index = this.#keyMap.get(k);
          } else {
            this.#valList[index] = bf;
          }
          return bf;
        }
        #isBackgroundFetch(p) {
          if (!this.#hasFetchMethod)
            return false;
          const b = p;
          return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
        }
        async fetch(k, fetchOptions = {}) {
          const {
            // get options
            allowStale = this.allowStale,
            updateAgeOnGet = this.updateAgeOnGet,
            noDeleteOnStaleGet = this.noDeleteOnStaleGet,
            // set options
            ttl = this.ttl,
            noDisposeOnSet = this.noDisposeOnSet,
            size: size2 = 0,
            sizeCalculation = this.sizeCalculation,
            noUpdateTTL = this.noUpdateTTL,
            // fetch exclusive options
            noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
            allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
            ignoreFetchAbort = this.ignoreFetchAbort,
            allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
            context,
            forceRefresh = false,
            status,
            signal
          } = fetchOptions;
          if (!this.#hasFetchMethod) {
            if (status)
              status.fetch = "get";
            return this.get(k, {
              allowStale,
              updateAgeOnGet,
              noDeleteOnStaleGet,
              status
            });
          }
          const options = {
            allowStale,
            updateAgeOnGet,
            noDeleteOnStaleGet,
            ttl,
            noDisposeOnSet,
            size: size2,
            sizeCalculation,
            noUpdateTTL,
            noDeleteOnFetchRejection,
            allowStaleOnFetchRejection,
            allowStaleOnFetchAbort,
            ignoreFetchAbort,
            status,
            signal
          };
          let index = this.#keyMap.get(k);
          if (index === void 0) {
            if (status)
              status.fetch = "miss";
            const p = this.#backgroundFetch(k, index, options, context);
            return p.__returned = p;
          } else {
            const v = this.#valList[index];
            if (this.#isBackgroundFetch(v)) {
              const stale = allowStale && v.__staleWhileFetching !== void 0;
              if (status) {
                status.fetch = "inflight";
                if (stale)
                  status.returnedStale = true;
              }
              return stale ? v.__staleWhileFetching : v.__returned = v;
            }
            const isStale = this.#isStale(index);
            if (!forceRefresh && !isStale) {
              if (status)
                status.fetch = "hit";
              this.#moveToTail(index);
              if (updateAgeOnGet) {
                this.#updateItemAge(index);
              }
              if (status)
                this.#statusTTL(status, index);
              return v;
            }
            const p = this.#backgroundFetch(k, index, options, context);
            const hasStale = p.__staleWhileFetching !== void 0;
            const staleVal = hasStale && allowStale;
            if (status) {
              status.fetch = isStale ? "stale" : "refresh";
              if (staleVal && isStale)
                status.returnedStale = true;
            }
            return staleVal ? p.__staleWhileFetching : p.__returned = p;
          }
        }
        /**
         * Return a value from the cache. Will update the recency of the cache
         * entry found.
         *
         * If the key is not found, get() will return `undefined`.
         */
        get(k, getOptions = {}) {
          const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
          const index = this.#keyMap.get(k);
          if (index !== void 0) {
            const value = this.#valList[index];
            const fetching = this.#isBackgroundFetch(value);
            if (status)
              this.#statusTTL(status, index);
            if (this.#isStale(index)) {
              if (status)
                status.get = "stale";
              if (!fetching) {
                if (!noDeleteOnStaleGet) {
                  this.delete(k);
                }
                if (status && allowStale)
                  status.returnedStale = true;
                return allowStale ? value : void 0;
              } else {
                if (status && allowStale && value.__staleWhileFetching !== void 0) {
                  status.returnedStale = true;
                }
                return allowStale ? value.__staleWhileFetching : void 0;
              }
            } else {
              if (status)
                status.get = "hit";
              if (fetching) {
                return value.__staleWhileFetching;
              }
              this.#moveToTail(index);
              if (updateAgeOnGet) {
                this.#updateItemAge(index);
              }
              return value;
            }
          } else if (status) {
            status.get = "miss";
          }
        }
        #connect(p, n) {
          this.#prev[n] = p;
          this.#next[p] = n;
        }
        #moveToTail(index) {
          if (index !== this.#tail) {
            if (index === this.#head) {
              this.#head = this.#next[index];
            } else {
              this.#connect(this.#prev[index], this.#next[index]);
            }
            this.#connect(this.#tail, index);
            this.#tail = index;
          }
        }
        /**
         * Deletes a key out of the cache.
         * Returns true if the key was deleted, false otherwise.
         */
        delete(k) {
          let deleted = false;
          if (this.#size !== 0) {
            const index = this.#keyMap.get(k);
            if (index !== void 0) {
              deleted = true;
              if (this.#size === 1) {
                this.clear();
              } else {
                this.#removeItemSize(index);
                const v = this.#valList[index];
                if (this.#isBackgroundFetch(v)) {
                  v.__abortController.abort(new Error("deleted"));
                } else if (this.#hasDispose || this.#hasDisposeAfter) {
                  if (this.#hasDispose) {
                    this.#dispose?.(v, k, "delete");
                  }
                  if (this.#hasDisposeAfter) {
                    this.#disposed?.push([v, k, "delete"]);
                  }
                }
                this.#keyMap.delete(k);
                this.#keyList[index] = void 0;
                this.#valList[index] = void 0;
                if (index === this.#tail) {
                  this.#tail = this.#prev[index];
                } else if (index === this.#head) {
                  this.#head = this.#next[index];
                } else {
                  const pi = this.#prev[index];
                  this.#next[pi] = this.#next[index];
                  const ni = this.#next[index];
                  this.#prev[ni] = this.#prev[index];
                }
                this.#size--;
                this.#free.push(index);
              }
            }
          }
          if (this.#hasDisposeAfter && this.#disposed?.length) {
            const dt = this.#disposed;
            let task;
            while (task = dt?.shift()) {
              this.#disposeAfter?.(...task);
            }
          }
          return deleted;
        }
        /**
         * Clear the cache entirely, throwing away all values.
         */
        clear() {
          for (const index of this.#rindexes({ allowStale: true })) {
            const v = this.#valList[index];
            if (this.#isBackgroundFetch(v)) {
              v.__abortController.abort(new Error("deleted"));
            } else {
              const k = this.#keyList[index];
              if (this.#hasDispose) {
                this.#dispose?.(v, k, "delete");
              }
              if (this.#hasDisposeAfter) {
                this.#disposed?.push([v, k, "delete"]);
              }
            }
          }
          this.#keyMap.clear();
          this.#valList.fill(void 0);
          this.#keyList.fill(void 0);
          if (this.#ttls && this.#starts) {
            this.#ttls.fill(0);
            this.#starts.fill(0);
          }
          if (this.#sizes) {
            this.#sizes.fill(0);
          }
          this.#head = 0;
          this.#tail = 0;
          this.#free.length = 0;
          this.#calculatedSize = 0;
          this.#size = 0;
          if (this.#hasDisposeAfter && this.#disposed) {
            const dt = this.#disposed;
            let task;
            while (task = dt?.shift()) {
              this.#disposeAfter?.(...task);
            }
          }
        }
      };
    }
  });

  // node_modules/lodash/isBoolean.js
  var require_isBoolean = __commonJS({
    "node_modules/lodash/isBoolean.js"(exports, module2) {
      var baseGetTag = require_baseGetTag();
      var isObjectLike2 = require_isObjectLike();
      var boolTag = "[object Boolean]";
      function isBoolean2(value) {
        return value === true || value === false || isObjectLike2(value) && baseGetTag(value) == boolTag;
      }
      module2.exports = isBoolean2;
    }
  });

  // packages/utilities/memo/index.ts
  function weakMemo(fn) {
    if (false) {
      if (!isFunction(fn)) {
        console.error(
          `Expected a function as argument to weakMemo but got ${fn}.`
        );
      }
    }
    const map = /* @__PURE__ */ new WeakMap();
    const memFn = (arg) => {
      if (!(0, import_isObject.default)(arg) && !(0, import_isBoolean.default)(arg)) {
        const errorMessage = `Expected an object or boolean as an argument to "${// @ts-expect-error - TS2339 - Property 'displayName' does not exist on type 'F'.
        fn.displayName || fn.name}()", but received ${String(arg)}.`;
        const fnString = fn.toString().slice(0, 2e5);
        throw new WeakMemoError({ message: errorMessage, fn: fnString });
      }
      const key = typeof arg === "boolean" ? arg && True || False : arg;
      if (!map.has(key)) {
        map.set(key, fn(arg));
      }
      const result2 = map.get(key);
      return result2;
    };
    if (false) {
      memFn.displayName = // @ts-expect-error - TS2339 - Property 'displayName' does not exist on type 'F'. | TS2339 - Property 'name' does not exist on type 'F'. | TS2339 - Property 'toString' does not exist on type 'F'.
      "weakMemo(" + (fn.displayName || fn.name || fn.toString()) + ")";
    }
    return memFn;
  }
  var import_reselect, import_isBoolean, import_isFunction, import_isObject, True, False, defaultLastArg, WeakMemoError;
  var init_memo = __esm({
    "packages/utilities/memo/index.ts"() {
      "use strict";
      import_reselect = __toESM(require_lib3());
      init_esm();
      import_isBoolean = __toESM(require_isBoolean());
      import_isFunction = __toESM(require_isFunction());
      import_isObject = __toESM(require_isObject());
      True = { "@webflow/Boolean": true };
      False = { "@webflow/Boolean": false };
      defaultLastArg = Symbol();
      WeakMemoError = class extends TypeError {
        fn;
        constructor(opts) {
          super();
          if (TypeError.captureStackTrace) {
            TypeError.captureStackTrace(this, WeakMemoError);
          }
          this.name = "WeakMemoError";
          this.message = opts.message;
          this.fn = opts.fn;
        }
      };
    }
  });

  // packages/systems/dynamo/utils/ConditionUtils/ConditionUtils.ts
  var import_moment_timezone2, getId, isDateStringWithoutTime, toGraphQLSlug, handleId, isObj, isMap, isList, isRecord, memoizedToJS, convertImmutableDataStructure, getFieldsFromConditions, testCondition, fieldConditionsUpdater, withCleanedSlugs, reifyConditions, createNewFieldPath, reifyCondition, reifyQueryField, replacePageItemData, replaceValueBasedOnPageItemData, dynContextFieldValueId, castFieldValue;
  var init_ConditionUtils = __esm({
    "packages/systems/dynamo/utils/ConditionUtils/ConditionUtils.ts"() {
      "use strict";
      init_DynamoConditionUtils();
      import_moment_timezone2 = __toESM(require_moment_timezone2());
      init_SlugUtils2();
      init_memo();
      init_ParamFieldPathUtils();
      init_constants3();
      init_FilterUtils2();
      getId = (record) => {
        return record._id || record.id || (record.get ? record.get("_id", record.get("id")) : null);
      };
      isDateStringWithoutTime = (dateString) => /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(dateString);
      toGraphQLSlug = (originalSlug) => {
        const slug = handleId(originalSlug);
        return slug === "id" || isDynamoGraphQLFieldSlug(slug) || // Don't want to namespace field slug when retrieving product inventory data
        slug === "ecSkuInventoryQuantity" ? slug : fieldSlug2(slug);
      };
      handleId = (slug) => slug === "_id" ? "id" : slug;
      isObj = (x) => x !== null && typeof x === "object" && !Array.isArray(x);
      isMap = (x) => x && Boolean(x["@@__IMMUTABLE_MAP__@@"]);
      isList = (x) => x && Boolean(x["@@__IMMUTABLE_LIST__@@"]);
      isRecord = (x) => x && Boolean(x["@@__IMMUTABLE_RECORD__@@"]);
      memoizedToJS = weakMemo((imm) => imm.toJS());
      convertImmutableDataStructure = (value) => {
        if (isMap(value) || isList(value) || isRecord(value)) {
          return memoizedToJS(value);
        }
        return value;
      };
      getFieldsFromConditions = (conditions) => isMap(conditions) ? conditions.get("fields") : conditions.fields;
      testCondition = ({
        item,
        contextItem,
        timezone,
        condition,
        graphQLSlugs
      }) => {
        const cleanSlug = graphQLSlugs ? toGraphQLSlug : handleId;
        const plainCondition = convertImmutableDataStructure(condition);
        const plainItem = withCleanedSlugs(
          convertImmutableDataStructure(item),
          cleanSlug
        );
        const conditionData = reifyConditions(plainCondition, contextItem, cleanSlug);
        const conditionFields = normalizeConditionFields(conditionData.fields);
        const itemData = conditionFields.reduce((acc, field) => {
          const { fieldPath, type } = field;
          const itemFieldValue = getItemFieldValue(plainItem, fieldPath);
          if (itemFieldValue == null) {
            return acc;
          }
          acc[fieldPath] = castFieldValue(itemFieldValue, type, timezone);
          return acc;
        }, {});
        return test(itemData, conditionData, timezone);
      };
      fieldConditionsUpdater = (contextItem, cleanSlug) => (fields) => {
        const plainFields = convertImmutableDataStructure(fields);
        if (Array.isArray(fields)) {
          return plainFields.map(reifyQueryField(contextItem, cleanSlug));
        }
        return Object.entries(plainFields).reduce(
          (acc, plainField) => {
            const [path, item] = reifyCondition(contextItem, cleanSlug)(plainField);
            acc[path] = item;
            return acc;
          },
          {}
        );
      };
      withCleanedSlugs = (obj, cleanSlug) => {
        return Object.keys(obj).reduce(
          (objWithCleanSlugs, slug) => {
            objWithCleanSlugs[cleanSlug(slug)] = obj[slug];
            return objWithCleanSlugs;
          },
          {}
        );
      };
      reifyConditions = (conditions, contextItem, cleanSlug) => ({
        ...conditions,
        fields: fieldConditionsUpdater(
          contextItem,
          cleanSlug
        )(getFieldsFromConditions(conditions))
      });
      createNewFieldPath = (fieldPath, cleanSlug) => {
        const itemRefFieldSlug = getItemRefSlug(fieldPath);
        const valueFieldSlug = getValueFieldSlug(fieldPath);
        return itemRefFieldSlug ? createFieldPath(cleanSlug(itemRefFieldSlug), cleanSlug(valueFieldSlug)) : createFieldPath(cleanSlug(valueFieldSlug));
      };
      reifyCondition = (contextItem, cleanSlug) => (fieldEntry) => {
        const [fieldPath, operation] = fieldEntry;
        const newFieldPath = createNewFieldPath(fieldPath, cleanSlug);
        const pageItemDataReducer = replacePageItemData(contextItem, cleanSlug);
        return [
          newFieldPath,
          Object.entries(operation).reduce((acc, entry) => {
            const [key, value] = entry;
            return pageItemDataReducer(acc, value, key);
          }, {})
        ];
      };
      reifyQueryField = (contextItem, cleanSlug) => (field) => {
        const { fieldPath, value } = field;
        const newFieldPath = createNewFieldPath(fieldPath, cleanSlug);
        return {
          ...field,
          fieldPath: newFieldPath,
          value: replaceValueBasedOnPageItemData(contextItem, cleanSlug, value)
        };
      };
      replacePageItemData = (contextItem, cleanSlug) => (acc, value, key) => {
        acc[key] = replaceValueBasedOnPageItemData(contextItem, cleanSlug, value);
        return acc;
      };
      replaceValueBasedOnPageItemData = (contextItem, cleanSlug, value) => {
        const plainPageItem = convertImmutableDataStructure(contextItem);
        const pageItemId = plainPageItem ? getId(plainPageItem) : null;
        if (typeof value === "string") {
          if (value === "DYN_CONTEXT") {
            if (pageItemId) {
              return pageItemId;
            }
          }
          if (/^DYN_CONTEXT/.test(value)) {
            const dynContextFieldSlug = value.replace(/^DYN_CONTEXT\./, "");
            const dynContextFieldValue = plainPageItem && plainPageItem[cleanSlug(dynContextFieldSlug)];
            const conditionValue = Array.isArray(dynContextFieldValue) ? dynContextFieldValue.map(dynContextFieldValueId) : dynContextFieldValueId(dynContextFieldValue);
            if (plainPageItem) {
              return conditionValue || NON_EXISTING_ITEM_ID;
            }
          }
        }
        return value;
      };
      dynContextFieldValueId = (dynContextFieldValue) => {
        return isObj(dynContextFieldValue) ? getId(dynContextFieldValue) : dynContextFieldValue;
      };
      castFieldValue = (fieldValue, fieldType, timezone) => {
        switch (fieldType) {
          case "Date": {
            const dateString = fieldValue;
            const dateStringWithoutTime = isDateStringWithoutTime(dateString);
            return dateStringWithoutTime ? import_moment_timezone2.default.tz(fieldValue, timezone).toDate() : import_moment_timezone2.default.utc(dateString).toDate();
          }
          case "Option":
          case "ItemRef": {
            return isObj(fieldValue) ? getId(fieldValue) : fieldValue;
          }
          case "ItemRefSet": {
            return Array.isArray(fieldValue) && fieldValue.length ? Object.values(fieldValue).map((ref) => {
              if (typeof ref === "string") {
                return { _id: ref };
              }
              const { id: _, ...restOfRef } = ref;
              return {
                ...restOfRef,
                _id: getId(ref)
              };
            }) : null;
          }
          default: {
            return fieldValue;
          }
        }
      };
    }
  });

  // packages/systems/dynamo/utils/ConditionUtils/index.ts
  var init_ConditionUtils2 = __esm({
    "packages/systems/dynamo/utils/ConditionUtils/index.ts"() {
      "use strict";
      init_ConditionUtils();
    }
  });

  // packages/systems/dynamo/utils/RenderingUtils/RenderingUtils.ts
  function walkDOM(el, fn) {
    fn(el);
    if (!el || !el.children) {
      return el;
    }
    const children = Array.from(el.children);
    if (!children.length) {
      return el;
    }
    children.forEach((child) => walkDOM(child, fn));
    return el;
  }
  var removeClass, removeWDynBindEmptyClass, addConditionalVisibilityClass, removeConditionalVisibilityClass, applyConditionToNode;
  var init_RenderingUtils = __esm({
    "packages/systems/dynamo/utils/RenderingUtils/RenderingUtils.ts"() {
      "use strict";
      init_constants3();
      init_ConditionUtils2();
      removeClass = (node, className) => {
        if (node.classList.contains(className)) {
          node.classList.remove(className);
          if (node.classList.length === 0) {
            node.removeAttribute("class");
          }
        }
      };
      removeWDynBindEmptyClass = (node) => removeClass(node, CLASS_NAME_W_DYN_BIND_EMPTY);
      addConditionalVisibilityClass = (node) => {
        node.classList.add(CONDITION_INVISIBLE_CLASS);
      };
      removeConditionalVisibilityClass = (node) => removeClass(node, CONDITION_INVISIBLE_CLASS);
      applyConditionToNode = (node, item, conditionData, graphQLSlugs = false) => {
        if (!conditionData) {
          return;
        }
        const { condition, timezone } = conditionData;
        if (item) {
          const isVisible = testCondition({
            item,
            contextItem: null,
            timezone,
            condition,
            graphQLSlugs
          });
          if (isVisible) {
            removeConditionalVisibilityClass(node);
          } else {
            addConditionalVisibilityClass(node);
          }
        }
      };
    }
  });

  // packages/systems/dynamo/utils/RenderingUtils/index.ts
  var init_RenderingUtils2 = __esm({
    "packages/systems/dynamo/utils/RenderingUtils/index.ts"() {
      "use strict";
      init_RenderingUtils();
    }
  });

  // node_modules/lodash/_arrayAggregator.js
  var require_arrayAggregator = __commonJS({
    "node_modules/lodash/_arrayAggregator.js"(exports, module2) {
      function arrayAggregator(array, setter, iteratee, accumulator) {
        var index = -1, length = array == null ? 0 : array.length;
        while (++index < length) {
          var value = array[index];
          setter(accumulator, value, iteratee(value), array);
        }
        return accumulator;
      }
      module2.exports = arrayAggregator;
    }
  });

  // node_modules/lodash/_baseAggregator.js
  var require_baseAggregator = __commonJS({
    "node_modules/lodash/_baseAggregator.js"(exports, module2) {
      var baseEach = require_baseEach();
      function baseAggregator(collection, setter, iteratee, accumulator) {
        baseEach(collection, function(value, key, collection2) {
          setter(accumulator, value, iteratee(value), collection2);
        });
        return accumulator;
      }
      module2.exports = baseAggregator;
    }
  });

  // node_modules/lodash/_createAggregator.js
  var require_createAggregator = __commonJS({
    "node_modules/lodash/_createAggregator.js"(exports, module2) {
      var arrayAggregator = require_arrayAggregator();
      var baseAggregator = require_baseAggregator();
      var baseIteratee = require_baseIteratee();
      var isArray2 = require_isArray();
      function createAggregator(setter, initializer) {
        return function(collection, iteratee) {
          var func = isArray2(collection) ? arrayAggregator : baseAggregator, accumulator = initializer ? initializer() : {};
          return func(collection, setter, baseIteratee(iteratee, 2), accumulator);
        };
      }
      module2.exports = createAggregator;
    }
  });

  // node_modules/lodash/keyBy.js
  var require_keyBy = __commonJS({
    "node_modules/lodash/keyBy.js"(exports, module2) {
      var baseAssignValue = require_baseAssignValue();
      var createAggregator = require_createAggregator();
      var keyBy2 = createAggregator(function(result2, value, key) {
        baseAssignValue(result2, key, value);
      });
      module2.exports = keyBy2;
    }
  });

  // node_modules/lodash/isNumber.js
  var require_isNumber = __commonJS({
    "node_modules/lodash/isNumber.js"(exports, module2) {
      var baseGetTag = require_baseGetTag();
      var isObjectLike2 = require_isObjectLike();
      var numberTag = "[object Number]";
      function isNumber2(value) {
        return typeof value == "number" || isObjectLike2(value) && baseGetTag(value) == numberTag;
      }
      module2.exports = isNumber2;
    }
  });

  // packages/systems/core/utils/CurrencyUtils/CurrencyUtils.ts
  function getCurrencyInfo(code, platform = "stripe") {
    if (isValidCurrency(code)) {
      return platform === "stripe" ? (
        // eslint-disable-next-line @typescript-eslint/ban-ts-comment
        // @ts-expect-error
        currencyInfoByCode[code.toUpperCase()]
      ) : (
        // eslint-disable-next-line @typescript-eslint/ban-ts-comment
        // @ts-expect-error
        currencyInfoByCodePaypal[code.toUpperCase()]
      );
    }
    return {
      code: "???",
      digits: 2,
      minCharge: 0,
      name: `Unknown currency`
    };
  }
  function renderPrice(price2, opts = {}) {
    const { isoFormat = false, noCurrency = false } = opts;
    price2 = validatePrice(price2) ? price2 : _invalid();
    const normal_value = Number(price2.value);
    const currencyInfo = getCurrencyInfo(price2.unit);
    const float_value = intToUnsafeFloat(normal_value, currencyInfo);
    if (Number.isNaN(float_value)) {
      return "NaN";
    }
    if (noCurrency) {
      return String(float_value);
    }
    const fmt = getNumberFormat(price2.unit, isoFormat ? "code" : "symbol");
    return fmt.format(float_value);
  }
  function validatePrice(a) {
    if (!a || typeof a !== "object") {
      return false;
    }
    if (!(0, import_isNumber.default)(a.value)) {
      return false;
    }
    if (!(0, import_isString.default)(a.unit)) {
      return false;
    }
    if (!isValidCurrency(a.unit)) {
      return false;
    }
    return true;
  }
  function _invalid() {
    return { value: NaN, unit: "???" };
  }
  var import_keyBy, import_memoize, import_isString, import_isNumber, currencyInfoByCode, currencyInfoByCodePaypal, isValidCurrency, NullNumberFormat, getNumberFormat, intToUnsafeFloat;
  var init_CurrencyUtils = __esm({
    "packages/systems/core/utils/CurrencyUtils/CurrencyUtils.ts"() {
      "use strict";
      import_keyBy = __toESM(require_keyBy());
      import_memoize = __toESM(require_memoize());
      import_isString = __toESM(require_isString());
      import_isNumber = __toESM(require_isNumber());
      init_constants();
      currencyInfoByCode = (0, import_keyBy.default)(
        stripeCurrencyList,
        "code"
      );
      currencyInfoByCodePaypal = (0, import_keyBy.default)(
        paypalCurrencyList,
        "code"
      );
      isValidCurrency = (currencyCode) => typeof currencyCode === "string" && currencyInfoByCode.hasOwnProperty(currencyCode.toUpperCase());
      NullNumberFormat = class {
        format(_value) {
          return "NaN";
        }
      };
      getNumberFormat = (0, import_memoize.default)(
        (unit, currencyDisplay = "symbol") => (
          // HACK: for some reason, GraphQL is returning a currency of '???' for null
          // prices; we're temporarily glossing over this fact, and will address the
          // backend at a later time..
          unit != null && isValidCurrency(unit) ? new Intl.NumberFormat("en-US", {
            currency: unit,
            style: "currency",
            currencyDisplay
          }) : new NullNumberFormat()
        ),
        /* cache key function **/
        (unit, currencyDisplay = "symbol") => {
          return [String(unit), currencyDisplay].join("::");
        }
      );
      intToUnsafeFloat = (intValue, currency) => {
        const currencyInfo = typeof currency === "object" ? currency : getCurrencyInfo(currency);
        return intValue / Math.pow(10, currencyInfo.digits);
      };
    }
  });

  // node_modules/lodash/isInteger.js
  var require_isInteger = __commonJS({
    "node_modules/lodash/isInteger.js"(exports, module2) {
      var toInteger = require_toInteger();
      function isInteger2(value) {
        return typeof value == "number" && value == toInteger(value);
      }
      module2.exports = isInteger2;
    }
  });

  // node_modules/accounting/accounting.js
  var require_accounting = __commonJS({
    "node_modules/accounting/accounting.js"(exports, module2) {
      (function(root2, undefined2) {
        var lib = {};
        lib.version = "0.4.1";
        lib.settings = {
          currency: {
            symbol: "$",
            // default currency symbol is '$'
            format: "%s%v",
            // controls output: %s = symbol, %v = value (can be object, see docs)
            decimal: ".",
            // decimal point separator
            thousand: ",",
            // thousands separator
            precision: 2,
            // decimal places
            grouping: 3
            // digit grouping (not implemented yet)
          },
          number: {
            precision: 0,
            // default precision on numbers is 0
            grouping: 3,
            // digit grouping (not implemented yet)
            thousand: ",",
            decimal: "."
          }
        };
        var nativeMap = Array.prototype.map, nativeIsArray = Array.isArray, toString3 = Object.prototype.toString;
        function isString2(obj) {
          return !!(obj === "" || obj && obj.charCodeAt && obj.substr);
        }
        function isArray2(obj) {
          return nativeIsArray ? nativeIsArray(obj) : toString3.call(obj) === "[object Array]";
        }
        function isObject2(obj) {
          return obj && toString3.call(obj) === "[object Object]";
        }
        function defaults(object, defs) {
          var key;
          object = object || {};
          defs = defs || {};
          for (key in defs) {
            if (defs.hasOwnProperty(key)) {
              if (object[key] == null)
                object[key] = defs[key];
            }
          }
          return object;
        }
        function map(obj, iterator, context) {
          var results = [], i, j;
          if (!obj)
            return results;
          if (nativeMap && obj.map === nativeMap)
            return obj.map(iterator, context);
          for (i = 0, j = obj.length; i < j; i++) {
            results[i] = iterator.call(context, obj[i], i, obj);
          }
          return results;
        }
        function checkPrecision(val, base) {
          val = Math.round(Math.abs(val));
          return isNaN(val) ? base : val;
        }
        function checkCurrencyFormat(format) {
          var defaults2 = lib.settings.currency.format;
          if (typeof format === "function")
            format = format();
          if (isString2(format) && format.match("%v")) {
            return {
              pos: format,
              neg: format.replace("-", "").replace("%v", "-%v"),
              zero: format
            };
          } else if (!format || !format.pos || !format.pos.match("%v")) {
            return !isString2(defaults2) ? defaults2 : lib.settings.currency.format = {
              pos: defaults2,
              neg: defaults2.replace("%v", "-%v"),
              zero: defaults2
            };
          }
          return format;
        }
        var unformat = lib.unformat = lib.parse = function(value, decimal) {
          if (isArray2(value)) {
            return map(value, function(val) {
              return unformat(val, decimal);
            });
          }
          value = value || 0;
          if (typeof value === "number")
            return value;
          decimal = decimal || lib.settings.number.decimal;
          var regex = new RegExp("[^0-9-" + decimal + "]", ["g"]), unformatted = parseFloat(
            ("" + value).replace(/\((.*)\)/, "-$1").replace(regex, "").replace(decimal, ".")
            // make sure decimal point is standard
          );
          return !isNaN(unformatted) ? unformatted : 0;
        };
        var toFixed = lib.toFixed = function(value, precision) {
          precision = checkPrecision(precision, lib.settings.number.precision);
          var power = Math.pow(10, precision);
          return (Math.round(lib.unformat(value) * power) / power).toFixed(precision);
        };
        var formatNumber2 = lib.formatNumber = lib.format = function(number, precision, thousand, decimal) {
          if (isArray2(number)) {
            return map(number, function(val) {
              return formatNumber2(val, precision, thousand, decimal);
            });
          }
          number = unformat(number);
          var opts = defaults(
            isObject2(precision) ? precision : {
              precision,
              thousand,
              decimal
            },
            lib.settings.number
          ), usePrecision = checkPrecision(opts.precision), negative = number < 0 ? "-" : "", base = parseInt(toFixed(Math.abs(number || 0), usePrecision), 10) + "", mod = base.length > 3 ? base.length % 3 : 0;
          return negative + (mod ? base.substr(0, mod) + opts.thousand : "") + base.substr(mod).replace(/(\d{3})(?=\d)/g, "$1" + opts.thousand) + (usePrecision ? opts.decimal + toFixed(Math.abs(number), usePrecision).split(".")[1] : "");
        };
        var formatMoney2 = lib.formatMoney = function(number, symbol, precision, thousand, decimal, format) {
          if (isArray2(number)) {
            return map(number, function(val) {
              return formatMoney2(val, symbol, precision, thousand, decimal, format);
            });
          }
          number = unformat(number);
          var opts = defaults(
            isObject2(symbol) ? symbol : {
              symbol,
              precision,
              thousand,
              decimal,
              format
            },
            lib.settings.currency
          ), formats = checkCurrencyFormat(opts.format), useFormat = number > 0 ? formats.pos : number < 0 ? formats.neg : formats.zero;
          return useFormat.replace("%s", opts.symbol).replace("%v", formatNumber2(Math.abs(number), checkPrecision(opts.precision), opts.thousand, opts.decimal));
        };
        lib.formatColumn = function(list, symbol, precision, thousand, decimal, format) {
          if (!list)
            return [];
          var opts = defaults(
            isObject2(symbol) ? symbol : {
              symbol,
              precision,
              thousand,
              decimal,
              format
            },
            lib.settings.currency
          ), formats = checkCurrencyFormat(opts.format), padAfterSymbol = formats.pos.indexOf("%s") < formats.pos.indexOf("%v") ? true : false, maxLength = 0, formatted = map(list, function(val, i) {
            if (isArray2(val)) {
              return lib.formatColumn(val, opts);
            } else {
              val = unformat(val);
              var useFormat = val > 0 ? formats.pos : val < 0 ? formats.neg : formats.zero, fVal = useFormat.replace("%s", opts.symbol).replace("%v", formatNumber2(Math.abs(val), checkPrecision(opts.precision), opts.thousand, opts.decimal));
              if (fVal.length > maxLength)
                maxLength = fVal.length;
              return fVal;
            }
          });
          return map(formatted, function(val, i) {
            if (isString2(val) && val.length < maxLength) {
              return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(" ")) : new Array(maxLength - val.length + 1).join(" ") + val;
            }
            return val;
          });
        };
        if (typeof exports !== "undefined") {
          if (typeof module2 !== "undefined" && module2.exports) {
            exports = module2.exports = lib;
          }
          exports.accounting = lib;
        } else if (typeof define === "function" && define.amd) {
          define([], function() {
            return lib;
          });
        } else {
          lib.noConflict = function(oldAccounting) {
            return function() {
              root2.accounting = oldAccounting;
              lib.noConflict = undefined2;
              return lib;
            };
          }(root2.accounting);
          root2["accounting"] = lib;
        }
      })(exports);
    }
  });

  // node_modules/lodash/_unescapeHtmlChar.js
  var require_unescapeHtmlChar = __commonJS({
    "node_modules/lodash/_unescapeHtmlChar.js"(exports, module2) {
      var basePropertyOf = require_basePropertyOf();
      var htmlUnescapes = {
        "&amp;": "&",
        "&lt;": "<",
        "&gt;": ">",
        "&quot;": '"',
        "&#39;": "'"
      };
      var unescapeHtmlChar = basePropertyOf(htmlUnescapes);
      module2.exports = unescapeHtmlChar;
    }
  });

  // node_modules/lodash/unescape.js
  var require_unescape = __commonJS({
    "node_modules/lodash/unescape.js"(exports, module2) {
      var toString3 = require_toString();
      var unescapeHtmlChar = require_unescapeHtmlChar();
      var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g;
      var reHasEscapedHtml = RegExp(reEscapedHtml.source);
      function unescape3(string) {
        string = toString3(string);
        return string && reHasEscapedHtml.test(string) ? string.replace(reEscapedHtml, unescapeHtmlChar) : string;
      }
      module2.exports = unescape3;
    }
  });

  // packages/systems/core/utils/EmbedUtils/shared/index.ts
  function parseTokenJson(string) {
    if (string.match(getWfTokenPattern())) {
      let token;
      try {
        token = JSON.parse((0, import_unescape.default)(extractToken(string).replace(/\\}/g, "}")));
      } catch (err) {
        return null;
      }
      if (!token || !token.path || !token.type) {
        return null;
      } else {
        return token;
      }
    } else {
      return null;
    }
  }
  function extractToken(string, {
    shortHand
  } = {}) {
    return shortHand ? string.replace(getCatchAllTokenPattern(), (match, subMatch) => {
      return stripLegacyShorthandSuffix(subMatch);
    }) : string.replace(getWfTokenPattern(), "$1");
  }
  function stripLegacyShorthandSuffix(tokenPath) {
    return tokenPath.split(":").map((part) => part.split(".")[0]).join(":");
  }
  var import_unescape, getWfTokenPattern, getCatchAllTokenPattern;
  var init_shared = __esm({
    "packages/systems/core/utils/EmbedUtils/shared/index.ts"() {
      "use strict";
      import_unescape = __toESM(require_unescape());
      getWfTokenPattern = function() {
        return /{{\s*wf\s*({.*?})\s*}}/g;
      };
      getCatchAllTokenPattern = function() {
        return /{{\s*(.*?)\s*}}/g;
      };
    }
  });

  // packages/systems/core/utils/EmbedUtils/simpleReplaceTokens/index.ts
  function simpleReplaceTokens(replaceable, item) {
    return replaceable.replace(getWfTokenPattern(), function(match) {
      const token = parseTokenJson(match) || {};
      const path = token.path.split(".");
      return (0, import_isFunction2.default)(item.getIn) ? item.getIn(path, "") : (0, import_get3.default)(item, path, "");
    });
  }
  var import_isFunction2, import_get3;
  var init_simpleReplaceTokens = __esm({
    "packages/systems/core/utils/EmbedUtils/simpleReplaceTokens/index.ts"() {
      "use strict";
      import_isFunction2 = __toESM(require_isFunction());
      import_get3 = __toESM(require_get());
      init_shared();
    }
  });

  // packages/systems/core/utils/CurrencyUtils/renderPrice.ts
  function renderAmountFromSettings(amount, amountSettings = {}) {
    if (typeof amount === "undefined") {
      return "";
    }
    if (typeof amount === "string") {
      if (amount === "\u221E") {
        return amount;
      }
      throw new Error(`amount has type string: got ${amount}, expected \u221E`);
    }
    const jsValue = amount / parseFloat(`1${"0".repeat(amountSettings.fractionDigits || 0)}`);
    const precision = (0, import_isInteger.default)(jsValue) && amountSettings.hideDecimalForWholeNumbers ? 0 : amountSettings.fractionDigits;
    return (0, import_accounting.formatMoney)(jsValue, {
      symbol: "",
      decimal: amountSettings.decimal,
      precision,
      thousand: amountSettings.group
    });
  }
  function renderPriceFromSettings(price2, currencySettings = {}, renderOpts = {}) {
    const { template, currencyCode } = currencySettings;
    if (!template || price2.unit !== currencyCode) {
      return renderPrice(price2);
    }
    return (price2.value < 0 ? "\u2212" : "") + // negative sign to appear before currency symbol e.g., -$ 5.00 USD
    simpleReplaceTokens(
      (renderOpts.breakingWhitespace ? currencySettings.template : _replaceAllSpaceWithNBSP(currencySettings.template)) || "",
      {
        amount: renderAmountFromSettings(
          Math.abs(price2.value),
          currencySettings
        ),
        symbol: currencySettings.symbol,
        currencyCode: currencySettings.currencyCode
      }
    );
  }
  var import_get4, import_isInteger, import_accounting, _nonBreakingSpace, _replaceAllSpaceWithNBSP;
  var init_renderPrice = __esm({
    "packages/systems/core/utils/CurrencyUtils/renderPrice.ts"() {
      "use strict";
      import_get4 = __toESM(require_get());
      import_isInteger = __toESM(require_isInteger());
      import_accounting = __toESM(require_accounting());
      init_simpleReplaceTokens();
      init_CurrencyUtils();
      _nonBreakingSpace = String.fromCharCode(160);
      _replaceAllSpaceWithNBSP = (str) => str.replace(/\s/g, _nonBreakingSpace);
    }
  });

  // packages/systems/core/utils/CurrencyUtils/index.ts
  var init_CurrencyUtils2 = __esm({
    "packages/systems/core/utils/CurrencyUtils/index.ts"() {
      "use strict";
      init_CurrencyUtils();
      init_renderPrice();
    }
  });

  // packages/shared/render/plugins/Commerce/modules/debug.ts
  var debug_default;
  var init_debug = __esm({
    "packages/shared/render/plugins/Commerce/modules/debug.ts"() {
      "use strict";
      debug_default = {
        log: (...args) => {
          if (false) {
            console.log(...args);
          }
        },
        error: (...args) => {
          if (false) {
            console.log(...args);
          }
        }
      };
    }
  });

  // node_modules/lodash/_escapeHtmlChar.js
  var require_escapeHtmlChar = __commonJS({
    "node_modules/lodash/_escapeHtmlChar.js"(exports, module2) {
      var basePropertyOf = require_basePropertyOf();
      var htmlEscapes = {
        "&": "&amp;",
        "<": "&lt;",
        ">": "&gt;",
        '"': "&quot;",
        "'": "&#39;"
      };
      var escapeHtmlChar = basePropertyOf(htmlEscapes);
      module2.exports = escapeHtmlChar;
    }
  });

  // node_modules/lodash/escape.js
  var require_escape = __commonJS({
    "node_modules/lodash/escape.js"(exports, module2) {
      var escapeHtmlChar = require_escapeHtmlChar();
      var toString3 = require_toString();
      var reUnescapedHtml = /[&<>"']/g;
      var reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
      function escape5(string) {
        string = toString3(string);
        return string && reHasUnescapedHtml.test(string) ? string.replace(reUnescapedHtml, escapeHtmlChar) : string;
      }
      module2.exports = escape5;
    }
  });

  // packages/systems/dynamo/utils/DynamoFormattingUtils/index.ts
  function formatNumber(n, formatType) {
    if (typeof n === "number") {
      const precision = formatType === "" || formatType === "none" ? NaN : Number(formatType);
      if (!isNaN(precision)) {
        return n.toFixed(precision);
      } else {
        return String(n);
      }
    } else {
      return "";
    }
  }
  function formatEmail(email, subject, property) {
    const prefix = property === "href" ? "mailto:" : "";
    if (email && subject) {
      return prefix + email + "?subject=" + subject;
    } else if (email) {
      return prefix + email;
    } else {
      return null;
    }
  }
  function formatPhone(phone, property) {
    if (property === "href") {
      let tel = phone ? phone.replace(/\s/g, "") : "";
      if (/\d/.test(tel)) {
        const keypadMap = [
          [/a|b|c/gi, 2],
          [/d|e|f/gi, 3],
          [/g|h|i/gi, 4],
          [/j|k|l/gi, 5],
          [/m|n|o/gi, 6],
          [/p|q|r|s/gi, 7],
          [/t|u|v/gi, 8],
          [/w|x|y|z/gi, 9]
        ];
        keypadMap.forEach(([key, value]) => {
          tel = tel.replace(key, value.toString());
        });
      } else {
        phone = "#";
      }
      phone = /\d/.test(tel) ? "tel:" + tel : "#";
    }
    return phone;
  }
  var init_DynamoFormattingUtils = __esm({
    "packages/systems/dynamo/utils/DynamoFormattingUtils/index.ts"() {
      "use strict";
    }
  });

  // packages/systems/dynamo/utils/Transformers/Transformers.ts
  function getTransformerFn(fnKey) {
    switch (fnKey) {
      case "date": {
        return date;
      }
      case "detailPage": {
        return detailPage;
      }
      case "style": {
        return style;
      }
      case "numberPrecision": {
        return numberPrecision;
      }
      case "rich": {
        return rich;
      }
      case "price": {
        return price;
      }
      default: {
        return null;
      }
    }
  }
  var import_escape, import_moment_timezone3, isSimpleDateFormat, date, detailPage, style, numberPrecision, rich, replaceDetailPageHrefCollectionSlug, get5, price, transformers;
  var init_Transformers = __esm({
    "packages/systems/dynamo/utils/Transformers/Transformers.ts"() {
      "use strict";
      import_escape = __toESM(require_escape());
      import_moment_timezone3 = __toESM(require_moment_timezone2());
      init_CurrencyUtils2();
      init_DynamoFormattingUtils();
      isSimpleDateFormat = (value) => /^([0-9]{4})-([0-9]{2})-([0-9]{2})$/.test(value);
      date = (value, [format], { timezone = "UTC" }) => {
        if (isSimpleDateFormat(value)) {
          timezone = "UTC";
        }
        const momentDate = import_moment_timezone3.default.utc(value, import_moment_timezone3.default.ISO_8601);
        if (momentDate.isValid()) {
          return momentDate.tz(timezone).format(format);
        } else {
          return "";
        }
      };
      detailPage = (value, [collectionIdOrLegacySlug], { collectionSlugMap }) => {
        const collectionSlug = collectionSlugMap[collectionIdOrLegacySlug] || collectionIdOrLegacySlug;
        return value ? `/${collectionSlug}/${value}` : null;
      };
      style = (value, [styleProp]) => {
        if (styleProp === "background-image") {
          return value ? `url("${value}")` : "none";
        }
        return value;
      };
      numberPrecision = (value, [precision]) => {
        return formatNumber(value, precision);
      };
      rich = (value, params, { pageLinkHrefPrefix, collectionSlugMap }) => {
        if (!value) {
          return null;
        }
        if (typeof value !== "string") {
          return value;
        }
        return value.replace(/<a\s+[^>]+/g, (linkString) => {
          const isPageLink = /\sdata-rt-link-type="page"/.test(linkString);
          const needsPrefix = pageLinkHrefPrefix && isPageLink;
          const collectionIdMatch = isPageLink && /\sdata-rt-link-collectionid="([a-z0-9]{24})"/.exec(linkString);
          if (needsPrefix || collectionIdMatch) {
            return linkString.replace(/(\shref=")([^"]+)/, (match, begin, href) => {
              const end = collectionIdMatch ? replaceDetailPageHrefCollectionSlug(
                href,
                // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
                collectionIdMatch[1],
                collectionSlugMap
              ) : href;
              const prefix = pageLinkHrefPrefix ? (0, import_escape.default)(pageLinkHrefPrefix) : "";
              return `${begin}${prefix}${end}`;
            });
          } else {
            return linkString;
          }
        });
      };
      replaceDetailPageHrefCollectionSlug = (href, collectionId, collectionSlugMap) => {
        const [emptyString, originalCollectionSlug, ...rest] = href.split("/");
        const collectionSlug = collectionSlugMap[collectionId] || originalCollectionSlug;
        return [emptyString, collectionSlug, ...rest].join("/");
      };
      get5 = (obj, key) => {
        if (obj != null && typeof obj.get === "function") {
          return obj.get(key);
        }
        return obj[key];
      };
      price = (obj, params, context) => {
        if (!obj)
          return null;
        return renderPriceFromSettings(
          { unit: get5(obj, "unit"), value: get5(obj, "value") },
          context.currencySettings
        );
      };
      transformers = (value, filter, context) => {
        const { type: key, params } = filter;
        const fn = getTransformerFn(key);
        return fn ? fn(value, params, context) : value;
      };
    }
  });

  // packages/systems/dynamo/utils/Transformers/index.ts
  var init_Transformers2 = __esm({
    "packages/systems/dynamo/utils/Transformers/index.ts"() {
      "use strict";
      init_Transformers();
    }
  });

  // node_modules/lodash/_copyObject.js
  var require_copyObject = __commonJS({
    "node_modules/lodash/_copyObject.js"(exports, module2) {
      var assignValue = require_assignValue();
      var baseAssignValue = require_baseAssignValue();
      function copyObject(source, props, object, customizer) {
        var isNew = !object;
        object || (object = {});
        var index = -1, length = props.length;
        while (++index < length) {
          var key = props[index];
          var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0;
          if (newValue === void 0) {
            newValue = source[key];
          }
          if (isNew) {
            baseAssignValue(object, key, newValue);
          } else {
            assignValue(object, key, newValue);
          }
        }
        return object;
      }
      module2.exports = copyObject;
    }
  });

  // node_modules/lodash/_baseAssign.js
  var require_baseAssign = __commonJS({
    "node_modules/lodash/_baseAssign.js"(exports, module2) {
      var copyObject = require_copyObject();
      var keys = require_keys();
      function baseAssign(object, source) {
        return object && copyObject(source, keys(source), object);
      }
      module2.exports = baseAssign;
    }
  });

  // node_modules/lodash/_baseAssignIn.js
  var require_baseAssignIn = __commonJS({
    "node_modules/lodash/_baseAssignIn.js"(exports, module2) {
      var copyObject = require_copyObject();
      var keysIn = require_keysIn();
      function baseAssignIn(object, source) {
        return object && copyObject(source, keysIn(source), object);
      }
      module2.exports = baseAssignIn;
    }
  });

  // node_modules/lodash/_cloneBuffer.js
  var require_cloneBuffer = __commonJS({
    "node_modules/lodash/_cloneBuffer.js"(exports, module2) {
      var root2 = require_root();
      var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
      var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
      var moduleExports = freeModule && freeModule.exports === freeExports;
      var Buffer2 = moduleExports ? root2.Buffer : void 0;
      var allocUnsafe = Buffer2 ? Buffer2.allocUnsafe : void 0;
      function cloneBuffer(buffer, isDeep) {
        if (isDeep) {
          return buffer.slice();
        }
        var length = buffer.length, result2 = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
        buffer.copy(result2);
        return result2;
      }
      module2.exports = cloneBuffer;
    }
  });

  // node_modules/lodash/_copySymbols.js
  var require_copySymbols = __commonJS({
    "node_modules/lodash/_copySymbols.js"(exports, module2) {
      var copyObject = require_copyObject();
      var getSymbols = require_getSymbols();
      function copySymbols(source, object) {
        return copyObject(source, getSymbols(source), object);
      }
      module2.exports = copySymbols;
    }
  });

  // node_modules/lodash/_copySymbolsIn.js
  var require_copySymbolsIn = __commonJS({
    "node_modules/lodash/_copySymbolsIn.js"(exports, module2) {
      var copyObject = require_copyObject();
      var getSymbolsIn = require_getSymbolsIn();
      function copySymbolsIn(source, object) {
        return copyObject(source, getSymbolsIn(source), object);
      }
      module2.exports = copySymbolsIn;
    }
  });

  // node_modules/lodash/_initCloneArray.js
  var require_initCloneArray = __commonJS({
    "node_modules/lodash/_initCloneArray.js"(exports, module2) {
      var objectProto = Object.prototype;
      var hasOwnProperty9 = objectProto.hasOwnProperty;
      function initCloneArray(array) {
        var length = array.length, result2 = new array.constructor(length);
        if (length && typeof array[0] == "string" && hasOwnProperty9.call(array, "index")) {
          result2.index = array.index;
          result2.input = array.input;
        }
        return result2;
      }
      module2.exports = initCloneArray;
    }
  });

  // node_modules/lodash/_cloneArrayBuffer.js
  var require_cloneArrayBuffer = __commonJS({
    "node_modules/lodash/_cloneArrayBuffer.js"(exports, module2) {
      var Uint8Array2 = require_Uint8Array();
      function cloneArrayBuffer(arrayBuffer) {
        var result2 = new arrayBuffer.constructor(arrayBuffer.byteLength);
        new Uint8Array2(result2).set(new Uint8Array2(arrayBuffer));
        return result2;
      }
      module2.exports = cloneArrayBuffer;
    }
  });

  // node_modules/lodash/_cloneDataView.js
  var require_cloneDataView = __commonJS({
    "node_modules/lodash/_cloneDataView.js"(exports, module2) {
      var cloneArrayBuffer = require_cloneArrayBuffer();
      function cloneDataView(dataView, isDeep) {
        var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
        return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
      }
      module2.exports = cloneDataView;
    }
  });

  // node_modules/lodash/_cloneRegExp.js
  var require_cloneRegExp = __commonJS({
    "node_modules/lodash/_cloneRegExp.js"(exports, module2) {
      var reFlags = /\w*$/;
      function cloneRegExp(regexp) {
        var result2 = new regexp.constructor(regexp.source, reFlags.exec(regexp));
        result2.lastIndex = regexp.lastIndex;
        return result2;
      }
      module2.exports = cloneRegExp;
    }
  });

  // node_modules/lodash/_cloneSymbol.js
  var require_cloneSymbol = __commonJS({
    "node_modules/lodash/_cloneSymbol.js"(exports, module2) {
      var Symbol2 = require_Symbol();
      var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
      var symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
      function cloneSymbol(symbol) {
        return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
      }
      module2.exports = cloneSymbol;
    }
  });

  // node_modules/lodash/_cloneTypedArray.js
  var require_cloneTypedArray = __commonJS({
    "node_modules/lodash/_cloneTypedArray.js"(exports, module2) {
      var cloneArrayBuffer = require_cloneArrayBuffer();
      function cloneTypedArray(typedArray, isDeep) {
        var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
        return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
      }
      module2.exports = cloneTypedArray;
    }
  });

  // node_modules/lodash/_initCloneByTag.js
  var require_initCloneByTag = __commonJS({
    "node_modules/lodash/_initCloneByTag.js"(exports, module2) {
      var cloneArrayBuffer = require_cloneArrayBuffer();
      var cloneDataView = require_cloneDataView();
      var cloneRegExp = require_cloneRegExp();
      var cloneSymbol = require_cloneSymbol();
      var cloneTypedArray = require_cloneTypedArray();
      var boolTag = "[object Boolean]";
      var dateTag = "[object Date]";
      var mapTag = "[object Map]";
      var numberTag = "[object Number]";
      var regexpTag = "[object RegExp]";
      var setTag = "[object Set]";
      var stringTag = "[object String]";
      var symbolTag = "[object Symbol]";
      var arrayBufferTag = "[object ArrayBuffer]";
      var dataViewTag = "[object DataView]";
      var float32Tag = "[object Float32Array]";
      var float64Tag = "[object Float64Array]";
      var int8Tag = "[object Int8Array]";
      var int16Tag = "[object Int16Array]";
      var int32Tag = "[object Int32Array]";
      var uint8Tag = "[object Uint8Array]";
      var uint8ClampedTag = "[object Uint8ClampedArray]";
      var uint16Tag = "[object Uint16Array]";
      var uint32Tag = "[object Uint32Array]";
      function initCloneByTag(object, tag, isDeep) {
        var Ctor = object.constructor;
        switch (tag) {
          case arrayBufferTag:
            return cloneArrayBuffer(object);
          case boolTag:
          case dateTag:
            return new Ctor(+object);
          case dataViewTag:
            return cloneDataView(object, isDeep);
          case float32Tag:
          case float64Tag:
          case int8Tag:
          case int16Tag:
          case int32Tag:
          case uint8Tag:
          case uint8ClampedTag:
          case uint16Tag:
          case uint32Tag:
            return cloneTypedArray(object, isDeep);
          case mapTag:
            return new Ctor();
          case numberTag:
          case stringTag:
            return new Ctor(object);
          case regexpTag:
            return cloneRegExp(object);
          case setTag:
            return new Ctor();
          case symbolTag:
            return cloneSymbol(object);
        }
      }
      module2.exports = initCloneByTag;
    }
  });

  // node_modules/lodash/_initCloneObject.js
  var require_initCloneObject = __commonJS({
    "node_modules/lodash/_initCloneObject.js"(exports, module2) {
      var baseCreate = require_baseCreate();
      var getPrototype = require_getPrototype();
      var isPrototype = require_isPrototype();
      function initCloneObject(object) {
        return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {};
      }
      module2.exports = initCloneObject;
    }
  });

  // node_modules/lodash/_baseIsMap.js
  var require_baseIsMap = __commonJS({
    "node_modules/lodash/_baseIsMap.js"(exports, module2) {
      var getTag = require_getTag();
      var isObjectLike2 = require_isObjectLike();
      var mapTag = "[object Map]";
      function baseIsMap(value) {
        return isObjectLike2(value) && getTag(value) == mapTag;
      }
      module2.exports = baseIsMap;
    }
  });

  // node_modules/lodash/isMap.js
  var require_isMap = __commonJS({
    "node_modules/lodash/isMap.js"(exports, module2) {
      var baseIsMap = require_baseIsMap();
      var baseUnary = require_baseUnary();
      var nodeUtil = require_nodeUtil();
      var nodeIsMap = nodeUtil && nodeUtil.isMap;
      var isMap2 = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
      module2.exports = isMap2;
    }
  });

  // node_modules/lodash/_baseIsSet.js
  var require_baseIsSet = __commonJS({
    "node_modules/lodash/_baseIsSet.js"(exports, module2) {
      var getTag = require_getTag();
      var isObjectLike2 = require_isObjectLike();
      var setTag = "[object Set]";
      function baseIsSet(value) {
        return isObjectLike2(value) && getTag(value) == setTag;
      }
      module2.exports = baseIsSet;
    }
  });

  // node_modules/lodash/isSet.js
  var require_isSet = __commonJS({
    "node_modules/lodash/isSet.js"(exports, module2) {
      var baseIsSet = require_baseIsSet();
      var baseUnary = require_baseUnary();
      var nodeUtil = require_nodeUtil();
      var nodeIsSet = nodeUtil && nodeUtil.isSet;
      var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
      module2.exports = isSet;
    }
  });

  // node_modules/lodash/_baseClone.js
  var require_baseClone = __commonJS({
    "node_modules/lodash/_baseClone.js"(exports, module2) {
      var Stack2 = require_Stack();
      var arrayEach = require_arrayEach();
      var assignValue = require_assignValue();
      var baseAssign = require_baseAssign();
      var baseAssignIn = require_baseAssignIn();
      var cloneBuffer = require_cloneBuffer();
      var copyArray = require_copyArray();
      var copySymbols = require_copySymbols();
      var copySymbolsIn = require_copySymbolsIn();
      var getAllKeys = require_getAllKeys();
      var getAllKeysIn = require_getAllKeysIn();
      var getTag = require_getTag();
      var initCloneArray = require_initCloneArray();
      var initCloneByTag = require_initCloneByTag();
      var initCloneObject = require_initCloneObject();
      var isArray2 = require_isArray();
      var isBuffer = require_isBuffer();
      var isMap2 = require_isMap();
      var isObject2 = require_isObject();
      var isSet = require_isSet();
      var keys = require_keys();
      var keysIn = require_keysIn();
      var CLONE_DEEP_FLAG = 1;
      var CLONE_FLAT_FLAG = 2;
      var CLONE_SYMBOLS_FLAG = 4;
      var argsTag = "[object Arguments]";
      var arrayTag = "[object Array]";
      var boolTag = "[object Boolean]";
      var dateTag = "[object Date]";
      var errorTag = "[object Error]";
      var funcTag = "[object Function]";
      var genTag = "[object GeneratorFunction]";
      var mapTag = "[object Map]";
      var numberTag = "[object Number]";
      var objectTag = "[object Object]";
      var regexpTag = "[object RegExp]";
      var setTag = "[object Set]";
      var stringTag = "[object String]";
      var symbolTag = "[object Symbol]";
      var weakMapTag = "[object WeakMap]";
      var arrayBufferTag = "[object ArrayBuffer]";
      var dataViewTag = "[object DataView]";
      var float32Tag = "[object Float32Array]";
      var float64Tag = "[object Float64Array]";
      var int8Tag = "[object Int8Array]";
      var int16Tag = "[object Int16Array]";
      var int32Tag = "[object Int32Array]";
      var uint8Tag = "[object Uint8Array]";
      var uint8ClampedTag = "[object Uint8ClampedArray]";
      var uint16Tag = "[object Uint16Array]";
      var uint32Tag = "[object Uint32Array]";
      var cloneableTags = {};
      cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
      cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;
      function baseClone(value, bitmask, customizer, key, object, stack) {
        var result2, isDeep = bitmask & CLONE_DEEP_FLAG, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG;
        if (customizer) {
          result2 = object ? customizer(value, key, object, stack) : customizer(value);
        }
        if (result2 !== void 0) {
          return result2;
        }
        if (!isObject2(value)) {
          return value;
        }
        var isArr = isArray2(value);
        if (isArr) {
          result2 = initCloneArray(value);
          if (!isDeep) {
            return copyArray(value, result2);
          }
        } else {
          var tag = getTag(value), isFunc = tag == funcTag || tag == genTag;
          if (isBuffer(value)) {
            return cloneBuffer(value, isDeep);
          }
          if (tag == objectTag || tag == argsTag || isFunc && !object) {
            result2 = isFlat || isFunc ? {} : initCloneObject(value);
            if (!isDeep) {
              return isFlat ? copySymbolsIn(value, baseAssignIn(result2, value)) : copySymbols(value, baseAssign(result2, value));
            }
          } else {
            if (!cloneableTags[tag]) {
              return object ? value : {};
            }
            result2 = initCloneByTag(value, tag, isDeep);
          }
        }
        stack || (stack = new Stack2());
        var stacked = stack.get(value);
        if (stacked) {
          return stacked;
        }
        stack.set(value, result2);
        if (isSet(value)) {
          value.forEach(function(subValue) {
            result2.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
          });
        } else if (isMap2(value)) {
          value.forEach(function(subValue, key2) {
            result2.set(key2, baseClone(subValue, bitmask, customizer, key2, value, stack));
          });
        }
        var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys;
        var props = isArr ? void 0 : keysFunc(value);
        arrayEach(props || value, function(subValue, key2) {
          if (props) {
            key2 = subValue;
            subValue = value[key2];
          }
          assignValue(result2, key2, baseClone(subValue, bitmask, customizer, key2, value, stack));
        });
        return result2;
      }
      module2.exports = baseClone;
    }
  });

  // node_modules/lodash/cloneDeep.js
  var require_cloneDeep = __commonJS({
    "node_modules/lodash/cloneDeep.js"(exports, module2) {
      var baseClone = require_baseClone();
      var CLONE_DEEP_FLAG = 1;
      var CLONE_SYMBOLS_FLAG = 4;
      function cloneDeep3(value) {
        return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
      }
      module2.exports = cloneDeep3;
    }
  });

  // node_modules/lodash/transform.js
  var require_transform = __commonJS({
    "node_modules/lodash/transform.js"(exports, module2) {
      var arrayEach = require_arrayEach();
      var baseCreate = require_baseCreate();
      var baseForOwn = require_baseForOwn();
      var baseIteratee = require_baseIteratee();
      var getPrototype = require_getPrototype();
      var isArray2 = require_isArray();
      var isBuffer = require_isBuffer();
      var isFunction3 = require_isFunction();
      var isObject2 = require_isObject();
      var isTypedArray = require_isTypedArray();
      function transform2(object, iteratee, accumulator) {
        var isArr = isArray2(object), isArrLike = isArr || isBuffer(object) || isTypedArray(object);
        iteratee = baseIteratee(iteratee, 4);
        if (accumulator == null) {
          var Ctor = object && object.constructor;
          if (isArrLike) {
            accumulator = isArr ? new Ctor() : [];
          } else if (isObject2(object)) {
            accumulator = isFunction3(Ctor) ? baseCreate(getPrototype(object)) : {};
          } else {
            accumulator = {};
          }
        }
        (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object2) {
          return iteratee(accumulator, value, index, object2);
        });
        return accumulator;
      }
      module2.exports = transform2;
    }
  });

  // packages/shared/render/plugins/Commerce/modules/rendering.ts
  var import_escape2, import_cloneDeep, import_transform2, allowedFieldTypes, isBindingPropToFieldTypeAllowed, getIn2, applyBindingsMutation, applyBindings, applyConditionalVisibility, applySkuBoundConditionalVisibility, createStyleMutator, createAttributeMutator, valueMutator, checkedMutator, aspectRatio, mutators, hrefMutator, getPropertyMutator, getCommercePropValue, getTemplateScript, createDomFragment, getTemplateString, getTemplateCollection, checkForAndApplyTemplateCollection, checkForAndApplyBindings, checkForAndApplyConditionalVisibility, renderTree, shippingDataReplacementPaths, flattenCustomData, flattenOrderData;
  var init_rendering = __esm({
    "packages/shared/render/plugins/Commerce/modules/rendering.ts"() {
      "use strict";
      init_Transformers2();
      import_escape2 = __toESM(require_escape());
      import_cloneDeep = __toESM(require_cloneDeep());
      import_transform2 = __toESM(require_transform());
      init_constants();
      init_constants3();
      init_RenderingUtils2();
      init_commerceUtils();
      init_DynamoFormattingUtils();
      init_site();
      allowedFieldTypes = {
        ...SHARED_ALLOWED_FIELD_TYPES,
        "data-commerce-sku-id": ["ItemRef"]
      };
      isBindingPropToFieldTypeAllowed = (bindingProperty, type) => {
        const allowedTypes = allowedFieldTypes[bindingProperty];
        return allowedTypes instanceof Array ? allowedTypes.indexOf(type) > -1 : allowedTypes && type in allowedTypes;
      };
      getIn2 = (object, path) => {
        const nextDotIndex = path.indexOf(".");
        if (object == null) {
          return null;
        }
        if (nextDotIndex !== -1) {
          const pathPart = path.slice(0, nextDotIndex);
          const restOfPath = path.slice(nextDotIndex + 1, path.length);
          return getIn2(object[pathPart], restOfPath);
        }
        return object[path];
      };
      applyBindingsMutation = ({
        // @ts-expect-error - TS7031 - Binding element 'bindingProperty' implicitly has an 'any' type.
        bindingProperty,
        // @ts-expect-error - TS7031 - Binding element 'type' implicitly has an 'any' type.
        type,
        // @ts-expect-error - TS7031 - Binding element 'filter' implicitly has an 'any' type.
        filter,
        // @ts-expect-error - TS7031 - Binding element 'path' implicitly has an 'any' type.
        path,
        // @ts-expect-error - TS7031 - Binding element 'timezone' implicitly has an 'any' type.
        timezone,
        // @ts-expect-error - TS7031 - Binding element 'pageLinkHrefPrefix' implicitly has an 'any' type.
        pageLinkHrefPrefix,
        collectionSlugMap = {},
        // @ts-expect-error - TS7031 - Binding element 'data' implicitly has an 'any' type.
        data,
        // @ts-expect-error - TS7031 - Binding element 'node' implicitly has an 'any' type.
        node,
        emailLinkSubject = ""
      }) => {
        if (!isBindingPropToFieldTypeAllowed(bindingProperty, type)) {
          return;
        }
        const prefix = "data.";
        let suffix = "";
        if (type === "ImageRef" && bindingProperty === "src") {
          suffix = ".url";
        }
        let rawValue;
        if (type === "CommercePropValues") {
          rawValue = getCommercePropValue(data, `${prefix}${path}`);
        } else {
          rawValue = getIn2(data, `${prefix}${path}${suffix}`);
        }
        const transformedValue = transformers(rawValue, filter, {
          timezone,
          pageLinkHrefPrefix,
          collectionSlugMap,
          // @ts-expect-error - TS2339 - Property '__WEBFLOW_CURRENCY_SETTINGS' does not exist on type 'Window & typeof globalThis'.
          currencySettings: window.__WEBFLOW_CURRENCY_SETTINGS
        });
        const propertyMutator = getPropertyMutator(bindingProperty, emailLinkSubject);
        if (typeof propertyMutator === "function") {
          propertyMutator(node, type, transformedValue);
        }
      };
      applyBindings = (bindings, data, node) => {
        if (bindings == null) {
          return;
        }
        bindings.forEach((binding) => {
          Object.keys(binding).forEach((bindingProperty) => {
            const bindingValue = binding[bindingProperty];
            const {
              type,
              filter,
              dataPath: path,
              timezone,
              pageLinkHrefPrefix,
              collectionSlugMap,
              emailLinkSubject
            } = bindingValue;
            applyBindingsMutation({
              bindingProperty,
              type,
              filter,
              path,
              timezone,
              pageLinkHrefPrefix,
              collectionSlugMap,
              data,
              node,
              emailLinkSubject
            });
          });
        });
      };
      applyConditionalVisibility = (conditionData, data, node) => {
        if (!conditionData) {
          return;
        }
        const { dataPath, meta } = conditionData;
        const prefixedDataPath = `data.${dataPath}`;
        const item = meta && meta.type === "CommercePropValues" ? {
          name: getIn2(data, `${prefixedDataPath}.name`),
          value: getCommercePropValue(data, prefixedDataPath)
        } : getIn2(data, prefixedDataPath);
        applyConditionToNode(node, item, conditionData, true);
      };
      applySkuBoundConditionalVisibility = ({
        conditionData,
        newSkuItem,
        node
      }) => {
        const { condition } = conditionData;
        const skuConditionData = (0, import_transform2.default)(condition.fields, (data, val, field) => {
          const skuField = field.split("default-sku:");
          if (skuField.length > 1) {
            data[skuField[1]] = val;
            return data;
          }
        });
        const inventoryQuantity = newSkuItem.inventory.type === "infinite" ? null : newSkuItem.inventory.quantity;
        const itemWithFlattenedInventory = {
          ...newSkuItem,
          ecSkuInventoryQuantity: inventoryQuantity
        };
        applyConditionToNode(
          node,
          itemWithFlattenedInventory,
          {
            ...conditionData,
            condition: { fields: skuConditionData }
          },
          true
        );
      };
      createStyleMutator = // @ts-expect-error - TS7006 - Parameter 'node' implicitly has an 'any' type. | TS7006 - Parameter 'type' implicitly has an 'any' type.
      (property) => (node, type, value) => {
        if (!(node instanceof HTMLElement && typeof value === "string")) {
          return;
        }
        if (type === "ImageRef") {
          node.style.setProperty(property, `url(${value})`);
        }
        node.style.setProperty(property, value);
      };
      createAttributeMutator = // @ts-expect-error - TS7006 - Parameter 'node' implicitly has an 'any' type. | TS7006 - Parameter 'type' implicitly has an 'any' type.
      (attribute) => (node, type, value) => {
        const sanitizedString = value != null ? String(value) : "";
        node.setAttribute(attribute, sanitizedString);
        if (attribute === "src" && sanitizedString) {
          removeWDynBindEmptyClass(node);
        }
      };
      valueMutator = (node, type, value) => {
        if (node.hasRendered) {
          return;
        }
        let sanitizedString;
        if (node.tagName === "SELECT") {
          sanitizedString = value != null ? String(value) : node.value || "";
        } else {
          sanitizedString = value != null ? String(value) : "";
        }
        node.setAttribute("value", sanitizedString);
        if (node.tagName === "INPUT" && String(node.type).toLowerCase() === "text") {
          node.hasRendered = true;
        }
        node.value = sanitizedString;
      };
      checkedMutator = (node, type, value) => {
        node.checked = Boolean(value);
      };
      aspectRatio = ({ height, width }) => {
        return height && width ? height / width : 0;
      };
      mutators = {
        // @ts-expect-error - TS7006 - Parameter 'node' implicitly has an 'any' type. | TS7006 - Parameter 'type' implicitly has an 'any' type. | TS7006 - Parameter 'value' implicitly has an 'any' type.
        innerHTML: (node, type, value) => {
          const originalValue = value;
          if (type === "Video") {
            value = value != null && value.metadata != null && typeof value.metadata.html === "string" ? value.metadata.html : null;
          }
          const valueString = value != null ? String(value) : "";
          if (allowedFieldTypes.innerHTML[type] === "innerHTML") {
            node.innerHTML = valueString;
          } else if (allowedFieldTypes.innerHTML[type] === "innerText") {
            node.innerHTML = (0, import_escape2.default)(valueString);
          }
          if (type === "Video" && originalValue && originalValue.metadata && node instanceof HTMLElement) {
            node.style.setProperty(
              "padding-top",
              `${aspectRatio(originalValue.metadata) * 100}%`
            );
          }
          if (node.innerHTML) {
            removeWDynBindEmptyClass(node);
          }
        },
        "style.color": createStyleMutator("color"),
        "style.background-color": createStyleMutator("background-color"),
        "style.border-color": createStyleMutator("border-color"),
        "style.background-image": createStyleMutator("background-image"),
        src: createAttributeMutator("src"),
        alt: createAttributeMutator("alt"),
        id: createAttributeMutator("id"),
        for: createAttributeMutator("for"),
        value: valueMutator,
        checked: checkedMutator,
        "data-commerce-sku-id": createAttributeMutator("data-commerce-sku-id")
      };
      hrefMutator = (emailLinkSubject) => (node, type, value) => {
        if (value) {
          const href = String(value);
          switch (type) {
            case "Phone": {
              node.setAttribute("href", formatPhone(href, "href"));
              break;
            }
            case "Email": {
              let subject;
              try {
                subject = encodeURIComponent(emailLinkSubject);
              } catch (e) {
                subject = "";
              }
              const formattedEmail = formatEmail(href, subject, "href");
              node.setAttribute("href", formattedEmail || "#");
              break;
            }
            default: {
              node.setAttribute("href", href);
              break;
            }
          }
        } else {
          node.setAttribute("href", "#");
        }
      };
      getPropertyMutator = (bindingProperty, emailLinkSubject) => {
        if (bindingProperty === "href" || bindingProperty === "dataWHref") {
          return hrefMutator(emailLinkSubject);
        }
        if (typeof mutators[bindingProperty] === "function") {
          return mutators[bindingProperty];
        }
        return null;
      };
      getCommercePropValue = (data, path) => {
        const option = getIn2(data, path);
        if (option) {
          const pathToOptionAsArray = path.split(".");
          const pathToCommercePropValues = pathToOptionAsArray.slice(0, pathToOptionAsArray.indexOf("product")).concat(["sku", "f_sku_values_3dr"]).join(".");
          const skuValues = getIn2(data, pathToCommercePropValues);
          if (Array.isArray(skuValues)) {
            return getProductOptionValueName(option, simplifySkuValues(skuValues));
          }
        }
        return "";
      };
      getTemplateScript = (node) => {
        const templateId = node.getAttribute(WF_TEMPLATE_ID_DATA_KEY);
        const templateScript = templateId && node.parentElement && node.parentElement.querySelector(`#${templateId}`);
        return templateScript;
      };
      createDomFragment = (html) => {
        const div = document.createElement("div");
        div.innerHTML = html;
        return div.children[0];
      };
      getTemplateString = (node, index) => {
        const templateScript = getTemplateScript(node);
        const rawTemplateContent = templateScript && templateScript.textContent;
        const instanceRegEx = /([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}_instance-)\d+/gi;
        const decodedTemplate = rawTemplateContent && decodeURIComponent(rawTemplateContent).replace(instanceRegEx, `$1${index}`);
        if (Boolean(decodedTemplate) && node.hasAttribute(WF_COLLECTION_DATA_KEY)) {
          const collectionPath = node.getAttribute(WF_COLLECTION_DATA_KEY);
          if (collectionPath && typeof collectionPath === "string") {
            const searchTerm = encodeURIComponent(
              `${(0, import_escape2.default)(collectionPath)}[]`
            ).replace(/\./g, "\\.");
            const templateSearchTerm = encodeURIComponent(
              `${(0, import_escape2.default)(collectionPath)}${encodeURIComponent("[]")}`
            ).replace(/\./g, "\\.");
            const collectionPathRegExp = new RegExp(
              `${searchTerm}|${templateSearchTerm}`,
              "g"
            );
            return decodedTemplate && decodedTemplate.replace(
              collectionPathRegExp,
              `${collectionPath}.${index}`
            );
          }
        }
        return decodedTemplate;
      };
      getTemplateCollection = (node, data) => {
        const collectionPath = node.hasAttribute(WF_COLLECTION_DATA_KEY) && node.getAttribute(WF_COLLECTION_DATA_KEY);
        return collectionPath ? getIn2(data, `data.${collectionPath}`) : [];
      };
      checkForAndApplyTemplateCollection = (node, data) => {
        if (node && node.hasAttribute(WF_TEMPLATE_ID_DATA_KEY)) {
          const collection = getTemplateCollection(node, data);
          node.innerHTML = "";
          if (collection != null && collection.length > 0) {
            for (let index = 0; index < collection.length; index++) {
              const templateString = getTemplateString(node, index);
              const template = templateString && createDomFragment(templateString);
              if (template instanceof Element) {
                if (typeof node.append === "function") {
                  node.append(renderTree(template, data));
                } else if (typeof node.appendChild === "function") {
                  node.appendChild(renderTree(template, data));
                } else {
                  throw new Error("Could not append child to node");
                }
              }
            }
          }
        }
      };
      checkForAndApplyBindings = (node, data) => {
        if (node && node.hasAttribute(WF_BINDING_DATA_KEY)) {
          const bindingData = safeParseJson(node.getAttribute(WF_BINDING_DATA_KEY));
          applyBindings(bindingData, data, node);
        }
      };
      checkForAndApplyConditionalVisibility = (node, data) => {
        if (node && node.hasAttribute(WF_CONDITION_DATA_KEY)) {
          const conditionData = safeParseJson(
            node.getAttribute(WF_CONDITION_DATA_KEY)
          );
          applyConditionalVisibility(conditionData, data, node);
        }
      };
      renderTree = (tree, data) => {
        data = flattenOrderData(data);
        return walkDOM(tree, (node) => {
          checkForAndApplyTemplateCollection(node, data);
          checkForAndApplyBindings(node, data);
          checkForAndApplyConditionalVisibility(node, data);
        });
      };
      shippingDataReplacementPaths = {
        cardProvider: ["customerInfo", "stripePayment", "card", "provider"],
        cardLastFour: ["customerInfo", "stripePayment", "card", "last4"],
        cardExpiresMonth: [
          "customerInfo",
          "stripePayment",
          "card",
          "expires",
          "month"
        ],
        cardExpiresYear: ["customerInfo", "stripePayment", "card", "expires", "year"],
        customerEmail: ["customerInfo", "identity", "email"],
        shippingAddressAddressee: ["customerInfo", "shippingAddress", "addressee"],
        shippingAddressLine1: ["customerInfo", "shippingAddress", "line1"],
        shippingAddressLine2: ["customerInfo", "shippingAddress", "line2"],
        shippingAddressCity: ["customerInfo", "shippingAddress", "city"],
        shippingAddressState: ["customerInfo", "shippingAddress", "state"],
        shippingAddressCountry: ["customerInfo", "shippingAddress", "country"],
        shippingAddressPostalCode: ["customerInfo", "shippingAddress", "postalCode"],
        billingAddressAddressee: ["customerInfo", "billingAddress", "addressee"],
        billingAddressLine1: ["customerInfo", "billingAddress", "line1"],
        billingAddressLine2: ["customerInfo", "billingAddress", "line2"],
        billingAddressCity: ["customerInfo", "billingAddress", "city"],
        billingAddressPostalCode: ["customerInfo", "billingAddress", "postalCode"],
        billingAddressState: ["customerInfo", "billingAddress", "state"],
        billingAddressCountry: ["customerInfo", "billingAddress", "country"],
        requiresShipping: ["statusFlags", "requiresShipping"],
        hasDownloads: ["statusFlags", "hasDownloads"]
      };
      flattenCustomData = (customData) => (
        // @ts-expect-error - Flow 0.121.0
        customData.reduce((flattenedData, data) => {
          if (data.textArea) {
            flattenedData.additionalTextArea = data.textArea;
          } else if (data.textInput) {
            flattenedData.additionalTextInput = data.textInput;
          } else if (data.checkbox !== null) {
            flattenedData.additionalCheckbox = data.checkbox;
          }
          return flattenedData;
        }, {})
      );
      flattenOrderData = (data) => {
        const orderExists = data && data.data && data.data.database && data.data.database.commerceOrder !== null;
        if (!orderExists) {
          return data;
        }
        const { commerceOrder } = data.data.database;
        const paymentProcessor = commerceOrder.paymentProcessor;
        const availableShippingMethods = commerceOrder.availableShippingMethods || [];
        const selectedShippingMethod = availableShippingMethods.find(
          // @ts-expect-error - TS7006 - Parameter 'shippingMethod' implicitly has an 'any' type.
          (shippingMethod) => shippingMethod.selected === true
        );
        const flattenedCustomData = commerceOrder.customData ? flattenCustomData(commerceOrder.customData) : {};
        const flattenedOrderData = {
          ...commerceOrder,
          shippingMethodName: selectedShippingMethod && selectedShippingMethod.name,
          shippingMethodDescription: selectedShippingMethod && selectedShippingMethod.description,
          ...flattenedCustomData
        };
        const clonedData = (0, import_cloneDeep.default)(data);
        clonedData.data.database.commerceOrder = Object.keys(
          shippingDataReplacementPaths
        ).reduce((updatedData, flattenPath) => {
          if (flattenPath === "cardProvider" && paymentProcessor === "paypal") {
            updatedData = {
              ...updatedData,
              cardProvider: "PayPal"
            };
            return updatedData;
          }
          const replacementFrom = shippingDataReplacementPaths[flattenPath];
          const replacementData = replacementFrom.reduce(
            (acc, key) => acc && acc[key],
            updatedData
          );
          updatedData[flattenPath] = replacementData;
          return updatedData;
        }, flattenedOrderData);
        return clonedData;
      };
    }
  });

  // packages/shared/render/plugins/Commerce/modules/addToCartStore.ts
  var initialState4, createNewStore;
  var init_addToCartStore = __esm({
    "packages/shared/render/plugins/Commerce/modules/addToCartStore.ts"() {
      "use strict";
      initialState4 = {
        selectedSku: "",
        skuValues: {},
        requiresUserSession: false
      };
      createNewStore = () => {
        const store = {};
        const watchers = {};
        const fetchFromStore2 = (instanceId, key) => {
          return store[instanceId] ? store[instanceId][key] : void 0;
        };
        const updateStore2 = (instanceId, newValues) => {
          if (!store[instanceId]) {
            store[instanceId] = { ...initialState4 };
          }
          for (const key of Object.keys(newValues)) {
            if (!store[instanceId].hasOwnProperty(key)) {
              continue;
            }
            const previousValue = store[instanceId][key];
            store[instanceId][key] = newValues[key];
            if (watchers[instanceId] && watchers[instanceId][key]) {
              for (const watcher of watchers[instanceId][key]) {
                watcher(newValues[key], previousValue);
              }
            }
          }
        };
        const addStoreWatcher2 = (instanceId, key, cb) => {
          if (!watchers[instanceId]) {
            watchers[instanceId] = {};
          }
          if (watchers[instanceId][key]) {
            watchers[instanceId][key].push(cb);
          } else {
            watchers[instanceId][key] = [cb];
          }
        };
        return { fetchFromStore: fetchFromStore2, updateStore: updateStore2, addStoreWatcher: addStoreWatcher2 };
      };
    }
  });

  // packages/shared/render/plugins/Commerce/modules/components/PillGroup/index.ts
  var KEY_CODES, PillGroups, PillGroup, Pill;
  var init_PillGroup = __esm({
    "packages/shared/render/plugins/Commerce/modules/components/PillGroup/index.ts"() {
      "use strict";
      init_constants();
      KEY_CODES = Object.freeze({
        RETURN: 13,
        SPACE: 32,
        LEFT: 37,
        UP: 38,
        RIGHT: 39,
        DOWN: 40
      });
      PillGroups = class {
        form;
        pillGroups;
        onSelect;
        static hasPillGroups(form) {
          return form.querySelectorAll(
            `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_COMMERCE_ADD_TO_CART_PILL_GROUP}"]`
          ).length > 0;
        }
        constructor(form, onSelect) {
          this.form = form;
          this.pillGroups = {};
          this.onSelect = onSelect;
        }
        init() {
          const groupNodes = this.form.querySelectorAll(
            `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_COMMERCE_ADD_TO_CART_PILL_GROUP}"]`
          );
          for (const group of groupNodes) {
            const pillGroup = new PillGroup(group, this.onSelect, this);
            pillGroup.init();
            this.pillGroups[pillGroup.optionSetId] = pillGroup;
          }
        }
        setSelectedPillsForSkuValues(skuValues) {
          for (const optionSetId of Object.keys(skuValues)) {
            const optionId = skuValues[optionSetId];
            const pillGroup = this.pillGroups[optionSetId];
            if (pillGroup) {
              const pill = pillGroup.findPillById(String(optionId));
              pillGroup.updatePillsWithNewSelected(pill);
            }
          }
        }
      };
      PillGroup = class {
        node;
        optionSetId;
        onSelect;
        pills;
        groups;
        constructor(node, onSelect, groups) {
          this.node = node;
          this.optionSetId = String(
            node.getAttribute(DATA_ATTR_COMMERCE_OPTION_SET_ID)
          );
          this.onSelect = onSelect;
          this.pills = [];
          this.groups = groups;
        }
        get firstEnabledPill() {
          return this.pills.find((pill) => pill.disabled === false);
        }
        // hacky fake option set compat
        get value() {
          const possiblePill = this.pills.find((pill) => pill.checked === true);
          return possiblePill ? possiblePill.value : "";
        }
        // hacky fake option set compat
        get options() {
          return this.pills;
        }
        // hacky fake option set compat
        // eslint-disable-next-line accessor-pairs
        set selectedIndex(index) {
          const pill = this.pills[index] || null;
          this.emitSelected(pill);
        }
        // hacky fake option set compat
        // we only want to support the one DOM attribute, which we have on this group, just not
        // directly exposed, as we don't directly expose the DOM element for the group
        getAttribute(attr) {
          if (attr === DATA_ATTR_COMMERCE_OPTION_SET_ID) {
            return this.optionSetId;
          } else {
            throw new Error(
              `PillGroup: Attempted to fetch unsupported attribute ${attr}`
            );
          }
        }
        init() {
          const pills = this.node.querySelectorAll(
            `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_COMMERCE_ADD_TO_CART_PILL}"]`
          );
          this.pills = Array.from(pills).map((pillNode) => {
            const pill = new Pill(pillNode, this);
            pill.init();
            return pill;
          });
          if (this.firstEnabledPill) {
            this.firstEnabledPill.tabIndex = 0;
          }
          this.node._wfPillGroup = this;
        }
        findPillById(optionId) {
          return this.pills.find((pill) => pill.optionId === optionId);
        }
        updatePillsWithNewSelected(selectedPill) {
          for (const pill of this.pills) {
            pill.tabIndex = -1;
            pill.checked = false;
          }
          if (selectedPill instanceof Pill) {
            selectedPill.tabIndex = 0;
            selectedPill.checked = true;
          } else {
            if (this.firstEnabledPill) {
              this.firstEnabledPill.tabIndex = 0;
            }
          }
        }
        emitSelected(selectedPill) {
          this.onSelect({
            optionId: selectedPill.optionId,
            optionSetId: this.optionSetId,
            groups: Object.values(this.groups.pillGroups)
          });
        }
        traverseAndEmitSelected(currentPill, direction) {
          const currentIndex = this.pills.indexOf(currentPill);
          let found = false;
          let idx = currentIndex;
          let nextIndex;
          while (!found) {
            if (direction === "previous") {
              nextIndex = idx - 1;
              if (nextIndex < 0) {
                nextIndex = this.pills.length - 1;
              }
            } else if (direction === "next") {
              nextIndex = idx + 1;
              if (nextIndex === this.pills.length) {
                nextIndex = 0;
              }
            } else {
              throw new Error(
                `Unknown pill traversal direction "${direction}", use "previous" or "next"`
              );
            }
            if (nextIndex === currentIndex) {
              break;
            }
            const pill = this.pills[nextIndex];
            if (!pill.disabled) {
              this.emitSelected(pill);
              pill.focus();
              found = true;
            } else {
              idx = nextIndex;
            }
          }
        }
      };
      Pill = class {
        node;
        optionId;
        group;
        constructor(node, group) {
          this.node = node;
          this.optionId = String(this.node.getAttribute("data-option-id"));
          this.group = group;
        }
        init() {
          this.tabIndex = -1;
          this.checked = false;
          this.node.addEventListener("keydown", this.handleKeyDown);
          this.node.addEventListener("click", this.handleClick);
        }
        get tabIndex() {
          return this.node.tabIndex;
        }
        set tabIndex(index) {
          this.node.tabIndex = index;
        }
        get value() {
          return this.optionId;
        }
        get checked() {
          return this.node.getAttribute("aria-checked") === "true";
        }
        set checked(checked) {
          this.node.setAttribute("aria-checked", String(checked));
          if (checked) {
            this.node.classList.add("w--ecommerce-pill-selected");
          } else {
            this.node.classList.remove("w--ecommerce-pill-selected");
          }
        }
        get disabled() {
          return this.node.getAttribute("aria-disabled") === "true";
        }
        set disabled(disabled) {
          this.node.setAttribute("aria-disabled", String(disabled));
          if (disabled) {
            this.node.classList.add("w--ecommerce-pill-disabled");
            this.checked = false;
            this.tabIndex = -1;
          } else {
            this.node.classList.remove("w--ecommerce-pill-disabled");
          }
        }
        get enabled() {
          return !this.disabled;
        }
        set enabled(enabled) {
          this.disabled = !enabled;
        }
        focus() {
          this.node.focus();
        }
        handleKeyDown = (ev) => {
          let eventHandled = false;
          if (ev.altKey || ev.metaKey) {
            return;
          }
          switch (ev.keyCode) {
            case KEY_CODES.RETURN:
            case KEY_CODES.SPACE:
              this.handleClick();
              eventHandled = true;
              break;
            case KEY_CODES.UP:
            case KEY_CODES.LEFT:
              this.group.traverseAndEmitSelected(this, "previous");
              eventHandled = true;
              break;
            case KEY_CODES.DOWN:
            case KEY_CODES.RIGHT:
              this.group.traverseAndEmitSelected(this, "next");
              eventHandled = true;
              break;
            default:
              break;
          }
          if (eventHandled) {
            ev.stopPropagation();
            ev.preventDefault();
          }
        };
        handleClick = () => {
          if (this.disabled || this.checked) {
            return;
          }
          this.focus();
          this.group.emitSelected(this);
        };
      };
    }
  });

  // node_modules/promise-polyfill/src/finally.js
  function finally_default(callback) {
    var constructor = this.constructor;
    return this.then(
      function(value) {
        return constructor.resolve(callback()).then(function() {
          return value;
        });
      },
      function(reason) {
        return constructor.resolve(callback()).then(function() {
          return constructor.reject(reason);
        });
      }
    );
  }
  var init_finally = __esm({
    "node_modules/promise-polyfill/src/finally.js"() {
    }
  });

  // node_modules/promise-polyfill/src/index.js
  function noop() {
  }
  function bind2(fn, thisArg) {
    return function() {
      fn.apply(thisArg, arguments);
    };
  }
  function Promise2(fn) {
    if (!(this instanceof Promise2))
      throw new TypeError("Promises must be constructed via new");
    if (typeof fn !== "function")
      throw new TypeError("not a function");
    this._state = 0;
    this._handled = false;
    this._value = void 0;
    this._deferreds = [];
    doResolve(fn, this);
  }
  function handle(self2, deferred) {
    while (self2._state === 3) {
      self2 = self2._value;
    }
    if (self2._state === 0) {
      self2._deferreds.push(deferred);
      return;
    }
    self2._handled = true;
    Promise2._immediateFn(function() {
      var cb = self2._state === 1 ? deferred.onFulfilled : deferred.onRejected;
      if (cb === null) {
        (self2._state === 1 ? resolve : reject)(deferred.promise, self2._value);
        return;
      }
      var ret;
      try {
        ret = cb(self2._value);
      } catch (e) {
        reject(deferred.promise, e);
        return;
      }
      resolve(deferred.promise, ret);
    });
  }
  function resolve(self2, newValue) {
    try {
      if (newValue === self2)
        throw new TypeError("A promise cannot be resolved with itself.");
      if (newValue && (typeof newValue === "object" || typeof newValue === "function")) {
        var then = newValue.then;
        if (newValue instanceof Promise2) {
          self2._state = 3;
          self2._value = newValue;
          finale(self2);
          return;
        } else if (typeof then === "function") {
          doResolve(bind2(then, newValue), self2);
          return;
        }
      }
      self2._state = 1;
      self2._value = newValue;
      finale(self2);
    } catch (e) {
      reject(self2, e);
    }
  }
  function reject(self2, newValue) {
    self2._state = 2;
    self2._value = newValue;
    finale(self2);
  }
  function finale(self2) {
    if (self2._state === 2 && self2._deferreds.length === 0) {
      Promise2._immediateFn(function() {
        if (!self2._handled) {
          Promise2._unhandledRejectionFn(self2._value);
        }
      });
    }
    for (var i = 0, len = self2._deferreds.length; i < len; i++) {
      handle(self2, self2._deferreds[i]);
    }
    self2._deferreds = null;
  }
  function Handler(onFulfilled, onRejected, promise) {
    this.onFulfilled = typeof onFulfilled === "function" ? onFulfilled : null;
    this.onRejected = typeof onRejected === "function" ? onRejected : null;
    this.promise = promise;
  }
  function doResolve(fn, self2) {
    var done = false;
    try {
      fn(
        function(value) {
          if (done)
            return;
          done = true;
          resolve(self2, value);
        },
        function(reason) {
          if (done)
            return;
          done = true;
          reject(self2, reason);
        }
      );
    } catch (ex) {
      if (done)
        return;
      done = true;
      reject(self2, ex);
    }
  }
  var setTimeoutFunc, src_default;
  var init_src = __esm({
    "node_modules/promise-polyfill/src/index.js"() {
      init_finally();
      setTimeoutFunc = setTimeout;
      Promise2.prototype["catch"] = function(onRejected) {
        return this.then(null, onRejected);
      };
      Promise2.prototype.then = function(onFulfilled, onRejected) {
        var prom = new this.constructor(noop);
        handle(this, new Handler(onFulfilled, onRejected, prom));
        return prom;
      };
      Promise2.prototype["finally"] = finally_default;
      Promise2.all = function(arr) {
        return new Promise2(function(resolve2, reject2) {
          if (!arr || typeof arr.length === "undefined")
            throw new TypeError("Promise.all accepts an array");
          var args = Array.prototype.slice.call(arr);
          if (args.length === 0)
            return resolve2([]);
          var remaining = args.length;
          function res(i2, val) {
            try {
              if (val && (typeof val === "object" || typeof val === "function")) {
                var then = val.then;
                if (typeof then === "function") {
                  then.call(
                    val,
                    function(val2) {
                      res(i2, val2);
                    },
                    reject2
                  );
                  return;
                }
              }
              args[i2] = val;
              if (--remaining === 0) {
                resolve2(args);
              }
            } catch (ex) {
              reject2(ex);
            }
          }
          for (var i = 0; i < args.length; i++) {
            res(i, args[i]);
          }
        });
      };
      Promise2.resolve = function(value) {
        if (value && typeof value === "object" && value.constructor === Promise2) {
          return value;
        }
        return new Promise2(function(resolve2) {
          resolve2(value);
        });
      };
      Promise2.reject = function(value) {
        return new Promise2(function(resolve2, reject2) {
          reject2(value);
        });
      };
      Promise2.race = function(values2) {
        return new Promise2(function(resolve2, reject2) {
          for (var i = 0, len = values2.length; i < len; i++) {
            values2[i].then(resolve2, reject2);
          }
        });
      };
      Promise2._immediateFn = typeof setImmediate === "function" && function(fn) {
        setImmediate(fn);
      } || function(fn) {
        setTimeoutFunc(fn, 0);
      };
      Promise2._unhandledRejectionFn = function _unhandledRejectionFn(err) {
        if (typeof console !== "undefined" && console) {
          console.warn("Possible Unhandled Promise Rejection:", err);
        }
      };
      src_default = Promise2;
    }
  });

  // node_modules/promise-polyfill/src/polyfill.js
  var polyfill_exports = {};
  var globalNS;
  var init_polyfill2 = __esm({
    "node_modules/promise-polyfill/src/polyfill.js"() {
      init_src();
      init_finally();
      globalNS = function() {
        if (typeof self !== "undefined") {
          return self;
        }
        if (typeof window !== "undefined") {
          return window;
        }
        if (typeof global !== "undefined") {
          return global;
        }
        throw new Error("unable to locate global object");
      }();
      if (!globalNS.Promise) {
        globalNS.Promise = src_default;
      } else if (!globalNS.Promise.prototype["finally"]) {
        globalNS.Promise.prototype["finally"] = finally_default;
      }
    }
  });

  // node_modules/unfetch/dist/unfetch.js
  var require_unfetch = __commonJS({
    "node_modules/unfetch/dist/unfetch.js"(exports, module2) {
      var e = "function" == typeof fetch ? fetch.bind() : function(e2, t) {
        return t = t || {}, new Promise(function(n, r) {
          function s() {
            var e3, t2 = [], n2 = [], r2 = {};
            return o.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm, function(s2, o2, u2) {
              t2.push(o2 = o2.toLowerCase()), n2.push([o2, u2]), e3 = r2[o2], r2[o2] = e3 ? e3 + "," + u2 : u2;
            }), { ok: 2 == (o.status / 100 | 0), status: o.status, statusText: o.statusText, url: o.responseURL, clone: s, text: function() {
              return Promise.resolve(o.responseText);
            }, json: function() {
              return Promise.resolve(o.responseText).then(JSON.parse);
            }, blob: function() {
              return Promise.resolve(new Blob([o.response]));
            }, headers: { keys: function() {
              return t2;
            }, entries: function() {
              return n2;
            }, get: function(e4) {
              return r2[e4.toLowerCase()];
            }, has: function(e4) {
              return e4.toLowerCase() in r2;
            } } };
          }
          var o = new XMLHttpRequest();
          o.open(t.method || "get", e2, true);
          for (var u in t.headers)
            o.setRequestHeader(u, t.headers[u]);
          o.withCredentials = "include" == t.credentials, o.onload = function() {
            n(s());
          }, o.onerror = r, o.send(t.body);
        });
      };
      module2.exports = e;
    }
  });

  // node_modules/unfetch/polyfill.js
  var require_polyfill = __commonJS({
    "node_modules/unfetch/polyfill.js"() {
      if (!window.fetch)
        window.fetch = require_unfetch().default || require_unfetch();
    }
  });

  // packages/systems/users/siteBundles/utils.ts
  var utils_exports = {};
  __export(utils_exports, {
    addHiddenClass: () => addHiddenClass,
    disableSubmit: () => disableSubmit,
    getDomParser: () => getDomParser,
    getErrorAttrName: () => getErrorAttrName,
    getRedirectPath: () => getRedirectPath,
    getSignupErrorCode: () => getSignupErrorCode,
    handleErrorNode: () => handleErrorNode,
    handleRedirect: () => handleRedirect,
    hideElement: () => hideElement2,
    redirectWithUsrdir: () => redirectWithUsrdir,
    removeHiddenClass: () => removeHiddenClass,
    resetSubmit: () => resetSubmit,
    showAndFocusElement: () => showAndFocusElement,
    showElement: () => showElement2,
    userFormError: () => userFormError,
    userSystemsRequestClient: () => userSystemsRequestClient
  });
  function addHiddenClass(el) {
    if (el) {
      el.classList.add("w-hidden");
    }
  }
  function removeHiddenClass(el) {
    if (el) {
      el.classList.remove("w-hidden");
    }
  }
  function showElement2(el) {
    if (el) {
      el.style.display = "block";
    }
  }
  function showAndFocusElement(el) {
    if (el) {
      el.style.display = "block";
      el.focus();
    }
  }
  function hideElement2(el) {
    if (el) {
      el.style.display = "none";
    }
  }
  function getDomParser() {
    const domParser = new window.DOMParser();
    return {
      /**
       * Returns an html node for an encoded string
       * @param {string} str - Encoded string to parse
       */
      getHtmlFromString(str) {
        const decodedString = decodeURIComponent(str);
        const parsedHtml = domParser.parseFromString(decodedString, "text/html");
        if (!parsedHtml || !parsedHtml.body || !parsedHtml.body.firstChild)
          return null;
        return parsedHtml.body.firstChild;
      }
    };
  }
  function disableSubmit(submit) {
    if (!submit)
      return "";
    submit.setAttribute("disabled", "true");
    const value = submit.getAttribute("value");
    const waitText = submit.getAttribute("data-wait");
    if (waitText)
      submit.setAttribute("value", waitText);
    return value ?? "";
  }
  function resetSubmit(submit, text) {
    if (!submit)
      return;
    submit.removeAttribute("disabled");
    submit.setAttribute("value", text);
  }
  function getRedirectPath() {
    const queryString = window.location.search;
    const redirectParam = queryString.match(/[?|&]usredir=([^@&?=]+)/g);
    if (!redirectParam)
      return void 0;
    const encodedPath = redirectParam[0].substring("?usredir=".length);
    return decodeURIComponent(encodedPath);
  }
  function redirectWithUsrdir(location) {
    const redirectParam = getRedirectPath();
    let encodedPath;
    if (redirectParam) {
      encodedPath = redirectParam[0].substring("?usredir=".length);
    } else {
      encodedPath = encodeURIComponent(window.location.pathname);
    }
    window.location = location + `?usredir=${encodedPath}`;
  }
  function normalizedRedirectPath(path) {
    const hasLeadingSymbol = /\/|\.|\@/g.test(path[0]);
    return hasLeadingSymbol ? path.substring(1) : path;
  }
  function handleRedirect(defaultRedirectPath, includeDelay = false) {
    const redirectPath = getRedirectPath();
    const redirectUrl = (() => {
      if (redirectPath) {
        return `${window.location.origin}/${normalizedRedirectPath(
          redirectPath
        )}`;
      }
      if (defaultRedirectPath) {
        return `${window.location.origin}/${normalizedRedirectPath(
          defaultRedirectPath
        )}`;
      }
      return;
    })();
    if (!redirectUrl)
      return;
    return includeDelay ? (
      // @ts-expect-error - TS2339 - Property 'Webflow' does not exist on type 'Window & typeof globalThis'.
      setTimeout(() => window.Webflow.location(redirectUrl), 3e3)
    ) : (
      // @ts-expect-error - TS2339 - Property 'Webflow' does not exist on type 'Window & typeof globalThis'.
      window.Webflow.location(redirectUrl)
    );
  }
  var GQL_QUERY_PATH, userSystemsRequestClient, getErrorAttrName, handleErrorNode, wrapperSelectors, setErrorMsg, handleValidationErrors, defaultErrorCopy, userFormError, getSignupErrorCode;
  var init_utils4 = __esm({
    "packages/systems/users/siteBundles/utils.ts"() {
      "use strict";
      init_apolloClient();
      init_constants2();
      GQL_QUERY_PATH = "/.wf_graphql/usys/apollo";
      userSystemsRequestClient = createApolloClient({
        path: GQL_QUERY_PATH,
        useCsrf: true,
        retryConfig: {
          maxAttempts: 5
        }
      });
      getErrorAttrName = (errorAttr, errorCode) => {
        const formattedErrorCode = errorCode.replace("_", "-").toLowerCase();
        return `${errorAttr}-${formattedErrorCode}-error`;
      };
      handleErrorNode = (errorMsgNode4, errorStateNode, errorCode, errorAttrPrefix, defaultErrorCopy5) => {
        const errorAttr = getErrorAttrName(errorAttrPrefix, errorCode);
        const errorCopy = errorMsgNode4 && errorMsgNode4.getAttribute(errorAttr);
        errorMsgNode4.setAttribute("aria-live", "assertive");
        errorMsgNode4.textContent = errorCopy ? errorCopy : defaultErrorCopy5;
        showElement2(errorStateNode);
      };
      wrapperSelectors = [".w-file-upload-error"];
      setErrorMsg = (wrapper, fieldElements, name) => {
        for (let i = 0; i < fieldElements.length; ++i) {
          const errorText = fieldElements[i].getAttribute(name);
          if (errorText) {
            fieldElements[i].innerHTML = errorText;
            removeHiddenClass(wrapper);
            return true;
          }
        }
      };
      handleValidationErrors = (form, failedValidations) => {
        const wrappers = [];
        wrapperSelectors.forEach((wrapperSelector) => {
          const _wrappers = form.querySelectorAll(wrapperSelector);
          for (let i = 0; i < _wrappers.length; ++i) {
            wrappers.push(_wrappers[i]);
          }
        });
        wrappers.forEach((wrapper) => {
          for (let i = 0; i < failedValidations.length; ++i) {
            const failedValidation = failedValidations[i];
            const name = failedValidation.name;
            const fieldId = failedValidation.fieldId;
            const fieldElements = wrapper.querySelectorAll(
              "[" + USYS_DATA_ATTRS.field + '="' + fieldId + '"]'
            );
            if (fieldElements && setErrorMsg(wrapper, fieldElements, name)) {
              break;
            }
          }
        });
      };
      defaultErrorCopy = // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
      signUpErrorStates[SIGNUP_UI_ERROR_CODES.GENERAL_ERROR].copy;
      userFormError = (form, errorState4, formType) => (error) => {
        if (errorState4 === null || form === null)
          return;
        const errorMsgNode4 = errorState4.querySelector(`.${ERROR_MSG_CLASS}`);
        const failedValidations = error.graphQLErrors?.[0]?.failedValidations;
        if (failedValidations) {
          handleValidationErrors(form, failedValidations);
        }
        const elementErrorCode = error?.graphQLErrors?.[0]?.code ?? "";
        const errorCode = getSignupErrorCode(elementErrorCode);
        handleErrorNode(
          errorMsgNode4,
          errorState4,
          errorCode,
          ERROR_ATTRIBUTE_PREFIX[formType],
          defaultErrorCopy
        );
      };
      getSignupErrorCode = (error) => {
        let errorCode;
        switch (error) {
          case "UsysInvalidUserData":
            errorCode = SIGNUP_UI_ERROR_CODES.VALIDATION_FAILED;
            break;
          case "UsysUnauthorizedEmail":
            errorCode = SIGNUP_UI_ERROR_CODES.NOT_ALLOWED;
            break;
          case "UsysMustUseInvitation":
            errorCode = SIGNUP_UI_ERROR_CODES.USE_INVITE_EMAIL;
            break;
          case "UsysDuplicateEmail":
            errorCode = SIGNUP_UI_ERROR_CODES.EMAIL_ALREADY_EXIST;
            break;
          case "UsysInvalidEmail":
            errorCode = SIGNUP_UI_ERROR_CODES.INVALID_EMAIL;
            break;
          case "UsysInvalidPassword":
            errorCode = SIGNUP_UI_ERROR_CODES.INVALID_PASSWORD;
            break;
          case "UsysInvalidToken":
            errorCode = SIGNUP_UI_ERROR_CODES.NOT_VERIFIED;
            break;
          case "UsysExpiredToken":
            errorCode = SIGNUP_UI_ERROR_CODES.EXPIRED_TOKEN;
            break;
          default:
            errorCode = SIGNUP_UI_ERROR_CODES.GENERAL_ERROR;
        }
        return errorCode;
      };
    }
  });

  // packages/systems/users/siteBundles/mutations.ts
  var mutations_exports = {};
  __export(mutations_exports, {
    buildUpdateUsysUserDataMutation: () => buildUpdateUsysUserDataMutation,
    cancelSubscriptionMutation: () => cancelSubscriptionMutation,
    getUploadURLMutation: () => getUploadURLMutation,
    loginMutation: () => loginMutation,
    logoutMutation: () => logoutMutation,
    resetPasswordMutation: () => resetPasswordMutation,
    signupMutation: () => signupMutation,
    updatePasswordMutation: () => updatePasswordMutation,
    verifyEmailMutation: () => verifyEmailMutation
  });
  function buildUpdateUsysUserDataMutation(dataFields) {
    return lib_default2`
    mutation UpdateUsysUserData(
      $data: usys_update_user_data!
    ) {
      usysUpdateUserData(
        data: $data
    ) {
      data {
      ${dataFields.map((field) => {
      const base = `${field.key}: ${field.type}(id: "${field.id}")`;
      if (field.type === "option") {
        return base + "{\n slug \n}";
      }
      if (field.type === "fileRef") {
        return base + "{\n id \n}";
      }
      return base;
    }).join("\n")}
        }
      }
    }
  `;
  }
  var loginMutation, signupMutation, logoutMutation, resetPasswordMutation, updatePasswordMutation, verifyEmailMutation, cancelSubscriptionMutation, getUploadURLMutation;
  var init_mutations = __esm({
    "packages/systems/users/siteBundles/mutations.ts"() {
      "use strict";
      init_lib7();
      loginMutation = lib_default2`
  mutation UserLoginRequest($email: String!, $authPassword: String!) {
    usysCreateSession(email: $email, authPassword: $authPassword) {
      user {
        id
        email
        createdOn
        emailVerified
      }
    }
  }
`;
      signupMutation = lib_default2`
  mutation UserSignupRequest(
    $email: String!
    $name: String!
    $acceptPrivacy: Boolean
    $acceptCommunications: Boolean
    $authPassword: String!
    $inviteToken: String
    $captchaToken: String
    $redirectPath: String
    $data: usys_update_user_data
  ) {
    usysCreateUser(
      email: $email
      name: $name
      acceptPrivacy: $acceptPrivacy
      acceptCommunications: $acceptCommunications
      authPassword: $authPassword
      inviteToken: $inviteToken
      captchaToken: $captchaToken
      redirectPath: $redirectPath
      data: $data
    ) {
      user {
        id
        email
        name
        createdOn
        emailVerified
      }
    }
  }
`;
      logoutMutation = lib_default2`
  mutation UserLogoutRequest {
    usysDestroySession {
      ok
    }
  }
`;
      resetPasswordMutation = lib_default2`
  mutation UserResetPasswordRequest($email: String!) {
    usysResetPassword(email: $email) {
      ok
    }
  }
`;
      updatePasswordMutation = lib_default2`
  mutation UserUpdatePasswordRequest($authPassword: String!, $token: String!) {
    usysUpdatePassword(authPassword: $authPassword, token: $token) {
      ok
    }
  }
`;
      verifyEmailMutation = lib_default2`
  mutation UserVerifyEmail($verifyToken: String!, $redirectPath: String) {
    usysVerifyEmail(verifyToken: $verifyToken, redirectPath: $redirectPath) {
      ok
    }
  }
`;
      cancelSubscriptionMutation = lib_default2`
  mutation CancelSiteUserSubscription($subscriptionId: String!) {
    ecommerceCancelSubscriptionForSiteUser(subscriptionId: $subscriptionId) {
      ok
    }
  }
`;
      getUploadURLMutation = lib_default2`
  mutation getUploadURL($fieldId: String!, $filename: String!) {
    usysGetUploadURL(fieldId: $fieldId, filename: $filename) {
      presignedPOST {
        url
        fields {
          key
          value
        }
      }
      key
    }
  }
`;
    }
  });

  // packages/systems/users/siteBundles/login.ts
  var login_exports = {};
  __export(login_exports, {
    asyncLogInUser: () => asyncLogInUser,
    handleLogInForms: () => handleLogInForms,
    handleLoginRedirects: () => handleLoginRedirects
  });
  function getLoginLinks() {
    return Array.prototype.slice.call(document.links).filter((link) => link.getAttribute("href") === "/log-in");
  }
  function handleLoginRedirects() {
    getLoginLinks().forEach((link) => {
      const queryString = window.location.search;
      const redirectParam = queryString.match(/\?usredir=([^&]+)/g);
      if (redirectParam) {
        link.href = link.href.concat(redirectParam[0]);
      }
    });
  }
  function getLoginForms() {
    const loginForms = document.querySelectorAll(loginFormQuerySelector);
    return Array.prototype.slice.call(loginForms).filter((loginForm) => loginForm instanceof HTMLFormElement);
  }
  function handleLogInForms() {
    getLoginForms().forEach((loginForm) => {
      loginForm.addEventListener("submit", (event) => {
        event.preventDefault();
        const form = event.currentTarget;
        if (!(form instanceof HTMLFormElement)) {
          return;
        }
        const submit = form.querySelector('input[type="submit"]');
        const submitText = disableSubmit(submit);
        hideElement2(errorState);
        const emailInput = form.querySelector(
          `input[${USYS_DATA_ATTRS.inputType}="${USYS_INPUT_TYPES.email}"]`
        );
        const passwordInput = form.querySelector(
          `input[${USYS_DATA_ATTRS.inputType}="${USYS_INPUT_TYPES.password}"]`
        );
        if (!(emailInput instanceof HTMLInputElement) || !(passwordInput instanceof HTMLInputElement)) {
          return;
        }
        const onSuccessRedirectUrl = form.getAttribute(
          USYS_DATA_ATTRS.redirectUrl
        );
        asyncLogInUser(emailInput.value, passwordInput.value).then(() => {
          handleRedirect(onSuccessRedirectUrl);
        }).catch((error) => {
          resetSubmit(submit, submitText);
          if (errorState) {
            const elementErrorCode = error?.graphQLErrors?.[0]?.code ?? "";
            const errorCode = getLogInErrorCode(elementErrorCode);
            handleErrorNode(
              errorMsgNode,
              // @ts-expect-error - TS2345 - Argument of type 'Element' is not assignable to parameter of type 'HTMLElement'.
              errorState,
              errorCode,
              ERROR_ATTRIBUTE_PREFIX.LOGIN,
              defaultErrorCopy2
            );
          }
        });
      });
    });
  }
  function asyncLogInUser(email, password) {
    return userSystemsRequestClient.mutate({
      mutation: loginMutation,
      variables: {
        email,
        authPassword: password
      }
    });
  }
  var loginFormQuerySelector, errorState, defaultErrorCopy2, errorMsgNode, getLogInErrorCode;
  var init_login = __esm({
    "packages/systems/users/siteBundles/login.ts"() {
      "use strict";
      init_utils4();
      init_constants2();
      init_mutations();
      loginFormQuerySelector = `form[${USYS_DATA_ATTRS.formType}="${USYS_FORM_TYPES.login}"]`;
      errorState = document.querySelector(`[${USYS_DATA_ATTRS.formError}]`);
      defaultErrorCopy2 = // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
      logInErrorStates[LOGIN_UI_ERROR_CODES.GENERAL_ERROR].copy;
      errorMsgNode = document.querySelector(`.${ERROR_MSG_CLASS}`);
      getLogInErrorCode = (error) => {
        let errorCode;
        switch (error) {
          case "UsysInvalidCredentials":
            errorCode = LOGIN_UI_ERROR_CODES.INVALID_EMAIL_OR_PASSWORD;
            break;
          default:
            errorCode = LOGIN_UI_ERROR_CODES.GENERAL_ERROR;
        }
        return errorCode;
      };
    }
  });

  // packages/systems/users/utils/universalUtils/index.ts
  var universalUtils_exports = {};
  __export(universalUtils_exports, {
    appendUserInputClasses: () => appendUserInputClasses,
    getTempUserFileKey: () => getTempUserFileKey,
    getUserFileKey: () => getUserFileKey,
    parseWfUsysVariant: () => parseWfUsysVariant,
    removeTempUserFileKey: () => removeTempUserFileKey,
    setTempUserFileKey: () => setTempUserFileKey,
    setUserFileKey: () => setUserFileKey,
    uploadFileToS3: () => uploadFileToS3
  });
  function uploadFileToS3(url, fields, file) {
    return new Promise(
      (resolve2, reject2) => {
        const formData = new FormData();
        Object.entries(fields).forEach(([key, value]) => {
          formData.append(key, value);
        });
        formData.append("file", file);
        fetch(url, {
          method: "POST",
          body: formData
        }).then((response) => {
          if (response.ok) {
            resolve2();
          } else {
            return response.text();
          }
        }).then((text) => {
          reject2(text);
        });
      }
    );
  }
  var appendUserInputClasses, parseWfUsysVariant, getUserFileKey, setUserFileKey, getTempUserFileKey, setTempUserFileKey, removeTempUserFileKey;
  var init_universalUtils = __esm({
    "packages/systems/users/utils/universalUtils/index.ts"() {
      "use strict";
      init_constants2();
      appendUserInputClasses = (node, classes) => {
        const updatedClasses = classes.push("w-input");
        if (node.getIn(["data", "attr", "disabled"])) {
          return updatedClasses.push("w-input-disabled");
        }
        return updatedClasses;
      };
      parseWfUsysVariant = (wfUsysVariant) => {
        if (!wfUsysVariant)
          return [];
        let results = [];
        for (const wfUsysVariantKey of wfUsysVariant.split(",")) {
          if (
            // @ts-expect-error - TS2345 - Argument of type 'string' is not assignable to parameter of type '"LOGGED_IN" | "ADMIN_ALWAYS_VISIBLE"'.
            USER_ACCESS_META_OPTIONS.includes(wfUsysVariantKey) && // @ts-expect-error - TS2345 - Argument of type 'string' is not assignable to parameter of type '"LOGGED_IN" | "ADMIN_ALWAYS_VISIBLE"'.
            !results.includes(wfUsysVariantKey)
          ) {
            results.push(wfUsysVariantKey);
          } else {
            console.error(
              `UnexpectedWfUsysVariant: Renderer received unexpected wf-usys-variant`
            );
            results = [];
            break;
          }
        }
        return results;
      };
      getUserFileKey = (element) => {
        return element.getAttribute(USYS_DATA_ATTRS.fileUploadKey);
      };
      setUserFileKey = (element, value) => {
        element.setAttribute(USYS_DATA_ATTRS.fileUploadKey, value);
      };
      getTempUserFileKey = (element) => {
        return element.getAttribute(USYS_DATA_ATTRS.unsavedFileUploadKey);
      };
      setTempUserFileKey = (element, value) => {
        element.setAttribute(USYS_DATA_ATTRS.unsavedFileUploadKey, value);
      };
      removeTempUserFileKey = (element) => {
        element.removeAttribute(USYS_DATA_ATTRS.unsavedFileUploadKey);
      };
    }
  });

  // packages/systems/users/siteBundles/fields.js
  var require_fields = __commonJS({
    "packages/systems/users/siteBundles/fields.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      function _export(target, all) {
        for (var name in all)
          Object.defineProperty(target, name, {
            enumerable: true,
            get: all[name]
          });
      }
      _export(exports, {
        commonFields: function() {
          return commonFields;
        },
        getCommonFields: function() {
          return getCommonFields3;
        },
        getCustomFields: function() {
          return getCustomFields3;
        },
        getFieldValueById: function() {
          return getFieldValueById2;
        },
        getFieldsAsTypeKeys: function() {
          return getFieldsAsTypeKeys3;
        },
        getFieldsForFetch: function() {
          return getFieldsForFetch2;
        }
      });
      var _constants = (init_constants2(), __toCommonJS(constants_exports));
      var _universalUtils = (init_universalUtils(), __toCommonJS(universalUtils_exports));
      var getTextInput = (element) => element instanceof HTMLInputElement ? element.value : "";
      var typeGetter = {
        PlainText: getTextInput,
        Email: getTextInput,
        Bool: (element) => element instanceof HTMLInputElement ? element.checked : false,
        Number: getTextInput,
        Option: (element) => element instanceof HTMLSelectElement ? element.value : "",
        Link: getTextInput,
        FileRef: (element) => {
          const fileKey = (0, _universalUtils.getUserFileKey)(element);
          const tempFileKey = (0, _universalUtils.getTempUserFileKey)(element);
          if (tempFileKey) {
            return {
              key: tempFileKey
            };
          }
          if (fileKey === "DELETE") {
            return null;
          }
          if (fileKey) {
            return {
              _id: fileKey
            };
          }
        }
      };
      var customFieldTypes = [
        "PlainText",
        "Bool",
        "Email",
        "Number",
        "Option",
        "Link",
        "FileRef"
      ];
      var commonFields = [
        {
          type: "Email",
          slug: "email",
          selector: (container) => container.querySelector(`input[${_constants.USYS_DATA_ATTRS.inputType}="${_constants.USYS_INPUT_TYPES.email}"]`)
        },
        {
          type: "PlainText",
          slug: "name",
          selector: (container) => container.querySelector(`input[${_constants.USYS_DATA_ATTRS.field}="${_constants.RESERVED_USER_FIELDS.name}"]`) || container.querySelector(`input[${_constants.USYS_DATA_ATTRS.inputType}="${_constants.USYS_INPUT_TYPES.name}"]`)
        },
        {
          type: "PlainText",
          slug: "password",
          selector: (container) => container.querySelector(`input[${_constants.USYS_DATA_ATTRS.inputType}="${_constants.USYS_INPUT_TYPES.password}"]`)
        },
        {
          type: "Bool",
          slug: "accept-privacy",
          selector: (container) => container.querySelector(`input[${_constants.USYS_DATA_ATTRS.field}="${_constants.RESERVED_USER_FIELDS.acceptPrivacy}"]`) || container.querySelector(`input[${_constants.USYS_DATA_ATTRS.inputType}="${_constants.USYS_INPUT_TYPES.acceptPrivacy}"]`)
        },
        {
          type: "Bool",
          slug: "accept-communications",
          selector: (container) => container.querySelector(`input[${_constants.USYS_DATA_ATTRS.field}="${_constants.RESERVED_USER_FIELDS.acceptCommunications}"]`)
        }
      ];
      var toCamelCase = (str) => {
        const pascalCase = str.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join("");
        return pascalCase.charAt(0).toLowerCase() + pascalCase.slice(1);
      };
      var getCommonFields3 = (form, requestedFields) => {
        const payload = [];
        commonFields.forEach((field) => {
          if (requestedFields && !requestedFields.includes(field.slug))
            return;
          const ele = field.selector(form);
          if (!ele || !typeGetter[field.type])
            return;
          payload.push({
            key: toCamelCase(field.slug),
            type: toCamelCase(field.type),
            id: field.slug,
            value: typeGetter[field.type](ele, field.id)
          });
        });
        return payload;
      };
      var getCustomFields3 = (form, includeValue = true) => {
        const payload = [];
        customFieldTypes.forEach((fieldType) => {
          const camelFieldType = toCamelCase(fieldType);
          const inputEles = form.querySelectorAll(`input[${_constants.USYS_DATA_ATTRS.fieldType}="${fieldType}"], select[${_constants.USYS_DATA_ATTRS.fieldType}="${fieldType}"]`);
          if (inputEles.length === 0 || !typeGetter[fieldType])
            return;
          inputEles.forEach((ele) => {
            const id = ele.getAttribute(_constants.USYS_DATA_ATTRS.field);
            if (!id)
              return;
            const elementData = {
              key: `f_${id}`,
              type: camelFieldType,
              id
            };
            if (includeValue) {
              const value = typeGetter[fieldType](ele, id);
              if (value === "") {
                elementData.value = null;
              } else {
                elementData.value = value;
              }
            }
            payload.push(elementData);
          });
        });
        return payload;
      };
      var getFieldsForFetch2 = (forms) => {
        const custom = [];
        const nested = [];
        const alreadyFound = (customField) => {
          return custom.find((item) => item.id === customField.id);
        };
        forms.forEach((form) => {
          nested.push([
            ...getCommonFields3(form),
            ...getCustomFields3(form, false)
          ]);
        });
        nested.forEach((getCustomFieldRes) => {
          getCustomFieldRes.forEach((customField) => {
            if (!alreadyFound(customField)) {
              custom.push(customField);
            }
          });
        });
        return custom;
      };
      function getFieldValueById2(id, fieldsArray) {
        const match = fieldsArray.find((field) => field.id === id);
        if (!match)
          return null;
        return match.value;
      }
      function getFieldsAsTypeKeys3(fieldsArray) {
        const memo = {};
        fieldsArray.forEach((field) => {
          const { key, type, value } = field;
          if (!memo[type])
            memo[type] = [];
          memo[type].push({
            id: key.replace("f_", ""),
            value
          });
        });
        return memo;
      }
    }
  });

  // packages/systems/users/siteBundles/turnstileCaptcha.ts
  function setSplashScreenStyles(element) {
    element.style.display = "flex";
    element.style.position = "fixed";
    element.style.top = "0";
    element.style.left = "0";
    element.style.width = "100%";
    element.style.height = "100%";
    element.style.background = "rgba(255, 255, 255, 0.8)";
    element.style.justifyContent = "center";
    element.style.alignItems = "center";
    element.style.textAlign = "center";
    element.style.zIndex = "1000";
    element.style.opacity = "0";
    element.style.transition = "opacity 1s ease-in-out";
  }
  var addSplashScreen, renderTurnstileCaptcha;
  var init_turnstileCaptcha = __esm({
    "packages/systems/users/siteBundles/turnstileCaptcha.ts"() {
      "use strict";
      addSplashScreen = () => {
        const splashScreen = document.createElement("div");
        setSplashScreenStyles(splashScreen);
        const captchaContainer = document.createElement("div");
        splashScreen.appendChild(captchaContainer);
        document.body.appendChild(splashScreen);
        setTimeout(() => {
          splashScreen.style.opacity = "1";
        }, 10);
        return splashScreen;
      };
      renderTurnstileCaptcha = (captchaSiteKey, captchaMode, cb) => {
        let splashScreen;
        if (captchaMode !== "invisible") {
          splashScreen = addSplashScreen();
        }
        const captchaContainer = document.createElement("div");
        if (splashScreen) {
          splashScreen.appendChild(captchaContainer);
        } else {
          document.body.appendChild(captchaContainer);
        }
        turnstile.render(captchaContainer, {
          sitekey: captchaSiteKey,
          callback: function(token) {
            setTimeout(function() {
              if (splashScreen) {
                splashScreen.remove();
              }
            }, 1e3);
            return cb(token);
          }
        });
      };
    }
  });

  // packages/systems/users/siteBundles/signup.ts
  var signup_exports = {};
  __export(signup_exports, {
    asyncSignUpUser: () => asyncSignUpUser,
    handleSignUpForms: () => handleSignUpForms
  });
  function getSignupForms() {
    const signupForms = document.querySelectorAll(signupFormQuerySelector);
    return Array.prototype.slice.call(signupForms).filter((signupForm) => signupForm instanceof HTMLFormElement);
  }
  function handleUserInvite(email) {
    const form = document.querySelector(signupFormQuerySelector);
    if (!(form instanceof HTMLFormElement)) {
      return;
    }
    const emailInput = form.querySelector(
      `input[${USYS_DATA_ATTRS.inputType}="${USYS_INPUT_TYPES.email}"]`
    );
    if (!(emailInput instanceof HTMLInputElement)) {
      return;
    }
    emailInput.disabled = true;
    emailInput.classList.add("w-input-disabled");
    emailInput.value = email;
  }
  function handleEmailVerifcation(token, errorState4) {
    const form = document.querySelector(signupFormQuerySelector);
    hideElement2(form);
    asyncVerifyEmailToken(token).then(() => {
      const successMessage = document.querySelector(
        `.${USYS_DOM_CLASS_NAMES.formSuccess}`
      );
      const redirectAnchor = document.querySelector(
        `[${USYS_DATA_ATTRS.redirectUrl}] a`
      );
      const redirectPath = getRedirectPath();
      if (redirectPath && redirectAnchor) {
        redirectAnchor.setAttribute("href", encodeURIComponent(redirectPath));
      }
      showElement2(successMessage);
      handleRedirect(redirectAnchor?.getAttribute("href") ?? "/", true);
    }).catch((error) => {
      showElement2(verificationMessage);
      userFormError(form, errorState4, "SIGNUP")(error);
    });
  }
  function handleSignUpForms() {
    const params = new URLSearchParams(window.location.search);
    const inviteToken = params.get("inviteToken") || "";
    const verifyToken = params.get("verifyToken") || "";
    const errorState4 = document.querySelector(`[${USYS_DATA_ATTRS.formError}]`);
    let turnstileScript = null;
    getSignupForms().forEach((signupForm) => {
      const submitButton = signupForm.querySelector('input[type="submit"]');
      const sendSubmitData = (captchaToken) => {
        const submitText = disableSubmit(submitButton);
        const commonFields = (0, import_fields.getCommonFields)(signupForm);
        const customFields = (0, import_fields.getCustomFields)(signupForm);
        hideElement2(errorState4);
        asyncSignUpUser(
          (0, import_fields.getFieldValueById)("email", commonFields) || "",
          (0, import_fields.getFieldValueById)("name", commonFields) || "",
          (0, import_fields.getFieldValueById)("password", commonFields) || "",
          (0, import_fields.getFieldValueById)("accept-privacy", commonFields) || false,
          (0, import_fields.getFieldValueById)("accept-communications", commonFields) || false,
          customFields,
          inviteToken,
          captchaToken
        ).then(() => {
          if (inviteToken) {
            window.location = "/log-in";
          } else {
            hideElement2(signupForm);
            showAndFocusElement(verificationMessage);
          }
        }).catch(userFormError(signupForm, errorState4, "SIGNUP")).finally(() => {
          resetSubmit(submitButton, submitText);
        });
      };
      const captchaSiteKey = signupForm.getAttribute("wf-captcha-site-key");
      const captchaMode = signupForm.getAttribute("wf-captcha-mode");
      if (captchaSiteKey && captchaMode && !turnstileScript) {
        submitButton.setAttribute("disabled", "true");
        turnstileScript = document.createElement("script");
        turnstileScript.src = "https://challenges.cloudflare.com/turnstile/v0/api.js";
        document.head.appendChild(turnstileScript);
        turnstileScript.onload = () => {
          signupForm.addEventListener("submit", (e) => {
            e.preventDefault();
            renderTurnstileCaptcha(captchaSiteKey, captchaMode, sendSubmitData);
          });
          submitButton.removeAttribute("disabled");
        };
      } else {
        signupForm.addEventListener("submit", (e) => {
          e.preventDefault();
          sendSubmitData(null);
        });
      }
      if (inviteToken) {
        const email = params.get("email") || "";
        handleUserInvite(email);
      }
      if (verifyToken) {
        handleEmailVerifcation(verifyToken, errorState4);
      }
    });
  }
  function asyncSignUpUser(email, name = "", password, acceptPrivacy, acceptCommunications, customFields, inviteToken, captchaToken) {
    const variables = {
      email,
      name,
      acceptPrivacy,
      acceptCommunications,
      authPassword: password,
      data: (0, import_fields.getFieldsAsTypeKeys)(customFields),
      inviteToken: inviteToken || void 0,
      captchaToken: captchaToken || void 0,
      redirectPath: getRedirectPath()
    };
    return userSystemsRequestClient.mutate({
      mutation: signupMutation,
      variables
    });
  }
  function asyncVerifyEmailToken(verifyToken) {
    return userSystemsRequestClient.mutate({
      mutation: verifyEmailMutation,
      variables: {
        verifyToken,
        redirectPath: getRedirectPath()
      }
    });
  }
  var import_fields, signupFormQuerySelector, verificationMessage;
  var init_signup = __esm({
    "packages/systems/users/siteBundles/signup.ts"() {
      "use strict";
      init_utils4();
      init_constants2();
      init_mutations();
      import_fields = __toESM(require_fields());
      init_turnstileCaptcha();
      signupFormQuerySelector = `form[${USYS_DATA_ATTRS.formType}="${USYS_FORM_TYPES.signup}"]`;
      verificationMessage = document.querySelector(
        `.${USYS_DOM_CLASS_NAMES.formVerfication}`
      );
    }
  });

  // packages/systems/users/siteBundles/logout.ts
  var logout_exports = {};
  __export(logout_exports, {
    asyncLogOutUser: () => asyncLogOutUser,
    handleLogInLogOutButton: () => handleLogInLogOutButton
  });
  function getLogoutButtons() {
    const logoutButtons = document.querySelectorAll(logoutButtonQuerySelector);
    return Array.prototype.slice.call(logoutButtons).filter((logoutButton) => logoutButton instanceof HTMLButtonElement);
  }
  function handleGoToLoginClick() {
    if (window.Webflow.env("preview")) {
      return;
    }
    window.location = "/log-in";
  }
  function handleLogOutButtonClick(event) {
    event.preventDefault();
    asyncLogOutUser().then(() => {
      window.Webflow.location("/");
    });
  }
  function handleLogInLogOutButton() {
    getLogoutButtons().forEach((logoutButton) => {
      if (document.cookie.split(";").some((cookie) => cookie.indexOf(LOGGEDIN_COOKIE_NAME) > -1)) {
        logoutButton.innerHTML = logoutButton.getAttribute(USYS_DATA_ATTRS.logout) || "Log out";
        logoutButton.removeEventListener("click", handleGoToLoginClick);
        logoutButton.addEventListener("click", handleLogOutButtonClick);
      } else if (!window.Webflow.env("design")) {
        logoutButton.innerHTML = logoutButton.getAttribute(USYS_DATA_ATTRS.login) || "Log in";
        logoutButton.removeEventListener("click", handleLogOutButtonClick);
        logoutButton.addEventListener("click", handleGoToLoginClick);
      }
    });
  }
  function asyncLogOutUser() {
    return userSystemsRequestClient.mutate({
      mutation: logoutMutation
    });
  }
  var logoutButtonQuerySelector;
  var init_logout = __esm({
    "packages/systems/users/siteBundles/logout.ts"() {
      "use strict";
      init_utils4();
      init_constants2();
      init_mutations();
      logoutButtonQuerySelector = `[${USYS_DATA_ATTRS.logout}]`;
    }
  });

  // packages/systems/users/siteBundles/resetPassword.ts
  var resetPassword_exports = {};
  __export(resetPassword_exports, {
    asyncRequestResetPassword: () => asyncRequestResetPassword,
    handleResetPasswordForms: () => handleResetPasswordForms
  });
  function getResetPasswordForms() {
    const resetPasswordForms = document.querySelectorAll(
      resetPasswordFormQuerySelector
    );
    return Array.prototype.slice.call(resetPasswordForms).filter(
      (resetPasswordForm) => resetPasswordForm instanceof HTMLFormElement
    );
  }
  function handleResetPasswordForms() {
    getResetPasswordForms().forEach((resetPasswordForm) => {
      resetPasswordForm.addEventListener("submit", (event) => {
        event.preventDefault();
        const form = event.currentTarget;
        const successMessage = document.querySelector(
          `.${USYS_DOM_CLASS_NAMES.formSuccess}`
        );
        if (!(form instanceof HTMLFormElement)) {
          return;
        }
        hideElement2(errorState2);
        const emailInput = form.querySelector(
          `input[${USYS_DATA_ATTRS.inputType}="${USYS_INPUT_TYPES.email}"]`
        );
        if (!(emailInput instanceof HTMLInputElement)) {
          return;
        }
        asyncRequestResetPassword(emailInput.value).then(() => {
          hideElement2(form);
          showAndFocusElement(successMessage);
        }).catch((error) => {
          if (errorState2) {
            const elementErrorCode = error?.graphQLErrors?.[0]?.code ?? "";
            const errorCode = getResetPasswordErrorCode(elementErrorCode);
            handleErrorNode(
              errorMsgNode2,
              // @ts-expect-error - TS2345 - Argument of type 'Element' is not assignable to parameter of type 'HTMLElement'.
              errorState2,
              errorCode,
              ERROR_ATTRIBUTE_PREFIX.RESET_PASSWORD,
              defaultErrorCopy3
            );
          }
        });
      });
    });
  }
  function asyncRequestResetPassword(email) {
    return userSystemsRequestClient.mutate({
      mutation: resetPasswordMutation,
      variables: {
        email
      }
    });
  }
  var resetPasswordFormQuerySelector, errorState2, defaultErrorCopy3, errorMsgNode2, getResetPasswordErrorCode;
  var init_resetPassword = __esm({
    "packages/systems/users/siteBundles/resetPassword.ts"() {
      "use strict";
      init_utils4();
      init_constants2();
      init_mutations();
      resetPasswordFormQuerySelector = `form[${USYS_DATA_ATTRS.formType}="${USYS_FORM_TYPES.resetPassword}"]`;
      errorState2 = document.querySelector(`[${USYS_DATA_ATTRS.formError}]`);
      defaultErrorCopy3 = // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
      resetPasswordErrorStates[RESET_PASSWORD_UI_ERROR_CODES.GENERAL_ERROR].copy;
      errorMsgNode2 = document.querySelector(`.${ERROR_MSG_CLASS}`);
      getResetPasswordErrorCode = (error) => {
        let errorCode;
        switch (error) {
          default:
            errorCode = RESET_PASSWORD_UI_ERROR_CODES.GENERAL_ERROR;
        }
        return errorCode;
      };
    }
  });

  // packages/systems/users/siteBundles/updatePassword.ts
  var updatePassword_exports = {};
  __export(updatePassword_exports, {
    asyncRequestUpdatePassword: () => asyncRequestUpdatePassword,
    handleUpdatePasswordForms: () => handleUpdatePasswordForms
  });
  function getUpdatePasswordForms() {
    const updatePasswordForms = document.querySelectorAll(
      updatePasswordFormQuerySelector
    );
    return Array.prototype.slice.call(updatePasswordForms).filter(
      (updatePasswordForm) => updatePasswordForm instanceof HTMLFormElement
    );
  }
  function handleUpdatePasswordForms() {
    getUpdatePasswordForms().forEach((updatePasswordForm) => {
      updatePasswordForm.addEventListener("submit", (event) => {
        event.preventDefault();
        const form = event.currentTarget;
        const successMessage = document.querySelector(
          `.${USYS_DOM_CLASS_NAMES.formSuccess}`
        );
        if (!(form instanceof HTMLFormElement)) {
          return;
        }
        const errorElement = document.querySelector(
          `[${USYS_DATA_ATTRS.formError}]`
        );
        hideElement2(errorElement);
        const passwordInput = form.querySelector(
          `input[${USYS_DATA_ATTRS.inputType}="${USYS_INPUT_TYPES.password}"]`
        );
        if (!(passwordInput instanceof HTMLInputElement)) {
          return;
        }
        const params = new URLSearchParams(window.location.search);
        const token = params.get("token") || "";
        asyncRequestUpdatePassword(passwordInput.value, token).then(() => {
          hideElement2(form);
          showAndFocusElement(successMessage);
        }).catch((error) => {
          if (errorState3) {
            const elementErrorCode = error?.graphQLErrors?.[0]?.code ?? "";
            const errorCode = getUpdatePasswordErrorCode(elementErrorCode);
            handleErrorNode(
              errorMsgNode3,
              // @ts-expect-error - TS2345 - Argument of type 'Element' is not assignable to parameter of type 'HTMLElement'.
              errorState3,
              errorCode,
              ERROR_ATTRIBUTE_PREFIX.UPDATE_PASSWORD,
              defaultErrorCopy4
            );
          }
        });
      });
    });
  }
  function asyncRequestUpdatePassword(authPassword, token) {
    return userSystemsRequestClient.mutate({
      mutation: updatePasswordMutation,
      variables: {
        authPassword,
        token
      }
    });
  }
  var updatePasswordFormQuerySelector, errorState3, defaultErrorCopy4, errorMsgNode3, getUpdatePasswordErrorCode;
  var init_updatePassword = __esm({
    "packages/systems/users/siteBundles/updatePassword.ts"() {
      "use strict";
      init_utils4();
      init_constants2();
      init_mutations();
      updatePasswordFormQuerySelector = `form[${USYS_DATA_ATTRS.formType}="${USYS_FORM_TYPES.updatePassword}"]`;
      errorState3 = document.querySelector(`[${USYS_DATA_ATTRS.formError}]`);
      defaultErrorCopy4 = // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
      updatePasswordErrorStates[UPDATE_PASSWORD_UI_ERROR_CODES.GENERAL_ERROR].copy;
      errorMsgNode3 = document.querySelector(`.${ERROR_MSG_CLASS}`);
      getUpdatePasswordErrorCode = (error) => {
        let errorCode;
        switch (error) {
          case "UsysInvalidPassword":
            errorCode = UPDATE_PASSWORD_UI_ERROR_CODES.WEAK_PASSWORD;
            break;
          default:
            errorCode = UPDATE_PASSWORD_UI_ERROR_CODES.GENERAL_ERROR;
        }
        return errorCode;
      };
    }
  });

  // packages/systems/users/siteBundles/queries.ts
  var queries_exports = {};
  __export(queries_exports, {
    buildGetLoggedInUserQuery: () => buildGetLoggedInUserQuery,
    getFieldValidations: () => getFieldValidations,
    getUserSubscriptions: () => getUserSubscriptions
  });
  function buildGetLoggedInUserQuery(dataFields = []) {
    return lib_default2`
    query FetchUser {
        site {
          id
          siteUser {
            id
            createdOn
            ${dataFields.length > 0 ? `
            data {
              ${dataFields.map((field) => {
      const base = `${field.key}: ${field.type}(id: "${field.id}")`;
      if (field.type === "option") {
        return base + "{\n slug \n}";
      }
      if (field.type === "fileRef") {
        return base + "{\n url \n \n id \n}";
      }
      return base;
    }).join("\n")}
            }` : ""}
        }
      }
    }
  `;
  }
  var getUserSubscriptions, getFieldValidations;
  var init_queries = __esm({
    "packages/systems/users/siteBundles/queries.ts"() {
      "use strict";
      init_lib7();
      getUserSubscriptions = lib_default2`
  query FetchSubscriptions {
    database {
      id
      userSubscriptions {
        _id
        productName
        variantPrice {
          string
          unit
          value
        }
        variantImage {
          url
          alt
        }
        status
        lastInvoiced
        periodEnd
        subCreatedOn
        canceledOn
        billingAddressAddressee
        billingAddressLine1
        billingAddressLine2
        billingAddressCity
        billingAddressState
        billingAddressPostalCode
        billingAddressCountry
        cardLast4
        cardExpiresMonth
        cardExpiresYear
      }
    }
  }
`;
      getFieldValidations = lib_default2`
  query GetFieldValidations {
    site {
      id
      usysFieldSchema {
        id
        required
        validations {
          minLength
          maxLength
          min
          max
          step
          extensions
          options {
            slug
            name
          }
        }
      }
    }
  }
`;
    }
  });

  // packages/systems/users/siteBundles/rendering.ts
  function applyBindingsAndConditionalVisibility(node, data) {
    if (node.hasAttribute(WF_BINDING_DATA_KEY)) {
      const bindingsStr = node.getAttribute(WF_BINDING_DATA_KEY) || "";
      const bindings = JSON.parse(decodeURIComponent(bindingsStr));
      if (bindings) {
        bindDataToNode(node, data, bindings);
      }
    }
    if (node.hasAttribute(WF_CONDITION_DATA_KEY)) {
      const conditionsStr = node.getAttribute(WF_CONDITION_DATA_KEY) || "";
      const conditionData = JSON.parse(decodeURIComponent(conditionsStr));
      if (conditionData) {
        applyConditionToNode(node, data, conditionData);
      }
    }
  }
  function getFirstAncestor(element, pred) {
    if (element.parentNode === null) {
      return null;
    }
    if (pred(element)) {
      return element;
    }
    return getFirstAncestor(element.parentNode, pred);
  }
  function hasFormFileUploadWrapperClass(element) {
    return element.classList.contains("w-file-upload");
  }
  function setFileUploadValue(node, fileId) {
    if (!fileId)
      return;
    setUserFileKey(node, fileId);
    const formFileUploadWrapper = getFirstAncestor(
      node,
      // @ts-expect-error - TS2345 - Argument of type '(element: any) => any' is not assignable to parameter of type '(element: never) => never'.
      hasFormFileUploadWrapperClass
    );
    if (formFileUploadWrapper === null)
      return;
    const formFileDefault = formFileUploadWrapper.querySelector(
      ".w-file-upload-default"
    );
    const formFileSuccess = formFileUploadWrapper.querySelector(
      ".w-file-upload-success"
    );
    const formFileError = formFileUploadWrapper.querySelector(
      ".w-file-upload-error"
    );
    const formFileUploading = formFileUploadWrapper.querySelector(
      ".w-file-upload-uploading"
    );
    addHiddenClass(formFileDefault);
    addHiddenClass(formFileError);
    addHiddenClass(formFileUploading);
    removeHiddenClass(formFileSuccess);
  }
  function applyUserAccountData(node, userData) {
    if (node.hasAttribute(USYS_DATA_ATTRS.field)) {
      const field = node.getAttribute(USYS_DATA_ATTRS.field) || "";
      const fieldType = node.getAttribute(USYS_DATA_ATTRS.fieldType) || "";
      if (fieldType === "Option") {
        node.value = (0, import_get5.default)(userData, [`f_${field}`, "slug"], "");
        return;
      }
      if (fieldType === "FileRef") {
        setFileUploadValue(node, (0, import_get5.default)(userData, [`f_${field}`, "id"], ""));
        return;
      }
      const dataPath = field && field.includes(RESERVED_USER_PREFIX) ? KEY_FROM_RESERVED_USER_FIELD[field] : `f_${field}`;
      const value = (0, import_get5.default)(userData, [dataPath], "");
      if (node.type === "checkbox" && node.checked !== Boolean(value) && node.click) {
        node.click();
        return;
      }
      node.value = value;
    }
    if (node.hasAttribute(USYS_DATA_ATTRS.inputType)) {
      const dataPath = node.getAttribute(USYS_DATA_ATTRS.inputType) || "";
      const value = (0, import_get5.default)(userData, [dataPath], "");
      if (value) {
        node.value = value;
      }
    }
  }
  var import_escape3, import_get5, getPropertyMutator2, mutators2, bindDataToNode;
  var init_rendering2 = __esm({
    "packages/systems/users/siteBundles/rendering.ts"() {
      "use strict";
      import_escape3 = __toESM(require_escape());
      import_get5 = __toESM(require_get());
      init_Transformers2();
      init_RenderingUtils2();
      init_constants3();
      init_constants();
      init_constants2();
      init_universalUtils();
      init_utils4();
      getPropertyMutator2 = (bindingProperty) => {
        if (typeof mutators2[bindingProperty] === "function") {
          return mutators2[bindingProperty];
        }
        return null;
      };
      mutators2 = {
        innerHTML: (node, type, value) => {
          const valueString = value != null ? String(value) : "";
          if (SHARED_ALLOWED_FIELD_TYPES.innerHTML[type] === "innerHTML") {
            node.innerHTML = valueString;
          } else if (SHARED_ALLOWED_FIELD_TYPES.innerHTML[type] === "innerText") {
            node.innerHTML = (0, import_escape3.default)(valueString);
          }
          if (node.innerHTML) {
            node.classList.remove("w-dyn-bind-empty");
          }
        },
        src: (node, type, value) => {
          if (value && value.url) {
            node.setAttribute("src", value.url);
          }
          node.classList.remove("w-dyn-bind-empty");
        }
      };
      bindDataToNode = (node, data, bindings) => {
        bindings.forEach((binding) => {
          Object.keys(binding).forEach((bindingProperty) => {
            const bindingValue = binding[bindingProperty];
            const { dataPath, filter, timezone, type } = bindingValue;
            const rawValue = (0, import_get5.default)(data, dataPath);
            const transformedValue = transformers(rawValue, filter, {
              timezone,
              collectionSlugMap: {},
              // @ts-expect-error - TS2339 - Property '__WEBFLOW_CURRENCY_SETTINGS' does not exist on type 'Window & typeof globalThis'.
              currencySettings: window.__WEBFLOW_CURRENCY_SETTINGS
            });
            const propertyMutator = getPropertyMutator2(bindingProperty);
            if (propertyMutator) {
              propertyMutator(node, type, transformedValue);
            }
          });
        });
      };
    }
  });

  // packages/systems/users/siteBundles/account.ts
  var account_exports = {};
  __export(account_exports, {
    handleUserAccount: () => handleUserAccount,
    handleUserSubscriptionLists: () => handleUserSubscriptionLists
  });
  function asyncGetUserSubscriptions() {
    return userSystemsRequestClient.query({
      query: getUserSubscriptions
    });
  }
  function asyncGetUser(dataFields) {
    return userSystemsRequestClient.query({
      query: buildGetLoggedInUserQuery(dataFields)
    });
  }
  function asyncSubmitUserData(dataFields) {
    const data = (0, import_fields2.getFieldsAsTypeKeys)(dataFields);
    return userSystemsRequestClient.mutate({
      mutation: buildUpdateUsysUserDataMutation(dataFields),
      variables: { data }
    });
  }
  function getUserSubscriptionLists() {
    const subscriptionLists = document.querySelectorAll(subscriptionListSelector);
    return Array.from(subscriptionLists);
  }
  function getUserAccountForms() {
    const accountForms = document.querySelectorAll(userAccountFormQuerySelector);
    return Array.prototype.slice.call(accountForms).filter((accountForm) => accountForm instanceof HTMLFormElement);
  }
  function handleUserSubscriptionLists(domParser) {
    if (window.Webflow.env("design") || window.Webflow.env("preview")) {
      return;
    }
    const subscriptionLists = getUserSubscriptionLists();
    if (subscriptionLists.length > 0) {
      asyncGetUserSubscriptions().then((response) => {
        const userSubscriptions = response?.data?.database?.userSubscriptions;
        const noUserSubscriptions = userSubscriptions.length === 0;
        if (noUserSubscriptions)
          return renderEmptySubscriptionList(subscriptionLists);
        renderUserSubscriptionLists(
          subscriptionLists,
          domParser,
          userSubscriptions
        );
      }).catch((error) => {
        const graphQLErrors = error?.graphQLErrors || [];
        const errorsHandled = graphQLErrors.reduce(
          // @ts-expect-error - TS7006 - Parameter 'hasUnhandledError' implicitly has an 'any' type. | TS7006 - Parameter 'graphQLError' implicitly has an 'any' type.
          (hasUnhandledError, graphQLError) => {
            if (graphQLError?.code === "NoCommerceCustomerFound") {
              renderEmptySubscriptionList(subscriptionLists);
              return hasUnhandledError;
            }
            return false;
          },
          graphQLErrors.length > 0
        );
        if (!errorsHandled)
          throw error;
      });
    }
  }
  function renderEmptySubscriptionList(subscriptionListElements) {
    subscriptionListElements.forEach((subscriptionListElement) => {
      const EmptyStateElement = subscriptionListElement.querySelector(EmptyStateSelector);
      showElement2(EmptyStateElement);
    });
  }
  function renderUserSubscriptionLists(subscriptionListElements, domParser, userSubscriptions = []) {
    subscriptionListElements.forEach((subscriptionListElement) => {
      const EmptyStateElement = subscriptionListElement.querySelector(EmptyStateSelector);
      hideElement2(EmptyStateElement);
      const templateScript = subscriptionListElement.querySelector(templateSelector);
      if (!templateScript) {
        return;
      }
      const templateId = templateScript.getAttribute("id");
      if (!templateId) {
        return;
      }
      const listWrapperElement = document.querySelector(
        `[${WF_TEMPLATE_ID_DATA_KEY}='${templateId}']`
      );
      if (!(listWrapperElement instanceof Element)) {
        return;
      }
      const templateElement = domParser.getHtmlFromString(
        templateScript.innerHTML
      );
      if (!(templateElement instanceof Element)) {
        return;
      }
      userSubscriptions.forEach((subscription) => {
        const templateClone = templateElement.cloneNode(true);
        listWrapperElement.appendChild(templateClone);
        walkDOM(templateClone, (node) => {
          applyBindingsAndConditionalVisibility(node, subscription);
          if (node.hasAttribute(USYS_DATA_ATTRS.subscriptionCancel)) {
            addCancelButtonEventListener(node, subscription._id);
          }
        });
      });
    });
  }
  function addCancelButtonEventListener(node, subscriptionId) {
    node.addEventListener("click", function() {
      userSystemsRequestClient.mutate({
        mutation: cancelSubscriptionMutation,
        variables: {
          subscriptionId
        }
      }).then(() => {
        window.location.reload();
      });
    });
  }
  function handleUserAccount() {
    const userAccount = document.querySelector(
      `[${USYS_DATA_ATTRS.userAccount}]`
    );
    if (!userAccount || // @ts-expect-error - TS2339 - Property 'Webflow' does not exist on type 'Window & typeof globalThis'.
    window.Webflow.env("design") || // @ts-expect-error - TS2339 - Property 'Webflow' does not exist on type 'Window & typeof globalThis'.
    window.Webflow.env("preview")) {
      return;
    }
    const successMessage = userAccount.querySelector(
      "." + USYS_DOM_CLASS_NAMES.formSuccess
    );
    const errorMessage = userAccount.querySelector(
      "." + USYS_DOM_CLASS_NAMES.formError
    );
    const userAccountForms = getUserAccountForms();
    if (userAccountForms.length > 0) {
      const fields = (0, import_fields2.getFieldsForFetch)(userAccountForms);
      asyncGetUser(fields).then((response) => {
        const siteUser = response?.data?.site?.siteUser;
        if (!siteUser)
          return;
        const userData = siteUser.data;
        userAccountForms.forEach((accountForm) => {
          walkDOM(userAccount, (node) => {
            applyUserAccountData(node, userData);
          });
          if (!(accountForm instanceof HTMLFormElement))
            return;
          const submit = accountForm.querySelector(
            'input[type="submit"]'
          );
          accountForm.addEventListener("submit", (event) => {
            event.preventDefault();
            const form = event.currentTarget;
            if (!(form instanceof HTMLFormElement)) {
              return;
            }
            hideElement2(successMessage);
            hideElement2(errorMessage);
            const submitText = disableSubmit(submit);
            const commonFields = (0, import_fields2.getCommonFields)(form, [
              "name",
              "accept-communications"
            ]);
            const customFields = (0, import_fields2.getCustomFields)(form);
            asyncSubmitUserData([...commonFields, ...customFields]).then((res) => {
              const newUserData = res && res.data && res.data.usysUpdateUserData && res.data.usysUpdateUserData.data;
              if (newUserData) {
                addResetEventListener(accountForm, userAccount, newUserData);
              }
              successMessage && showAndFocusElement(successMessage);
            }).catch(userFormError(form, errorMessage, "ACCOUNT_UPDATE")).finally(() => {
              resetSubmit(submit, submitText);
            });
          });
          accountForm.querySelectorAll("input").forEach(
            (input) => input.addEventListener("input", () => {
              hideElement2(successMessage);
              hideElement2(errorMessage);
            })
          );
          addResetEventListener(accountForm, userAccount, userData);
        });
      });
    }
  }
  var import_fields2, subscriptionListSelector, EmptyStateSelector, templateSelector, userAccountFormQuerySelector, addResetEventListener;
  var init_account = __esm({
    "packages/systems/users/siteBundles/account.ts"() {
      "use strict";
      init_constants2();
      init_constants();
      init_RenderingUtils2();
      init_utils4();
      init_queries();
      init_mutations();
      init_rendering2();
      import_fields2 = __toESM(require_fields());
      subscriptionListSelector = `[${USYS_DATA_ATTRS.userSubscriptions}]`;
      EmptyStateSelector = `[${USYS_DATA_ATTRS.userSubscriptionsEmptyState}]`;
      templateSelector = `script[type='${WF_TEMPLATE_TYPE}']`;
      userAccountFormQuerySelector = `form[${USYS_DATA_ATTRS.formType}="${USYS_FORM_TYPES.account}"]`;
      addResetEventListener = (accountForm, userAccount, userData) => {
        accountForm.addEventListener("reset", (event) => {
          event.preventDefault();
          const form = event.currentTarget;
          if (!(form instanceof HTMLFormElement))
            return;
          if (userData) {
            walkDOM(userAccount, (node) => {
              applyUserAccountData(node, userData);
            });
          }
        });
      };
    }
  });

  // packages/systems/users/siteBundles/usysForm.js
  var require_usysForm = __commonJS({
    "packages/systems/users/siteBundles/usysForm.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      Object.defineProperty(exports, "handleFields", {
        enumerable: true,
        get: function() {
          return handleFields;
        }
      });
      var _utils = (init_utils4(), __toCommonJS(utils_exports));
      var _queries = (init_queries(), __toCommonJS(queries_exports));
      var _constants = (init_constants2(), __toCommonJS(constants_exports));
      var _universalUtils = (init_universalUtils(), __toCommonJS(universalUtils_exports));
      var _mutations = (init_mutations(), __toCommonJS(mutations_exports));
      function asyncGetFieldValidations() {
        return _utils.userSystemsRequestClient.query({
          query: _queries.getFieldValidations
        });
      }
      function signFile(file, { fieldId }) {
        return _utils.userSystemsRequestClient.mutate({
          mutation: _mutations.getUploadURLMutation,
          variables: {
            fieldId,
            filename: file.name
          }
        });
      }
      function setRequired(input, userField) {
        if (userField.required == null)
          return;
        input.required = userField.required;
      }
      var inputAttributeMap = {
        minLength: "minlength",
        maxLength: "maxlength",
        min: "min",
        max: "max",
        step: "step",
        extensions: "accept"
      };
      var formatValueMap = {
        extensions: function accept(value) {
          return value.join(",");
        }
      };
      function convertToStr(value) {
        return String(value);
      }
      function setValidations(input, userField) {
        if (userField.validations == null)
          return;
        Object.keys(userField.validations).map((attr) => {
          const val = userField.validations[attr];
          if (attr === "options" && Array.isArray(val) && input instanceof HTMLSelectElement) {
            val.forEach((option) => {
              if (option.slug && option.name) {
                const opt = document.createElement("option");
                opt.value = option.slug;
                opt.innerHTML = option.name;
                input.appendChild(opt);
              }
            });
          }
          if (val !== null && inputAttributeMap[attr]) {
            let formatValue2;
            if (formatValueMap[attr]) {
              formatValue2 = formatValueMap[attr];
            } else {
              formatValue2 = convertToStr;
            }
            input.setAttribute(inputAttributeMap[attr], formatValue2(val));
          }
          if (attr === "maxLength" && val === null) {
            input.removeAttribute("maxlength");
          }
        });
      }
      function setUserFieldValidationAttr(input, userField) {
        const fieldType = input.getAttribute(_constants.USYS_DATA_ATTRS.fieldType);
        if (!_constants.NO_REQUIRED_ATTRIBUTE.includes(fieldType)) {
          setRequired(input, userField);
        }
        setValidations(input, userField);
      }
      function matchInputToData(input, userFieldData) {
        const fieldId = input.getAttribute(_constants.USYS_DATA_ATTRS.field);
        if (!fieldId) {
          return null;
        }
        for (let i = 0; i < userFieldData.length; i++) {
          if (userFieldData[i].id === fieldId) {
            return userFieldData[i];
          }
        }
        return null;
      }
      function setFieldValidation(customFieldInputs) {
        asyncGetFieldValidations().then((response) => {
          const userFieldData = response.data.site.usysFieldSchema;
          if (!userFieldData)
            return;
          for (let i = 0; i < customFieldInputs.length; i++) {
            const input = customFieldInputs[i];
            if (!input || !(input instanceof HTMLInputElement || input instanceof HTMLSelectElement) || input.getAttribute(_constants.USYS_DATA_ATTRS.fieldType) === "Bool") {
              continue;
            }
            const userField = matchInputToData(input, userFieldData);
            if (!userField)
              continue;
            setUserFieldValidationAttr(input, userField);
          }
        }).catch((err) => {
          console.error(err);
        });
      }
      function getMatchingSiblings(e, pred) {
        const siblings = [];
        if (e.target.parentNode === null) {
          return siblings;
        }
        [].slice.call(e.target.parentNode.children).forEach((element) => {
          if (pred(element)) {
            siblings.push(element);
          }
        });
        return siblings;
      }
      function isFormFileUploadWrapper(element) {
        return element.classList.contains("w-file-upload");
      }
      function getFirstAncestor2(element, pred) {
        if (element.parentNode === null) {
          return null;
        }
        if (pred(element)) {
          return element;
        }
        return getFirstAncestor2(element.parentNode, pred);
      }
      function handleFileRemoveLink(cancelRemoveLinkElement, inputElement, props) {
        const { deleteFile, cancelFile } = props;
        cancelRemoveLinkElement.addEventListener("click", function(e) {
          if (e.type === "keydown") {
            if (e.which !== 13 && e.which !== 32) {
              return;
            }
            e.preventDefault();
          }
          if ((0, _universalUtils.getUserFileKey)(inputElement)) {
            deleteFile();
            return;
          }
          cancelFile();
        });
      }
      function handleFileUploadInput(element, props) {
        const { showUploading, successUpload, errorUpload, changeFileNameText, disableSubmitButton, filesState } = props;
        const fieldId = element.getAttribute(_constants.USYS_DATA_ATTRS.field);
        element.addEventListener("change", function(e) {
          if (filesState.isUploading)
            return;
          const file = e.target && e.target.files && e.target.files[0];
          if (!file) {
            return;
          }
          showUploading();
          changeFileNameText(file.name);
          filesState.isUploading = true;
          if (!filesState.isUploading) {
            disableSubmitButton();
          }
          let key = "";
          signFile(file, {
            fieldId
          }).then((res) => {
            if (!res.data || !res.data.usysGetUploadURL || !res.data.usysGetUploadURL.presignedPOST) {
              throw Error(res);
            }
            const presignedPOST = res.data.usysGetUploadURL.presignedPOST;
            key = res.data.usysGetUploadURL.key;
            const AWSFields = {};
            presignedPOST.fields.forEach((field) => {
              const _key = field.key;
              const value = field.value;
              AWSFields[_key] = value;
            });
            return (0, _universalUtils.uploadFileToS3)(presignedPOST.url, AWSFields, file);
          }).then(() => {
            successUpload(key);
          }).catch((err) => {
            let code = _constants.SERVER_DATA_VALIDATION_ERRORS.DefaultError;
            if (typeof err === "string") {
              const content = new window.DOMParser().parseFromString(err, "text/xml");
              const codeElements = content.getElementsByTagName("Code");
              if (codeElements) {
                code = codeElements[0].innerHTML;
              }
            }
            if (typeof err === "object" && err.hasOwnProperty("graphQLErrors")) {
              if (err.graphQLErrors[0].code === "UsysForbiddenFileExtension") {
                code = _constants.SERVER_DATA_VALIDATION_ERRORS.ExtensionsError;
              }
            }
            errorUpload(code);
          }).finally(() => {
            filesState.isUploading = false;
          });
        });
      }
      var WF_SUBMIT_BUTTON_VALUE = "wf-submit-button-value";
      var adaptAWSErrors = (code) => {
        if (code === "EntityTooLarge")
          return _constants.SERVER_DATA_VALIDATION_ERRORS.MinSizeError;
        if (code === "EntityTooSmall")
          return _constants.SERVER_DATA_VALIDATION_ERRORS.MaxSizeError;
        return code;
      };
      function handleFileUploadInputs(customFieldInputs, props) {
        const { disableSubmitButton, enableSubmitButton } = props;
        const filesState = {
          isUploading: false
        };
        customFieldInputs.forEach((el) => {
          if (el.getAttribute("type") === "file") {
            let showUploading = function() {
              (0, _utils.addHiddenClass)(formFileDefault);
              (0, _utils.addHiddenClass)(formFileError);
              (0, _utils.addHiddenClass)(formFileSuccess);
              (0, _utils.removeHiddenClass)(formFileUploading);
              formFileUploading.focus();
              disableSubmitButton();
            }, successUpload = function(fileUrl) {
              (0, _utils.addHiddenClass)(formFileDefault);
              (0, _utils.addHiddenClass)(formFileError);
              (0, _utils.addHiddenClass)(formFileUploading);
              (0, _utils.removeHiddenClass)(formFileSuccess);
              formFileSuccess.focus();
              enableSubmitButton();
              (0, _universalUtils.setTempUserFileKey)(el, fileUrl);
            }, errorUpload = function(code = _constants.SERVER_DATA_VALIDATION_ERRORS.DefaultError) {
              const errorText = formFileErrorMsg.getAttribute(adaptAWSErrors(code).toLowerCase());
              (0, _utils.addHiddenClass)(formFileSuccess);
              (0, _utils.addHiddenClass)(formFileUploading);
              (0, _utils.removeHiddenClass)(formFileDefault);
              (0, _utils.removeHiddenClass)(formFileError);
              if (errorText) {
                formFileErrorMsg.innerHTML = errorText;
              }
              formFileError.focus();
              enableSubmitButton();
            }, showDefault = function() {
              (0, _utils.addHiddenClass)(formFileSuccess);
              (0, _utils.addHiddenClass)(formFileUploading);
              (0, _utils.addHiddenClass)(formFileError);
              (0, _utils.removeHiddenClass)(formFileDefault);
              fileUploadLabel.focus();
            }, changeFileNameText = function(filename) {
              fileUploadFileName.innerHTML = filename;
            }, cancelFile = function() {
              changeFileNameText("");
              (0, _universalUtils.removeTempUserFileKey)(el);
              showDefault();
            }, deleteFile = function() {
              (0, _universalUtils.setUserFileKey)(el, "DELETE");
              cancelFile();
            };
            const formFileUploadWrapper = getFirstAncestor2(el, isFormFileUploadWrapper);
            const formFileDefault = formFileUploadWrapper.querySelector(".w-file-upload-default");
            const formFileSuccess = formFileUploadWrapper.querySelector(".w-file-upload-success");
            const formFileError = formFileUploadWrapper.querySelector(".w-file-upload-error");
            const formFileErrorMsg = formFileError.querySelector(".w-file-upload-error-msg");
            const formFileUploading = formFileUploadWrapper.querySelector(".w-file-upload-uploading");
            const fileUploadFileName = formFileUploadWrapper.querySelector(".w-file-upload-file-name");
            const fileRemoveLink = formFileUploadWrapper.querySelector(".w-file-remove-link");
            const fileUploadLabel = formFileUploadWrapper.querySelector(".w-file-upload-label");
            handleFileRemoveLink(fileRemoveLink, el, {
              deleteFile,
              cancelFile
            });
            handleFileUploadInput(el, {
              showUploading,
              successUpload,
              errorUpload,
              changeFileNameText,
              fileRemoveLink,
              filesState
            });
          }
        });
      }
      function handleFields() {
        const userForms = document.querySelectorAll(`form[${_constants.USYS_DATA_ATTRS.formType}]`);
        userForms.forEach((userForm) => {
          const customFieldInputs = userForm.querySelectorAll(`input[${_constants.USYS_DATA_ATTRS.field}], select[${_constants.USYS_DATA_ATTRS.field}]`);
          const submitButton = userForm.querySelector('input[type="submit"]');
          submitButton.setAttribute(WF_SUBMIT_BUTTON_VALUE, submitButton.value);
          function disableSubmitButton() {
            if (submitButton) {
              (0, _utils.disableSubmit)(submitButton);
            }
          }
          function enableSubmitButton() {
            if (submitButton) {
              submitButton.removeAttribute("disabled");
              submitButton.setAttribute("value", submitButton.getAttribute(WF_SUBMIT_BUTTON_VALUE) || "Submit");
            }
          }
          if (customFieldInputs.length > 0) {
            setFieldValidation(customFieldInputs);
            handleFileUploadInputs(customFieldInputs, {
              disableSubmitButton,
              enableSubmitButton
            });
          }
          const CHECKBOX_CLASS_NAME = "w-checkbox-input";
          const CHECKED_CLASS = "w--redirected-checked";
          const customCheckboxes = document.querySelectorAll(`form[${_constants.USYS_DATA_ATTRS.formType}] input[type="checkbox"]:not(` + CHECKBOX_CLASS_NAME + ")");
          customCheckboxes.forEach((checkbox) => {
            checkbox.addEventListener("change", function(e) {
              getMatchingSiblings(e, (element) => {
                return element.classList.contains(CHECKBOX_CLASS_NAME);
              }).forEach((sibling) => {
                sibling.classList.toggle(CHECKED_CLASS);
              });
            });
          });
        });
      }
    }
  });

  // packages/systems/users/siteBundles/index.js
  var require_siteBundles = __commonJS({
    "packages/systems/users/siteBundles/index.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      function _export(target, all) {
        for (var name in all)
          Object.defineProperty(target, name, {
            enumerable: true,
            get: all[name]
          });
      }
      _export(exports, {
        usysFormBundle: function() {
          return usysFormBundle;
        },
        usysSiteBundle: function() {
          return usysSiteBundle;
        }
      });
      require_esnext_array_from_async();
      require_esnext_array_filter_out();
      require_esnext_array_filter_reject();
      require_esnext_array_group_by();
      require_esnext_array_is_template_object();
      require_esnext_array_last_index();
      require_esnext_array_last_item();
      require_esnext_array_unique_by();
      init_polyfill2();
      require_polyfill();
      var _login = (init_login(), __toCommonJS(login_exports));
      var _signup = (init_signup(), __toCommonJS(signup_exports));
      var _logout = (init_logout(), __toCommonJS(logout_exports));
      var _resetPassword = (init_resetPassword(), __toCommonJS(resetPassword_exports));
      var _updatePassword = (init_updatePassword(), __toCommonJS(updatePassword_exports));
      var _account = (init_account(), __toCommonJS(account_exports));
      var _utils = _export_star((init_utils4(), __toCommonJS(utils_exports)), exports);
      var _usysForm = require_usysForm();
      function _export_star(from, to) {
        Object.keys(from).forEach(function(k) {
          if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
            Object.defineProperty(to, k, {
              enumerable: true,
              get: function() {
                return from[k];
              }
            });
          }
        });
        return from;
      }
      var usysSiteBundle = () => {
        function init2() {
          const domParser = (0, _utils.getDomParser)();
          (0, _login.handleLogInForms)();
          (0, _login.handleLoginRedirects)();
          (0, _signup.handleSignUpForms)();
          (0, _logout.handleLogInLogOutButton)();
          (0, _resetPassword.handleResetPasswordForms)();
          (0, _updatePassword.handleUpdatePasswordForms)();
          (0, _account.handleUserAccount)();
          (0, _account.handleUserSubscriptionLists)(domParser);
        }
        const ready = init2;
        const design2 = init2;
        const preview2 = init2;
        return {
          init: init2,
          ready,
          design: design2,
          preview: preview2
        };
      };
      var usysFormBundle = function(env) {
        function init2() {
          if (env("design"))
            return;
          (0, _usysForm.handleFields)();
        }
        return {
          init: init2,
          ready: init2,
          preview: init2
        };
      };
    }
  });

  // packages/shared/render/plugins/Commerce/modules/addToCartEvents.ts
  function trackAddToCartUsage(skuId, count, itemPrice) {
    const { decimalValue, unit } = itemPrice;
    if (typeof fbq === "function") {
      fbq("track", "AddToCart", {
        value: count * decimalValue,
        currency: unit,
        content_ids: [skuId],
        content_type: "product",
        contents: [{ id: skuId, quantity: count, item_price: decimalValue }]
      });
    }
    if (typeof gtag === "function") {
      gtag("event", "add_to_cart", {
        items: [
          {
            id: skuId,
            quantity: count,
            price: decimalValue
          }
        ]
      });
    }
  }
  var import_get6, import_forEach2, import_find3, import_siteBundles, fetchFromStore, updateStore, addStoreWatcher, getInstanceId3, addToCartMutation, collectionsQuery, getAllVariants, getAllVariantsAndMemberships, findCollectionItemWrapper, addToCartFormEventTargetMatcher, getErrorType, handleAtcSubmit, addToCartOptionSelectEventTargetMatcher, queryAllWithoutOtherItemWrapperContents, queryAllReferenceRepeaters, removeClass2, showElement3, hideElement3, updateEmptyStateVisibility, showEmptyStateAndHideItemsList, hideEmptyStateAndShowItemsList, updateDropdownsOnPage, disableOptionsOnChange, handleAtcOptionSelectChange, updateSkuBindings, updatePageWithNewSkuValuesData, updateSkuValuesOnPillSelect, handleAtcPageLoad, disableVariantsWithNoStockForRemainingSelections, disableVariantsWithNoStock, updateTextNodeVisibility, updateLightboxJson, isBuyNowButtonEvent, handleBuyNow, register, addToCartEvents_default;
  var init_addToCartEvents = __esm({
    "packages/shared/render/plugins/Commerce/modules/addToCartEvents.ts"() {
      "use strict";
      init_lib7();
      init_constants();
      init_constants2();
      init_constants3();
      init_constants4();
      init_utils3();
      import_get6 = __toESM(require_get());
      init_site();
      init_commerceUtils();
      init_RenderingUtils2();
      init_CurrencyUtils2();
      init_debug();
      import_forEach2 = __toESM(require_forEach());
      import_find3 = __toESM(require_find());
      init_rendering();
      init_addToCartStore();
      init_PillGroup();
      import_siteBundles = __toESM(require_siteBundles());
      ({ fetchFromStore, updateStore, addStoreWatcher } = createNewStore());
      getInstanceId3 = (form) => {
        const instanceId = form.getAttribute(DATA_ATTR_COMMERCE_PRODUCT_ID);
        if (instanceId) {
          return instanceId;
        } else {
          throw new Error("Incorrect form instance provided, has no instance ID");
        }
      };
      addToCartMutation = lib_default2`
  mutation AddToCart($skuId: String!, $count: Int!, $buyNow: Boolean) {
    ecommerceAddToCart(sku: $skuId, count: $count, buyNow: $buyNow) {
      ok
      itemId
      itemCount
      itemPrice {
        unit
        decimalValue
      }
    }
  }
`;
      collectionsQuery = `
      collections {
        c_sku_ {
          id
          items(filter: {f_product_: {eq: $productId}}) {
            id
            f_price_ {
              value
              unit
            }
            f_weight_
            f_width_
            f_length_
            f_height_
            f_sku_
            f_main_image_4dr {
              url
            }
            f_more_images_4dr {
              url
              alt
              file {
                origFileName
              }
            }
            f_sku_values_3dr {
              value {
                id
              }
              property {
                id
              }
            }
            inventory {
              type
              quantity
            }
            f_compare_at_price_7dr10dr {
              unit
              value
            }
            f_ec_sku_billing_method_2dr6dr14dr
          }
        }
        c_product_ {
          id
          items(filter: {id: {eq: $productId}}) {
            id
            f_default_sku_7dr {
              id
            }
            f_ec_product_type_2dr10dr {
              name
            }
          }
        }
      }`;
      getAllVariants = lib_default2`
  query FetchAllVariants($productId: BasicId!) {
    database {
      id
      ${collectionsQuery}
    }
  }
`;
      getAllVariantsAndMemberships = lib_default2`
  query FetchAllVariantsAndMemberships($productId: BasicId!) {
    database {
      id
      ${collectionsQuery}
      commerceMemberships(productIds: [$productId]) {
        productId
        orderId
        active
      }
    }
  }
`;
      findCollectionItemWrapper = (node) => {
        const dynamoItemSelector = `.${CLASS_NAME_DYNAMIC_LIST_ITEM}:not(.${CLASS_NAME_DYNAMIC_LIST_REPEATER_ITEM})`;
        return $(node).closest(dynamoItemSelector)[0] || document.body;
      };
      addToCartFormEventTargetMatcher = (event) => {
        if (event != null && event.target instanceof HTMLElement && event.target.getAttribute(DATA_ATTR_NODE_TYPE) === NODE_TYPE_COMMERCE_ADD_TO_CART_FORM) {
          return event.target;
        }
        return false;
      };
      getErrorType = (error) => {
        const defaultErrorType = "general";
        if (error && error.graphQLErrors && error.graphQLErrors.length > 0) {
          switch (error.graphQLErrors[0].code) {
            case "OutOfInventory":
              return "quantity";
            case "MixedCartError":
              return "mixed-cart";
            default:
              return defaultErrorType;
          }
        }
        return defaultErrorType;
      };
      handleAtcSubmit = (event, apolloClient2) => {
        event.preventDefault();
        const eventTarget = event.currentTarget;
        if (!(eventTarget instanceof HTMLFormElement && eventTarget.parentNode instanceof Element) || eventTarget.hasAttribute(ADD_TO_CART_LOADING)) {
          return;
        }
        const { parentNode } = eventTarget;
        const inputButton = eventTarget.querySelector('input[type="submit"]');
        if (!isProtocolHttps()) {
          window.alert(
            "This site is currently unsecured so you cannot add products to your cart."
          );
          return;
        }
        if (!(inputButton instanceof HTMLInputElement)) {
          return;
        }
        const errorElement = parentNode.querySelector(
          `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_COMMERCE_ADD_TO_CART_ERROR}"]`
        );
        if (errorElement instanceof Element) {
          errorElement.style.display = "none";
        }
        eventTarget.setAttribute(ADD_TO_CART_LOADING, "");
        const previousButtonValue = inputButton.value;
        const loadingTextFromButton = inputButton.getAttribute(
          DATA_ATTR_LOADING_TEXT
        );
        inputButton.value = loadingTextFromButton ? loadingTextFromButton : eventTarget.getAttribute(DATA_ATTR_LOADING_TEXT) || "";
        inputButton.setAttribute("aria-busy", "true");
        const skuId = fetchFromStore(getInstanceId3(eventTarget), "selectedSku") || "";
        const formData = formToObject(eventTarget);
        const formCount = formData[NODE_NAME_COMMERCE_ADD_TO_CART_QUANTITY_INPUT];
        const count = formCount ? parseInt(formCount, 10) : 1;
        if (!skuId && errorElement instanceof Element) {
          eventTarget.removeAttribute(ADD_TO_CART_LOADING);
          inputButton.value = previousButtonValue;
          inputButton.setAttribute("aria-busy", "false");
          const errorMsg = errorElement.querySelector(
            `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_ADD_TO_CART_ERROR}"]`
          );
          if (!errorMsg) {
            return;
          }
          const errorText = errorMsg.getAttribute(getATCErrorMessageForType("select-all-options")) || "Please select an option in each set.";
          errorMsg.textContent = errorText;
          errorElement.style.removeProperty("display");
          return;
        }
        const requiresUserSession = fetchFromStore(
          getInstanceId3(eventTarget),
          "requiresUserSession"
        );
        const hasUserSession = document.cookie.split(";").some((cookie) => cookie.indexOf(LOGGEDIN_COOKIE_NAME) > -1);
        if (requiresUserSession && !hasUserSession) {
          (0, import_siteBundles.redirectWithUsrdir)(`/${USYS_PAGE_SETTINGS.signup.slug}`);
          return;
        }
        apolloClient2.mutate({
          mutation: addToCartMutation,
          variables: { skuId, count, buyNow: false }
        }).then(({ data }) => {
          addLoadingCallback(() => {
            eventTarget.removeAttribute(ADD_TO_CART_LOADING);
            inputButton.value = previousButtonValue;
            inputButton.setAttribute("aria-busy", "false");
            const cartElements = document.querySelectorAll(
              `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_COMMERCE_CART_WRAPPER}"][${DATA_ATTR_OPEN_PRODUCT}]`
            );
            cartElements.forEach((cart) => {
              const evt = new CustomEvent(CHANGE_CART_EVENT, {
                bubbles: true,
                detail: {
                  open: true
                }
              });
              cart.dispatchEvent(evt);
            });
          });
          triggerRender(null);
          const itemPrice = data.ecommerceAddToCart.itemPrice || {};
          trackAddToCartUsage(skuId, count, itemPrice);
        }).catch((error) => {
          eventTarget.removeAttribute(ADD_TO_CART_LOADING);
          inputButton.value = previousButtonValue;
          inputButton.setAttribute("aria-busy", "false");
          if (errorElement) {
            errorElement.style.removeProperty("display");
            const errorMsg = errorElement.querySelector(
              `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_ADD_TO_CART_ERROR}"]`
            );
            if (!errorMsg) {
              return;
            }
            const errorMessage = getATCErrorMessageForType(getErrorType(error));
            const errorText = errorMsg.getAttribute(errorMessage) || "";
            errorMsg.textContent = errorText;
          }
          debug_default.error(error);
          triggerRender(null);
        });
      };
      addToCartOptionSelectEventTargetMatcher = (event) => {
        if (event != null && event.target instanceof HTMLElement && event.target.getAttribute(DATA_ATTR_NODE_TYPE) === NODE_TYPE_COMMERCE_ADD_TO_CART_OPTION_SELECT) {
          return event.target;
        }
        return false;
      };
      queryAllWithoutOtherItemWrapperContents = (collectionItemWrapper, selector) => {
        return Array.from(collectionItemWrapper.querySelectorAll(selector)).filter(
          (node) => findCollectionItemWrapper(node) === collectionItemWrapper
        );
      };
      queryAllReferenceRepeaters = (collectionItemWrapper) => {
        return Array.from(
          collectionItemWrapper.querySelectorAll(
            `.${CLASS_NAME_DYNAMIC_LIST_REPEATER_REF}`
          )
        );
      };
      removeClass2 = (element, className) => {
        element && // eslint-disable-next-line no-undef
        element.classList instanceof DOMTokenList && element.classList.remove(className);
        if (element.classList.length === 0) {
          element.removeAttribute("class");
        }
      };
      showElement3 = (element) => removeClass2(element, "w-dyn-hide");
      hideElement3 = (element) => element && // eslint-disable-next-line no-undef
      element.classList instanceof DOMTokenList && element.classList.add("w-dyn-hide");
      updateEmptyStateVisibility = (node, fn1, fn2) => {
        const emptyStateNodes = Array.from(node.querySelectorAll(".w-dyn-empty"));
        const emptyStateMoreImageFieldNodes = emptyStateNodes.filter((n) => {
          const itemsList = n.parentElement.querySelector(".w-dyn-items");
          return itemsList.dataset && itemsList.dataset.wfCollection && itemsList.dataset.wfCollection === "f_more_images_4dr";
        });
        return emptyStateMoreImageFieldNodes && emptyStateMoreImageFieldNodes.map((n) => {
          fn1(n);
          const itemsList = n.parentElement.querySelector(".w-dyn-items");
          if (itemsList && itemsList.dataset && itemsList.dataset.wfCollection && itemsList.dataset.wfCollection === "f_more_images_4dr" && // eslint-disable-next-line no-undef
          itemsList.classList instanceof DOMTokenList && itemsList.parentElement.classList.contains(
            CLASS_NAME_DYNAMIC_LIST_REPEATER_REF
          )) {
            return fn2(itemsList);
          }
        });
      };
      showEmptyStateAndHideItemsList = (node) => {
        updateEmptyStateVisibility(node, showElement3, hideElement3);
      };
      hideEmptyStateAndShowItemsList = (node) => {
        updateEmptyStateVisibility(node, hideElement3, showElement3);
      };
      updateDropdownsOnPage = (instanceId) => (newSkuValues) => {
        const dropdownsForProduct = Array.from(
          document.querySelectorAll(
            `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_COMMERCE_ADD_TO_CART_OPTION_LIST}"][${DATA_ATTR_COMMERCE_PRODUCT_ID}="${instanceId}"] [${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_COMMERCE_ADD_TO_CART_OPTION_SELECT}"]`
          )
        );
        for (const optionSetId of Object.keys(newSkuValues)) {
          const optionSetValue = newSkuValues[optionSetId];
          const matchingDropdownsForOptionSet = dropdownsForProduct.filter(
            (d) => d.getAttribute(DATA_ATTR_COMMERCE_OPTION_SET_ID) === optionSetId
          );
          for (const dropdown of matchingDropdownsForOptionSet) {
            dropdown.value = String(optionSetValue);
          }
        }
      };
      disableOptionsOnChange = ({
        apolloClient: apolloClient2,
        productId,
        optionSets,
        optionSetId
      }) => {
        apolloClient2.query({ query: getAllVariants, variables: { productId } }).then(({ data }) => {
          const items = data?.database?.collections?.c_sku_?.items ?? [];
          const optionSetData = optionSets.reduce(
            (parsedSelectorOptionSets, selectorOptionSet) => {
              if (selectorOptionSet.value) {
                parsedSelectorOptionSets.selectedOptionSets.push(selectorOptionSet);
                if (selectorOptionSet.getAttribute(
                  DATA_ATTR_COMMERCE_OPTION_SET_ID
                ) === optionSetId) {
                  parsedSelectorOptionSets.recentlySelectedOptionSet = selectorOptionSet;
                } else {
                  parsedSelectorOptionSets.previouslySelectedOptionSets.push(
                    selectorOptionSet
                  );
                }
              } else {
                parsedSelectorOptionSets.unselectedOptionSets.push(
                  selectorOptionSet
                );
              }
              return parsedSelectorOptionSets;
            },
            {
              selectedOptionSets: [],
              recentlySelectedOptionSet: void 0,
              previouslySelectedOptionSets: [],
              unselectedOptionSets: []
            }
          );
          let { selectedOptionSets, unselectedOptionSets } = optionSetData;
          const { recentlySelectedOptionSet, previouslySelectedOptionSets } = optionSetData;
          if (recentlySelectedOptionSet && selectedOptionSets.length > 1) {
            const recentlySelectedOptionSetValue = recentlySelectedOptionSet.value;
            (0, import_forEach2.default)(previouslySelectedOptionSets, (previouslySelectedOptionSet) => {
              const optionSetValueCombinationWithMostRecent = [
                recentlySelectedOptionSetValue,
                previouslySelectedOptionSet.value
              ];
              const someAvailableItem = items.some((item) => {
                if (item.inventory.type === INVENTORY_TYPE_FINITE && item.inventory.quantity <= 0) {
                  return false;
                }
                const itemMappedBySkuValues = item.f_sku_values_3dr.map(
                  // @ts-expect-error - TS7006 - Parameter 'skuValues' implicitly has an 'any' type.
                  (skuValues) => skuValues.value.id
                );
                return optionSetValueCombinationWithMostRecent.every(
                  (value) => itemMappedBySkuValues.includes(value)
                );
              });
              if (!someAvailableItem) {
                previouslySelectedOptionSet.selectedIndex = 0;
                selectedOptionSets = selectedOptionSets.filter(
                  // @ts-expect-error - TS7006 - Parameter 'selectedOptionSet' implicitly has an 'any' type.
                  (selectedOptionSet) => selectedOptionSet.getAttribute(
                    DATA_ATTR_COMMERCE_OPTION_SET_ID
                  ) !== previouslySelectedOptionSet.getAttribute(
                    DATA_ATTR_COMMERCE_OPTION_SET_ID
                  )
                );
                unselectedOptionSets = unselectedOptionSets.concat(
                  previouslySelectedOptionSet
                );
              }
            });
          }
          (0, import_forEach2.default)(selectedOptionSets, (optionSet) => {
            const id = optionSet.getAttribute(DATA_ATTR_COMMERCE_OPTION_SET_ID);
            (0, import_forEach2.default)(optionSet.options, (option) => {
              if (!option.value) {
                option.enabled = true;
              } else {
                disableVariantsWithNoStock(items, id, option);
              }
            });
          });
          (0, import_forEach2.default)(unselectedOptionSets, (optionSet) => {
            const id = optionSet.getAttribute(DATA_ATTR_COMMERCE_OPTION_SET_ID);
            disableVariantsWithNoStockForRemainingSelections(
              items,
              selectedOptionSets,
              optionSet,
              id
            );
          });
        });
      };
      handleAtcOptionSelectChange = (event, apolloClient2) => {
        const eventTarget = event.currentTarget;
        if (!(eventTarget instanceof HTMLSelectElement)) {
          return;
        }
        const $2 = window.jQuery;
        const optionSetId = eventTarget.getAttribute(
          DATA_ATTR_COMMERCE_OPTION_SET_ID
        );
        const optionSetValue = eventTarget.value;
        const optionListElement = $2(eventTarget).closest(
          `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_COMMERCE_ADD_TO_CART_OPTION_LIST}"]`
        )[0];
        const addToCartForm = $2(eventTarget).closest(
          `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_COMMERCE_ADD_TO_CART_FORM}"]`
        )[0];
        if (!(optionListElement instanceof Element) || !optionSetId || !(addToCartForm instanceof HTMLFormElement)) {
          return;
        }
        const instanceId = getInstanceId3(addToCartForm);
        const currentSkuValues = fetchFromStore(instanceId, "skuValues");
        const newSkuValues = {
          ...currentSkuValues,
          [optionSetId]: optionSetValue
        };
        updateStore(instanceId, {
          skuValues: newSkuValues
        });
        const productId = optionListElement && optionListElement.getAttribute(DATA_ATTR_COMMERCE_PRODUCT_ID);
        const allVariantSelectorsInCartForm = findAllElementsByNodeType(
          NODE_TYPE_COMMERCE_ADD_TO_CART_OPTION_SELECT,
          addToCartForm
        );
        if (productId && allVariantSelectorsInCartForm.length > 0) {
          disableOptionsOnChange({
            apolloClient: apolloClient2,
            productId,
            optionSets: allVariantSelectorsInCartForm,
            optionSetId
          });
        }
      };
      updateSkuBindings = (binding, node, newSkuItem) => {
        if (["f_weight_", "f_width_", "f_length_", "f_height_", "f_sku_"].some(
          (slug) => binding.from === slug
        )) {
          node[binding.to === "innerHTML" ? "innerText" : binding.to] = newSkuItem[binding.from] || "";
          updateTextNodeVisibility(node);
        }
        if (binding.from === "f_price_" && newSkuItem.f_price_) {
          node[binding.to === "innerHTML" ? "innerText" : binding.to] = renderPriceFromSettings(
            newSkuItem.f_price_,
            // @ts-expect-error - TS2339 - Property '__WEBFLOW_CURRENCY_SETTINGS' does not exist on type 'Window & typeof globalThis'.
            window.__WEBFLOW_CURRENCY_SETTINGS
          );
          updateTextNodeVisibility(node);
        }
        if (binding.from === "f_compare_at_price_7dr10dr") {
          if (newSkuItem.f_compare_at_price_7dr10dr) {
            node[binding.to === "innerHTML" ? "innerText" : binding.to] = renderPriceFromSettings(
              newSkuItem.f_compare_at_price_7dr10dr,
              // @ts-expect-error - TS2339 - Property '__WEBFLOW_CURRENCY_SETTINGS' does not exist on type 'Window & typeof globalThis'.
              window.__WEBFLOW_CURRENCY_SETTINGS
            );
          } else {
            node[binding.to === "innerHTML" ? "innerText" : binding.to] = "";
          }
          updateTextNodeVisibility(node);
        }
        if (binding.from === "f_main_image_4dr" || binding.from === "f_main_image_4dr.url") {
          const mainImage = (0, import_get6.default)(newSkuItem, binding.from.replace(/\.url$/, ""));
          if (binding.to === "style.background-image") {
            node.style.backgroundImage = mainImage && mainImage.url ? `url("${mainImage.url}")` : "none";
          } else if (binding.to === "media") {
            if (node.classList.contains("w-lightbox")) {
              updateLightboxJson(node, mainImage);
            }
          } else if (binding.to === "src") {
            if (mainImage && mainImage.url) {
              node.src = mainImage.url;
              removeWDynBindEmptyClass(node);
              if (node.hasAttribute("srcset")) {
                node.removeAttribute("srcset");
              }
            } else {
              node.removeAttribute("src");
              node.classList.add(CLASS_NAME_W_DYN_BIND_EMPTY);
            }
          }
        }
        if (binding.from === "f_more_images_4dr" || binding.from.startsWith("f_more_images_4dr.")) {
          const image = (0, import_get6.default)(newSkuItem, binding.from.replace(/\.url$/, ""));
          if (binding.to === "style.background-image") {
            node.style.backgroundImage = image ? `url("${image.url}")` : "none";
          } else if (binding.to === "media") {
            if (node.classList.contains("w-lightbox")) {
              updateLightboxJson(node, image);
            }
          } else if (binding.to === "src") {
            if (image && image.url) {
              node.src = image.url;
              node.alt = image.alt || "";
              removeWDynBindEmptyClass(node);
              if (node.hasAttribute("srcset")) {
                node.removeAttribute("srcset");
                node.removeAttribute("sizes");
              }
            } else {
              node.removeAttribute("src");
              node.removeAttribute("srcset");
              node.removeAttribute("sizes");
              node.removeAttribute("alt");
              node.classList.add(CLASS_NAME_W_DYN_BIND_EMPTY);
            }
          }
        }
        if (binding.from === "ecSkuInventoryQuantity") {
          const inventoryQuantity = (0, import_get6.default)(newSkuItem, "inventory.type") === "infinite" ? null : (0, import_get6.default)(newSkuItem, "inventory.quantity");
          node[binding.to === "innerHTML" ? "innerText" : binding.to] = inventoryQuantity;
          updateTextNodeVisibility(node);
        }
      };
      updatePageWithNewSkuValuesData = (instanceId, apolloClient2) => (newSkuValues) => {
        const $2 = window.jQuery;
        apolloClient2.query({ query: getAllVariants, variables: { productId: instanceId } }).then(({ data }) => {
          const items = data?.database?.collections?.c_sku_?.items ?? [];
          const products = data?.database?.collections?.c_product_?.items ?? [];
          const productType = products[0] ? products[0].f_ec_product_type_2dr10dr.name : "Advanced";
          const newSkuItem = (0, import_find3.default)(items, (item) => {
            if (item.f_sku_values_3dr && Array.isArray(item.f_sku_values_3dr)) {
              const skuValues = simplifySkuValues(item.f_sku_values_3dr);
              return Object.keys(newSkuValues).every(
                (key) => newSkuValues[key] === skuValues[key]
              );
            }
          });
          if (newSkuItem && newSkuItem.id) {
            updateStore(instanceId, {
              selectedSku: newSkuItem.id
            });
            if (newSkuItem["f_ec_sku_billing_method_2dr6dr14dr"] === "subscription" || productType === "Membership") {
              updateStore(instanceId, {
                requiresUserSession: true
              });
            }
            const formsForProduct = document.querySelectorAll(
              `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_COMMERCE_ADD_TO_CART_FORM}"][${DATA_ATTR_COMMERCE_PRODUCT_ID}="${instanceId}"]`
            );
            Array.from(formsForProduct).forEach((addToCartForm) => {
              const collectionItemWrapper = findCollectionItemWrapper(addToCartForm);
              const referenceRepeaters = queryAllReferenceRepeaters(
                collectionItemWrapper
              );
              const buyNowButton = findElementByNodeType(
                NODE_TYPE_COMMERCE_BUY_NOW_BUTTON,
                addToCartForm
              );
              if (buyNowButton) {
                if (newSkuItem["f_ec_sku_billing_method_2dr6dr14dr"] === "subscription") {
                  const addToCartButton = findElementByNodeType(
                    NODE_TYPE_COMMERCE_ADD_TO_CART_BUTTON,
                    addToCartForm
                  );
                  const buyNowSubscriptionText = buyNowButton.getAttribute(DATA_ATTR_SUBSCRIPTION_TEXT) || "Subscribe now";
                  hideElement3(addToCartButton);
                  buyNowButton.innerText = buyNowSubscriptionText;
                } else {
                  const buyNowDefaultText = buyNowButton.getAttribute(DATA_ATTR_DEFAULT_TEXT) || "Buy now";
                  buyNowButton.innerText = buyNowDefaultText;
                }
              }
              const moreImagesFieldLength = newSkuItem.f_more_images_4dr && newSkuItem.f_more_images_4dr.length || 0;
              if (referenceRepeaters.length > 0) {
                referenceRepeaters.forEach((referenceRepeater) => {
                  renderTree(referenceRepeater, { data: newSkuItem });
                  if (moreImagesFieldLength > 0) {
                    hideEmptyStateAndShowItemsList(referenceRepeater);
                  } else {
                    showEmptyStateAndHideItemsList(referenceRepeater);
                  }
                });
              }
              const skuBoundNodes = queryAllWithoutOtherItemWrapperContents(
                collectionItemWrapper,
                `[${WF_SKU_BINDING_DATA_KEY}]`
              );
              (0, import_forEach2.default)(skuBoundNodes, (node) => {
                const skuBindingsData = node.getAttribute(
                  WF_SKU_BINDING_DATA_KEY
                );
                if (skuBindingsData) {
                  const skuBindings = safeParseJson(skuBindingsData);
                  if (Array.isArray(skuBindings)) {
                    skuBindings.forEach(
                      (binding) => updateSkuBindings(binding, node, newSkuItem)
                    );
                  }
                }
              });
              const skuConditionBoundNodes = queryAllWithoutOtherItemWrapperContents(
                collectionItemWrapper,
                `[${WF_SKU_CONDITION_DATA_KEY}]`
              );
              (0, import_forEach2.default)(skuConditionBoundNodes, (node) => {
                const conditionData = safeParseJson(
                  // @ts-expect-error - TS18046 - 'node' is of type 'unknown'.
                  node.getAttribute(WF_SKU_CONDITION_DATA_KEY)
                );
                if (conditionData) {
                  applySkuBoundConditionalVisibility({
                    conditionData,
                    newSkuItem,
                    // @ts-expect-error - TS2322 - Type 'unknown' is not assignable to type 'Element'.
                    node
                  });
                }
              });
              const errorElement = $2(collectionItemWrapper).siblings(
                `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_COMMERCE_ADD_TO_CART_ERROR}"]`
              )[0];
              if (errorElement instanceof Element) {
                errorElement.style.display = "none";
              }
            });
            if (window.Webflow.require("lightbox")) {
              window.Webflow.require("lightbox").ready();
            }
          } else {
            updateStore(instanceId, {
              selectedSku: ""
            });
          }
        });
      };
      updateSkuValuesOnPillSelect = (instanceId, apolloClient2) => (
        // @ts-expect-error - TS7031 - Binding element 'optionId' implicitly has an 'any' type. | TS7031 - Binding element 'optionSetId' implicitly has an 'any' type. | TS7031 - Binding element 'groups' implicitly has an 'any' type.
        ({ optionId, optionSetId, groups }) => {
          const currentSkuValues = fetchFromStore(instanceId, "skuValues");
          const newSkuValues = {
            ...currentSkuValues,
            [optionSetId]: optionId
          };
          updateStore(instanceId, {
            skuValues: newSkuValues
          });
          disableOptionsOnChange({
            apolloClient: apolloClient2,
            productId: instanceId,
            optionSets: Object.values(groups),
            optionSetId
          });
        }
      );
      handleAtcPageLoad = (event, apolloClient2, stripeStore2) => {
        if (!(event instanceof CustomEvent && event.type === RENDER_TREE_EVENT)) {
          return;
        }
        const addToCartForms = document.querySelectorAll(
          `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_COMMERCE_ADD_TO_CART_FORM}"]`
        );
        if (window.Webflow.env("preview")) {
          if (event.detail.isInitial) {
            (0, import_forEach2.default)(addToCartForms, (addToCartForm) => {
              const groups = new PillGroups(
                // @ts-expect-error - TS2345 - Argument of type 'Element' is not assignable to parameter of type 'HTMLElement'.
                addToCartForm,
                ({ optionId, optionSetId }) => {
                  groups.setSelectedPillsForSkuValues({
                    [optionSetId]: optionId
                  });
                }
              );
              groups.init();
            });
          }
          return;
        }
        if (window.Webflow.env("design")) {
          return;
        }
        (0, import_forEach2.default)(addToCartForms, (addToCartForm) => {
          const addToCartButton = findElementByNodeType(
            NODE_TYPE_COMMERCE_ADD_TO_CART_BUTTON,
            addToCartForm
          );
          if (addToCartButton) {
            const cartElementsThatOpenOnAdd = document.querySelectorAll(
              `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_COMMERCE_CART_WRAPPER}"][${DATA_ATTR_OPEN_PRODUCT}]`
            );
            addToCartButton.setAttribute(
              "aria-haspopup",
              cartElementsThatOpenOnAdd.length > 0 ? "dialog" : "false"
            );
          }
          const buyNowButton = findElementByNodeType(
            NODE_TYPE_COMMERCE_BUY_NOW_BUTTON,
            addToCartForm
          );
          if (stripeStore2 && !stripeStore2.isInitialized()) {
            if (buyNowButton) {
              hideElement3(buyNowButton);
            }
          }
          const instanceId = getInstanceId3(addToCartForm);
          if (event.detail.isInitial) {
            updateStore(instanceId, {
              // @ts-expect-error - TS2322 - Type 'string | null' is not assignable to type 'string | undefined'.
              selectedSku: addToCartForm instanceof Element ? addToCartForm.getAttribute(DATA_ATTR_COMMERCE_SKU_ID) : ""
            });
            addStoreWatcher(
              instanceId,
              "skuValues",
              updatePageWithNewSkuValuesData(instanceId, apolloClient2)
            );
            addStoreWatcher(
              instanceId,
              "skuValues",
              updateDropdownsOnPage(instanceId)
            );
            if (PillGroups.hasPillGroups(addToCartForm)) {
              const pillGroup = new PillGroups(
                // @ts-expect-error - TS2345 - Argument of type 'Element' is not assignable to parameter of type 'HTMLElement'.
                addToCartForm,
                updateSkuValuesOnPillSelect(instanceId, apolloClient2)
              );
              addStoreWatcher(instanceId, "skuValues", (newSkuValues) => {
                pillGroup.setSelectedPillsForSkuValues(newSkuValues);
              });
              pillGroup.init();
            }
          }
          const currentSkuId = fetchFromStore(instanceId, "selectedSku");
          if (!currentSkuId) {
            return;
          }
          const productId = addToCartForm && addToCartForm.getAttribute(DATA_ATTR_COMMERCE_PRODUCT_ID);
          if (productId) {
            apolloClient2.query({
              query: getAllVariantsAndMemberships,
              variables: { productId }
            }).then(({ data }) => {
              const items = data?.database?.collections?.c_sku_?.items ?? [];
              const products = data?.database?.collections?.c_product_?.items ?? [];
              const productType = products[0] ? products[0].f_ec_product_type_2dr10dr.name : "Advanced";
              if (event.detail.isInitial && items[0].f_sku_values_3dr && items[0].f_sku_values_3dr.length > 0) {
                const skuValuesMap = items[0].f_sku_values_3dr.reduce((map, sku) => {
                  map[sku.property.id] = "";
                  return map;
                }, {});
                updateStore(instanceId, {
                  skuValues: skuValuesMap
                });
              }
              const memberships = data?.database?.commerceMemberships ?? [];
              const hasActiveMemebership = Boolean(memberships[0]?.active);
              if (hasActiveMemebership) {
                if (buyNowButton) {
                  buyNowButton.removeAttribute("href");
                  buyNowButton.setAttribute("role", "link");
                  buyNowButton.setAttribute("aria-disabled", "true");
                  buyNowButton.classList.add("w--ecommerce-buy-now-disabled");
                }
                if (addToCartButton) {
                  addToCartButton.setAttribute("disabled", "true");
                  addToCartButton.classList.add(
                    "w--ecommerce-add-to-cart-disabled"
                  );
                }
              }
              const currentSku = items.find((item) => item.id === currentSkuId);
              if (currentSku) {
                if (currentSku["f_ec_sku_billing_method_2dr6dr14dr"] === "subscription" || productType === "Membership") {
                  updateStore(instanceId, {
                    requiresUserSession: true
                  });
                }
                if (currentSku["f_ec_sku_billing_method_2dr6dr14dr"] === "subscription") {
                  hideElement3(addToCartButton);
                  if (buyNowButton) {
                    const buyNowSubscriptionText = buyNowButton.getAttribute(DATA_ATTR_SUBSCRIPTION_TEXT) || "Subscribe now";
                    buyNowButton.innerText = buyNowSubscriptionText;
                  }
                } else if (buyNowButton) {
                  const buyNowDefaultText = buyNowButton.getAttribute(DATA_ATTR_DEFAULT_TEXT) || "Buy now";
                  buyNowButton.innerText = buyNowDefaultText;
                }
                const addToCartWrapper = addToCartForm.parentElement;
                const optionListElement = findElementByNodeType(
                  NODE_TYPE_COMMERCE_ADD_TO_CART_OPTION_LIST,
                  // @ts-expect-error - TS2345 - Argument of type 'HTMLElement | null' is not assignable to parameter of type 'Document | Element | undefined'.
                  addToCartWrapper
                );
                const outOfStockState = addToCartWrapper && addToCartWrapper.getElementsByClassName(
                  "w-commerce-commerceaddtocartoutofstock"
                )[0];
                const hasVariantsWithStock = items.some(
                  // @ts-expect-error - TS7006 - Parameter 'variant' implicitly has an 'any' type.
                  (variant) => variant.inventory.type === INVENTORY_TYPE_FINITE && variant.inventory.quantity > 0 || variant.inventory.type === INVENTORY_TYPE_INFINITE
                );
                if (!hasVariantsWithStock && outOfStockState) {
                  outOfStockState.style.display = "";
                  addToCartForm.style.display = "none";
                }
                const optionSetsToUpdate = items[0].f_sku_values_3dr.map(
                  // @ts-expect-error - TS7006 - Parameter 'skuValue' implicitly has an 'any' type.
                  (skuValue) => skuValue.property.id
                );
                optionSetsToUpdate.forEach((optionToUpdateSetId) => {
                  let optionSet = addToCartForm.querySelector(
                    `[${DATA_ATTR_COMMERCE_OPTION_SET_ID}="${optionToUpdateSetId}"]`
                  );
                  if (!(optionSet instanceof HTMLElement)) {
                    return;
                  }
                  const optionSetId = optionSet.getAttribute(
                    DATA_ATTR_COMMERCE_OPTION_SET_ID
                  );
                  if (optionSet.getAttribute(DATA_ATTR_NODE_TYPE) === NODE_TYPE_COMMERCE_ADD_TO_CART_PILL_GROUP) {
                    optionSet = optionSet._wfPillGroup;
                  }
                  (0, import_forEach2.default)(optionSet.options, (option) => {
                    if (!option.value) {
                      option.enabled = true;
                    } else {
                      disableVariantsWithNoStock(items, optionSetId, option);
                    }
                  });
                  const selectedOptionSets = optionSetsToUpdate.filter(
                    // @ts-expect-error - TS7006 - Parameter 'optionSetToUpdate' implicitly has an 'any' type.
                    (optionSetToUpdate) => optionSetToUpdate.value
                  );
                  disableVariantsWithNoStockForRemainingSelections(
                    items,
                    selectedOptionSets,
                    optionSet,
                    optionSetId
                  );
                  if (event.detail.isInitial && optionListElement && optionListElement.getAttribute(
                    DATA_ATTR_PRESELECT_DEFAULT_VARIANT
                  ) === "true") {
                    const defaultSkuId = (0, import_get6.default)(data, [
                      "database",
                      "collections",
                      "c_product_",
                      "items",
                      0,
                      "f_default_sku_7dr",
                      "id"
                    ]);
                    const defaultSku = items.find(
                      // @ts-expect-error - TS7006 - Parameter 'item' implicitly has an 'any' type.
                      (item) => item.id === defaultSkuId
                    );
                    if (defaultSku && !(defaultSku.inventory.type === INVENTORY_TYPE_FINITE && defaultSku.inventory.quantity <= 0)) {
                      const defaultSkuIndex = Array.from(
                        // @ts-expect-error - TS18047 - 'optionSet' is possibly 'null'. | TS2339 - Property 'options' does not exist on type 'Element'.
                        optionSet.options
                      ).findIndex(
                        (option) => defaultSku.f_sku_values_3dr.some(
                          // @ts-expect-error - TS7006 - Parameter 'value' implicitly has an 'any' type. | TS18046 - 'option' is of type 'unknown'.
                          (value) => value.value.id === option.value
                        )
                      );
                      if (defaultSkuIndex > -1) {
                        optionSet.selectedIndex = defaultSkuIndex;
                        updateStore(instanceId, {
                          selectedSku: defaultSku.id,
                          // update the sku values map to set each property id to the value id
                          // for the current variant
                          skuValues: simplifySkuValues(defaultSku.f_sku_values_3dr)
                        });
                      }
                    }
                  }
                });
              }
            });
          }
        });
      };
      disableVariantsWithNoStockForRemainingSelections = (items, selectedOptionSets, optionSet, id) => {
        let possibleVariantSelections = items.filter((item) => {
          const itemMappedBySkuValues = item.f_sku_values_3dr.map(
            // @ts-expect-error - TS7006 - Parameter 'skuValues' implicitly has an 'any' type.
            (skuValues) => skuValues.value.id
          );
          const currentlySelectedSkuValues = selectedOptionSets.map(
            // @ts-expect-error - TS7006 - Parameter 'selectedOptionSet' implicitly has an 'any' type.
            (selectedOptionSet) => selectedOptionSet.value
          );
          return currentlySelectedSkuValues.every(
            (selectedValue) => itemMappedBySkuValues.includes(selectedValue)
          );
        });
        if (possibleVariantSelections.length === 1) {
          possibleVariantSelections = items;
        }
        (0, import_forEach2.default)(optionSet.options, (option) => {
          if (!option.value) {
            option.enabled = true;
          } else {
            const variantsFiltered = possibleVariantSelections.filter((variant) => {
              const sku = variant.f_sku_values_3dr.find(
                // @ts-expect-error - TS7006 - Parameter 'value' implicitly has an 'any' type.
                (value) => value.property.id === id
              );
              return sku.value.id === option.value;
            });
            const hasVariantsWithStock = variantsFiltered.some(
              // @ts-expect-error - TS7006 - Parameter 'variant' implicitly has an 'any' type.
              (variant) => variant.inventory.type === INVENTORY_TYPE_FINITE && variant.inventory.quantity > 0 || variant.inventory.type === INVENTORY_TYPE_INFINITE
            );
            if (!hasVariantsWithStock) {
              option.disabled = true;
            } else {
              option.disabled = false;
            }
          }
        });
      };
      disableVariantsWithNoStock = (items, optionSetId, option) => {
        if (!option.value) {
          return;
        }
        const variantsFiltered = items.filter((variant) => {
          const sku = variant.f_sku_values_3dr.find(
            // @ts-expect-error - TS7006 - Parameter 'value' implicitly has an 'any' type.
            (value) => value.property.id === optionSetId
          );
          return sku.value.id === option.value;
        });
        const hasVariantsWithStock = variantsFiltered.some(
          // @ts-expect-error - TS7006 - Parameter 'variant' implicitly has an 'any' type.
          (variant) => variant.inventory.type === INVENTORY_TYPE_FINITE && variant.inventory.quantity > 0 || variant.inventory.type === INVENTORY_TYPE_INFINITE
        );
        if (!hasVariantsWithStock) {
          option.disabled = true;
        } else {
          option.disabled = false;
        }
      };
      updateTextNodeVisibility = (node) => {
        if (node.innerText) {
          removeWDynBindEmptyClass(node);
        }
        if (!node.innerText && !node.classList.contains(CLASS_NAME_W_DYN_BIND_EMPTY)) {
          node.classList.add(CLASS_NAME_W_DYN_BIND_EMPTY);
        }
      };
      updateLightboxJson = (node, binding) => {
        const lightboxScript = node.querySelector("script.w-json");
        if (lightboxScript) {
          const nodeJsonData = JSON.parse(lightboxScript.innerHTML);
          lightboxScript.innerHTML = JSON.stringify(
            createJsonFromBoundMedia(binding, nodeJsonData) || {
              items: [],
              group: nodeJsonData && nodeJsonData.group
            }
          );
        }
      };
      isBuyNowButtonEvent = ({ target }) => target instanceof Element && target.getAttribute(DATA_ATTR_NODE_TYPE) === NODE_TYPE_COMMERCE_BUY_NOW_BUTTON;
      handleBuyNow = (event, apolloClient2) => {
        event.preventDefault();
        if (window.Webflow.env("preview")) {
          return;
        }
        const buyNowButton = event.target;
        const addToCartForm = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_ADD_TO_CART_FORM,
          // @ts-expect-error - TS2345 - Argument of type 'EventTarget | null' is not assignable to parameter of type 'EventTarget'.
          buyNowButton
        );
        if (!(buyNowButton instanceof HTMLAnchorElement) || !(addToCartForm instanceof HTMLFormElement)) {
          return;
        }
        if (buyNowButton.classList.contains("w--ecommerce-buy-now-disabled")) {
          return;
        }
        const addToCartWrapper = addToCartForm.parentElement;
        if (!(addToCartWrapper instanceof Element)) {
          return;
        }
        const addToCartErrorElement = findElementByNodeType(
          NODE_TYPE_COMMERCE_ADD_TO_CART_ERROR,
          addToCartWrapper
        );
        if (!(addToCartErrorElement instanceof Element)) {
          return;
        }
        addToCartErrorElement.style.display = "none";
        if (!isProtocolHttps()) {
          window.alert(
            "This site is currently unsecured so you cannot purchase this item."
          );
          return;
        }
        if (!addToCartForm.reportValidity()) {
          return;
        }
        const requiresUserSession = fetchFromStore(
          getInstanceId3(addToCartForm),
          "requiresUserSession"
        );
        const hasUserSession = document.cookie.split(";").some((cookie) => cookie.indexOf(LOGGEDIN_COOKIE_NAME) > -1);
        if (requiresUserSession && !hasUserSession) {
          (0, import_siteBundles.redirectWithUsrdir)(`/${USYS_PAGE_SETTINGS.signup.slug}`);
          return;
        }
        const publishableKey = buyNowButton.getAttribute(DATA_ATTR_PUBLISHABLE_KEY);
        if (!publishableKey) {
          const errorMsg = addToCartErrorElement.querySelector(
            `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_ADD_TO_CART_ERROR}"]`
          );
          if (!errorMsg) {
            return;
          }
          const errorText = errorMsg.getAttribute(CHECKOUT_DISABLED_ERROR_MESSAGE) || "Checkout is disabled.";
          errorMsg.textContent = errorText;
          addToCartErrorElement.style.removeProperty("display");
          return;
        }
        const skuId = fetchFromStore(getInstanceId3(addToCartForm), "selectedSku") || "";
        const formData = formToObject(addToCartForm);
        const formCount = formData[NODE_NAME_COMMERCE_ADD_TO_CART_QUANTITY_INPUT];
        const count = formCount ? parseInt(formCount, 10) : 1;
        if (!skuId) {
          const errorMsg = addToCartErrorElement.querySelector(
            `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_ADD_TO_CART_ERROR}"]`
          );
          if (!errorMsg) {
            return;
          }
          const errorText = errorMsg.getAttribute(getATCErrorMessageForType("select-all-options")) || "Please select an option in each set.";
          errorMsg.textContent = errorText;
          addToCartErrorElement.style.removeProperty("display");
          return;
        }
        apolloClient2.mutate({
          mutation: addToCartMutation,
          variables: { skuId, count, buyNow: true }
        }).then(({ data }) => {
          const itemPrice = data.ecommerceAddToCart.itemPrice || {};
          trackAddToCartUsage(skuId, count, itemPrice);
          window.location = buyNowButton.href;
        }).catch((error) => {
          if (addToCartErrorElement) {
            addToCartErrorElement.style.removeProperty("display");
            const errorMsg = addToCartErrorElement.querySelector(
              `[${DATA_ATTR_NODE_TYPE}="${NODE_TYPE_ADD_TO_CART_ERROR}"]`
            );
            if (!errorMsg) {
              return;
            }
            const errorType = error.graphQLErrors && error.graphQLErrors.length > 0 && error.graphQLErrors[0].code === "OutOfInventory" ? "quantity" : "buy-now";
            const errorText = errorMsg.getAttribute(getATCErrorMessageForType(errorType)) || "";
            errorMsg.textContent = errorText;
          }
          debug_default.error(error);
          triggerRender(null);
        });
      };
      register = (handlerProxy2) => {
        handlerProxy2.on("submit", addToCartFormEventTargetMatcher, handleAtcSubmit);
        handlerProxy2.on(
          "change",
          addToCartOptionSelectEventTargetMatcher,
          handleAtcOptionSelectChange
        );
        handlerProxy2.on("click", isBuyNowButtonEvent, handleBuyNow);
        handlerProxy2.on(RENDER_TREE_EVENT, Boolean, handleAtcPageLoad);
      };
      addToCartEvents_default = { register };
    }
  });

  // node_modules/lodash/_assignMergeValue.js
  var require_assignMergeValue = __commonJS({
    "node_modules/lodash/_assignMergeValue.js"(exports, module2) {
      var baseAssignValue = require_baseAssignValue();
      var eq = require_eq();
      function assignMergeValue(object, key, value) {
        if (value !== void 0 && !eq(object[key], value) || value === void 0 && !(key in object)) {
          baseAssignValue(object, key, value);
        }
      }
      module2.exports = assignMergeValue;
    }
  });

  // node_modules/lodash/isArrayLikeObject.js
  var require_isArrayLikeObject = __commonJS({
    "node_modules/lodash/isArrayLikeObject.js"(exports, module2) {
      var isArrayLike = require_isArrayLike();
      var isObjectLike2 = require_isObjectLike();
      function isArrayLikeObject(value) {
        return isObjectLike2(value) && isArrayLike(value);
      }
      module2.exports = isArrayLikeObject;
    }
  });

  // node_modules/lodash/_safeGet.js
  var require_safeGet = __commonJS({
    "node_modules/lodash/_safeGet.js"(exports, module2) {
      function safeGet(object, key) {
        if (key === "constructor" && typeof object[key] === "function") {
          return;
        }
        if (key == "__proto__") {
          return;
        }
        return object[key];
      }
      module2.exports = safeGet;
    }
  });

  // node_modules/lodash/toPlainObject.js
  var require_toPlainObject = __commonJS({
    "node_modules/lodash/toPlainObject.js"(exports, module2) {
      var copyObject = require_copyObject();
      var keysIn = require_keysIn();
      function toPlainObject(value) {
        return copyObject(value, keysIn(value));
      }
      module2.exports = toPlainObject;
    }
  });

  // node_modules/lodash/_baseMergeDeep.js
  var require_baseMergeDeep = __commonJS({
    "node_modules/lodash/_baseMergeDeep.js"(exports, module2) {
      var assignMergeValue = require_assignMergeValue();
      var cloneBuffer = require_cloneBuffer();
      var cloneTypedArray = require_cloneTypedArray();
      var copyArray = require_copyArray();
      var initCloneObject = require_initCloneObject();
      var isArguments = require_isArguments();
      var isArray2 = require_isArray();
      var isArrayLikeObject = require_isArrayLikeObject();
      var isBuffer = require_isBuffer();
      var isFunction3 = require_isFunction();
      var isObject2 = require_isObject();
      var isPlainObject = require_isPlainObject();
      var isTypedArray = require_isTypedArray();
      var safeGet = require_safeGet();
      var toPlainObject = require_toPlainObject();
      function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
        var objValue = safeGet(object, key), srcValue = safeGet(source, key), stacked = stack.get(srcValue);
        if (stacked) {
          assignMergeValue(object, key, stacked);
          return;
        }
        var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source, stack) : void 0;
        var isCommon = newValue === void 0;
        if (isCommon) {
          var isArr = isArray2(srcValue), isBuff = !isArr && isBuffer(srcValue), isTyped = !isArr && !isBuff && isTypedArray(srcValue);
          newValue = srcValue;
          if (isArr || isBuff || isTyped) {
            if (isArray2(objValue)) {
              newValue = objValue;
            } else if (isArrayLikeObject(objValue)) {
              newValue = copyArray(objValue);
            } else if (isBuff) {
              isCommon = false;
              newValue = cloneBuffer(srcValue, true);
            } else if (isTyped) {
              isCommon = false;
              newValue = cloneTypedArray(srcValue, true);
            } else {
              newValue = [];
            }
          } else if (isPlainObject(srcValue) || isArguments(srcValue)) {
            newValue = objValue;
            if (isArguments(objValue)) {
              newValue = toPlainObject(objValue);
            } else if (!isObject2(objValue) || isFunction3(objValue)) {
              newValue = initCloneObject(srcValue);
            }
          } else {
            isCommon = false;
          }
        }
        if (isCommon) {
          stack.set(srcValue, newValue);
          mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
          stack["delete"](srcValue);
        }
        assignMergeValue(object, key, newValue);
      }
      module2.exports = baseMergeDeep;
    }
  });

  // node_modules/lodash/_baseMerge.js
  var require_baseMerge = __commonJS({
    "node_modules/lodash/_baseMerge.js"(exports, module2) {
      var Stack2 = require_Stack();
      var assignMergeValue = require_assignMergeValue();
      var baseFor = require_baseFor();
      var baseMergeDeep = require_baseMergeDeep();
      var isObject2 = require_isObject();
      var keysIn = require_keysIn();
      var safeGet = require_safeGet();
      function baseMerge(object, source, srcIndex, customizer, stack) {
        if (object === source) {
          return;
        }
        baseFor(source, function(srcValue, key) {
          stack || (stack = new Stack2());
          if (isObject2(srcValue)) {
            baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
          } else {
            var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + "", object, source, stack) : void 0;
            if (newValue === void 0) {
              newValue = srcValue;
            }
            assignMergeValue(object, key, newValue);
          }
        }, keysIn);
      }
      module2.exports = baseMerge;
    }
  });

  // node_modules/lodash/_baseRest.js
  var require_baseRest = __commonJS({
    "node_modules/lodash/_baseRest.js"(exports, module2) {
      var identity3 = require_identity();
      var overRest = require_overRest();
      var setToString = require_setToString();
      function baseRest(func, start) {
        return setToString(overRest(func, start, identity3), func + "");
      }
      module2.exports = baseRest;
    }
  });

  // node_modules/lodash/_isIterateeCall.js
  var require_isIterateeCall = __commonJS({
    "node_modules/lodash/_isIterateeCall.js"(exports, module2) {
      var eq = require_eq();
      var isArrayLike = require_isArrayLike();
      var isIndex = require_isIndex();
      var isObject2 = require_isObject();
      function isIterateeCall(value, index, object) {
        if (!isObject2(object)) {
          return false;
        }
        var type = typeof index;
        if (type == "number" ? isArrayLike(object) && isIndex(index, object.length) : type == "string" && index in object) {
          return eq(object[index], value);
        }
        return false;
      }
      module2.exports = isIterateeCall;
    }
  });

  // node_modules/lodash/_createAssigner.js
  var require_createAssigner = __commonJS({
    "node_modules/lodash/_createAssigner.js"(exports, module2) {
      var baseRest = require_baseRest();
      var isIterateeCall = require_isIterateeCall();
      function createAssigner(assigner) {
        return baseRest(function(object, sources) {
          var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : void 0, guard = length > 2 ? sources[2] : void 0;
          customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : void 0;
          if (guard && isIterateeCall(sources[0], sources[1], guard)) {
            customizer = length < 3 ? void 0 : customizer;
            length = 1;
          }
          object = Object(object);
          while (++index < length) {
            var source = sources[index];
            if (source) {
              assigner(object, source, index, customizer);
            }
          }
          return object;
        });
      }
      module2.exports = createAssigner;
    }
  });

  // node_modules/lodash/mergeWith.js
  var require_mergeWith = __commonJS({
    "node_modules/lodash/mergeWith.js"(exports, module2) {
      var baseMerge = require_baseMerge();
      var createAssigner = require_createAssigner();
      var mergeWith2 = createAssigner(function(object, source, srcIndex, customizer) {
        baseMerge(object, source, srcIndex, customizer);
      });
      module2.exports = mergeWith2;
    }
  });

  // packages/shared/render/plugins/Commerce/modules/stripeStore.ts
  var StripeStore, generateDisplayItemsFromOrder, generateShippingOptionsFromMethods;
  var init_stripeStore = __esm({
    "packages/shared/render/plugins/Commerce/modules/stripeStore.ts"() {
      "use strict";
      init_debug();
      init_constants();
      StripeStore = class {
        constructor(docElement) {
          if (window.Webflow.env("design") || window.Webflow.env("preview")) {
            return;
          }
          const stripeJsElement = docElement.querySelector(
            `[${STRIPE_ECOMMERCE_KEY}]`
          );
          if (!stripeJsElement) {
            this.store = {
              initialized: false,
              stripe: {},
              elements: [],
              elementInstances: [],
              cartPaymentRequests: [],
              styleMapObservers: {}
            };
            return debug_default.error(
              "Stripe has not been set up for this project \u2013 Go to the project's Ecommerce Payment settings in the Designer to link Stripe."
            );
          }
          const ecommKey = stripeJsElement.getAttribute(STRIPE_ECOMMERCE_KEY);
          const ecommAccountId = stripeJsElement.getAttribute(
            STRIPE_ECOMMERCE_ACCOUNT_ID
          );
          const stripeOpts = ecommAccountId ? {
            stripeAccount: ecommAccountId,
            apiVersion: "2020-03-02"
          } : null;
          const stripe = window.Stripe(ecommKey, stripeOpts);
          this.store = {
            initialized: true,
            stripe,
            elements: [],
            elementInstances: [],
            cartPaymentRequests: [],
            styleMapObservers: {}
          };
        }
        isInitialized() {
          return this.store.initialized;
        }
        getStripeInstance() {
          return this.store.stripe;
        }
        getElementsInstance(index) {
          return this.store.elements[index];
        }
        getElement(type, index) {
          return this.store.elementInstances[index][type];
        }
        createElementsInstance(index) {
          if (this.store.elements[index]) {
            throw new Error(
              `Storage already exists for checkout form instance ${index}`
            );
          } else {
            const stripeInstance = this.getStripeInstance();
            this.store.elements[index] = stripeInstance.elements();
            this.store.elementInstances[index] = {};
          }
        }
        createElement(type, index, options) {
          if (!this.isInitialized()) {
            throw new Error(
              "Stripe has not been set up for this project \u2013 Go to the project's Ecommerce Payment settings in the Designer to link Stripe."
            );
          }
          if (this.store.elementInstances[index][type]) {
            throw new Error(
              `Stripe Element of type ${type} for instance ${index} already exists on this page`
            );
          }
          const el = this.store.elements[index].create(type, options);
          this.store.elementInstances[index][type] = el;
          return el;
        }
        updateCartPaymentRequest(index, orderData, siteData) {
          const stripeInstance = this.getStripeInstance();
          const requiresShipping = Boolean(orderData.statusFlags.requiresShipping);
          const options = {
            country: siteData.businessAddress.country || siteData.defaultCountry || "US",
            currency: siteData.defaultCurrency.toLowerCase(),
            total: {
              amount: orderData.subtotal.value,
              label: "Subtotal",
              pending: true
            },
            displayItems: generateDisplayItemsFromOrder(orderData, false),
            requestPayerName: true,
            requestPayerEmail: true,
            requestPayerPhone: false,
            requestShipping: requiresShipping
          };
          try {
            this.store.cartPaymentRequests[index] = stripeInstance.paymentRequest(options);
          } catch (error) {
            let ignoreError = false;
            if (error.name === "IntegrationError") {
              const unsupportedCountryPattern = /country should be one of the following strings(?:.*)You specified: (.*)./;
              const matches = error.message.match(unsupportedCountryPattern);
              ignoreError = Boolean(matches);
            }
            if (!ignoreError) {
              throw error;
            } else {
              console.error(error);
            }
          }
          return this.store.cartPaymentRequests[index];
        }
        getCartPaymentRequest(index) {
          return this.store.cartPaymentRequests[index];
        }
      };
      generateDisplayItemsFromOrder = (orderData, showExtraItems) => [
        // @ts-expect-error - TS7006 - Parameter 'item' implicitly has an 'any' type.
        ...orderData.userItems.map((item) => ({
          label: `${item.product.f_name_} ${item.count > 1 ? `(${item.count})` : ""}`,
          amount: item.rowTotal.value
        })),
        ...showExtraItems ? (
          // @ts-expect-error - TS7006 - Parameter 'item' implicitly has an 'any' type.
          orderData.extraItems.map((item) => ({
            label: item.name,
            amount: item.price.value
          }))
        ) : []
      ];
      generateShippingOptionsFromMethods = (shippingMethods) => shippingMethods.map((method) => ({
        id: method.id,
        label: method.name,
        detail: method.description || "",
        amount: method.price.value
      }));
    }
  });

  // node_modules/lodash/merge.js
  var require_merge = __commonJS({
    "node_modules/lodash/merge.js"(exports, module2) {
      var baseMerge = require_baseMerge();
      var createAssigner = require_createAssigner();
      var merge4 = createAssigner(function(object, source, srcIndex) {
        baseMerge(object, source, srcIndex);
      });
      module2.exports = merge4;
    }
  });

  // node_modules/tinycolor2/tinycolor.js
  var require_tinycolor = __commonJS({
    "node_modules/tinycolor2/tinycolor.js"(exports, module2) {
      (function(Math2) {
        var trimLeft = /^\s+/, trimRight = /\s+$/, tinyCounter = 0, mathRound = Math2.round, mathMin = Math2.min, mathMax = Math2.max, mathRandom = Math2.random;
        function tinycolor2(color, opts) {
          color = color ? color : "";
          opts = opts || {};
          if (color instanceof tinycolor2) {
            return color;
          }
          if (!(this instanceof tinycolor2)) {
            return new tinycolor2(color, opts);
          }
          var rgb = inputToRGB(color);
          this._originalInput = color, this._r = rgb.r, this._g = rgb.g, this._b = rgb.b, this._a = rgb.a, this._roundA = mathRound(100 * this._a) / 100, this._format = opts.format || rgb.format;
          this._gradientType = opts.gradientType;
          if (this._r < 1) {
            this._r = mathRound(this._r);
          }
          if (this._g < 1) {
            this._g = mathRound(this._g);
          }
          if (this._b < 1) {
            this._b = mathRound(this._b);
          }
          this._ok = rgb.ok;
          this._tc_id = tinyCounter++;
        }
        tinycolor2.prototype = {
          isDark: function() {
            return this.getBrightness() < 128;
          },
          isLight: function() {
            return !this.isDark();
          },
          isValid: function() {
            return this._ok;
          },
          getOriginalInput: function() {
            return this._originalInput;
          },
          getFormat: function() {
            return this._format;
          },
          getAlpha: function() {
            return this._a;
          },
          getBrightness: function() {
            var rgb = this.toRgb();
            return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1e3;
          },
          getLuminance: function() {
            var rgb = this.toRgb();
            var RsRGB, GsRGB, BsRGB, R, G, B;
            RsRGB = rgb.r / 255;
            GsRGB = rgb.g / 255;
            BsRGB = rgb.b / 255;
            if (RsRGB <= 0.03928) {
              R = RsRGB / 12.92;
            } else {
              R = Math2.pow((RsRGB + 0.055) / 1.055, 2.4);
            }
            if (GsRGB <= 0.03928) {
              G = GsRGB / 12.92;
            } else {
              G = Math2.pow((GsRGB + 0.055) / 1.055, 2.4);
            }
            if (BsRGB <= 0.03928) {
              B = BsRGB / 12.92;
            } else {
              B = Math2.pow((BsRGB + 0.055) / 1.055, 2.4);
            }
            return 0.2126 * R + 0.7152 * G + 0.0722 * B;
          },
          setAlpha: function(value) {
            this._a = boundAlpha(value);
            this._roundA = mathRound(100 * this._a) / 100;
            return this;
          },
          toHsv: function() {
            var hsv = rgbToHsv(this._r, this._g, this._b);
            return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };
          },
          toHsvString: function() {
            var hsv = rgbToHsv(this._r, this._g, this._b);
            var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);
            return this._a == 1 ? "hsv(" + h + ", " + s + "%, " + v + "%)" : "hsva(" + h + ", " + s + "%, " + v + "%, " + this._roundA + ")";
          },
          toHsl: function() {
            var hsl = rgbToHsl(this._r, this._g, this._b);
            return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };
          },
          toHslString: function() {
            var hsl = rgbToHsl(this._r, this._g, this._b);
            var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);
            return this._a == 1 ? "hsl(" + h + ", " + s + "%, " + l + "%)" : "hsla(" + h + ", " + s + "%, " + l + "%, " + this._roundA + ")";
          },
          toHex: function(allow3Char) {
            return rgbToHex(this._r, this._g, this._b, allow3Char);
          },
          toHexString: function(allow3Char) {
            return "#" + this.toHex(allow3Char);
          },
          toHex8: function(allow4Char) {
            return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);
          },
          toHex8String: function(allow4Char) {
            return "#" + this.toHex8(allow4Char);
          },
          toRgb: function() {
            return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };
          },
          toRgbString: function() {
            return this._a == 1 ? "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" : "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")";
          },
          toPercentageRgb: function() {
            return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a };
          },
          toPercentageRgbString: function() {
            return this._a == 1 ? "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" : "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")";
          },
          toName: function() {
            if (this._a === 0) {
              return "transparent";
            }
            if (this._a < 1) {
              return false;
            }
            return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;
          },
          toFilter: function(secondColor) {
            var hex8String = "#" + rgbaToArgbHex(this._r, this._g, this._b, this._a);
            var secondHex8String = hex8String;
            var gradientType = this._gradientType ? "GradientType = 1, " : "";
            if (secondColor) {
              var s = tinycolor2(secondColor);
              secondHex8String = "#" + rgbaToArgbHex(s._r, s._g, s._b, s._a);
            }
            return "progid:DXImageTransform.Microsoft.gradient(" + gradientType + "startColorstr=" + hex8String + ",endColorstr=" + secondHex8String + ")";
          },
          toString: function(format) {
            var formatSet = !!format;
            format = format || this._format;
            var formattedString = false;
            var hasAlpha = this._a < 1 && this._a >= 0;
            var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "hex4" || format === "hex8" || format === "name");
            if (needsAlphaFormat) {
              if (format === "name" && this._a === 0) {
                return this.toName();
              }
              return this.toRgbString();
            }
            if (format === "rgb") {
              formattedString = this.toRgbString();
            }
            if (format === "prgb") {
              formattedString = this.toPercentageRgbString();
            }
            if (format === "hex" || format === "hex6") {
              formattedString = this.toHexString();
            }
            if (format === "hex3") {
              formattedString = this.toHexString(true);
            }
            if (format === "hex4") {
              formattedString = this.toHex8String(true);
            }
            if (format === "hex8") {
              formattedString = this.toHex8String();
            }
            if (format === "name") {
              formattedString = this.toName();
            }
            if (format === "hsl") {
              formattedString = this.toHslString();
            }
            if (format === "hsv") {
              formattedString = this.toHsvString();
            }
            return formattedString || this.toHexString();
          },
          clone: function() {
            return tinycolor2(this.toString());
          },
          _applyModification: function(fn, args) {
            var color = fn.apply(null, [this].concat([].slice.call(args)));
            this._r = color._r;
            this._g = color._g;
            this._b = color._b;
            this.setAlpha(color._a);
            return this;
          },
          lighten: function() {
            return this._applyModification(lighten, arguments);
          },
          brighten: function() {
            return this._applyModification(brighten, arguments);
          },
          darken: function() {
            return this._applyModification(darken, arguments);
          },
          desaturate: function() {
            return this._applyModification(desaturate, arguments);
          },
          saturate: function() {
            return this._applyModification(saturate, arguments);
          },
          greyscale: function() {
            return this._applyModification(greyscale, arguments);
          },
          spin: function() {
            return this._applyModification(spin, arguments);
          },
          _applyCombination: function(fn, args) {
            return fn.apply(null, [this].concat([].slice.call(args)));
          },
          analogous: function() {
            return this._applyCombination(analogous, arguments);
          },
          complement: function() {
            return this._applyCombination(complement2, arguments);
          },
          monochromatic: function() {
            return this._applyCombination(monochromatic, arguments);
          },
          splitcomplement: function() {
            return this._applyCombination(splitcomplement, arguments);
          },
          triad: function() {
            return this._applyCombination(triad, arguments);
          },
          tetrad: function() {
            return this._applyCombination(tetrad, arguments);
          }
        };
        tinycolor2.fromRatio = function(color, opts) {
          if (typeof color == "object") {
            var newColor = {};
            for (var i in color) {
              if (color.hasOwnProperty(i)) {
                if (i === "a") {
                  newColor[i] = color[i];
                } else {
                  newColor[i] = convertToPercentage(color[i]);
                }
              }
            }
            color = newColor;
          }
          return tinycolor2(color, opts);
        };
        function inputToRGB(color) {
          var rgb = { r: 0, g: 0, b: 0 };
          var a = 1;
          var s = null;
          var v = null;
          var l = null;
          var ok = false;
          var format = false;
          if (typeof color == "string") {
            color = stringInputToObject(color);
          }
          if (typeof color == "object") {
            if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {
              rgb = rgbToRgb(color.r, color.g, color.b);
              ok = true;
              format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb";
            } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {
              s = convertToPercentage(color.s);
              v = convertToPercentage(color.v);
              rgb = hsvToRgb(color.h, s, v);
              ok = true;
              format = "hsv";
            } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {
              s = convertToPercentage(color.s);
              l = convertToPercentage(color.l);
              rgb = hslToRgb(color.h, s, l);
              ok = true;
              format = "hsl";
            }
            if (color.hasOwnProperty("a")) {
              a = color.a;
            }
          }
          a = boundAlpha(a);
          return {
            ok,
            format: color.format || format,
            r: mathMin(255, mathMax(rgb.r, 0)),
            g: mathMin(255, mathMax(rgb.g, 0)),
            b: mathMin(255, mathMax(rgb.b, 0)),
            a
          };
        }
        function rgbToRgb(r, g, b) {
          return {
            r: bound01(r, 255) * 255,
            g: bound01(g, 255) * 255,
            b: bound01(b, 255) * 255
          };
        }
        function rgbToHsl(r, g, b) {
          r = bound01(r, 255);
          g = bound01(g, 255);
          b = bound01(b, 255);
          var max = mathMax(r, g, b), min = mathMin(r, g, b);
          var h, s, l = (max + min) / 2;
          if (max == min) {
            h = s = 0;
          } else {
            var d = max - min;
            s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
            switch (max) {
              case r:
                h = (g - b) / d + (g < b ? 6 : 0);
                break;
              case g:
                h = (b - r) / d + 2;
                break;
              case b:
                h = (r - g) / d + 4;
                break;
            }
            h /= 6;
          }
          return { h, s, l };
        }
        function hslToRgb(h, s, l) {
          var r, g, b;
          h = bound01(h, 360);
          s = bound01(s, 100);
          l = bound01(l, 100);
          function hue2rgb(p2, q2, t) {
            if (t < 0)
              t += 1;
            if (t > 1)
              t -= 1;
            if (t < 1 / 6)
              return p2 + (q2 - p2) * 6 * t;
            if (t < 1 / 2)
              return q2;
            if (t < 2 / 3)
              return p2 + (q2 - p2) * (2 / 3 - t) * 6;
            return p2;
          }
          if (s === 0) {
            r = g = b = l;
          } else {
            var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
            var p = 2 * l - q;
            r = hue2rgb(p, q, h + 1 / 3);
            g = hue2rgb(p, q, h);
            b = hue2rgb(p, q, h - 1 / 3);
          }
          return { r: r * 255, g: g * 255, b: b * 255 };
        }
        function rgbToHsv(r, g, b) {
          r = bound01(r, 255);
          g = bound01(g, 255);
          b = bound01(b, 255);
          var max = mathMax(r, g, b), min = mathMin(r, g, b);
          var h, s, v = max;
          var d = max - min;
          s = max === 0 ? 0 : d / max;
          if (max == min) {
            h = 0;
          } else {
            switch (max) {
              case r:
                h = (g - b) / d + (g < b ? 6 : 0);
                break;
              case g:
                h = (b - r) / d + 2;
                break;
              case b:
                h = (r - g) / d + 4;
                break;
            }
            h /= 6;
          }
          return { h, s, v };
        }
        function hsvToRgb(h, s, v) {
          h = bound01(h, 360) * 6;
          s = bound01(s, 100);
          v = bound01(v, 100);
          var i = Math2.floor(h), f = h - i, p = v * (1 - s), q = v * (1 - f * s), t = v * (1 - (1 - f) * s), mod = i % 6, r = [v, q, p, p, t, v][mod], g = [t, v, v, q, p, p][mod], b = [p, p, t, v, v, q][mod];
          return { r: r * 255, g: g * 255, b: b * 255 };
        }
        function rgbToHex(r, g, b, allow3Char) {
          var hex = [
            pad2(mathRound(r).toString(16)),
            pad2(mathRound(g).toString(16)),
            pad2(mathRound(b).toString(16))
          ];
          if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {
            return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);
          }
          return hex.join("");
        }
        function rgbaToHex(r, g, b, a, allow4Char) {
          var hex = [
            pad2(mathRound(r).toString(16)),
            pad2(mathRound(g).toString(16)),
            pad2(mathRound(b).toString(16)),
            pad2(convertDecimalToHex(a))
          ];
          if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {
            return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);
          }
          return hex.join("");
        }
        function rgbaToArgbHex(r, g, b, a) {
          var hex = [
            pad2(convertDecimalToHex(a)),
            pad2(mathRound(r).toString(16)),
            pad2(mathRound(g).toString(16)),
            pad2(mathRound(b).toString(16))
          ];
          return hex.join("");
        }
        tinycolor2.equals = function(color1, color2) {
          if (!color1 || !color2) {
            return false;
          }
          return tinycolor2(color1).toRgbString() == tinycolor2(color2).toRgbString();
        };
        tinycolor2.random = function() {
          return tinycolor2.fromRatio({
            r: mathRandom(),
            g: mathRandom(),
            b: mathRandom()
          });
        };
        function desaturate(color, amount) {
          amount = amount === 0 ? 0 : amount || 10;
          var hsl = tinycolor2(color).toHsl();
          hsl.s -= amount / 100;
          hsl.s = clamp01(hsl.s);
          return tinycolor2(hsl);
        }
        function saturate(color, amount) {
          amount = amount === 0 ? 0 : amount || 10;
          var hsl = tinycolor2(color).toHsl();
          hsl.s += amount / 100;
          hsl.s = clamp01(hsl.s);
          return tinycolor2(hsl);
        }
        function greyscale(color) {
          return tinycolor2(color).desaturate(100);
        }
        function lighten(color, amount) {
          amount = amount === 0 ? 0 : amount || 10;
          var hsl = tinycolor2(color).toHsl();
          hsl.l += amount / 100;
          hsl.l = clamp01(hsl.l);
          return tinycolor2(hsl);
        }
        function brighten(color, amount) {
          amount = amount === 0 ? 0 : amount || 10;
          var rgb = tinycolor2(color).toRgb();
          rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * -(amount / 100))));
          rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * -(amount / 100))));
          rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * -(amount / 100))));
          return tinycolor2(rgb);
        }
        function darken(color, amount) {
          amount = amount === 0 ? 0 : amount || 10;
          var hsl = tinycolor2(color).toHsl();
          hsl.l -= amount / 100;
          hsl.l = clamp01(hsl.l);
          return tinycolor2(hsl);
        }
        function spin(color, amount) {
          var hsl = tinycolor2(color).toHsl();
          var hue = (hsl.h + amount) % 360;
          hsl.h = hue < 0 ? 360 + hue : hue;
          return tinycolor2(hsl);
        }
        function complement2(color) {
          var hsl = tinycolor2(color).toHsl();
          hsl.h = (hsl.h + 180) % 360;
          return tinycolor2(hsl);
        }
        function triad(color) {
          var hsl = tinycolor2(color).toHsl();
          var h = hsl.h;
          return [
            tinycolor2(color),
            tinycolor2({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),
            tinycolor2({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })
          ];
        }
        function tetrad(color) {
          var hsl = tinycolor2(color).toHsl();
          var h = hsl.h;
          return [
            tinycolor2(color),
            tinycolor2({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),
            tinycolor2({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),
            tinycolor2({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })
          ];
        }
        function splitcomplement(color) {
          var hsl = tinycolor2(color).toHsl();
          var h = hsl.h;
          return [
            tinycolor2(color),
            tinycolor2({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),
            tinycolor2({ h: (h + 216) % 360, s: hsl.s, l: hsl.l })
          ];
        }
        function analogous(color, results, slices) {
          results = results || 6;
          slices = slices || 30;
          var hsl = tinycolor2(color).toHsl();
          var part = 360 / slices;
          var ret = [tinycolor2(color)];
          for (hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results; ) {
            hsl.h = (hsl.h + part) % 360;
            ret.push(tinycolor2(hsl));
          }
          return ret;
        }
        function monochromatic(color, results) {
          results = results || 6;
          var hsv = tinycolor2(color).toHsv();
          var h = hsv.h, s = hsv.s, v = hsv.v;
          var ret = [];
          var modification = 1 / results;
          while (results--) {
            ret.push(tinycolor2({ h, s, v }));
            v = (v + modification) % 1;
          }
          return ret;
        }
        tinycolor2.mix = function(color1, color2, amount) {
          amount = amount === 0 ? 0 : amount || 50;
          var rgb1 = tinycolor2(color1).toRgb();
          var rgb2 = tinycolor2(color2).toRgb();
          var p = amount / 100;
          var rgba = {
            r: (rgb2.r - rgb1.r) * p + rgb1.r,
            g: (rgb2.g - rgb1.g) * p + rgb1.g,
            b: (rgb2.b - rgb1.b) * p + rgb1.b,
            a: (rgb2.a - rgb1.a) * p + rgb1.a
          };
          return tinycolor2(rgba);
        };
        tinycolor2.readability = function(color1, color2) {
          var c1 = tinycolor2(color1);
          var c2 = tinycolor2(color2);
          return (Math2.max(c1.getLuminance(), c2.getLuminance()) + 0.05) / (Math2.min(c1.getLuminance(), c2.getLuminance()) + 0.05);
        };
        tinycolor2.isReadable = function(color1, color2, wcag2) {
          var readability = tinycolor2.readability(color1, color2);
          var wcag2Parms, out;
          out = false;
          wcag2Parms = validateWCAG2Parms(wcag2);
          switch (wcag2Parms.level + wcag2Parms.size) {
            case "AAsmall":
            case "AAAlarge":
              out = readability >= 4.5;
              break;
            case "AAlarge":
              out = readability >= 3;
              break;
            case "AAAsmall":
              out = readability >= 7;
              break;
          }
          return out;
        };
        tinycolor2.mostReadable = function(baseColor, colorList, args) {
          var bestColor = null;
          var bestScore = 0;
          var readability;
          var includeFallbackColors, level, size2;
          args = args || {};
          includeFallbackColors = args.includeFallbackColors;
          level = args.level;
          size2 = args.size;
          for (var i = 0; i < colorList.length; i++) {
            readability = tinycolor2.readability(baseColor, colorList[i]);
            if (readability > bestScore) {
              bestScore = readability;
              bestColor = tinycolor2(colorList[i]);
            }
          }
          if (tinycolor2.isReadable(baseColor, bestColor, { "level": level, "size": size2 }) || !includeFallbackColors) {
            return bestColor;
          } else {
            args.includeFallbackColors = false;
            return tinycolor2.mostReadable(baseColor, ["#fff", "#000"], args);
          }
        };
        var names = tinycolor2.names = {
          aliceblue: "f0f8ff",
          antiquewhite: "faebd7",
          aqua: "0ff",
          aquamarine: "7fffd4",
          azure: "f0ffff",
          beige: "f5f5dc",
          bisque: "ffe4c4",
          black: "000",
          blanchedalmond: "ffebcd",
          blue: "00f",
          blueviolet: "8a2be2",
          brown: "a52a2a",
          burlywood: "deb887",
          burntsienna: "ea7e5d",
          cadetblue: "5f9ea0",
          chartreuse: "7fff00",
          chocolate: "d2691e",
          coral: "ff7f50",
          cornflowerblue: "6495ed",
          cornsilk: "fff8dc",
          crimson: "dc143c",
          cyan: "0ff",
          darkblue: "00008b",
          darkcyan: "008b8b",
          darkgoldenrod: "b8860b",
          darkgray: "a9a9a9",
          darkgreen: "006400",
          darkgrey: "a9a9a9",
          darkkhaki: "bdb76b",
          darkmagenta: "8b008b",
          darkolivegreen: "556b2f",
          darkorange: "ff8c00",
          darkorchid: "9932cc",
          darkred: "8b0000",
          darksalmon: "e9967a",
          darkseagreen: "8fbc8f",
          darkslateblue: "483d8b",
          darkslategray: "2f4f4f",
          darkslategrey: "2f4f4f",
          darkturquoise: "00ced1",
          darkviolet: "9400d3",
          deeppink: "ff1493",
          deepskyblue: "00bfff",
          dimgray: "696969",
          dimgrey: "696969",
          dodgerblue: "1e90ff",
          firebrick: "b22222",
          floralwhite: "fffaf0",
          forestgreen: "228b22",
          fuchsia: "f0f",
          gainsboro: "dcdcdc",
          ghostwhite: "f8f8ff",
          gold: "ffd700",
          goldenrod: "daa520",
          gray: "808080",
          green: "008000",
          greenyellow: "adff2f",
          grey: "808080",
          honeydew: "f0fff0",
          hotpink: "ff69b4",
          indianred: "cd5c5c",
          indigo: "4b0082",
          ivory: "fffff0",
          khaki: "f0e68c",
          lavender: "e6e6fa",
          lavenderblush: "fff0f5",
          lawngreen: "7cfc00",
          lemonchiffon: "fffacd",
          lightblue: "add8e6",
          lightcoral: "f08080",
          lightcyan: "e0ffff",
          lightgoldenrodyellow: "fafad2",
          lightgray: "d3d3d3",
          lightgreen: "90ee90",
          lightgrey: "d3d3d3",
          lightpink: "ffb6c1",
          lightsalmon: "ffa07a",
          lightseagreen: "20b2aa",
          lightskyblue: "87cefa",
          lightslategray: "789",
          lightslategrey: "789",
          lightsteelblue: "b0c4de",
          lightyellow: "ffffe0",
          lime: "0f0",
          limegreen: "32cd32",
          linen: "faf0e6",
          magenta: "f0f",
          maroon: "800000",
          mediumaquamarine: "66cdaa",
          mediumblue: "0000cd",
          mediumorchid: "ba55d3",
          mediumpurple: "9370db",
          mediumseagreen: "3cb371",
          mediumslateblue: "7b68ee",
          mediumspringgreen: "00fa9a",
          mediumturquoise: "48d1cc",
          mediumvioletred: "c71585",
          midnightblue: "191970",
          mintcream: "f5fffa",
          mistyrose: "ffe4e1",
          moccasin: "ffe4b5",
          navajowhite: "ffdead",
          navy: "000080",
          oldlace: "fdf5e6",
          olive: "808000",
          olivedrab: "6b8e23",
          orange: "ffa500",
          orangered: "ff4500",
          orchid: "da70d6",
          palegoldenrod: "eee8aa",
          palegreen: "98fb98",
          paleturquoise: "afeeee",
          palevioletred: "db7093",
          papayawhip: "ffefd5",
          peachpuff: "ffdab9",
          peru: "cd853f",
          pink: "ffc0cb",
          plum: "dda0dd",
          powderblue: "b0e0e6",
          purple: "800080",
          rebeccapurple: "663399",
          red: "f00",
          rosybrown: "bc8f8f",
          royalblue: "4169e1",
          saddlebrown: "8b4513",
          salmon: "fa8072",
          sandybrown: "f4a460",
          seagreen: "2e8b57",
          seashell: "fff5ee",
          sienna: "a0522d",
          silver: "c0c0c0",
          skyblue: "87ceeb",
          slateblue: "6a5acd",
          slategray: "708090",
          slategrey: "708090",
          snow: "fffafa",
          springgreen: "00ff7f",
          steelblue: "4682b4",
          tan: "d2b48c",
          teal: "008080",
          thistle: "d8bfd8",
          tomato: "ff6347",
          turquoise: "40e0d0",
          violet: "ee82ee",
          wheat: "f5deb3",
          white: "fff",
          whitesmoke: "f5f5f5",
          yellow: "ff0",
          yellowgreen: "9acd32"
        };
        var hexNames = tinycolor2.hexNames = flip2(names);
        function flip2(o) {
          var flipped = {};
          for (var i in o) {
            if (o.hasOwnProperty(i)) {
              flipped[o[i]] = i;
            }
          }
          return flipped;
        }
        function boundAlpha(a) {
          a = parseFloat(a);
          if (isNaN(a) || a < 0 || a > 1) {
            a = 1;
          }
          return a;
        }
        function bound01(n, max) {
          if (isOnePointZero(n)) {
            n = "100%";
          }
          var processPercent = isPercentage(n);
          n = mathMin(max, mathMax(0, parseFloat(n)));
          if (processPercent) {
            n = parseInt(n * max, 10) / 100;
          }
          if (Math2.abs(n - max) < 1e-6) {
            return 1;
          }
          return n % max / parseFloat(max);
        }
        function clamp01(val) {
          return mathMin(1, mathMax(0, val));
        }
        function parseIntFromHex(val) {
          return parseInt(val, 16);
        }
        function isOnePointZero(n) {
          return typeof n == "string" && n.indexOf(".") != -1 && parseFloat(n) === 1;
        }
        function isPercentage(n) {
          return typeof n === "string" && n.indexOf("%") != -1;
        }
        function pad2(c) {
          return c.length == 1 ? "0" + c : "" + c;
        }
        function convertToPercentage(n) {
          if (n <= 1) {
            n = n * 100 + "%";
          }
          return n;
        }
        function convertDecimalToHex(d) {
          return Math2.round(parseFloat(d) * 255).toString(16);
        }
        function convertHexToDecimal(h) {
          return parseIntFromHex(h) / 255;
        }
        var matchers = function() {
          var CSS_INTEGER = "[-\\+]?\\d+%?";
          var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?";
          var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")";
          var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
          var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
          return {
            CSS_UNIT: new RegExp(CSS_UNIT),
            rgb: new RegExp("rgb" + PERMISSIVE_MATCH3),
            rgba: new RegExp("rgba" + PERMISSIVE_MATCH4),
            hsl: new RegExp("hsl" + PERMISSIVE_MATCH3),
            hsla: new RegExp("hsla" + PERMISSIVE_MATCH4),
            hsv: new RegExp("hsv" + PERMISSIVE_MATCH3),
            hsva: new RegExp("hsva" + PERMISSIVE_MATCH4),
            hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
            hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
            hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
            hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
          };
        }();
        function isValidCSSUnit(color) {
          return !!matchers.CSS_UNIT.exec(color);
        }
        function stringInputToObject(color) {
          color = color.replace(trimLeft, "").replace(trimRight, "").toLowerCase();
          var named = false;
          if (names[color]) {
            color = names[color];
            named = true;
          } else if (color == "transparent") {
            return { r: 0, g: 0, b: 0, a: 0, format: "name" };
          }
          var match;
          if (match = matchers.rgb.exec(color)) {
            return { r: match[1], g: match[2], b: match[3] };
          }
          if (match = matchers.rgba.exec(color)) {
            return { r: match[1], g: match[2], b: match[3], a: match[4] };
          }
          if (match = matchers.hsl.exec(color)) {
            return { h: match[1], s: match[2], l: match[3] };
          }
          if (match = matchers.hsla.exec(color)) {
            return { h: match[1], s: match[2], l: match[3], a: match[4] };
          }
          if (match = matchers.hsv.exec(color)) {
            return { h: match[1], s: match[2], v: match[3] };
          }
          if (match = matchers.hsva.exec(color)) {
            return { h: match[1], s: match[2], v: match[3], a: match[4] };
          }
          if (match = matchers.hex8.exec(color)) {
            return {
              r: parseIntFromHex(match[1]),
              g: parseIntFromHex(match[2]),
              b: parseIntFromHex(match[3]),
              a: convertHexToDecimal(match[4]),
              format: named ? "name" : "hex8"
            };
          }
          if (match = matchers.hex6.exec(color)) {
            return {
              r: parseIntFromHex(match[1]),
              g: parseIntFromHex(match[2]),
              b: parseIntFromHex(match[3]),
              format: named ? "name" : "hex"
            };
          }
          if (match = matchers.hex4.exec(color)) {
            return {
              r: parseIntFromHex(match[1] + "" + match[1]),
              g: parseIntFromHex(match[2] + "" + match[2]),
              b: parseIntFromHex(match[3] + "" + match[3]),
              a: convertHexToDecimal(match[4] + "" + match[4]),
              format: named ? "name" : "hex8"
            };
          }
          if (match = matchers.hex3.exec(color)) {
            return {
              r: parseIntFromHex(match[1] + "" + match[1]),
              g: parseIntFromHex(match[2] + "" + match[2]),
              b: parseIntFromHex(match[3] + "" + match[3]),
              format: named ? "name" : "hex"
            };
          }
          return false;
        }
        function validateWCAG2Parms(parms) {
          var level, size2;
          parms = parms || { "level": "AA", "size": "small" };
          level = (parms.level || "AA").toUpperCase();
          size2 = (parms.size || "small").toLowerCase();
          if (level !== "AA" && level !== "AAA") {
            level = "AA";
          }
          if (size2 !== "small" && size2 !== "large") {
            size2 = "small";
          }
          return { "level": level, "size": size2 };
        }
        if (typeof module2 !== "undefined" && module2.exports) {
          module2.exports = tinycolor2;
        } else if (typeof define === "function" && define.amd) {
          define(function() {
            return tinycolor2;
          });
        } else {
          window.tinycolor = tinycolor2;
        }
      })(Math);
    }
  });

  // packages/systems/style/breakpoint-ids/index.ts
  var BREAKPOINT_ID_XXL, BREAKPOINT_ID_XL, BREAKPOINT_ID_LARGE, BREAKPOINT_ID_MAIN, BREAKPOINT_ID_MEDIUM, BREAKPOINT_ID_SMALL, BREAKPOINT_ID_TINY;
  var init_breakpoint_ids = __esm({
    "packages/systems/style/breakpoint-ids/index.ts"() {
      "use strict";
      BREAKPOINT_ID_XXL = "xxl";
      BREAKPOINT_ID_XL = "xl";
      BREAKPOINT_ID_LARGE = "large";
      BREAKPOINT_ID_MAIN = "main";
      BREAKPOINT_ID_MEDIUM = "medium";
      BREAKPOINT_ID_SMALL = "small";
      BREAKPOINT_ID_TINY = "tiny";
    }
  });

  // packages/systems/style/breakpoints-config/index.ts
  var DEFAULT_BREAKPOINTS_CONFIG, LARGER_BREAKPOINTS_CONFIG, LARGER_BREAKPOINTS_WORDING;
  var init_breakpoints_config = __esm({
    "packages/systems/style/breakpoints-config/index.ts"() {
      "use strict";
      init_breakpoint_ids();
      DEFAULT_BREAKPOINTS_CONFIG = {
        [BREAKPOINT_ID_MAIN]: {
          maxWidth: 1e4
        },
        [BREAKPOINT_ID_MEDIUM]: {
          maxWidth: 991
        },
        [BREAKPOINT_ID_SMALL]: {
          maxWidth: 767
        },
        [BREAKPOINT_ID_TINY]: {
          maxWidth: 479
        }
      };
      LARGER_BREAKPOINTS_CONFIG = {
        [BREAKPOINT_ID_MAIN]: {
          maxWidth: 1e4
        },
        [BREAKPOINT_ID_XXL]: {
          minWidth: 1920
        },
        [BREAKPOINT_ID_XL]: {
          minWidth: 1440
        },
        [BREAKPOINT_ID_LARGE]: {
          minWidth: 1280
        },
        [BREAKPOINT_ID_MEDIUM]: {
          maxWidth: 991
        },
        [BREAKPOINT_ID_SMALL]: {
          maxWidth: 767
        },
        [BREAKPOINT_ID_TINY]: {
          maxWidth: 479
        }
      };
      LARGER_BREAKPOINTS_WORDING = {
        [BREAKPOINT_ID_XXL]: {
          label: "1920px",
          description: null,
          copy: "Styles added here will apply at 1920px and up."
        },
        [BREAKPOINT_ID_XL]: {
          label: "1440px",
          description: null,
          copy: "Styles added here will apply at 1440px and up, unless they\u2019re edited at a larger breakpoint."
        },
        [BREAKPOINT_ID_LARGE]: {
          label: "1280px",
          description: null,
          copy: "Styles added here will apply at 1280px and up, unless they\u2019re edited at a larger breakpoint."
        },
        [BREAKPOINT_ID_MAIN]: {
          label: "Desktop",
          description: "Base breakpoint",
          copy: "Desktop styles apply at all breakpoints, unless they\u2019re edited at a larger or smaller breakpoint. Start your styling here."
        },
        [BREAKPOINT_ID_MEDIUM]: {
          label: "Tablet",
          description: "991px and down",
          copy: "Styles added here will apply at 991px and down, unless they\u2019re edited at a smaller breakpoint."
        },
        [BREAKPOINT_ID_SMALL]: {
          label: "Mobile landscape",
          description: "767px and down",
          copy: "Styles added here will apply at 767px and down, unless they\u2019re edited at a smaller breakpoint."
        },
        [BREAKPOINT_ID_TINY]: {
          label: "Mobile portrait",
          description: "478px and down",
          copy: "Styles added here will apply at 478px and down."
        }
      };
    }
  });

  // packages/shared/render/plugins/Commerce/StyleMapObserver.ts
  var import_merge, import_tinycolor2, STYLE_MAP_ATTR, orderedBreakpointIds, ORDERED_MEDIA_QUERIES, StyleMapObserver;
  var init_StyleMapObserver = __esm({
    "packages/shared/render/plugins/Commerce/StyleMapObserver.ts"() {
      "use strict";
      import_merge = __toESM(require_merge());
      import_tinycolor2 = __toESM(require_tinycolor());
      init_breakpoints_config();
      init_breakpoint_ids();
      STYLE_MAP_ATTR = "data-wf-style-map";
      orderedBreakpointIds = [
        BREAKPOINT_ID_MAIN,
        BREAKPOINT_ID_LARGE,
        BREAKPOINT_ID_XL,
        BREAKPOINT_ID_XXL,
        BREAKPOINT_ID_MEDIUM,
        BREAKPOINT_ID_SMALL,
        BREAKPOINT_ID_TINY
      ];
      ORDERED_MEDIA_QUERIES = orderedBreakpointIds.map((breakpointId) => {
        const config = LARGER_BREAKPOINTS_CONFIG[breakpointId];
        let prop;
        let value;
        if ("minWidth" in config) {
          prop = "min-width";
          value = config.minWidth;
        }
        if ("maxWidth" in config) {
          prop = "max-width";
          value = config.maxWidth;
        }
        if (prop === void 0 || value === void 0) {
          throw new Error(
            'Bad breakpoint config, expected either "minWidth" or "maxWidth".'
          );
        }
        return {
          name: breakpointId,
          query: `(${prop}: ${value}px)`
        };
      });
      StyleMapObserver = class {
        styles = void 0;
        observer = void 0;
        mediaQueries = [];
        options = { onChange: () => {
        } };
        constructor(element, options) {
          this.options = options;
          if (element.hasAttribute(STYLE_MAP_ATTR)) {
            const styleMapJSON = element.getAttribute(STYLE_MAP_ATTR);
            if (styleMapJSON) {
              this.setStylesFromJSON(styleMapJSON);
              const doc = element.ownerDocument;
              const win = doc.defaultView;
              this.mediaQueries = ORDERED_MEDIA_QUERIES.map((mq) => ({
                ...mq,
                // @ts-expect-error - TS18047 - 'win' is possibly 'null'.
                listener: win.matchMedia(mq.query)
              }));
              this.observer = new win.MutationObserver(this.handleMutationObserver);
              this.observer.observe(element, {
                attributes: true
              });
              this.mediaQueries.forEach(({ listener }) => {
                listener.addListener(this.dispatch);
              });
              this.dispatch();
            }
          }
        }
        setStylesFromJSON(styleMapJSON) {
          try {
            this.styles = JSON.parse(styleMapJSON);
          } catch (e) {
            this.styles = {};
          }
        }
        getAppliedStyles() {
          if (!this.styles) {
            return;
          }
          const styles = this.styles;
          const appliedStyles = this.mediaQueries.reduce(
            (stylesMap, { listener, name }) => listener.matches ? (0, import_merge.default)(stylesMap, styles[name]) : stylesMap,
            {}
          );
          return appliedStyles;
        }
        dispatch = () => {
          this.options.onChange(this.getAppliedStyles());
        };
        handleMutationObserver = (mutationList) => {
          mutationList.forEach((mutation) => {
            if (mutation.type === "attributes" && mutation.attributeName === STYLE_MAP_ATTR && mutation.target.hasAttribute(STYLE_MAP_ATTR)) {
              const styleMapJSON = mutation.target.getAttribute(STYLE_MAP_ATTR);
              if (styleMapJSON) {
                this.setStylesFromJSON(styleMapJSON);
                this.dispatch();
              }
            }
          });
        };
        destroy() {
          if (this.observer) {
            this.observer.disconnect();
          }
          this.mediaQueries.forEach(({ listener }) => {
            listener.removeListener(this.dispatch);
          });
        }
      };
      __publicField(StyleMapObserver, "appliedStylesToStripeElementStyles", (appliedStylesMap) => {
        if (!appliedStylesMap) {
          return {};
        }
        const appliedStylesMapWithUpdatedColorValues = Object.keys(
          appliedStylesMap
        ).reduce((updatedStyles, styleKey) => {
          const colorVal = appliedStylesMap[styleKey].color;
          const textShadowVal = (
            // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'Partial<Record<"lang" | "active" | "placeholder" | "focus" | "after" | "before" | "hover" | "empty" | "noPseudo" | "nth-child(odd)" | "nth-child(even)" | "first-child" | "last-child" | "pressed" | "visited" | "focus-visible" | "focus-within", { ...; }>>'.
            appliedStylesMap[styleKey].textShadow && // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'Partial<Record<"lang" | "active" | "placeholder" | "focus" | "after" | "before" | "hover" | "empty" | "noPseudo" | "nth-child(odd)" | "nth-child(even)" | "first-child" | "last-child" | "pressed" | "visited" | "focus-visible" | "focus-within", { ...; }>>'.
            appliedStylesMap[styleKey].textShadow.split(/(?=hsla)/)
          );
          updatedStyles[styleKey] = appliedStylesMap[styleKey];
          if (colorVal) {
            updatedStyles[styleKey].color = (0, import_tinycolor2.default)(colorVal).toRgbString();
          }
          if (textShadowVal && textShadowVal.length > 1) {
            updatedStyles[styleKey].textShadow = textShadowVal[0] + (0, import_tinycolor2.default)(textShadowVal[1]).toRgbString();
          }
          return updatedStyles;
        }, {});
        const styles = {
          ...appliedStylesMapWithUpdatedColorValues.noPseudo,
          ":hover": appliedStylesMapWithUpdatedColorValues.hover,
          ":focus": appliedStylesMapWithUpdatedColorValues.focus,
          "::placeholder": appliedStylesMapWithUpdatedColorValues.placeholder
        };
        return {
          base: styles,
          invalid: styles,
          empty: styles,
          complete: styles
        };
      });
    }
  });

  // packages/shared/render/plugins/Commerce/modules/checkoutMutations.ts
  var updateOrderIdentityMutation, updateOrderAddressMutation, updateObfuscatedOrderAddressMutation, updateOrderShippingMethodMutation, updateOrderStripePaymentMethodMutation, updateCustomData, estimateOrderTaxesMutation, recalcOrderEstimationsMutation, requestPayPalOrderMutation, syncPayPalOrderInfo, attemptSubmitOrderMutation, applyDiscountMutation;
  var init_checkoutMutations = __esm({
    "packages/shared/render/plugins/Commerce/modules/checkoutMutations.ts"() {
      "use strict";
      init_lib7();
      updateOrderIdentityMutation = lib_default2`
  mutation CheckoutUpdateOrderIdentity($email: String) {
    ecommerceUpdateIdentity(email: $email) {
      ok
    }
  }
`;
      updateOrderAddressMutation = lib_default2`
  mutation CheckoutUpdateOrderAddress(
    $type: String!
    $name: String
    $address_line1: String
    $address_line2: String
    $address_city: String
    $address_state: String
    $address_country: String
    $address_zip: String
  ) {
    ecommerceUpdateAddress(
      type: $type
      addressee: $name
      line1: $address_line1
      line2: $address_line2
      city: $address_city
      state: $address_state
      country: $address_country
      postalCode: $address_zip
    ) {
      ok
    }
  }
`;
      updateObfuscatedOrderAddressMutation = lib_default2`
  mutation CheckoutUpdateObfuscatedOrderAddress(
    $type: String!
    $name: String
    $address_line1: String
    $address_line2: String
    $address_city: String
    $address_state: String
    $address_country: String
    $address_zip: String
  ) {
    ecommerceUpdateObfuscatedAddress(
      type: $type
      addressee: $name
      line1: $address_line1
      line2: $address_line2
      city: $address_city
      state: $address_state
      country: $address_country
      postalCode: $address_zip
    ) {
      ok
    }
  }
`;
      updateOrderShippingMethodMutation = lib_default2`
  mutation CheckoutUpdateShippingMethod($id: String) {
    ecommerceUpdateShippingMethod(methodId: $id) {
      ok
    }
  }
`;
      updateOrderStripePaymentMethodMutation = lib_default2`
  mutation CheckoutUpdateStripePaymentMethod($paymentMethod: String!) {
    ecommerceStoreStripePaymentMethod(paymentMethod: $paymentMethod) {
      ok
    }
  }
`;
      updateCustomData = lib_default2`
  mutation CheckoutUpdateCustomData(
    $customData: [mutation_commerce_update_custom_data]!
  ) {
    ecommerceUpdateCustomData(customData: $customData) {
      ok
    }
  }
`;
      estimateOrderTaxesMutation = lib_default2`
  mutation CheckoutEstimateOrderTaxes {
    ecommerceEstimateTaxes {
      ok
    }
  }
`;
      recalcOrderEstimationsMutation = lib_default2`
  mutation CheckoutRecalcOrderEstimations {
    ecommerceRecalcEstimations {
      ok
    }
  }
`;
      requestPayPalOrderMutation = lib_default2`
  mutation CheckoutRequestPayPalOrder {
    ecommercePaypalOrderRequest {
      orderId
    }
  }
`;
      syncPayPalOrderInfo = lib_default2`
  mutation CheckoutSyncPayPalInfo {
    ecommerceSyncPaypalOrderInfoToWF {
      ok
    }
  }
`;
      attemptSubmitOrderMutation = lib_default2`
  mutation CheckoutAttemptSubmitOrder(
    $checkoutType: mutation_commerce_checkout_type
    $paymentIntentId: String
  ) {
    ecommerceAttemptSubmitOrder(
      checkoutType: $checkoutType
      paymentIntentId: $paymentIntentId
    ) {
      orderId
      token
      ok
      customerPaid {
        decimalValue
        unit
      }
      purchasedItems {
        id
        name
        count
        price {
          decimalValue
        }
      }
      status
      clientSecret
      nextAction
    }
  }
`;
      applyDiscountMutation = lib_default2`
  mutation CheckoutApplyDiscount($discountCode: String!) {
    ecommerceApplyDiscount(discountCode: $discountCode) {
      ok
    }
  }
`;
    }
  });

  // packages/shared/render/plugins/Commerce/modules/checkoutUtils.ts
  var syncStylesToStripeElement, initializeStripeElements, errorCodeToCheckoutErrorType, getErrorType2, updateErrorMessage, elementNameByGraphQLError, updateRequiredFields, showErrorMessageForError, beforeUnloadHandler, createOrderIdentityMutation, createOrderAddressMutation, createOrderShippingMethodMutation, createCustomDataMutation, createStripePaymentMethodMutation, createRecalcOrderEstimationsMutation, createUpdateObfuscatedOrderAddressMutation, renderCheckout, runRenderOnCheckoutElement, renderCheckoutFormContainers, createAttemptSubmitOrderRequest, getOrderDataFromGraphQLResponse, orderRequiresAdditionalAction, redirectToOrderConfirmation, applyDiscount;
  var init_checkoutUtils = __esm({
    "packages/shared/render/plugins/Commerce/modules/checkoutUtils.ts"() {
      "use strict";
      init_lib7();
      init_commerceUtils();
      init_StyleMapObserver();
      init_constants();
      init_rendering();
      init_webPaymentsEvents();
      init_checkoutMutations();
      syncStylesToStripeElement = (stripeElement) => (appliedStyles) => {
        stripeElement.update({
          style: StyleMapObserver.appliedStylesToStripeElementStyles(appliedStyles)
        });
      };
      initializeStripeElements = (store) => {
        if (
          // @ts-expect-error - TS2339 - Property 'Webflow' does not exist on type 'Window & typeof globalThis'.
          window.Webflow.env("design") || // @ts-expect-error - TS2339 - Property 'Webflow' does not exist on type 'Window & typeof globalThis'.
          window.Webflow.env("preview") || !store.isInitialized()
        ) {
          return;
        }
        const checkoutFormContainers = findAllElementsByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER
        );
        const cartWrappers = findAllElementsByNodeType(
          NODE_TYPE_COMMERCE_CART_WRAPPER
        );
        const allStripeElements = [...checkoutFormContainers, ...cartWrappers];
        allStripeElements.forEach((element, index) => {
          store.createElementsInstance(index);
          element.setAttribute(STRIPE_ELEMENT_INSTANCE, String(index));
        });
        const stripeElements = document.querySelectorAll(`[${STRIPE_ELEMENT_TYPE}]`);
        Array.from(stripeElements).forEach((element) => {
          const type = element.getAttribute(STRIPE_ELEMENT_TYPE);
          if (!type) {
            throw new Error("Stripe element missing type string");
          }
          const checkoutFormContainer = findClosestElementByNodeType(
            NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER,
            element
          );
          if (!checkoutFormContainer) {
            return;
          }
          const index = parseInt(
            // @ts-expect-error - TS2345 - Argument of type 'string | null' is not assignable to parameter of type 'string'.
            checkoutFormContainer.getAttribute(STRIPE_ELEMENT_INSTANCE),
            10
          );
          const el = store.createElement(type, index, {
            style: safeParseJson(element.getAttribute(STRIPE_ELEMENT_STYLE) || "{}"),
            classes: {
              focus: "-wfp-focus"
            }
          });
          el.mount(element);
          const styleMapObserver = new StyleMapObserver(element, {
            onChange: syncStylesToStripeElement(el)
          });
        });
      };
      errorCodeToCheckoutErrorType = (code, msg) => {
        switch (code) {
          case "OrderTotalRange":
            if (msg && msg.match(/too small/i)) {
              return "minimum";
            } else {
              return "info";
            }
          case "OrderExtrasChanged":
            return "extras";
          case "PriceChanged":
            return "pricing";
          case "StripeRejected":
            return "billing";
          case "NeedShippingAddress":
          case "InvalidShippingAddress":
          case "NeedShippingMethod":
            return "shipping";
          case "NeedPaymentMethod":
          case "StripeFailure":
            return "payment";
          case "ItemNotFound":
            return "product";
          case "InvalidDiscount":
          case "DiscountInvalid":
          case "DiscountDoesNotExist": {
            return "invalid-discount";
          }
          case "DiscountExpired": {
            return "expired-discount";
          }
          case "DiscountUsageReached": {
            return "usage-reached-discount";
          }
          case "DiscountRequirementsNotMet": {
            return "requirements-not-met";
          }
          default:
            return "info";
        }
      };
      getErrorType2 = (error) => {
        if (error.graphQLErrors && error.graphQLErrors.length > 0) {
          return errorCodeToCheckoutErrorType(
            error.graphQLErrors[0].extensions?.code,
            error.graphQLErrors[0].message
          );
        }
        if (error.code) {
          return errorCodeToCheckoutErrorType(error.code, error.message);
        }
        return "info";
      };
      updateErrorMessage = (element, error) => {
        const errorText = element.querySelector(CART_CHECKOUT_ERROR_MESSAGE_SELECTOR);
        if (!errorText) {
          return;
        }
        if (error.type && error.type === "validation_error") {
          errorText.textContent = error.message;
          return;
        }
        const errorType = getErrorType2(error);
        const errorData = (
          // @ts-expect-error Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{...}'
          CHECKOUT_ERRORS[errorType.toUpperCase().replace(/\W/g, "_")] || {}
        );
        const defaultErrorMessage = errorData.copy;
        const errorMessage = errorText.getAttribute(getCheckoutErrorMessageForType(errorType)) || defaultErrorMessage;
        errorText.textContent = errorMessage;
        if (errorData.requiresRefresh) {
          errorText.setAttribute(NEEDS_REFRESH, "true");
        } else {
          errorText.removeAttribute(NEEDS_REFRESH);
        }
        if (errorType === "shipping") {
          updateRequiredFields(error);
        }
      };
      elementNameByGraphQLError = {
        MISSING_STATE: "address_state"
      };
      updateRequiredFields = (error) => {
        if (!error.graphQLErrors || error.graphQLErrors.length === 0) {
          return;
        }
        const invalidShippingAddressError = error.graphQLErrors.find(
          // @ts-expect-error - TS7006 - Parameter 'gqlError' implicitly has an 'any' type.
          (gqlError) => gqlError.code === "InvalidShippingAddress"
        );
        if (!invalidShippingAddressError) {
          return;
        }
        invalidShippingAddressError.problems.forEach((problem) => {
          const { type } = problem;
          const elementName = elementNameByGraphQLError[type];
          if (!elementName) {
            return;
          }
          const element = document.getElementsByName(elementName)[0];
          if (!(element instanceof HTMLInputElement)) {
            return;
          }
          element.required = true;
          if (typeof element.reportValidity === "function") {
            element.reportValidity();
          }
        });
      };
      showErrorMessageForError = (err, scope) => {
        const errorState4 = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_ERROR_STATE,
          scope
        );
        if (errorState4) {
          errorState4.style.removeProperty("display");
          updateErrorMessage(errorState4, err);
        }
      };
      beforeUnloadHandler = (e) => {
        e.preventDefault();
        e.returnValue = "";
      };
      createOrderIdentityMutation = (apolloClient2, email) => apolloClient2.mutate({
        mutation: updateOrderIdentityMutation,
        variables: { email }
      });
      createOrderAddressMutation = (apolloClient2, addressInfo) => apolloClient2.mutate({
        mutation: updateOrderAddressMutation,
        variables: addressInfo
      });
      createOrderShippingMethodMutation = (apolloClient2, id) => apolloClient2.mutate({
        mutation: updateOrderShippingMethodMutation,
        variables: { id }
      });
      createCustomDataMutation = (apolloClient2, customData) => apolloClient2.mutate({
        mutation: updateCustomData,
        variables: { customData }
      });
      createStripePaymentMethodMutation = (apolloClient2, id) => apolloClient2.mutate({
        mutation: updateOrderStripePaymentMethodMutation,
        variables: {
          paymentMethod: id
        }
      });
      createRecalcOrderEstimationsMutation = (apolloClient2) => apolloClient2.mutate({
        mutation: recalcOrderEstimationsMutation,
        errorPolicy: "ignore"
      });
      createUpdateObfuscatedOrderAddressMutation = (apolloClient2, addressInfo) => apolloClient2.mutate({
        mutation: updateObfuscatedOrderAddressMutation,
        variables: addressInfo
      });
      renderCheckout = (checkout, data, prevFocusedInput) => {
        renderTree(checkout, data);
        const shippingMethodsList = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_METHODS_LIST,
          checkout
        );
        const shippingMethodsEmpty = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_METHODS_EMPTY_STATE,
          checkout
        );
        const shippingAddressWrapper = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_ADDRESS_WRAPPER,
          checkout
        );
        const billingAddressWrapper = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_WRAPPER,
          checkout
        );
        const billingAddressToggle = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_TOGGLE_CHECKBOX,
          checkout
        );
        const paymentInfoWrapper = checkout.querySelector(
          ".w-commerce-commercecheckoutpaymentinfowrapper"
        );
        if (!(shippingMethodsList instanceof Element) || !(shippingAddressWrapper instanceof Element) || !(billingAddressWrapper instanceof Element) || !(billingAddressToggle instanceof HTMLInputElement) || !(paymentInfoWrapper instanceof Element)) {
          return;
        }
        if (data.data && data.data.database && data.data.database.commerceOrder) {
          const {
            data: {
              database: {
                commerceOrder: {
                  availableShippingMethods,
                  statusFlags: {
                    requiresShipping,
                    isFreeOrder: isFreeOrder2,
                    shippingAddressRequiresPostalCode,
                    billingAddressRequiresPostalCode,
                    hasSubscription: hasSubscription2
                  }
                }
              }
            }
          } = data;
          const shippingZipField = findElementByNodeType(
            NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_ADDRESS_ZIP_FIELD,
            shippingAddressWrapper
          );
          if (shippingZipField instanceof HTMLInputElement) {
            shippingZipField.required = shippingAddressRequiresPostalCode;
          }
          const billingZipField = findElementByNodeType(
            NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_ZIP_FIELD,
            billingAddressWrapper
          );
          if (billingZipField instanceof HTMLInputElement) {
            billingZipField.required = billingAddressRequiresPostalCode;
          }
          const paypalElement = document.querySelector(
            `[${PAYPAL_ELEMENT_INSTANCE}]`
          );
          const paypalButton = checkout.querySelector(
            `[${PAYPAL_BUTTON_ELEMENT_INSTANCE}]`
          );
          if (paypalElement && paypalButton) {
            if (isFreeOrder2 || hasSubscription2) {
              hideElement(paypalButton);
            } else {
              showElement(paypalButton);
            }
          }
          if (!requiresShipping && billingAddressToggle.checked && billingAddressToggle.parentElement && billingAddressToggle.parentElement.classList.contains(
            "w-condition-invisible"
          )) {
            showElement(billingAddressWrapper);
          }
          if (!availableShippingMethods || availableShippingMethods.length < 1) {
            hideElement(shippingMethodsList);
            if (shippingMethodsEmpty instanceof Element) {
              showElement(shippingMethodsEmpty);
            }
          } else {
            if (shippingMethodsEmpty instanceof Element) {
              hideElement(shippingMethodsEmpty);
            }
            showElement(shippingMethodsList);
          }
          if (isFreeOrder2) {
            hideElement(paymentInfoWrapper);
          } else if (!isFreeOrder2 && // @ts-expect-error - TS2339 - Property 'style' does not exist on type 'Element'.
          paymentInfoWrapper.style.getPropertyValue("display") === "none") {
            showElement(paymentInfoWrapper);
          }
        } else {
          hideElement(shippingMethodsList);
          if (shippingMethodsEmpty instanceof Element) {
            showElement(shippingMethodsEmpty);
          }
          showElement(paymentInfoWrapper);
        }
        if (data.errors.length === 0 && prevFocusedInput) {
          let prevFocusedInputEle = document.getElementById(prevFocusedInput);
          if (!prevFocusedInputEle) {
            prevFocusedInputEle = document.querySelector(
              `[data-wf-bindings="${prevFocusedInput}"]`
            );
          }
          if (prevFocusedInputEle) {
            prevFocusedInputEle.focus();
          }
        }
      };
      runRenderOnCheckoutElement = (checkoutFormContainer, data, errors, stripeStore2, prevFocusedInput) => {
        renderCheckout(
          checkoutFormContainer,
          {
            ...data,
            errors: errors.concat(data.errors).filter(Boolean)
          },
          prevFocusedInput
        );
        if (stripeStore2) {
          updateWebPaymentsButton(checkoutFormContainer, data, stripeStore2);
        }
      };
      renderCheckoutFormContainers = (checkoutFormContainers, errors, apolloClient2, stripeStore2, prevFocusedInput) => {
        if (checkoutFormContainers.length === 0) {
          return;
        }
        checkoutFormContainers.forEach((checkoutFormContainer) => {
          const queryOptions = {
            query: lib_default2`
        ${checkoutFormContainer.getAttribute(CHECKOUT_QUERY)}
      `,
            fetchPolicy: "network-only",
            // errorPolicy is set to `all` so that we continue to get the cart data when an error occurs
            // this is important in cases like when the address entered doesn't have a shipping zone, as that returns
            // a graphQL error, but we still want to render what the customer has entered
            errorPolicy: "all"
          };
          apolloClient2.query(queryOptions).then((data) => {
            if (data.data && data.data.database && data.data.database.commerceOrder && data.data.database.commerceOrder.availableShippingMethods) {
              const {
                data: {
                  database: {
                    commerceOrder: {
                      availableShippingMethods,
                      statusFlags: { requiresShipping }
                    }
                  }
                }
              } = data;
              const selectedMethod = availableShippingMethods.find(
                // @ts-expect-error - TS7006 - Parameter 'method' implicitly has an 'any' type.
                (method) => method.selected === true
              );
              if (!selectedMethod && requiresShipping) {
                const id = availableShippingMethods[0] ? availableShippingMethods[0].id : null;
                return createOrderShippingMethodMutation(apolloClient2, id).then(() => {
                  return createRecalcOrderEstimationsMutation(apolloClient2);
                }).then(() => {
                  return apolloClient2.query(queryOptions);
                }).then((newData) => {
                  runRenderOnCheckoutElement(
                    checkoutFormContainer,
                    newData,
                    errors,
                    stripeStore2,
                    prevFocusedInput
                  );
                });
              }
            }
            if (data.data && data.data.database && data.data.database.commerceOrder && data.data.database.commerceOrder.statusFlags && data.data.database.commerceOrder.statusFlags.shouldRecalc) {
              return createRecalcOrderEstimationsMutation(apolloClient2).then(() => {
                return apolloClient2.query(queryOptions);
              }).then((newData) => {
                runRenderOnCheckoutElement(
                  checkoutFormContainer,
                  newData,
                  errors,
                  stripeStore2,
                  prevFocusedInput
                );
              });
            } else {
              runRenderOnCheckoutElement(
                checkoutFormContainer,
                data,
                errors,
                stripeStore2,
                prevFocusedInput
              );
            }
          }).catch((err) => {
            errors.push(err);
            renderCheckout(checkoutFormContainer, { errors }, prevFocusedInput);
          });
        });
      };
      createAttemptSubmitOrderRequest = (apolloClient2, variables) => {
        return apolloClient2.mutate({
          mutation: attemptSubmitOrderMutation,
          variables
        });
      };
      getOrderDataFromGraphQLResponse = (data) => {
        return data && data.data && data.data.ecommerceAttemptSubmitOrder;
      };
      orderRequiresAdditionalAction = (status) => status === REQUIRES_ACTION;
      redirectToOrderConfirmation = (order, isPayPal = false) => {
        const redirectUrl = `/order-confirmation?orderId=${order.orderId}&token=${order.token}`;
        if (isPayPal) {
          const message = {
            isWebflow: true,
            type: "success",
            detail: redirectUrl
          };
          window.parent.postMessage(JSON.stringify(message), window.location.origin);
        } else {
          window.location.href = redirectUrl;
        }
      };
      applyDiscount = (apolloClient2, variables) => {
        return apolloClient2.mutate({
          mutation: applyDiscountMutation,
          variables
        });
      };
    }
  });

  // packages/shared/render/plugins/Commerce/modules/cartUtils.ts
  var isCartOpen, updateErrorMessage2, errorCodeToCartErrorType, getErrorType3, showErrorMessageForError2;
  var init_cartUtils = __esm({
    "packages/shared/render/plugins/Commerce/modules/cartUtils.ts"() {
      "use strict";
      init_constants();
      init_commerceUtils();
      isCartOpen = () => {
        const cartContainerEl = findElementByNodeType(
          NODE_TYPE_COMMERCE_CART_CONTAINER_WRAPPER
        );
        if (!cartContainerEl)
          return false;
        return window.getComputedStyle(cartContainerEl).display !== "none";
      };
      updateErrorMessage2 = (element, error) => {
        const errorText = element.querySelector(CART_ERROR_MESSAGE_SELECTOR);
        if (!errorText)
          return;
        const errorType = getErrorType3(error);
        const errorData = CART_ERRORS[errorType.toUpperCase()] || {};
        const defaultErrorMessage = errorData.msg;
        const errorMessage = errorText.getAttribute(getCheckoutErrorMessageForType(errorType)) || defaultErrorMessage;
        errorText.textContent = errorMessage;
        if (errorData.requiresRefresh) {
          errorText.setAttribute(NEEDS_REFRESH, "true");
        } else {
          errorText.removeAttribute(NEEDS_REFRESH);
        }
      };
      errorCodeToCartErrorType = (code, msg) => {
        switch (code) {
          case "OrderTotalRange": {
            if (msg && msg.match(/too small/i)) {
              return "cart_order_min";
            }
            return "general";
          }
          default:
            return "general";
        }
      };
      getErrorType3 = (error) => {
        if (error.graphQLErrors && error.graphQLErrors.length > 0) {
          return errorCodeToCartErrorType(
            error.graphQLErrors[0].code,
            error.graphQLErrors[0].message
          );
        }
        if (error.code) {
          return errorCodeToCartErrorType(error.code, error.message);
        }
        return "general";
      };
      showErrorMessageForError2 = (err, scope) => {
        const cartErrorState = findElementByNodeType(
          NODE_TYPE_COMMERCE_CART_ERROR,
          scope
        );
        if (cartErrorState) {
          cartErrorState.style.removeProperty("display");
          updateErrorMessage2(cartErrorState, err);
        }
      };
    }
  });

  // packages/shared/render/plugins/Commerce/modules/webPaymentsEvents.ts
  var hasItems, isWebPaymentsButtonEvent, updateWebPaymentsButton, getShippingMethodsQuery, handleWebPaymentsButton, register2, webPaymentsEvents_default;
  var init_webPaymentsEvents = __esm({
    "packages/shared/render/plugins/Commerce/modules/webPaymentsEvents.ts"() {
      "use strict";
      init_lib7();
      init_commerceUtils();
      init_stripeStore();
      init_checkoutUtils();
      init_cartUtils();
      init_constants();
      init_debug();
      hasItems = (response) => response && response.data && response.data.database && response.data.database.commerceOrder && response.data.database.commerceOrder.userItems && response.data.database.commerceOrder.userItems.length > 0;
      isWebPaymentsButtonEvent = ({ target }) => {
        const cartCheckoutButton = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CART_QUICK_CHECKOUT_BUTTON,
          target
        );
        const cartApplePayButton = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CART_APPLE_PAY_BUTTON,
          target
        );
        if (cartCheckoutButton) {
          return cartCheckoutButton;
        } else if (cartApplePayButton) {
          return cartApplePayButton;
        } else {
          return false;
        }
      };
      updateWebPaymentsButton = (wrapper, data, stripeStore2) => {
        const webPaymentsActionsElements = findAllElementsByNodeType(
          NODE_TYPE_COMMERCE_CART_QUICK_CHECKOUT_ACTIONS,
          wrapper
        );
        if (!webPaymentsActionsElements || webPaymentsActionsElements.length === 0 || !hasItems(data)) {
          return;
        }
        webPaymentsActionsElements.forEach((webPaymentsActions) => {
          hideElement(webPaymentsActions);
          if (!stripeStore2 || !stripeStore2.isInitialized() || !data.data.site.commerce.quickCheckoutEnabled) {
            return;
          }
          const stripeInstance = parseInt(
            // @ts-expect-error - TS2345 - Argument of type 'string | null' is not assignable to parameter of type 'string'.
            wrapper.getAttribute(STRIPE_ELEMENT_INSTANCE),
            10
          );
          const paymentRequest = stripeStore2.updateCartPaymentRequest(
            stripeInstance,
            data.data.database.commerceOrder,
            data.data.site.commerce
          );
          if (!paymentRequest || typeof paymentRequest.canMakePayment !== "function") {
            return;
          }
          if (isFreeOrder(data)) {
            return;
          }
          paymentRequest.canMakePayment().then((result2) => {
            if (!result2) {
              return;
            }
            const { applePay } = result2;
            showElement(webPaymentsActions);
            const cartCheckoutButton = findElementByNodeType(
              NODE_TYPE_COMMERCE_CART_QUICK_CHECKOUT_BUTTON,
              webPaymentsActions
            );
            const cartApplePayButton = findElementByNodeType(
              NODE_TYPE_COMMERCE_CART_APPLE_PAY_BUTTON,
              webPaymentsActions
            );
            if (!cartCheckoutButton || !cartApplePayButton) {
              return;
            }
            if (applePay) {
              hideElement(cartCheckoutButton);
              showElement(cartApplePayButton);
            } else {
              hideElement(cartApplePayButton);
              showElement(cartCheckoutButton);
            }
          }).catch(() => {
            debug_default.log(
              "PaymentRequest not available in this browser \u2013 silently exiting"
            );
          });
        });
      };
      getShippingMethodsQuery = lib_default2`
  query FetchShippingMethods {
    database {
      id
      commerceOrder {
        id
        availableShippingMethods {
          id
          name
          description
          price {
            value
          }
        }
      }
    }
  }
`;
      handleWebPaymentsButton = (event, apolloClient2, stripeStore2) => {
        event.preventDefault();
        if (window.Webflow.env("design") || window.Webflow.env("preview")) {
          if (window.Webflow.env("preview")) {
            window.alert("Web Payments is not available in preview mode.");
          }
          return;
        }
        const { currentTarget } = event;
        const stripeElement = findClosestElementWithAttribute(
          STRIPE_ELEMENT_INSTANCE,
          // @ts-expect-error - TS2345 - Argument of type 'EventTarget | null' is not assignable to parameter of type 'EventTarget'.
          currentTarget
        );
        if (!(stripeElement instanceof Element)) {
          return;
        }
        const stripeInstance = parseInt(
          // @ts-expect-error - TS2345 - Argument of type 'string | null' is not assignable to parameter of type 'string'.
          stripeElement.getAttribute(STRIPE_ELEMENT_INSTANCE),
          10
        );
        const paymentRequest = stripeStore2.getCartPaymentRequest(stripeInstance);
        paymentRequest.show();
        if (paymentRequest.hasRegisteredListener("paymentmethod")) {
          paymentRequest.removeAllListeners();
        }
        paymentRequest.on(
          "shippingaddresschange",
          // @ts-expect-error - TS7031 - Binding element 'updateWith' implicitly has an 'any' type. | TS7031 - Binding element 'shippingAddress' implicitly has an 'any' type.
          ({ updateWith, shippingAddress }) => {
            let shippingMethods = [];
            const graphQlQuery = stripeElement.getAttribute(CART_QUERY) || stripeElement.getAttribute(CHECKOUT_QUERY);
            createUpdateObfuscatedOrderAddressMutation(apolloClient2, {
              type: "shipping",
              name: shippingAddress.recipient,
              address_line1: shippingAddress.addressLine[0],
              address_line2: shippingAddress.addressLine[1],
              address_city: shippingAddress.city,
              address_state: shippingAddress.region,
              address_country: shippingAddress.country,
              address_zip: shippingAddress.postalCode
            }).then(() => {
              return apolloClient2.query({
                query: getShippingMethodsQuery,
                fetchPolicy: "network-only",
                errorPolicy: "all"
              });
            }).then(({ data }) => {
              if (!data.database.commerceOrder.availableShippingMethods || data.database.commerceOrder.availableShippingMethods.length === 0) {
                updateWith({
                  status: "invalid_shipping_address"
                });
                return Promise.reject("No valid shipping addresses");
              } else {
                shippingMethods = data.database.commerceOrder.availableShippingMethods;
                return createOrderShippingMethodMutation(
                  apolloClient2,
                  data.database.commerceOrder.availableShippingMethods[0].id
                );
              }
            }).then(() => {
              return createRecalcOrderEstimationsMutation(apolloClient2);
            }).then(() => {
              return apolloClient2.query({
                query: lib_default2`
              ${graphQlQuery}
            `,
                fetchPolicy: "network-only",
                errorPolicy: "all"
              });
            }).then(({ data }) => {
              updateWith({
                status: "success",
                displayItems: generateDisplayItemsFromOrder(
                  data.database.commerceOrder,
                  true
                ),
                shippingOptions: (
                  // @ts-expect-error - TS7005 - Variable 'shippingMethods' implicitly has an 'any[]' type.
                  generateShippingOptionsFromMethods(shippingMethods)
                ),
                total: {
                  amount: data.database.commerceOrder.total.value,
                  label: "Total",
                  pending: false
                }
              });
            });
          }
        );
        paymentRequest.on("shippingoptionchange", ({ updateWith, shippingOption }) => {
          const graphQlQuery = stripeElement.getAttribute(CART_QUERY) || stripeElement.getAttribute(CHECKOUT_QUERY);
          createOrderShippingMethodMutation(apolloClient2, shippingOption.id).then(() => {
            return createRecalcOrderEstimationsMutation(apolloClient2);
          }).then(() => {
            return apolloClient2.query({
              query: lib_default2`
            ${graphQlQuery}
          `,
              fetchPolicy: "network-only",
              errorPolicy: "all"
            });
          }).then(({ data }) => {
            updateWith({
              status: "success",
              displayItems: generateDisplayItemsFromOrder(
                data.database.commerceOrder,
                true
              ),
              total: {
                amount: data.database.commerceOrder.total.value,
                label: "Total",
                pending: false
              }
            });
          });
        });
        paymentRequest.on("paymentmethod", (ev) => {
          fetchOrderStatusFlags(apolloClient2).then(({ requiresShipping }) => {
            return Promise.all([
              createOrderIdentityMutation(apolloClient2, ev.payerEmail),
              requiresShipping ? createOrderAddressMutation(apolloClient2, {
                type: "shipping",
                name: ev.shippingAddress.recipient,
                address_line1: ev.shippingAddress.addressLine[0],
                address_line2: ev.shippingAddress.addressLine[1],
                address_city: ev.shippingAddress.city,
                address_state: ev.shippingAddress.region,
                address_country: ev.shippingAddress.country,
                address_zip: ev.shippingAddress.postalCode
              }) : Promise.resolve(),
              createOrderAddressMutation(apolloClient2, {
                type: "billing",
                name: ev.paymentMethod.billing_details.name,
                address_line1: ev.paymentMethod.billing_details.address.line1,
                address_line2: ev.paymentMethod.billing_details.address.line2,
                address_city: ev.paymentMethod.billing_details.address.city,
                address_state: ev.paymentMethod.billing_details.address.state,
                address_country: ev.paymentMethod.billing_details.address.country,
                address_zip: ev.paymentMethod.billing_details.address.postal_code
              }),
              requiresShipping ? createOrderShippingMethodMutation(
                apolloClient2,
                ev.shippingOption.id
              ) : Promise.resolve(),
              createStripePaymentMethodMutation(apolloClient2, ev.paymentMethod.id)
            ]);
          }).then(() => {
            return createAttemptSubmitOrderRequest(apolloClient2, {
              checkoutType: "quickCheckout"
            });
          }).then((data) => {
            const order = getOrderDataFromGraphQLResponse(data);
            if (orderRequiresAdditionalAction(order.status)) {
              ev.complete("success");
              const stripe = stripeStore2.getStripeInstance();
              return stripe.handleCardAction(order.clientSecret).then((result2) => {
                if (result2.error) {
                  return Promise.reject(new Error("payment_intent_failed"));
                }
                return createAttemptSubmitOrderRequest(apolloClient2, {
                  checkoutType: "quickCheckout",
                  paymentIntentId: result2.paymentIntent.id
                }).then((resp) => {
                  const finishedOrder = getOrderDataFromGraphQLResponse(resp);
                  if (finishedOrder.ok) {
                    redirectToOrderConfirmation(finishedOrder);
                  } else {
                    return Promise.reject(new Error("payment_intent_failed"));
                  }
                });
              });
            }
            if (order.ok) {
              ev.complete("success");
              redirectToOrderConfirmation(order);
            } else {
              return Promise.reject(new Error("order_failed"));
            }
          }).catch((err) => {
            const hasGraphQLErrors = err && err.graphQLErrors && err.graphQLErrors.length > 0;
            if (hasGraphQLErrors) {
              switch (err.graphQLErrors[0].code) {
                case "PriceChanged": {
                  ev.complete("success");
                  setTimeout(() => {
                    window.alert(
                      "The prices of one or more items in your cart have changed. Please refresh this page and try again."
                    );
                  }, 100);
                  return;
                }
                case "ItemNotFound": {
                  ev.complete("success");
                  setTimeout(() => {
                    window.alert(
                      "One or more of the products in your cart have been removed. Please refresh the page and try again."
                    );
                  }, 100);
                  return;
                }
                case "OrderTotalRange": {
                  ev.complete("success");
                  showErrorMessageForError(err, ev.currentTarget);
                  if (isCartOpen()) {
                    showErrorMessageForError2(err, ev.currentTarget);
                  }
                  return;
                }
                default:
              }
            }
            if (err && err.message && err.message === "payment_intent_failed") {
              window.alert(
                "There was an error processing your payment. Please try again, or contact us if you continue to have problems."
              );
            } else {
              ev.complete("fail");
            }
          });
        });
      };
      register2 = (handlerProxy2) => {
        handlerProxy2.on("click", isWebPaymentsButtonEvent, handleWebPaymentsButton);
        handlerProxy2.on("keydown", isWebPaymentsButtonEvent, (event, ...rest) => {
          if (event.which === 32) {
            event.preventDefault();
          }
          if (event.which === 13) {
            return handleWebPaymentsButton(event, ...rest);
          }
        });
        handlerProxy2.on("keyup", isWebPaymentsButtonEvent, (event, ...rest) => {
          if (event.which === 32) {
            return handleWebPaymentsButton(event, ...rest);
          }
        });
      };
      webPaymentsEvents_default = { register: register2 };
    }
  });

  // packages/shared/render/plugins/Commerce/modules/cartEvents.ts
  var import_mergeWith, import_forEach3, import_defaultTo2, MODAL, LEFT_SIDEBAR, RIGHT_SIDEBAR, LEFT_DROPDOWN, RIGHT_DROPDOWN, REMOVE_ITEM, UPDATE_ITEM_QUANTITY, updateItemQuantityMutation, forEachElementInForm, disableAllFormElements, enableAllFormElements, searchTreeForRemoveLink, isItemRemovedEvent, isItemQuantityChangedEvent, isItemQuantityInputEvent, isCartButtonEvent, isCartCheckoutButtonEvent, isCartWrapperEvent, isCartFormEvent, getFormElement, handleItemRemoved, handleItemQuantityChanged, handleItemInputChanged, handleChangeCartStateEvent, handleCartButton, handleCartCheckoutButton, handleSubmitForm, handleCartContainerLeave, cartContainerStates, handlePreviewMode, handleDesignMode, doForAllMatchingClass, showCartDefaultState, showCartEmptyState, hideErrorState, showErrorState, hasItems2, hasErrors, updateCartA11Y, renderCart, handleRenderCart, handleCartKeyUp, getCartContainer, handleClickCloseCart, getFocusableElements, handleCartFocusTrap, register3, cartEvents_default;
  var init_cartEvents = __esm({
    "packages/shared/render/plugins/Commerce/modules/cartEvents.ts"() {
      "use strict";
      init_lib7();
      import_mergeWith = __toESM(require_mergeWith());
      import_forEach3 = __toESM(require_forEach());
      init_constants();
      init_commerceUtils();
      init_debug();
      init_webPaymentsEvents();
      init_rendering();
      import_defaultTo2 = __toESM(require_defaultTo());
      ({ MODAL, LEFT_SIDEBAR, RIGHT_SIDEBAR, LEFT_DROPDOWN, RIGHT_DROPDOWN } = CART_TYPES);
      ({ REMOVE_ITEM, UPDATE_ITEM_QUANTITY } = COMMERCE_CART_PUBLISHED_SITE_ACTIONS);
      updateItemQuantityMutation = lib_default2`
  mutation AddToCart($skuId: String!, $count: Int!) {
    ecommerceUpdateCartItem(sku: $skuId, count: $count) {
      ok
      itemId
      itemCount
    }
  }
`;
      forEachElementInForm = (form, callback) => {
        if (form instanceof HTMLFormElement && form.elements instanceof HTMLCollection) {
          Array.from(form.elements).forEach((input) => {
            if (input instanceof HTMLInputElement) {
              callback(input);
            }
          });
        }
      };
      disableAllFormElements = (form) => {
        forEachElementInForm(form, (input) => {
          input.disabled = true;
        });
      };
      enableAllFormElements = (form) => {
        forEachElementInForm(form, (input) => {
          input.disabled = false;
        });
      };
      searchTreeForRemoveLink = (element) => {
        if (element instanceof Element && element.hasAttribute(COMMERCE_CART_PUBLISHED_SITE_ACTION_ATTR) && element.getAttribute(COMMERCE_CART_PUBLISHED_SITE_ACTION_ATTR) === REMOVE_ITEM && element.hasAttribute(DATA_ATTR_COMMERCE_SKU_ID)) {
          return element;
        } else {
          return element instanceof Element && element.parentElement ? searchTreeForRemoveLink(element.parentElement) : false;
        }
      };
      isItemRemovedEvent = (event) => {
        return searchTreeForRemoveLink(event.target);
      };
      isItemQuantityChangedEvent = (event) => event.target instanceof Element && event.target.hasAttribute(COMMERCE_CART_PUBLISHED_SITE_ACTION_ATTR) && event.target.getAttribute(COMMERCE_CART_PUBLISHED_SITE_ACTION_ATTR) === UPDATE_ITEM_QUANTITY && event.target.hasAttribute(DATA_ATTR_COMMERCE_SKU_ID) && event.target;
      isItemQuantityInputEvent = (event) => event.target instanceof Element && event.target.hasAttribute(COMMERCE_CART_PUBLISHED_SITE_ACTION_ATTR) && event.target.getAttribute(COMMERCE_CART_PUBLISHED_SITE_ACTION_ATTR) === UPDATE_ITEM_QUANTITY && event.target.hasAttribute(DATA_ATTR_COMMERCE_SKU_ID) && event.target;
      isCartButtonEvent = ({ target }) => {
        const cartOpenLink = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CART_OPEN_LINK,
          target
        );
        const cartCloseLink = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CART_CLOSE_LINK,
          target
        );
        if (cartOpenLink) {
          return cartOpenLink;
        } else if (cartCloseLink) {
          return cartCloseLink;
        } else {
          return false;
        }
      };
      isCartCheckoutButtonEvent = ({ target }) => {
        const cartCheckoutButton = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CART_CHECKOUT_BUTTON,
          target
        );
        if (cartCheckoutButton) {
          return cartCheckoutButton;
        } else {
          return false;
        }
      };
      isCartWrapperEvent = ({ target }) => target instanceof Element && target.getAttribute(DATA_ATTR_NODE_TYPE) === NODE_TYPE_COMMERCE_CART_WRAPPER && target;
      isCartFormEvent = ({ target }) => target instanceof Element && target.hasAttribute(DATA_ATTR_NODE_TYPE) && target.getAttribute(DATA_ATTR_NODE_TYPE) === NODE_TYPE_COMMERCE_CART_FORM;
      getFormElement = (element) => {
        if (!(element instanceof Element)) {
          return null;
        }
        return element instanceof HTMLFormElement ? element : getFormElement(element.parentElement);
      };
      handleItemRemoved = (event, apolloClient2) => {
        if (window.Webflow.env("design") || window.Webflow.env("preview")) {
          return;
        }
        event.preventDefault();
        const { currentTarget } = event;
        if (!(currentTarget instanceof HTMLElement)) {
          return;
        }
        const commerceCartWrapper = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CART_WRAPPER,
          currentTarget
        );
        if (!(commerceCartWrapper instanceof Element)) {
          return;
        }
        const errorElement = findElementByNodeType(
          NODE_TYPE_COMMERCE_CART_ERROR,
          commerceCartWrapper
        );
        if (!(errorElement instanceof Element)) {
          return;
        }
        errorElement.style.setProperty("display", "none");
        const skuId = currentTarget.getAttribute(DATA_ATTR_COMMERCE_SKU_ID);
        const count = 0;
        const form = getFormElement(currentTarget);
        disableAllFormElements(form);
        const cartItem = findClosestElementByClassName(
          "w-commerce-commercecartitem",
          currentTarget
        );
        if (!(cartItem instanceof Element)) {
          return;
        }
        addLoadingCallback(setElementLoading(cartItem));
        const removeLinkElement = searchTreeForRemoveLink(event.target);
        if (removeLinkElement instanceof HTMLAnchorElement) {
          removeLinkElement.style.pointerEvents = "none";
        }
        apolloClient2.mutate({
          mutation: updateItemQuantityMutation,
          variables: { skuId, count }
        }).then(
          () => {
            triggerRender(null);
          },
          (error) => {
            debug_default.error(error);
            errorElement.style.removeProperty("display");
            const errorMsg = errorElement.querySelector(
              CART_ERROR_MESSAGE_SELECTOR
            );
            if (!errorMsg) {
              return;
            }
            const errorText = errorMsg.getAttribute(CART_GENERAL_ERROR_MESSAGE) || "";
            errorMsg.textContent = errorText;
            triggerRender(error);
          }
        ).then(() => {
          if (removeLinkElement instanceof HTMLAnchorElement) {
            removeLinkElement.style.pointerEvents = "auto";
          }
          const cartContainer = currentTarget.closest(
            ".w-commerce-commercecartcontainer"
          );
          if (cartContainer instanceof HTMLElement) {
            const itemContainer = cartContainer.getElementsByClassName(
              "w-commerce-commercecartitem"
            );
            const focusableContent = getFocusableElements(cartContainer);
            if (itemContainer.length === 1 && focusableContent.length > 0) {
              focusableContent[0].focus();
            }
          }
        });
      };
      handleItemQuantityChanged = (event, apolloClient2) => {
        if (window.Webflow.env("design") || window.Webflow.env("preview")) {
          return;
        }
        event.preventDefault();
        const { currentTarget } = event;
        if (!(currentTarget instanceof HTMLInputElement)) {
          return;
        }
        if (currentTarget.form instanceof HTMLFormElement && currentTarget.form.reportValidity() === false) {
          return;
        }
        const commerceCartWrapper = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CART_WRAPPER,
          currentTarget
        );
        if (!(commerceCartWrapper instanceof Element)) {
          return;
        }
        const errorElement = findElementByNodeType(
          NODE_TYPE_COMMERCE_CART_ERROR,
          commerceCartWrapper
        );
        if (!(errorElement instanceof Element)) {
          return;
        }
        errorElement.style.setProperty("display", "none");
        const cartItem = currentTarget.parentElement;
        if (!(cartItem instanceof Element)) {
          return;
        }
        addLoadingCallback(setElementLoading(cartItem));
        const skuId = currentTarget.getAttribute(DATA_ATTR_COMMERCE_SKU_ID);
        const count = currentTarget.value;
        disableAllFormElements(currentTarget.form);
        apolloClient2.mutate({
          mutation: updateItemQuantityMutation,
          variables: { skuId, count }
        }).then(
          () => {
            enableAllFormElements(currentTarget.form);
            triggerRender(null);
          },
          (error) => {
            enableAllFormElements(currentTarget.form);
            debug_default.error(error);
            errorElement.style.removeProperty("display");
            const errorMsg = errorElement.querySelector(
              CART_ERROR_MESSAGE_SELECTOR
            );
            if (!errorMsg) {
              return;
            }
            const errorType = error.graphQLErrors && error.graphQLErrors.length > 0 && error.graphQLErrors[0].code === "OutOfInventory" ? "quantity" : "general";
            const errorText = errorMsg.getAttribute(getCartErrorMessageForType(errorType)) || "";
            errorMsg.textContent = errorText;
            triggerRender(error);
          }
        );
      };
      handleItemInputChanged = (event) => {
        if (window.Webflow.env("design") || window.Webflow.env("preview")) {
          return;
        }
        event.preventDefault();
        const { currentTarget } = event;
        if (!(currentTarget instanceof HTMLInputElement)) {
          return;
        }
        if (currentTarget.validity.valid === false && currentTarget.form instanceof HTMLFormElement) {
          currentTarget.form.reportValidity();
        }
      };
      handleChangeCartStateEvent = (event) => {
        if (!(event.currentTarget instanceof Element) || !(event instanceof CustomEvent)) {
          return;
        }
        const { currentTarget, detail } = event;
        const isOpen = currentTarget.hasAttribute(CART_OPEN);
        const shouldOpen = detail && detail.open != null ? detail.open : !isOpen;
        const wrapper = findElementByNodeType(
          NODE_TYPE_COMMERCE_CART_CONTAINER_WRAPPER,
          currentTarget
        );
        if (!wrapper) {
          return;
        }
        const cartContainer = getCartContainer(wrapper);
        if (!cartContainer) {
          return;
        }
        const cartElement = wrapper.parentElement;
        if (!cartElement) {
          return;
        }
        const cartType = cartElement.getAttribute(CART_TYPE);
        const duration = (0, import_defaultTo2.default)(
          cartElement.getAttribute(DATA_ATTR_ANIMATION_DURATION),
          ANIMATION_DURATION_DEFAULT
        ) + "ms";
        const containerEasing = (0, import_defaultTo2.default)(
          cartElement.getAttribute(DATA_ATTR_ANIMATION_EASING),
          ANIMATION_EASING_DEFAULT
        );
        const wrapperTransition = `opacity ${duration} ease 0ms`;
        const containerOutDelay = "50ms";
        const shouldAnimate = duration !== "0ms";
        let containerStepA;
        let containerStepB;
        switch (cartType) {
          case MODAL: {
            containerStepA = { scale: 0.95 };
            containerStepB = { scale: 1 };
            break;
          }
          case LEFT_SIDEBAR: {
            containerStepA = { x: -30 };
            containerStepB = { x: 0 };
            break;
          }
          case RIGHT_SIDEBAR: {
            containerStepA = { x: 30 };
            containerStepB = { x: 0 };
            break;
          }
          case LEFT_DROPDOWN:
          case RIGHT_DROPDOWN: {
            containerStepA = { y: -10 };
            containerStepB = { y: 0 };
            break;
          }
        }
        if (shouldOpen) {
          document.addEventListener("keydown", handleCartFocusTrap);
          currentTarget.setAttribute(CART_OPEN, "");
          wrapper.style.removeProperty("display");
          const focusableContent = getFocusableElements(cartContainer);
          if (focusableContent.length > 0) {
            focusableContent[0].focus();
          }
          if (shouldAnimate && !isOpen) {
            window.Webflow.tram(wrapper).add(wrapperTransition).set({ opacity: 0 }).start({ opacity: 1 });
            window.Webflow.tram(cartContainer).add(`transform ${duration} ${containerEasing} 0ms`).set(containerStepA).start(containerStepB);
          }
        } else {
          document.removeEventListener("keydown", handleCartFocusTrap);
          currentTarget.removeAttribute(CART_OPEN);
          if (shouldAnimate) {
            window.Webflow.tram(wrapper).add(wrapperTransition).start({ opacity: 0 }).then(() => {
              wrapper.style.display = "none";
              window.Webflow.tram(cartContainer).stop();
            });
            window.Webflow.tram(cartContainer).add(`transform ${duration} ${containerEasing} ${containerOutDelay}`).start(containerStepA);
          } else {
            wrapper.style.display = "none";
          }
          const cartOpenButton = findElementByNodeType(
            NODE_TYPE_COMMERCE_CART_OPEN_LINK,
            cartElement
          );
          if (cartOpenButton instanceof Element) {
            cartOpenButton.focus();
          }
        }
      };
      handleCartButton = (event) => {
        if (window.Webflow.env("design")) {
          return;
        }
        const { currentTarget, type } = event;
        if (!(currentTarget instanceof Element)) {
          return;
        }
        const commerceCartWrapper = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CART_WRAPPER,
          currentTarget
        );
        if (!(commerceCartWrapper instanceof Element)) {
          return;
        }
        const cartContainerWrapper = findElementByNodeType(
          NODE_TYPE_COMMERCE_CART_CONTAINER_WRAPPER,
          commerceCartWrapper
        );
        let evt;
        if (type === "click" && (currentTarget.getAttribute(DATA_ATTR_NODE_TYPE) === NODE_TYPE_COMMERCE_CART_CLOSE_LINK || currentTarget.getAttribute(DATA_ATTR_NODE_TYPE) === NODE_TYPE_COMMERCE_CART_OPEN_LINK && !commerceCartWrapper.hasAttribute(DATA_ATTR_OPEN_ON_HOVER))) {
          evt = new CustomEvent(CHANGE_CART_EVENT, {
            bubbles: true
          });
          if (cartContainerWrapper && currentTarget.getAttribute(DATA_ATTR_NODE_TYPE) === NODE_TYPE_COMMERCE_CART_CLOSE_LINK) {
            cartContainerWrapper.removeEventListener(
              "mouseleave",
              handleCartContainerLeave
            );
            commerceCartWrapper.removeEventListener(
              "mouseleave",
              handleCartContainerLeave
            );
          }
        } else if (type === "mouseover" && commerceCartWrapper.hasAttribute(DATA_ATTR_OPEN_ON_HOVER) && currentTarget.getAttribute(DATA_ATTR_NODE_TYPE) === NODE_TYPE_COMMERCE_CART_OPEN_LINK) {
          evt = new CustomEvent(CHANGE_CART_EVENT, {
            bubbles: true,
            detail: {
              open: true
            }
          });
          if (cartContainerWrapper) {
            cartContainerWrapper.addEventListener(
              "mouseleave",
              handleCartContainerLeave
            );
            currentTarget.addEventListener("mouseleave", handleCartContainerLeave);
          }
        }
        if (evt) {
          commerceCartWrapper.dispatchEvent(evt);
        }
      };
      handleCartCheckoutButton = (event) => {
        if (window.Webflow.env("preview")) {
          return;
        }
        event.preventDefault();
        const { currentTarget: checkoutButton } = event;
        if (!(checkoutButton instanceof Element)) {
          return;
        }
        if (!isProtocolHttps()) {
          window.alert(
            "This site is currently unsecured so you cannot enter checkout."
          );
          return;
        }
        const loadingText = checkoutButton.getAttribute(DATA_ATTR_LOADING_TEXT);
        const buttonText = checkoutButton.innerHTML;
        checkoutButton.innerHTML = loadingText ? loadingText : CART_CHECKOUT_LOADING_TEXT_DEFAULT;
        const commerceCartWrapper = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CART_WRAPPER,
          checkoutButton
        );
        if (!(commerceCartWrapper instanceof Element)) {
          return;
        }
        const publishableKey = checkoutButton.getAttribute(DATA_ATTR_PUBLISHABLE_KEY);
        const paypalElement = document.querySelector(`[${PAYPAL_ELEMENT_INSTANCE}]`);
        if (!publishableKey && !paypalElement) {
          const errorElement = findElementByNodeType(
            NODE_TYPE_COMMERCE_CART_ERROR,
            commerceCartWrapper
          );
          if (!(errorElement instanceof Element)) {
            return;
          }
          errorElement.style.setProperty("display", "none");
          errorElement.style.removeProperty("display");
          const errorMsg = errorElement.querySelector(".w-cart-error-msg");
          if (!errorMsg) {
            return;
          }
          const errorText = errorMsg.getAttribute(`data-w-cart-checkout-error`) || "";
          errorMsg.textContent = errorText;
          checkoutButton.innerHTML = buttonText ? buttonText : CART_CHECKOUT_BUTTON_TEXT_DEFAULT;
          return;
        }
        if (!(checkoutButton instanceof HTMLAnchorElement)) {
          checkoutButton.innerHTML = buttonText ? buttonText : CART_CHECKOUT_BUTTON_TEXT_DEFAULT;
          return;
        }
        window.location = checkoutButton.href;
      };
      handleSubmitForm = (event) => {
        if (window.Webflow.env("preview")) {
          return;
        }
        event.preventDefault();
      };
      handleCartContainerLeave = (event) => {
        const { target, relatedTarget } = event;
        if (!(target instanceof Element) || !(relatedTarget instanceof Element)) {
          return;
        }
        const { parentElement } = target;
        if (!(parentElement instanceof Element)) {
          return;
        }
        const cartWrapper = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CART_WRAPPER,
          relatedTarget
        );
        const cartContainer = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CART_CONTAINER,
          relatedTarget
        );
        if (cartWrapper || cartContainer) {
          return;
        }
        const evt = new CustomEvent(CHANGE_CART_EVENT, {
          bubbles: true,
          detail: {
            open: false
          }
        });
        parentElement.dispatchEvent(evt);
        cartWrapper && // @ts-expect-error - TS2358 - The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.
        cartWrapper instanceof Element && // @ts-expect-error - TS2339 - Property 'removeEventListener' does not exist on type 'never'.
        cartWrapper.removeEventListener("mouseleave", handleCartContainerLeave);
        cartContainer && // @ts-expect-error - TS2358 - The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.
        cartContainer instanceof Element && // @ts-expect-error - TS2339 - Property 'removeEventListener' does not exist on type 'never'.
        cartContainer.removeEventListener("mouseleave", handleCartContainerLeave);
      };
      cartContainerStates = [];
      handlePreviewMode = () => {
        const cartContainerElements = findAllElementsByNodeType(
          NODE_TYPE_COMMERCE_CART_CONTAINER_WRAPPER
        );
        cartContainerElements.forEach((element) => {
          const wasOpen = element.style.display !== "none";
          cartContainerStates.push({
            element,
            wasOpen
          });
          if (wasOpen) {
            const evt = new CustomEvent(CHANGE_CART_EVENT, {
              bubbles: true,
              detail: {
                open: true
              }
            });
            const { parentElement } = element;
            if (parentElement) {
              parentElement.dispatchEvent(evt);
            }
          }
        });
      };
      handleDesignMode = () => {
        cartContainerStates.forEach(({ element: wrapper, wasOpen }) => {
          window.Webflow.tram(wrapper).destroy();
          wrapper.style.opacity = "1";
          const cartContainer = getCartContainer(wrapper);
          if (cartContainer) {
            window.Webflow.tram(cartContainer).destroy();
            cartContainer.style.transform = "";
          }
          if (wasOpen) {
            wrapper.style.removeProperty("display");
          } else {
            wrapper.style.display = "none";
          }
          const cartElement = wrapper.parentElement;
          if (cartElement) {
            cartElement.removeAttribute(CART_OPEN);
          }
        });
        cartContainerStates = [];
      };
      doForAllMatchingClass = (cart, className, fn) => Array.from(cart.getElementsByClassName(className)).forEach(fn);
      showCartDefaultState = (cart) => {
        doForAllMatchingClass(cart, "w-commerce-commercecartemptystate", hideElement);
        doForAllMatchingClass(cart, "w-commerce-commercecartform", showElement);
      };
      showCartEmptyState = (cart) => {
        doForAllMatchingClass(cart, "w-commerce-commercecartemptystate", showElement);
        doForAllMatchingClass(cart, "w-commerce-commercecartform", hideElement);
      };
      hideErrorState = (cart) => {
        doForAllMatchingClass(cart, "w-commerce-commercecarterrorstate", hideElement);
      };
      showErrorState = (cart) => {
        doForAllMatchingClass(cart, "w-commerce-commercecarterrorstate", showElement);
      };
      hasItems2 = (response) => response && response.data && response.data.database && response.data.database.commerceOrder && response.data.database.commerceOrder.userItems && response.data.database.commerceOrder.userItems.length > 0;
      hasErrors = (response) => response && response.errors && response.errors.length > 0;
      updateCartA11Y = (cart) => {
        doForAllMatchingClass(
          cart,
          "w-commerce-commercecartopenlinkcount",
          // @ts-expect-error - TS7006 - Parameter 'element' implicitly has an 'any' type.
          (element) => {
            doForAllMatchingClass(
              cart,
              "w-commerce-commercecartopenlink",
              // @ts-expect-error - TS7006 - Parameter 'openLinkElement' implicitly has an 'any' type.
              (openLinkElement) => {
                openLinkElement.setAttribute(
                  "aria-label",
                  element.textContent === "0" ? "Open empty cart" : `Open cart containing ${element.textContent} items`
                );
              }
            );
          }
        );
      };
      renderCart = (cart, data, stripeStore2) => {
        hideErrorState(cart);
        if (hasErrors(data)) {
          showErrorState(cart);
        }
        doForAllMatchingClass(
          cart,
          "w-commerce-commercecartopenlinkcount",
          // @ts-expect-error - TS7006 - Parameter 'element' implicitly has an 'any' type.
          (element) => {
            const hideRule = element.getAttribute(DATA_ATTR_COUNT_HIDE_RULE);
            if (hideRule === CART_COUNT_HIDE_RULES.ALWAYS || hideRule === CART_COUNT_HIDE_RULES.EMPTY && !hasItems2(data)) {
              hideElement(element);
            } else {
              showElement(element);
            }
          }
        );
        const dataWithDefaults = (0, import_mergeWith.default)({}, data, (obj, src, key) => {
          if (key === "commerceOrder" && src === null) {
            return { userItemsCount: 0 };
          }
        });
        renderTree(cart, dataWithDefaults);
        if (hasItems2(data)) {
          showCartDefaultState(cart);
        } else {
          showCartEmptyState(cart);
        }
        const cartForm = cart.querySelector("form");
        if (cartForm instanceof HTMLFormElement) {
          enableAllFormElements(cartForm);
        }
        const paypalElement = document.querySelector(`[${PAYPAL_ELEMENT_INSTANCE}]`);
        const checkoutButton = findElementByNodeType(
          NODE_TYPE_COMMERCE_CART_CHECKOUT_BUTTON,
          cart
        );
        if (checkoutButton && paypalElement && stripeStore2 && !stripeStore2.isInitialized()) {
          if (isFreeOrder(data)) {
            showElement(checkoutButton);
          } else {
            hideElement(checkoutButton);
          }
        }
        const paypalButton = cart.querySelector(
          `[${PAYPAL_BUTTON_ELEMENT_INSTANCE}]`
        );
        if (paypalElement && paypalButton) {
          if (isFreeOrder(data) || hasSubscription(data)) {
            hideElement(paypalButton);
          } else {
            showElement(paypalButton);
          }
        }
        updateWebPaymentsButton(cart, data, stripeStore2);
        return cart;
      };
      handleRenderCart = (event, apolloClient2, stripeStore2) => {
        if (window.Webflow.env("design") || window.Webflow.env("preview")) {
          return;
        }
        if (!(event instanceof CustomEvent && event.type === RENDER_TREE_EVENT)) {
          return;
        }
        const errors = [];
        const { detail } = event;
        if (detail != null && detail.error) {
          errors.push(detail.error);
        }
        const orderConfirmationContainer = findElementByNodeType(
          NODE_TYPE_COMMERCE_ORDER_CONFIRMATION_WRAPPER
        );
        if (orderConfirmationContainer) {
          return;
        }
        const carts = findAllElementsByNodeType(NODE_TYPE_COMMERCE_CART_WRAPPER);
        if (!carts.length) {
          executeLoadingCallbacks();
          return;
        }
        carts.forEach((cart) => {
          apolloClient2.query({
            query: lib_default2`
          ${cart.getAttribute(CART_QUERY)}
        `,
            fetchPolicy: "network-only",
            errorPolicy: "all"
          }).then((data) => {
            executeLoadingCallbacks();
            renderCart(
              cart,
              {
                ...data,
                errors: errors.concat(data.errors).filter(Boolean)
              },
              stripeStore2
            );
            updateCartA11Y(cart);
          }).catch((err) => {
            executeLoadingCallbacks();
            errors.push(err);
            renderCart(cart, { errors });
            updateCartA11Y(cart);
          });
        });
      };
      handleCartKeyUp = (event) => {
        if (event.keyCode === 27) {
          const openCarts = Array.from(document.querySelectorAll(`[${CART_OPEN}]`));
          (0, import_forEach3.default)(openCarts, (cart) => {
            const evt = new CustomEvent(CHANGE_CART_EVENT, {
              bubbles: true,
              detail: {
                open: false
              }
            });
            cart.dispatchEvent(evt);
          });
        }
        if (event.keyCode === 32 && event.target instanceof HTMLElement) {
          const htmlElement = event.target;
          if ((htmlElement.getAttribute("role") === "button" || htmlElement.getAttribute("role") === "link" || htmlElement.hasAttribute("href") || htmlElement.hasAttribute("onClick")) && findClosestElementByNodeType(
            NODE_TYPE_COMMERCE_CART_WRAPPER,
            event.target
          ) != null) {
            event.preventDefault();
            htmlElement.click();
          }
        }
      };
      getCartContainer = (parent) => findElementByNodeType(NODE_TYPE_COMMERCE_CART_CONTAINER, parent);
      handleClickCloseCart = ({ target }) => {
        if (!(target instanceof Element)) {
          return;
        }
        const openCarts = Array.from(document.querySelectorAll(`[${CART_OPEN}]`));
        (0, import_forEach3.default)(openCarts, (cart) => {
          const cartContainer = getCartContainer(cart);
          const cartOpenButton = findElementByNodeType(
            NODE_TYPE_COMMERCE_CART_OPEN_LINK,
            cart
          );
          if (!(cartContainer instanceof Element) || !(cartOpenButton instanceof Element)) {
            return;
          }
          const cartType = cart.getAttribute(CART_TYPE);
          const isNotInside = cartType === LEFT_DROPDOWN || cartType === RIGHT_DROPDOWN ? !cart.contains(target) : !cartContainer.contains(target) && !cartOpenButton.contains(target);
          if (isNotInside) {
            const evt = new CustomEvent(CHANGE_CART_EVENT, {
              bubbles: true,
              detail: {
                open: false
              }
            });
            cart.dispatchEvent(evt);
          }
        });
      };
      getFocusableElements = (container) => {
        const focusableElements = 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])';
        return [...container.querySelectorAll(focusableElements)].filter(
          // @ts-expect-error - TS2339 - Property 'offsetHeight' does not exist on type 'Element'.
          (element) => !element.hasAttribute("disabled") && element.offsetHeight > 0
        );
      };
      handleCartFocusTrap = (event) => {
        if (event.key !== "Tab" && event.keyCode !== 9) {
          return;
        }
        const openCarts = Array.from(document.querySelectorAll(`[${CART_OPEN}]`));
        (0, import_forEach3.default)(openCarts, (cart) => {
          const cartContainer = getCartContainer(cart);
          if (!(cartContainer instanceof Element)) {
            return;
          }
          const focusableContent = getFocusableElements(cartContainer);
          const firstFocusableElement = focusableContent[0];
          const lastFocusableElement = focusableContent[focusableContent.length - 1];
          if (event.shiftKey) {
            if (document.activeElement === firstFocusableElement) {
              lastFocusableElement.focus();
              event.preventDefault();
            }
          } else {
            if (document.activeElement === lastFocusableElement) {
              firstFocusableElement.focus();
              event.preventDefault();
            }
          }
        });
      };
      register3 = (handlerProxy2) => {
        handlerProxy2.on("click", isItemRemovedEvent, handleItemRemoved);
        handlerProxy2.on(
          "change",
          isItemQuantityChangedEvent,
          handleItemQuantityChanged
        );
        handlerProxy2.on("focus", isItemQuantityInputEvent, handleItemInputChanged);
        handlerProxy2.on("click", isCartButtonEvent, handleCartButton);
        handlerProxy2.on("click", isCartCheckoutButtonEvent, handleCartCheckoutButton);
        handlerProxy2.on("mouseover", isCartButtonEvent, handleCartButton);
        handlerProxy2.on(
          CHANGE_CART_EVENT,
          isCartWrapperEvent,
          handleChangeCartStateEvent
        );
        handlerProxy2.on(RENDER_TREE_EVENT, Boolean, handleRenderCart);
        handlerProxy2.on("submit", isCartFormEvent, handleSubmitForm);
        handlerProxy2.on("keyup", Boolean, handleCartKeyUp);
        handlerProxy2.on("click", Boolean, handleClickCloseCart);
        if (window.Webflow.env("design") || window.Webflow.env("preview")) {
          window.addEventListener("__wf_preview", handlePreviewMode);
          window.addEventListener("__wf_design", handleDesignMode);
        }
      };
      cartEvents_default = { register: register3 };
    }
  });

  // packages/shared/render/plugins/Commerce/modules/checkoutEvents.ts
  var import_debounce, isInputInsideCustomerInfoEvent, isInputInsideAddressWrapperEvent, isInputInsideShippingMethodEvent, isBillingAddressToggleEvent, isPlaceOrderButtonEvent, isApplyDiscountFormEvent, isFormInsideCheckoutContainerEvent, isInputInsideCheckoutFormEvent, handleRenderCheckout, checkFormValidity, placingOrder, startOrderFlow, handlePlaceOrder, handleApplyDiscount, handleUpdateCustomerInfo, handleUpdateAddress, handleToggleBillingAddress, handleChooseShippingMethod, handleSubmitFormInsideCheckoutContainer, register4, checkoutEvents_default;
  var init_checkoutEvents = __esm({
    "packages/shared/render/plugins/Commerce/modules/checkoutEvents.ts"() {
      "use strict";
      import_debounce = __toESM(require_debounce());
      init_constants();
      init_commerceUtils();
      init_checkoutUtils();
      init_debug();
      isInputInsideCustomerInfoEvent = ({ target }) => {
        const checkoutFormContainer = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER
        );
        if (!checkoutFormContainer) {
          return false;
        }
        const customerInfoWrapper = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_CUSTOMER_INFO_WRAPPER,
          target
        );
        if (customerInfoWrapper && target instanceof Element && target.tagName === "INPUT") {
          return target;
        } else {
          return false;
        }
      };
      isInputInsideAddressWrapperEvent = ({ target }) => {
        const checkoutFormContainer = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER
        );
        if (!checkoutFormContainer || !(target instanceof Element)) {
          return false;
        }
        const shippingAddressWrapper = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_ADDRESS_WRAPPER,
          target
        );
        const billingAddressWrapper = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_WRAPPER,
          target
        );
        if (shippingAddressWrapper) {
          return shippingAddressWrapper;
        } else if (billingAddressWrapper) {
          return billingAddressWrapper;
        } else {
          return false;
        }
      };
      isInputInsideShippingMethodEvent = ({ target }) => {
        const checkoutFormContainer = findElementByNodeType(NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER) || findElementByNodeType(NODE_TYPE_COMMERCE_PAYPAL_CHECKOUT_FORM_CONTAINER);
        if (!checkoutFormContainer) {
          return false;
        }
        const shippingMethodWrapper = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_METHODS_WRAPPER,
          target
        );
        if (shippingMethodWrapper && target instanceof Element && target.tagName === "INPUT") {
          return target;
        } else {
          return false;
        }
      };
      isBillingAddressToggleEvent = ({ target }) => {
        if (target instanceof Element && target.getAttribute(DATA_ATTR_NODE_TYPE) === NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_TOGGLE_CHECKBOX) {
          return target;
        } else {
          return false;
        }
      };
      isPlaceOrderButtonEvent = ({ target }) => {
        const placeOrderButton = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_PLACE_ORDER_BUTTON,
          target
        );
        if (placeOrderButton && target instanceof Element) {
          return target;
        } else {
          return false;
        }
      };
      isApplyDiscountFormEvent = ({ target }) => {
        if (target instanceof Element && target.getAttribute(DATA_ATTR_NODE_TYPE) === NODE_TYPE_COMMERCE_CHECKOUT_DISCOUNT_FORM) {
          return target;
        } else {
          return false;
        }
      };
      isFormInsideCheckoutContainerEvent = ({ target }) => {
        const checkoutForm = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER,
          target
        );
        if (target instanceof HTMLFormElement && checkoutForm) {
          return target;
        } else {
          return false;
        }
      };
      isInputInsideCheckoutFormEvent = ({ target }) => {
        const checkoutForm = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER,
          target
        );
        if (target instanceof HTMLInputElement && checkoutForm) {
          return target;
        } else {
          return false;
        }
      };
      handleRenderCheckout = (event, apolloClient2, stripeStore2) => {
        if (window.Webflow.env("design") || window.Webflow.env("preview")) {
          return;
        }
        if (!(event instanceof CustomEvent && event.type === RENDER_TREE_EVENT)) {
          return;
        }
        const errors = [];
        const { detail } = event;
        if (detail != null && detail.error) {
          errors.push(detail.error);
        }
        const focusedEle = window.document.activeElement;
        const checkoutForm = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER,
          // @ts-expect-error - TS2345 - Argument of type 'Element | null' is not assignable to parameter of type 'EventTarget'.
          focusedEle
        );
        let prevFocusedInput = null;
        if (focusedEle instanceof HTMLInputElement && checkoutForm) {
          prevFocusedInput = focusedEle.id;
          if (!prevFocusedInput) {
            prevFocusedInput = focusedEle.getAttribute("data-wf-bindings");
          }
          prevFocusedInput = prevFocusedInput ? null : prevFocusedInput;
        }
        const checkoutFormContainers = findAllElementsByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER
        );
        renderCheckoutFormContainers(
          checkoutFormContainers,
          errors,
          apolloClient2,
          stripeStore2,
          prevFocusedInput
        );
      };
      checkFormValidity = ({
        customerInfo,
        shippingAddress,
        shippingInfo,
        billingAddress,
        billingAddressToggle,
        additionalInfo,
        requiresShipping
      }) => {
        if (!HTMLFormElement.prototype.reportValidity) {
          return true;
        }
        if (!customerInfo.reportValidity() || requiresShipping && !shippingAddress.reportValidity() || requiresShipping && !shippingInfo.reportValidity() || // only check the billing address if the toggle is off, i.e. the billing address
        // form is being shown or if it does not require shipping
        (!requiresShipping || !billingAddressToggle.checked) && !billingAddress.reportValidity() || additionalInfo && additionalInfo instanceof HTMLFormElement && !additionalInfo.reportValidity()) {
          return false;
        }
        return true;
      };
      placingOrder = false;
      startOrderFlow = (placeOrderButton) => {
        placingOrder = true;
        window.addEventListener("beforeunload", beforeUnloadHandler);
        const buttonText = placeOrderButton.innerHTML;
        const loadingText = placeOrderButton.getAttribute(DATA_ATTR_LOADING_TEXT);
        placeOrderButton.innerHTML = loadingText ? loadingText : CHECKOUT_PLACE_ORDER_LOADING_TEXT_DEFAULT;
        const finishOrderFlow = (isRedirecting = false) => {
          if (!isRedirecting) {
            placingOrder = false;
          }
          window.removeEventListener("beforeunload", beforeUnloadHandler);
          placeOrderButton.innerHTML = buttonText ? buttonText : CHECKOUT_PLACE_ORDER_BUTTON_TEXT_DEFAULT;
        };
        return finishOrderFlow;
      };
      handlePlaceOrder = (event, apolloClient2, stripeStore2) => {
        if (
          // @ts-expect-error - TS2339 - Property 'Webflow' does not exist on type 'Window & typeof globalThis'.
          window.Webflow.env("design") || // @ts-expect-error - TS2339 - Property 'Webflow' does not exist on type 'Window & typeof globalThis'.
          window.Webflow.env("preview") || placingOrder
        ) {
          return;
        }
        const { currentTarget } = event;
        if (!(currentTarget instanceof Element)) {
          return;
        }
        const checkoutFormContainer = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER,
          currentTarget
        );
        if (!(checkoutFormContainer instanceof Element)) {
          return;
        }
        const errorState4 = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_ERROR_STATE,
          checkoutFormContainer
        );
        const customerInfo = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_CUSTOMER_INFO_WRAPPER,
          checkoutFormContainer
        );
        const shippingAddress = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_ADDRESS_WRAPPER,
          checkoutFormContainer
        );
        const shippingInfo = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_METHODS_WRAPPER,
          checkoutFormContainer
        );
        const billingAddress = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_WRAPPER,
          checkoutFormContainer
        );
        const billingAddressToggle = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_TOGGLE_CHECKBOX,
          checkoutFormContainer
        );
        const placeOrderButton = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_PLACE_ORDER_BUTTON,
          checkoutFormContainer
        );
        const additionalInfo = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_ADDITIONAL_INFO,
          checkoutFormContainer
        );
        if (!(errorState4 instanceof HTMLElement) || !(customerInfo instanceof HTMLFormElement) || !(shippingAddress instanceof HTMLFormElement) || !(shippingInfo instanceof HTMLFormElement) || !(billingAddress instanceof HTMLFormElement) || !(billingAddressToggle instanceof HTMLInputElement) || !(placeOrderButton instanceof Element)) {
          return;
        }
        const errorMessage = errorState4.querySelector(
          CART_CHECKOUT_ERROR_MESSAGE_SELECTOR
        );
        if (errorMessage && errorMessage.hasAttribute(NEEDS_REFRESH)) {
          return;
        }
        const hasAdditionalInfo = additionalInfo && additionalInfo instanceof HTMLElement;
        const finishOrderFlow = startOrderFlow(placeOrderButton);
        errorState4.style.setProperty("display", "none");
        fetchOrderStatusFlags(apolloClient2).then(
          ({ requiresShipping, isFreeOrder: isFreeOrder2 }) => {
            const isFormValid = checkFormValidity({
              customerInfo,
              shippingAddress,
              shippingInfo,
              billingAddress,
              billingAddressToggle,
              additionalInfo,
              requiresShipping
            });
            if (!isFormValid) {
              finishOrderFlow();
              return;
            }
            const customerInfoFormData = formToObject(customerInfo);
            const email = String(customerInfoFormData.email).trim();
            const shippingAddressInfo = {
              type: "shipping",
              ...formToObject(shippingAddress, true)
            };
            const billingAddressInfo = {
              type: "billing",
              ...formToObject(
                !billingAddressToggle.checked || !requiresShipping ? billingAddress : shippingAddress,
                true
              )
            };
            const stripeBillingAddressInfo = {
              billing_details: {
                // @ts-expect-error - TS2339 - Property 'name' does not exist on type '{ readonly type: "billing"; }'.
                name: billingAddressInfo.name,
                email,
                address: {
                  // @ts-expect-error - TS2339 - Property 'address_line1' does not exist on type '{ readonly type: "billing"; }'.
                  line1: billingAddressInfo.address_line1,
                  // @ts-expect-error - TS2339 - Property 'address_line2' does not exist on type '{ readonly type: "billing"; }'.
                  line2: billingAddressInfo.address_line2,
                  // @ts-expect-error - TS2339 - Property 'address_city' does not exist on type '{ readonly type: "billing"; }'.
                  city: billingAddressInfo.address_city,
                  // @ts-expect-error - TS2339 - Property 'address_state' does not exist on type '{ readonly type: "billing"; }'.
                  state: billingAddressInfo.address_state,
                  // @ts-expect-error - TS2339 - Property 'address_country' does not exist on type '{ readonly type: "billing"; }'.
                  country: billingAddressInfo.address_country,
                  // @ts-expect-error - TS2339 - Property 'address_zip' does not exist on type '{ readonly type: "billing"; }'.
                  postal_code: billingAddressInfo.address_zip
                }
              }
            };
            let shippingMethodId = "";
            if (requiresShipping && shippingInfo.elements["shipping-method-choice"]) {
              const shippingMethodChoice = shippingInfo.querySelector(
                'input[name="shipping-method-choice"]:checked'
              );
              if (shippingMethodChoice) {
                shippingMethodId = shippingMethodChoice.value;
              }
            }
            const customData = hasAdditionalInfo ? customDataFormToArray(additionalInfo) : [];
            const syncCheckoutForm = Promise.all([
              createOrderIdentityMutation(apolloClient2, email),
              createOrderAddressMutation(apolloClient2, billingAddressInfo),
              requiresShipping ? createOrderAddressMutation(apolloClient2, shippingAddressInfo) : Promise.resolve(),
              requiresShipping ? createOrderShippingMethodMutation(apolloClient2, shippingMethodId) : Promise.resolve(),
              hasAdditionalInfo ? (
                // @ts-expect-error - TS2345 - Argument of type 'any[]' is not assignable to parameter of type '[]'.
                createCustomDataMutation(apolloClient2, customData)
              ) : Promise.resolve()
            ]);
            syncCheckoutForm.then(() => {
              if (isFreeOrder2) {
                return Promise.resolve();
              }
              if (!stripeStore2.isInitialized()) {
                return Promise.reject(
                  new Error(
                    "Stripe has not been set up for this project \u2013 Go to the project's Ecommerce Payment settings in the Designer to link Stripe."
                  )
                );
              }
              const stripe = stripeStore2.getStripeInstance();
              const checkoutFormInstance = parseInt(
                // @ts-expect-error - TS2345 - Argument of type 'string | null' is not assignable to parameter of type 'string'.
                checkoutFormContainer.getAttribute(STRIPE_ELEMENT_INSTANCE),
                10
              );
              const card = stripeStore2.getElement(
                "cardNumber",
                checkoutFormInstance
              );
              return stripe.createPaymentMethod(
                "card",
                card,
                stripeBillingAddressInfo
              );
            }).then((data) => {
              if (!data || isFreeOrder2) {
                return Promise.resolve();
              }
              if (data.error) {
                return Promise.reject(data.error);
              }
              return createStripePaymentMethodMutation(
                apolloClient2,
                data.paymentMethod.id
              );
            }).then(() => {
              return createAttemptSubmitOrderRequest(apolloClient2, {
                checkoutType: "normal"
              });
            }).then((data) => {
              debug_default.log(data);
              const order = getOrderDataFromGraphQLResponse(data);
              if (orderRequiresAdditionalAction(order.status)) {
                const stripe = stripeStore2.getStripeInstance();
                return stripe.retrievePaymentIntent(order.clientSecret).then((retrieveResult) => {
                  const intent = retrieveResult && retrieveResult.paymentIntent || {};
                  const actionPromise = intent.confirmation_method === "automatic" ? stripe.confirmCardPayment(order.clientSecret) : stripe.handleCardAction(order.clientSecret);
                  return actionPromise.then((result2) => {
                    if (result2.error) {
                      return Promise.reject(result2.error);
                    }
                    return createAttemptSubmitOrderRequest(apolloClient2, {
                      checkoutType: "normal",
                      paymentIntentId: result2.paymentIntent.id
                    }).then((resp) => {
                      const finishedOrder = getOrderDataFromGraphQLResponse(resp);
                      if (finishedOrder.ok) {
                        finishOrderFlow(true);
                        redirectToOrderConfirmation(finishedOrder);
                      }
                    });
                  });
                });
              }
              if (order.ok) {
                finishOrderFlow(true);
                redirectToOrderConfirmation(order);
              }
            }).catch((err) => {
              finishOrderFlow();
              debug_default.error(err);
              errorState4.style.removeProperty("display");
              updateErrorMessage(errorState4, err);
            });
          }
        );
      };
      handleApplyDiscount = (event, apolloClient2) => {
        event.preventDefault();
        event.stopImmediatePropagation();
        const { currentTarget } = event;
        if (!(currentTarget instanceof Element)) {
          return;
        }
        const inputEl = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_DISCOUNT_INPUT,
          currentTarget
        );
        const checkoutFormContainer = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER,
          currentTarget
        ) || findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_PAYPAL_CHECKOUT_FORM_CONTAINER,
          currentTarget
        );
        if (!checkoutFormContainer) {
          return;
        }
        const errorStateEl = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_ERROR_STATE,
          checkoutFormContainer
        );
        if (!(inputEl instanceof HTMLInputElement && errorStateEl instanceof HTMLElement)) {
          return;
        }
        const discountCode = inputEl.value.trim().toUpperCase();
        applyDiscount(apolloClient2, { discountCode }).then(() => {
          inputEl.value = "";
          errorStateEl.style.display = "none";
          triggerRender(null);
        }).catch((error) => showErrorMessageForError(error, checkoutFormContainer));
      };
      handleUpdateCustomerInfo = (event, apolloClient2) => {
        const { currentTarget } = event;
        if (!(currentTarget instanceof HTMLInputElement)) {
          return;
        }
        const value = currentTarget.value.trim();
        const email = value == null || value === "" ? null : value;
        createOrderIdentityMutation(apolloClient2, email).then(() => {
          triggerRender(null);
        }).catch((err) => {
          triggerRender(err);
        });
      };
      handleUpdateAddress = (0, import_debounce.default)((event, apolloClient2) => {
        const { currentTarget } = event;
        if (!(currentTarget instanceof HTMLFormElement)) {
          return;
        }
        const type = currentTarget.getAttribute(DATA_ATTR_NODE_TYPE) === NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_ADDRESS_WRAPPER ? "shipping" : "billing";
        const addressInfo = {
          type,
          ...formToObject(currentTarget, true)
        };
        createOrderAddressMutation(apolloClient2, addressInfo).then(() => {
          triggerRender(null);
        }).catch((err) => {
          triggerRender(err);
        });
      }, 500);
      handleToggleBillingAddress = ({ currentTarget }) => {
        const checkoutFormContainer = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER,
          currentTarget
        );
        if (!checkoutFormContainer) {
          return;
        }
        const billingAddressWrapper = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_WRAPPER,
          checkoutFormContainer
        );
        if (!billingAddressWrapper || !(currentTarget instanceof HTMLInputElement)) {
          return;
        }
        if (currentTarget.checked) {
          billingAddressWrapper.style.setProperty("display", "none");
        } else {
          billingAddressWrapper.style.removeProperty("display");
        }
      };
      handleChooseShippingMethod = ({ currentTarget }, apolloClient2) => {
        if (!(currentTarget instanceof HTMLInputElement)) {
          return;
        }
        createOrderShippingMethodMutation(apolloClient2, currentTarget.id).then(() => {
          triggerRender(null);
        }).catch((err) => {
          triggerRender(err);
        });
      };
      handleSubmitFormInsideCheckoutContainer = (event, apolloClient2) => {
        if (event.type === "submit") {
          event.preventDefault();
        }
        if (
          // @ts-expect-error - TS2339 - Property 'keyCode' does not exist on type 'Event | KeyboardEvent'.
          event.type === "keyup" && event.keyCode !== 13 || !(event.currentTarget instanceof Element)
        ) {
          return;
        }
        if (event.target === findElementByNodeType(NODE_TYPE_COMMERCE_CHECKOUT_DISCOUNT_INPUT)) {
          return;
        }
        const checkoutFormContainer = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_FORM_CONTAINER,
          event.currentTarget
        );
        if (!(checkoutFormContainer instanceof Element)) {
          return;
        }
        const customerInfo = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_CUSTOMER_INFO_WRAPPER,
          checkoutFormContainer
        );
        const shippingAddress = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_ADDRESS_WRAPPER,
          checkoutFormContainer
        );
        const shippingInfo = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_METHODS_WRAPPER,
          checkoutFormContainer
        );
        const billingAddress = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_WRAPPER,
          checkoutFormContainer
        );
        const billingAddressToggle = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_BILLING_ADDRESS_TOGGLE_CHECKBOX,
          checkoutFormContainer
        );
        const additionalInfo = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_ADDITIONAL_INFO,
          checkoutFormContainer
        );
        if (!(customerInfo instanceof HTMLFormElement) || !(shippingAddress instanceof HTMLFormElement) || !(shippingInfo instanceof HTMLFormElement) || !(billingAddress instanceof HTMLFormElement) || !(billingAddressToggle instanceof HTMLInputElement)) {
          return;
        }
        const hasAdditionalInfo = additionalInfo && additionalInfo instanceof HTMLFormElement;
        fetchOrderStatusFlags(apolloClient2).then(({ requiresShipping }) => {
          checkFormValidity({
            customerInfo,
            shippingAddress,
            shippingInfo,
            billingAddress,
            billingAddressToggle,
            additionalInfo: hasAdditionalInfo ? additionalInfo : null,
            requiresShipping
          });
        });
      };
      register4 = (handlerProxy2) => {
        handlerProxy2.on(RENDER_TREE_EVENT, Boolean, handleRenderCheckout);
        handlerProxy2.on("click", isPlaceOrderButtonEvent, handlePlaceOrder);
        handlerProxy2.on(
          "keydown",
          isPlaceOrderButtonEvent,
          // eslint-disable-next-line @typescript-eslint/no-shadow
          (event, apolloClient2, StripeStore3) => {
            if (event.which === 32) {
              event.preventDefault();
            }
            if (event.which === 13) {
              return handlePlaceOrder(event, apolloClient2, StripeStore3);
            }
          }
        );
        handlerProxy2.on(
          "keyup",
          isPlaceOrderButtonEvent,
          // eslint-disable-next-line @typescript-eslint/no-shadow
          (event, apolloClient2, StripeStore3) => {
            if (event.which === 32) {
              return handlePlaceOrder(event, apolloClient2, StripeStore3);
            }
          }
        );
        handlerProxy2.on("submit", isApplyDiscountFormEvent, handleApplyDiscount);
        handlerProxy2.on(
          "change",
          isInputInsideCustomerInfoEvent,
          handleUpdateCustomerInfo
        );
        handlerProxy2.on(
          "change",
          isInputInsideAddressWrapperEvent,
          handleUpdateAddress
        );
        handlerProxy2.on(
          "change",
          isBillingAddressToggleEvent,
          handleToggleBillingAddress
        );
        handlerProxy2.on(
          "change",
          isInputInsideShippingMethodEvent,
          handleChooseShippingMethod
        );
        handlerProxy2.on(
          "submit",
          isFormInsideCheckoutContainerEvent,
          handleSubmitFormInsideCheckoutContainer
        );
        handlerProxy2.on(
          "keyup",
          isInputInsideCheckoutFormEvent,
          handleSubmitFormInsideCheckoutContainer
        );
      };
      checkoutEvents_default = { register: register4 };
    }
  });

  // node_modules/qs/lib/formats.js
  var require_formats = __commonJS({
    "node_modules/qs/lib/formats.js"(exports, module2) {
      "use strict";
      var replace = String.prototype.replace;
      var percentTwenties = /%20/g;
      var Format = {
        RFC1738: "RFC1738",
        RFC3986: "RFC3986"
      };
      module2.exports = {
        "default": Format.RFC3986,
        formatters: {
          RFC1738: function(value) {
            return replace.call(value, percentTwenties, "+");
          },
          RFC3986: function(value) {
            return String(value);
          }
        },
        RFC1738: Format.RFC1738,
        RFC3986: Format.RFC3986
      };
    }
  });

  // node_modules/qs/lib/utils.js
  var require_utils = __commonJS({
    "node_modules/qs/lib/utils.js"(exports, module2) {
      "use strict";
      var formats = require_formats();
      var has = Object.prototype.hasOwnProperty;
      var isArray2 = Array.isArray;
      var hexTable = function() {
        var array = [];
        for (var i = 0; i < 256; ++i) {
          array.push("%" + ((i < 16 ? "0" : "") + i.toString(16)).toUpperCase());
        }
        return array;
      }();
      var compactQueue = function compactQueue2(queue) {
        while (queue.length > 1) {
          var item = queue.pop();
          var obj = item.obj[item.prop];
          if (isArray2(obj)) {
            var compacted = [];
            for (var j = 0; j < obj.length; ++j) {
              if (typeof obj[j] !== "undefined") {
                compacted.push(obj[j]);
              }
            }
            item.obj[item.prop] = compacted;
          }
        }
      };
      var arrayToObject = function arrayToObject2(source, options) {
        var obj = options && options.plainObjects ? /* @__PURE__ */ Object.create(null) : {};
        for (var i = 0; i < source.length; ++i) {
          if (typeof source[i] !== "undefined") {
            obj[i] = source[i];
          }
        }
        return obj;
      };
      var merge4 = function merge5(target, source, options) {
        if (!source) {
          return target;
        }
        if (typeof source !== "object") {
          if (isArray2(target)) {
            target.push(source);
          } else if (target && typeof target === "object") {
            if (options && (options.plainObjects || options.allowPrototypes) || !has.call(Object.prototype, source)) {
              target[source] = true;
            }
          } else {
            return [target, source];
          }
          return target;
        }
        if (!target || typeof target !== "object") {
          return [target].concat(source);
        }
        var mergeTarget = target;
        if (isArray2(target) && !isArray2(source)) {
          mergeTarget = arrayToObject(target, options);
        }
        if (isArray2(target) && isArray2(source)) {
          source.forEach(function(item, i) {
            if (has.call(target, i)) {
              var targetItem = target[i];
              if (targetItem && typeof targetItem === "object" && item && typeof item === "object") {
                target[i] = merge5(targetItem, item, options);
              } else {
                target.push(item);
              }
            } else {
              target[i] = item;
            }
          });
          return target;
        }
        return Object.keys(source).reduce(function(acc, key) {
          var value = source[key];
          if (has.call(acc, key)) {
            acc[key] = merge5(acc[key], value, options);
          } else {
            acc[key] = value;
          }
          return acc;
        }, mergeTarget);
      };
      var assign2 = function assignSingleSource(target, source) {
        return Object.keys(source).reduce(function(acc, key) {
          acc[key] = source[key];
          return acc;
        }, target);
      };
      var decode = function(str, decoder, charset) {
        var strWithoutPlus = str.replace(/\+/g, " ");
        if (charset === "iso-8859-1") {
          return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
        }
        try {
          return decodeURIComponent(strWithoutPlus);
        } catch (e) {
          return strWithoutPlus;
        }
      };
      var encode = function encode2(str, defaultEncoder, charset, kind, format) {
        if (str.length === 0) {
          return str;
        }
        var string = str;
        if (typeof str === "symbol") {
          string = Symbol.prototype.toString.call(str);
        } else if (typeof str !== "string") {
          string = String(str);
        }
        if (charset === "iso-8859-1") {
          return escape(string).replace(/%u[0-9a-f]{4}/gi, function($0) {
            return "%26%23" + parseInt($0.slice(2), 16) + "%3B";
          });
        }
        var out = "";
        for (var i = 0; i < string.length; ++i) {
          var c = string.charCodeAt(i);
          if (c === 45 || c === 46 || c === 95 || c === 126 || c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 || format === formats.RFC1738 && (c === 40 || c === 41)) {
            out += string.charAt(i);
            continue;
          }
          if (c < 128) {
            out = out + hexTable[c];
            continue;
          }
          if (c < 2048) {
            out = out + (hexTable[192 | c >> 6] + hexTable[128 | c & 63]);
            continue;
          }
          if (c < 55296 || c >= 57344) {
            out = out + (hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63]);
            continue;
          }
          i += 1;
          c = 65536 + ((c & 1023) << 10 | string.charCodeAt(i) & 1023);
          out += hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];
        }
        return out;
      };
      var compact2 = function compact3(value) {
        var queue = [{ obj: { o: value }, prop: "o" }];
        var refs = [];
        for (var i = 0; i < queue.length; ++i) {
          var item = queue[i];
          var obj = item.obj[item.prop];
          var keys = Object.keys(obj);
          for (var j = 0; j < keys.length; ++j) {
            var key = keys[j];
            var val = obj[key];
            if (typeof val === "object" && val !== null && refs.indexOf(val) === -1) {
              queue.push({ obj, prop: key });
              refs.push(val);
            }
          }
        }
        compactQueue(queue);
        return value;
      };
      var isRegExp = function isRegExp2(obj) {
        return Object.prototype.toString.call(obj) === "[object RegExp]";
      };
      var isBuffer = function isBuffer2(obj) {
        if (!obj || typeof obj !== "object") {
          return false;
        }
        return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
      };
      var combine = function combine2(a, b) {
        return [].concat(a, b);
      };
      var maybeMap = function maybeMap2(val, fn) {
        if (isArray2(val)) {
          var mapped = [];
          for (var i = 0; i < val.length; i += 1) {
            mapped.push(fn(val[i]));
          }
          return mapped;
        }
        return fn(val);
      };
      module2.exports = {
        arrayToObject,
        assign: assign2,
        combine,
        compact: compact2,
        decode,
        encode,
        isBuffer,
        isRegExp,
        maybeMap,
        merge: merge4
      };
    }
  });

  // node_modules/qs/lib/stringify.js
  var require_stringify = __commonJS({
    "node_modules/qs/lib/stringify.js"(exports, module2) {
      "use strict";
      var utils = require_utils();
      var formats = require_formats();
      var has = Object.prototype.hasOwnProperty;
      var arrayPrefixGenerators = {
        brackets: function brackets(prefix) {
          return prefix + "[]";
        },
        comma: "comma",
        indices: function indices(prefix, key) {
          return prefix + "[" + key + "]";
        },
        repeat: function repeat(prefix) {
          return prefix;
        }
      };
      var isArray2 = Array.isArray;
      var split = String.prototype.split;
      var push = Array.prototype.push;
      var pushToArray = function(arr, valueOrArray) {
        push.apply(arr, isArray2(valueOrArray) ? valueOrArray : [valueOrArray]);
      };
      var toISO = Date.prototype.toISOString;
      var defaultFormat = formats["default"];
      var defaults = {
        addQueryPrefix: false,
        allowDots: false,
        charset: "utf-8",
        charsetSentinel: false,
        delimiter: "&",
        encode: true,
        encoder: utils.encode,
        encodeValuesOnly: false,
        format: defaultFormat,
        formatter: formats.formatters[defaultFormat],
        // deprecated
        indices: false,
        serializeDate: function serializeDate(date2) {
          return toISO.call(date2);
        },
        skipNulls: false,
        strictNullHandling: false
      };
      var isNonNullishPrimitive = function isNonNullishPrimitive2(v) {
        return typeof v === "string" || typeof v === "number" || typeof v === "boolean" || typeof v === "symbol" || typeof v === "bigint";
      };
      var stringify3 = function stringify4(object, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset) {
        var obj = object;
        if (typeof filter === "function") {
          obj = filter(prefix, obj);
        } else if (obj instanceof Date) {
          obj = serializeDate(obj);
        } else if (generateArrayPrefix === "comma" && isArray2(obj)) {
          obj = utils.maybeMap(obj, function(value2) {
            if (value2 instanceof Date) {
              return serializeDate(value2);
            }
            return value2;
          });
        }
        if (obj === null) {
          if (strictNullHandling) {
            return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, "key", format) : prefix;
          }
          obj = "";
        }
        if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
          if (encoder) {
            var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, "key", format);
            if (generateArrayPrefix === "comma" && encodeValuesOnly) {
              var valuesArray = split.call(String(obj), ",");
              var valuesJoined = "";
              for (var i = 0; i < valuesArray.length; ++i) {
                valuesJoined += (i === 0 ? "" : ",") + formatter(encoder(valuesArray[i], defaults.encoder, charset, "value", format));
              }
              return [formatter(keyValue) + "=" + valuesJoined];
            }
            return [formatter(keyValue) + "=" + formatter(encoder(obj, defaults.encoder, charset, "value", format))];
          }
          return [formatter(prefix) + "=" + formatter(String(obj))];
        }
        var values2 = [];
        if (typeof obj === "undefined") {
          return values2;
        }
        var objKeys;
        if (generateArrayPrefix === "comma" && isArray2(obj)) {
          objKeys = [{ value: obj.length > 0 ? obj.join(",") || null : void 0 }];
        } else if (isArray2(filter)) {
          objKeys = filter;
        } else {
          var keys = Object.keys(obj);
          objKeys = sort ? keys.sort(sort) : keys;
        }
        for (var j = 0; j < objKeys.length; ++j) {
          var key = objKeys[j];
          var value = typeof key === "object" && typeof key.value !== "undefined" ? key.value : obj[key];
          if (skipNulls && value === null) {
            continue;
          }
          var keyPrefix = isArray2(obj) ? typeof generateArrayPrefix === "function" ? generateArrayPrefix(prefix, key) : prefix : prefix + (allowDots ? "." + key : "[" + key + "]");
          pushToArray(values2, stringify4(
            value,
            keyPrefix,
            generateArrayPrefix,
            strictNullHandling,
            skipNulls,
            encoder,
            filter,
            sort,
            allowDots,
            serializeDate,
            format,
            formatter,
            encodeValuesOnly,
            charset
          ));
        }
        return values2;
      };
      var normalizeStringifyOptions = function normalizeStringifyOptions2(opts) {
        if (!opts) {
          return defaults;
        }
        if (opts.encoder !== null && typeof opts.encoder !== "undefined" && typeof opts.encoder !== "function") {
          throw new TypeError("Encoder has to be a function.");
        }
        var charset = opts.charset || defaults.charset;
        if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") {
          throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");
        }
        var format = formats["default"];
        if (typeof opts.format !== "undefined") {
          if (!has.call(formats.formatters, opts.format)) {
            throw new TypeError("Unknown format option provided.");
          }
          format = opts.format;
        }
        var formatter = formats.formatters[format];
        var filter = defaults.filter;
        if (typeof opts.filter === "function" || isArray2(opts.filter)) {
          filter = opts.filter;
        }
        return {
          addQueryPrefix: typeof opts.addQueryPrefix === "boolean" ? opts.addQueryPrefix : defaults.addQueryPrefix,
          allowDots: typeof opts.allowDots === "undefined" ? defaults.allowDots : !!opts.allowDots,
          charset,
          charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel,
          delimiter: typeof opts.delimiter === "undefined" ? defaults.delimiter : opts.delimiter,
          encode: typeof opts.encode === "boolean" ? opts.encode : defaults.encode,
          encoder: typeof opts.encoder === "function" ? opts.encoder : defaults.encoder,
          encodeValuesOnly: typeof opts.encodeValuesOnly === "boolean" ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
          filter,
          format,
          formatter,
          serializeDate: typeof opts.serializeDate === "function" ? opts.serializeDate : defaults.serializeDate,
          skipNulls: typeof opts.skipNulls === "boolean" ? opts.skipNulls : defaults.skipNulls,
          sort: typeof opts.sort === "function" ? opts.sort : null,
          strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults.strictNullHandling
        };
      };
      module2.exports = function(object, opts) {
        var obj = object;
        var options = normalizeStringifyOptions(opts);
        var objKeys;
        var filter;
        if (typeof options.filter === "function") {
          filter = options.filter;
          obj = filter("", obj);
        } else if (isArray2(options.filter)) {
          filter = options.filter;
          objKeys = filter;
        }
        var keys = [];
        if (typeof obj !== "object" || obj === null) {
          return "";
        }
        var arrayFormat;
        if (opts && opts.arrayFormat in arrayPrefixGenerators) {
          arrayFormat = opts.arrayFormat;
        } else if (opts && "indices" in opts) {
          arrayFormat = opts.indices ? "indices" : "repeat";
        } else {
          arrayFormat = "indices";
        }
        var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
        if (!objKeys) {
          objKeys = Object.keys(obj);
        }
        if (options.sort) {
          objKeys.sort(options.sort);
        }
        for (var i = 0; i < objKeys.length; ++i) {
          var key = objKeys[i];
          if (options.skipNulls && obj[key] === null) {
            continue;
          }
          pushToArray(keys, stringify3(
            obj[key],
            key,
            generateArrayPrefix,
            options.strictNullHandling,
            options.skipNulls,
            options.encode ? options.encoder : null,
            options.filter,
            options.sort,
            options.allowDots,
            options.serializeDate,
            options.format,
            options.formatter,
            options.encodeValuesOnly,
            options.charset
          ));
        }
        var joined = keys.join(options.delimiter);
        var prefix = options.addQueryPrefix === true ? "?" : "";
        if (options.charsetSentinel) {
          if (options.charset === "iso-8859-1") {
            prefix += "utf8=%26%2310003%3B&";
          } else {
            prefix += "utf8=%E2%9C%93&";
          }
        }
        return joined.length > 0 ? prefix + joined : "";
      };
    }
  });

  // node_modules/qs/lib/parse.js
  var require_parse = __commonJS({
    "node_modules/qs/lib/parse.js"(exports, module2) {
      "use strict";
      var utils = require_utils();
      var has = Object.prototype.hasOwnProperty;
      var isArray2 = Array.isArray;
      var defaults = {
        allowDots: false,
        allowPrototypes: false,
        arrayLimit: 20,
        charset: "utf-8",
        charsetSentinel: false,
        comma: false,
        decoder: utils.decode,
        delimiter: "&",
        depth: 5,
        ignoreQueryPrefix: false,
        interpretNumericEntities: false,
        parameterLimit: 1e3,
        parseArrays: true,
        plainObjects: false,
        strictNullHandling: false
      };
      var interpretNumericEntities = function(str) {
        return str.replace(/&#(\d+);/g, function($0, numberStr) {
          return String.fromCharCode(parseInt(numberStr, 10));
        });
      };
      var parseArrayValue = function(val, options) {
        if (val && typeof val === "string" && options.comma && val.indexOf(",") > -1) {
          return val.split(",");
        }
        return val;
      };
      var isoSentinel = "utf8=%26%2310003%3B";
      var charsetSentinel = "utf8=%E2%9C%93";
      var parseValues = function parseQueryStringValues(str, options) {
        var obj = {};
        var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, "") : str;
        var limit = options.parameterLimit === Infinity ? void 0 : options.parameterLimit;
        var parts = cleanStr.split(options.delimiter, limit);
        var skipIndex = -1;
        var i;
        var charset = options.charset;
        if (options.charsetSentinel) {
          for (i = 0; i < parts.length; ++i) {
            if (parts[i].indexOf("utf8=") === 0) {
              if (parts[i] === charsetSentinel) {
                charset = "utf-8";
              } else if (parts[i] === isoSentinel) {
                charset = "iso-8859-1";
              }
              skipIndex = i;
              i = parts.length;
            }
          }
        }
        for (i = 0; i < parts.length; ++i) {
          if (i === skipIndex) {
            continue;
          }
          var part = parts[i];
          var bracketEqualsPos = part.indexOf("]=");
          var pos = bracketEqualsPos === -1 ? part.indexOf("=") : bracketEqualsPos + 1;
          var key, val;
          if (pos === -1) {
            key = options.decoder(part, defaults.decoder, charset, "key");
            val = options.strictNullHandling ? null : "";
          } else {
            key = options.decoder(part.slice(0, pos), defaults.decoder, charset, "key");
            val = utils.maybeMap(
              parseArrayValue(part.slice(pos + 1), options),
              function(encodedVal) {
                return options.decoder(encodedVal, defaults.decoder, charset, "value");
              }
            );
          }
          if (val && options.interpretNumericEntities && charset === "iso-8859-1") {
            val = interpretNumericEntities(val);
          }
          if (part.indexOf("[]=") > -1) {
            val = isArray2(val) ? [val] : val;
          }
          if (has.call(obj, key)) {
            obj[key] = utils.combine(obj[key], val);
          } else {
            obj[key] = val;
          }
        }
        return obj;
      };
      var parseObject = function(chain, val, options, valuesParsed) {
        var leaf = valuesParsed ? val : parseArrayValue(val, options);
        for (var i = chain.length - 1; i >= 0; --i) {
          var obj;
          var root2 = chain[i];
          if (root2 === "[]" && options.parseArrays) {
            obj = [].concat(leaf);
          } else {
            obj = options.plainObjects ? /* @__PURE__ */ Object.create(null) : {};
            var cleanRoot = root2.charAt(0) === "[" && root2.charAt(root2.length - 1) === "]" ? root2.slice(1, -1) : root2;
            var index = parseInt(cleanRoot, 10);
            if (!options.parseArrays && cleanRoot === "") {
              obj = { 0: leaf };
            } else if (!isNaN(index) && root2 !== cleanRoot && String(index) === cleanRoot && index >= 0 && (options.parseArrays && index <= options.arrayLimit)) {
              obj = [];
              obj[index] = leaf;
            } else if (cleanRoot !== "__proto__") {
              obj[cleanRoot] = leaf;
            }
          }
          leaf = obj;
        }
        return leaf;
      };
      var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
        if (!givenKey) {
          return;
        }
        var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, "[$1]") : givenKey;
        var brackets = /(\[[^[\]]*])/;
        var child = /(\[[^[\]]*])/g;
        var segment = options.depth > 0 && brackets.exec(key);
        var parent = segment ? key.slice(0, segment.index) : key;
        var keys = [];
        if (parent) {
          if (!options.plainObjects && has.call(Object.prototype, parent)) {
            if (!options.allowPrototypes) {
              return;
            }
          }
          keys.push(parent);
        }
        var i = 0;
        while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {
          i += 1;
          if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
            if (!options.allowPrototypes) {
              return;
            }
          }
          keys.push(segment[1]);
        }
        if (segment) {
          keys.push("[" + key.slice(segment.index) + "]");
        }
        return parseObject(keys, val, options, valuesParsed);
      };
      var normalizeParseOptions = function normalizeParseOptions2(opts) {
        if (!opts) {
          return defaults;
        }
        if (opts.decoder !== null && opts.decoder !== void 0 && typeof opts.decoder !== "function") {
          throw new TypeError("Decoder has to be a function.");
        }
        if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") {
          throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");
        }
        var charset = typeof opts.charset === "undefined" ? defaults.charset : opts.charset;
        return {
          allowDots: typeof opts.allowDots === "undefined" ? defaults.allowDots : !!opts.allowDots,
          allowPrototypes: typeof opts.allowPrototypes === "boolean" ? opts.allowPrototypes : defaults.allowPrototypes,
          arrayLimit: typeof opts.arrayLimit === "number" ? opts.arrayLimit : defaults.arrayLimit,
          charset,
          charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel,
          comma: typeof opts.comma === "boolean" ? opts.comma : defaults.comma,
          decoder: typeof opts.decoder === "function" ? opts.decoder : defaults.decoder,
          delimiter: typeof opts.delimiter === "string" || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
          // eslint-disable-next-line no-implicit-coercion, no-extra-parens
          depth: typeof opts.depth === "number" || opts.depth === false ? +opts.depth : defaults.depth,
          ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
          interpretNumericEntities: typeof opts.interpretNumericEntities === "boolean" ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
          parameterLimit: typeof opts.parameterLimit === "number" ? opts.parameterLimit : defaults.parameterLimit,
          parseArrays: opts.parseArrays !== false,
          plainObjects: typeof opts.plainObjects === "boolean" ? opts.plainObjects : defaults.plainObjects,
          strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults.strictNullHandling
        };
      };
      module2.exports = function(str, opts) {
        var options = normalizeParseOptions(opts);
        if (str === "" || str === null || typeof str === "undefined") {
          return options.plainObjects ? /* @__PURE__ */ Object.create(null) : {};
        }
        var tempObj = typeof str === "string" ? parseValues(str, options) : str;
        var obj = options.plainObjects ? /* @__PURE__ */ Object.create(null) : {};
        var keys = Object.keys(tempObj);
        for (var i = 0; i < keys.length; ++i) {
          var key = keys[i];
          var newObj = parseKeys(key, tempObj[key], options, typeof str === "string");
          obj = utils.merge(obj, newObj, options);
        }
        return utils.compact(obj);
      };
    }
  });

  // node_modules/qs/lib/index.js
  var require_lib4 = __commonJS({
    "node_modules/qs/lib/index.js"(exports, module2) {
      "use strict";
      var stringify3 = require_stringify();
      var parse2 = require_parse();
      var formats = require_formats();
      module2.exports = {
        formats,
        parse: parse2,
        stringify: stringify3
      };
    }
  });

  // packages/shared/render/plugins/Commerce/modules/orderConfirmationEvents.ts
  var import_qs, renderOrderConfirmation, handleRenderOrderConfirmation, register5, orderConfirmationEvents_default;
  var init_orderConfirmationEvents = __esm({
    "packages/shared/render/plugins/Commerce/modules/orderConfirmationEvents.ts"() {
      "use strict";
      init_lib7();
      import_qs = __toESM(require_lib4());
      init_commerceUtils();
      init_rendering();
      init_constants();
      renderOrderConfirmation = (orderConfirmation, data) => {
        renderTree(orderConfirmation, data);
      };
      handleRenderOrderConfirmation = (event, apolloClient2) => {
        if (window.Webflow.env("design") || window.Webflow.env("preview")) {
          return;
        }
        if (!(event instanceof CustomEvent && event.type === RENDER_TREE_EVENT)) {
          return;
        }
        const errors = [];
        const { detail } = event;
        if (detail != null && detail.error) {
          errors.push(detail.error);
        }
        const orderConfirmationContainer = findElementByNodeType(
          NODE_TYPE_COMMERCE_ORDER_CONFIRMATION_WRAPPER
        );
        if (!orderConfirmationContainer) {
          return;
        }
        const {
          orderId,
          token
        } = import_qs.default.parse(window.location.search.substring(1));
        if (!orderId || !token) {
          return;
        }
        const finalizedOrder = { orderId, token };
        trackOrder(apolloClient2, finalizedOrder);
        const allOrderConfirmationContainers = findAllElementsByNodeType(
          NODE_TYPE_COMMERCE_ORDER_CONFIRMATION_WRAPPER
        );
        apolloClient2.query({
          query: lib_default2`
        ${orderConfirmationContainer.getAttribute(ORDER_QUERY)}
      `,
          variables: { finalizedOrder },
          fetchPolicy: "network-only",
          // errorPolicy is set to `all` so that we continue to get the cart data when an error occurs
          // this is important in cases like when the address entered doesn't have a shipping zone, as that returns
          // a graphQL error, but we still want to render what the customer has entered
          errorPolicy: "all"
        }).then((data) => {
          allOrderConfirmationContainers.forEach(
            (orderConfirmationContainerNode) => {
              renderOrderConfirmation(orderConfirmationContainerNode, {
                ...data,
                errors: errors.concat(data.errors).filter(Boolean)
              });
            }
          );
        }).catch((err) => {
          errors.push(err);
          allOrderConfirmationContainers.forEach(
            (orderConfirmationContainerNode) => {
              renderOrderConfirmation(orderConfirmationContainerNode, { errors });
            }
          );
        });
      };
      register5 = (handlerProxy2) => {
        handlerProxy2.on(RENDER_TREE_EVENT, Boolean, handleRenderOrderConfirmation);
      };
      orderConfirmationEvents_default = { register: register5 };
    }
  });

  // packages/shared/render/plugins/Commerce/modules/paypalEvents.ts
  var isPlaceOrderButtonEvent2, hasSyncedWithPaypal, handleRenderPayPalCheckout, placingOrder2, startOrderFlow2, checkFormValidity2, handlePlaceOrder2, iframeStyle, createConfirmationIframe, renderPaypalButtons, register6, paypalEvents_default;
  var init_paypalEvents = __esm({
    "packages/shared/render/plugins/Commerce/modules/paypalEvents.ts"() {
      "use strict";
      init_commerceUtils();
      init_checkoutUtils();
      init_cartUtils();
      init_debug();
      init_checkoutMutations();
      init_constants();
      isPlaceOrderButtonEvent2 = ({ target }) => {
        const placeOrderButton = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_PLACE_ORDER_BUTTON,
          target
        );
        if (placeOrderButton && target instanceof Element) {
          return target;
        } else {
          return false;
        }
      };
      hasSyncedWithPaypal = false;
      handleRenderPayPalCheckout = (event, apolloClient2) => {
        if (window.Webflow.env("design") || window.Webflow.env("preview")) {
          return;
        }
        if (!(event instanceof CustomEvent && event.type === RENDER_TREE_EVENT)) {
          return;
        }
        const checkoutFormContainers = findAllElementsByNodeType(
          NODE_TYPE_COMMERCE_PAYPAL_CHECKOUT_FORM_CONTAINER
        );
        if (!checkoutFormContainers || checkoutFormContainers.length === 0) {
          return;
        }
        const errors = [];
        const { detail } = event;
        if (detail != null && detail.error) {
          errors.push(detail.error);
        }
        const focusedEle = window.document.activeElement;
        const checkoutForm = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_PAYPAL_CHECKOUT_FORM_CONTAINER,
          // @ts-expect-error - TS2345 - Argument of type 'Element | null' is not assignable to parameter of type 'EventTarget'.
          focusedEle
        );
        let prevFocusedInput = null;
        if (focusedEle instanceof HTMLInputElement && checkoutForm) {
          prevFocusedInput = focusedEle.id;
          if (!prevFocusedInput) {
            prevFocusedInput = focusedEle.getAttribute("data-wf-bindings");
          }
          prevFocusedInput = prevFocusedInput ? null : prevFocusedInput;
        }
        const syncWithPayPalIfNeeded = !hasSyncedWithPaypal ? apolloClient2.mutate({
          mutation: syncPayPalOrderInfo
        }) : Promise.resolve();
        syncWithPayPalIfNeeded.then(() => {
          hasSyncedWithPaypal = true;
          renderCheckoutFormContainers(
            checkoutFormContainers,
            errors,
            apolloClient2,
            void 0,
            prevFocusedInput
          );
        });
      };
      placingOrder2 = false;
      startOrderFlow2 = (placeOrderButton) => {
        placingOrder2 = true;
        window.addEventListener("beforeunload", beforeUnloadHandler);
        const buttonText = placeOrderButton.innerHTML;
        const loadingText = placeOrderButton.getAttribute(DATA_ATTR_LOADING_TEXT);
        placeOrderButton.innerHTML = loadingText ? loadingText : CHECKOUT_PLACE_ORDER_LOADING_TEXT_DEFAULT;
        const finishOrderFlow = (isRedirecting = false) => {
          if (!isRedirecting) {
            placingOrder2 = false;
          }
          window.removeEventListener("beforeunload", beforeUnloadHandler);
          placeOrderButton.innerHTML = buttonText ? buttonText : CHECKOUT_PLACE_ORDER_BUTTON_TEXT_DEFAULT;
        };
        return finishOrderFlow;
      };
      checkFormValidity2 = ({
        shippingInfo,
        additionalInfo,
        requiresShipping
      }) => {
        if (!HTMLFormElement.prototype.reportValidity) {
          return true;
        }
        if (requiresShipping && !shippingInfo.reportValidity() || additionalInfo && additionalInfo instanceof HTMLFormElement && !additionalInfo.reportValidity()) {
          return false;
        }
        return true;
      };
      handlePlaceOrder2 = (event, apolloClient2) => {
        if (
          // @ts-expect-error - TS2339 - Property 'Webflow' does not exist on type 'Window & typeof globalThis'.
          window.Webflow.env("design") || // @ts-expect-error - TS2339 - Property 'Webflow' does not exist on type 'Window & typeof globalThis'.
          window.Webflow.env("preview") || placingOrder2
        ) {
          return;
        }
        const { currentTarget } = event;
        if (!(currentTarget instanceof Element)) {
          return;
        }
        const checkoutFormContainer = findClosestElementByNodeType(
          NODE_TYPE_COMMERCE_PAYPAL_CHECKOUT_FORM_CONTAINER,
          currentTarget
        );
        if (!(checkoutFormContainer instanceof Element)) {
          return;
        }
        const errorState4 = findElementByNodeType(
          NODE_TYPE_COMMERCE_PAYPAL_CHECKOUT_ERROR_STATE,
          checkoutFormContainer
        );
        const shippingInfo = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_SHIPPING_METHODS_WRAPPER,
          checkoutFormContainer
        );
        const placeOrderButton = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_PLACE_ORDER_BUTTON,
          checkoutFormContainer
        );
        const additionalInfo = findElementByNodeType(
          NODE_TYPE_COMMERCE_CHECKOUT_ADDITIONAL_INFO,
          checkoutFormContainer
        );
        if (!(errorState4 instanceof HTMLElement) || !(shippingInfo instanceof HTMLFormElement) || !(placeOrderButton instanceof Element)) {
          return;
        }
        const errorMessage = errorState4.querySelector(
          CART_CHECKOUT_ERROR_MESSAGE_SELECTOR
        );
        if (errorMessage && errorMessage.hasAttribute(NEEDS_REFRESH)) {
          return;
        }
        const hasAdditionalInfo = additionalInfo && additionalInfo instanceof HTMLElement;
        const finishOrderFlow = startOrderFlow2(placeOrderButton);
        errorState4.style.setProperty("display", "none");
        fetchOrderStatusFlags(apolloClient2).then(({ requiresShipping }) => {
          const isFormValid = checkFormValidity2({
            shippingInfo,
            additionalInfo,
            requiresShipping
          });
          if (!isFormValid) {
            finishOrderFlow();
            return;
          }
          let shippingMethodId = "";
          if (requiresShipping && shippingInfo.elements["shipping-method-choice"]) {
            const shippingMethodChoice = shippingInfo.querySelector(
              'input[name="shipping-method-choice"]:checked'
            );
            if (shippingMethodChoice) {
              shippingMethodId = shippingMethodChoice.value;
            }
          }
          const customData = hasAdditionalInfo ? customDataFormToArray(additionalInfo) : [];
          const syncPayPalCheckoutForm = Promise.all([
            requiresShipping ? createOrderShippingMethodMutation(apolloClient2, shippingMethodId) : Promise.resolve(),
            hasAdditionalInfo ? (
              // @ts-expect-error - TS2345 - Argument of type 'any[]' is not assignable to parameter of type '[]'.
              createCustomDataMutation(apolloClient2, customData)
            ) : Promise.resolve()
          ]);
          syncPayPalCheckoutForm.then(() => {
            return createAttemptSubmitOrderRequest(apolloClient2, {
              checkoutType: "paypal"
            });
          }).then((data) => {
            debug_default.log(data);
            const order = getOrderDataFromGraphQLResponse(data);
            if (order.ok) {
              finishOrderFlow(true);
              redirectToOrderConfirmation(order, true);
            }
          }).catch((err) => {
            finishOrderFlow();
            debug_default.error(err);
            errorState4.style.removeProperty("display");
            updateErrorMessage(errorState4, err);
            if (err.graphQLErrors && err.graphQLErrors[0] && err.graphQLErrors[0].message) {
              const parsedError = safeParseJson(err.graphQLErrors[0].message);
              if (!parsedError) {
                return;
              }
              if (parsedError.details && parsedError.details[0] && parsedError.details[0].issue === "INSTRUMENT_DECLINED") {
                const message = {
                  isWebflow: true,
                  type: "error",
                  detail: parsedError
                };
                window.parent.postMessage(
                  JSON.stringify(message),
                  window.location.origin
                );
              }
            }
          });
        });
      };
      iframeStyle = `
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  width: 100vw;
  height: 100vh;
  min-width: 100%;
  min-height: 100%;
  max-width: 100%;
  max-height: 100%;
  z-index: 2147483647;
  border: 0;
  background-color: #ffffff;
`;
      createConfirmationIframe = (actions) => {
        const documentRoot = document.documentElement;
        const documentBody = document.querySelector("body");
        if (!documentRoot || !documentBody) {
          return;
        }
        const iframe = document.createElement("iframe");
        iframe.setAttribute("style", iframeStyle);
        iframe.setAttribute("src", "/paypal-checkout");
        if (!documentBody.parentNode) {
          return;
        }
        documentBody.parentNode.appendChild(iframe);
        const previousRootOverflow = documentRoot.style.overflow;
        documentRoot.style.overflow = "hidden";
        const previousBodyDisplay = documentBody.style.display;
        documentBody.style.display = "none";
        const paypalMessageHandler = (event) => {
          if (event.origin !== window.location.origin) {
            return;
          }
          const data = safeParseJson(String(event.data));
          if (!data || data.isWebflow !== true || !data.type || !data.detail) {
            return;
          }
          if (data.type === "success") {
            window.removeEventListener("message", paypalMessageHandler);
            window.location.href = data.detail;
          }
          if (data.type === "error") {
            window.removeEventListener("message", paypalMessageHandler);
            if (previousRootOverflow) {
              documentRoot.style.overflow = previousRootOverflow;
            } else {
              documentRoot.style.overflow = "";
            }
            if (previousBodyDisplay) {
              documentBody.style.display = previousBodyDisplay;
            } else {
              documentBody.style.display = "";
            }
            if (documentBody.parentNode) {
              documentBody.parentNode.removeChild(iframe);
            }
            actions.restart();
          }
        };
        window.addEventListener("message", paypalMessageHandler);
      };
      renderPaypalButtons = (apolloClient2) => () => {
        const paypalElement = document.querySelector(
          `[${PAYPAL_ELEMENT_INSTANCE}]`
        );
        const buttons = Array.from(
          document.querySelectorAll(`[${PAYPAL_BUTTON_ELEMENT_INSTANCE}]`)
        );
        if (paypalElement && buttons && buttons.length > 0) {
          buttons.forEach((button) => {
            const style2 = safeParseJson(
              button.getAttribute(PAYPAL_BUTTON_ELEMENT_INSTANCE)
            );
            window.paypal.Buttons({
              style: style2,
              createOrder() {
                return apolloClient2.mutate({
                  mutation: requestPayPalOrderMutation
                }).then((data) => {
                  const {
                    data: {
                      ecommercePaypalOrderRequest: { orderId }
                    }
                  } = data;
                  return orderId;
                }).catch((err) => {
                  showErrorMessageForError(err);
                  if (isCartOpen()) {
                    showErrorMessageForError2(err);
                  }
                  throw err;
                });
              },
              onApprove(data, actions) {
                createConfirmationIframe(actions);
              }
            }).render(button);
          });
        }
      };
      register6 = (handlerProxy2) => {
        handlerProxy2.on(RENDER_TREE_EVENT, Boolean, handleRenderPayPalCheckout);
        handlerProxy2.on("click", isPlaceOrderButtonEvent2, handlePlaceOrder2);
        handlerProxy2.on("keydown", isPlaceOrderButtonEvent2, (event, apolloClient2) => {
          if (event.which === 32) {
            event.preventDefault();
          }
          if (event.which === 13) {
            return handlePlaceOrder2(event, apolloClient2);
          }
        });
        handlerProxy2.on("keyup", isPlaceOrderButtonEvent2, (event, apolloClient2) => {
          if (event.which === 32) {
            return handlePlaceOrder2(event, apolloClient2);
          }
        });
      };
      paypalEvents_default = { register: register6 };
    }
  });

  // packages/shared/render/plugins/Commerce/modules/index.ts
  var modules_exports = {};
  __export(modules_exports, {
    design: () => design,
    destroy: () => destroy,
    init: () => init,
    preview: () => preview
  });
  function attachHandlers() {
    handlerProxy && handlerProxy.attachHandlers(window);
  }
  function detachHandlers() {
    handlerProxy && handlerProxy.removeHandlers(window);
  }
  function init({ siteId }) {
    apolloClient = createApolloClient({
      path: (
        // @ts-expect-error - TS2339 - Property 'Webflow' does not exist on type 'Window & typeof globalThis'. | TS2339 - Property 'Webflow' does not exist on type 'Window & typeof globalThis'.
        window.Webflow.env("design") || window.Webflow.env("preview") ? `/api/v1/sites/${siteId}/apollo` : GQL_QUERY_PATH2
      ),
      retryConfig: {
        maxAttempts: 5
      },
      useCsrf: true
    });
    stripeStore = new StripeStore(document);
    handlerProxy = new EventHandlerProxyWithApolloClient(
      apolloClient,
      stripeStore
    );
    addToCartEvents_default.register(handlerProxy);
    cartEvents_default.register(handlerProxy);
    checkoutEvents_default.register(handlerProxy);
    orderConfirmationEvents_default.register(handlerProxy);
    webPaymentsEvents_default.register(handlerProxy);
    paypalEvents_default.register(handlerProxy);
    initializeStripeElements(stripeStore);
    detachHandlers();
    attachHandlers();
    triggerRender(null, true);
    if (!window.Webflow.env()) {
      window.Webflow.load(renderPaypalButtons(apolloClient));
    }
  }
  function preview() {
    detachHandlers();
    attachHandlers();
    triggerRender(null, true);
  }
  function design() {
    detachHandlers();
    if (apolloClient && apolloClient.store) {
      apolloClient.resetStore();
    }
  }
  function destroy() {
    detachHandlers();
  }
  var import_symbol, import_array, import_repeat, import_entries, import_for_each, import_number, import_polyfill2, GQL_QUERY_PATH2, handlerProxy, apolloClient, stripeStore;
  var init_modules = __esm({
    "packages/shared/render/plugins/Commerce/modules/index.ts"() {
      "use strict";
      init_polyfill();
      import_symbol = __toESM(require_symbol3());
      import_array = __toESM(require_array3());
      import_repeat = __toESM(require_repeat3());
      import_entries = __toESM(require_entries3());
      import_for_each = __toESM(require_for_each2());
      import_number = __toESM(require_number3());
      init_apolloClient();
      init_eventHandlerProxyWithApolloClient();
      init_addToCartEvents();
      init_cartEvents();
      init_checkoutEvents();
      init_orderConfirmationEvents();
      init_webPaymentsEvents();
      init_stripeStore();
      init_commerceUtils();
      init_polyfill2();
      import_polyfill2 = __toESM(require_polyfill());
      init_checkoutUtils();
      init_paypalEvents();
      GQL_QUERY_PATH2 = "/.wf_graphql/apollo";
    }
  });

  // packages/shared/render/plugins/Commerce/webflow-commerce.js
  var require_webflow_commerce = __commonJS({
    "packages/shared/render/plugins/Commerce/webflow-commerce.js"(exports, module2) {
      "use strict";
      var Webflow = require_webflow_lib();
      var { design: design2, destroy: destroy2, init: init2, preview: preview2 } = (init_modules(), __toCommonJS(modules_exports));
      Webflow.define("commerce", module2.exports = function() {
        return {
          design: design2,
          destroy: destroy2,
          init: init2,
          preview: preview2
        };
      });
    }
  });

  // packages/shared/render/plugins/Form/webflow-forms-hosted.js
  var require_webflow_forms_hosted = __commonJS({
    "packages/shared/render/plugins/Form/webflow-forms-hosted.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      Object.defineProperty(exports, "default", {
        enumerable: true,
        get: function() {
          return hostedSubmitWebflow;
        }
      });
      function hostedSubmitWebflow(reset, loc, Webflow, collectEnterpriseTrackingCookies, preventDefault, findFields, alert, findFileUploads, disableBtn, siteId, afterSubmit, $2, formUrl) {
        return function(data) {
          reset(data);
          var form = data.form;
          var payload = {
            name: form.attr("data-name") || form.attr("name") || "Untitled Form",
            pageId: form.attr("data-wf-page-id") || "",
            elementId: form.attr("data-wf-element-id") || "",
            source: loc.href,
            test: Webflow.env(),
            fields: {},
            fileUploads: {},
            dolphin: /pass[\s-_]?(word|code)|secret|login|credentials/i.test(form.html()),
            trackingCookies: collectEnterpriseTrackingCookies()
          };
          const wfFlow = form.attr("data-wf-flow");
          if (wfFlow) {
            payload.wfFlow = wfFlow;
          }
          preventDefault(data);
          var status = findFields(form, payload.fields);
          if (status) {
            return alert(status);
          }
          payload.fileUploads = findFileUploads(form);
          disableBtn(data);
          if (!siteId) {
            afterSubmit(data);
            return;
          }
          $2.ajax({
            url: formUrl,
            type: "POST",
            data: payload,
            dataType: "json",
            crossDomain: true
          }).done(function(response) {
            if (response && response.code === 200) {
              data.success = true;
            }
            afterSubmit(data);
          }).fail(function() {
            afterSubmit(data);
          });
        };
      }
    }
  });

  // packages/shared/render/plugins/Form/webflow-forms.js
  var require_webflow_forms = __commonJS({
    "packages/shared/render/plugins/Form/webflow-forms.js"(exports, module2) {
      "use strict";
      var Webflow = require_webflow_lib();
      Webflow.define("forms", module2.exports = function($2, _) {
        var api = {};
        var $doc = $2(document);
        var $forms;
        var loc = window.location;
        var retro = window.XDomainRequest && !window.atob;
        var namespace = ".w-form";
        var siteId;
        var emailField = /e(-)?mail/i;
        var emailValue = /^\S+@\S+$/;
        var alert = window.alert;
        var inApp = Webflow.env();
        var listening;
        var formUrl;
        var signFileUrl;
        var chimpRegex = /list-manage[1-9]?.com/i;
        var disconnected = _.debounce(function() {
          alert("Oops! This page has improperly configured forms. Please contact your website administrator to fix this issue.");
        }, 100);
        api.ready = api.design = api.preview = function() {
          init2();
          if (!inApp && !listening) {
            addListeners();
          }
        };
        function init2() {
          siteId = $2("html").attr("data-wf-site");
          formUrl = "https://webflow.com/api/v1/form/" + siteId;
          if (retro && formUrl.indexOf("https://webflow.com") >= 0) {
            formUrl = formUrl.replace("https://webflow.com", "https://formdata.webflow.com");
          }
          signFileUrl = `${formUrl}/signFile`;
          $forms = $2(namespace + " form");
          if (!$forms.length) {
            return;
          }
          $forms.each(build);
        }
        function build(i, el) {
          var $el = $2(el);
          var data = $2.data(el, namespace);
          if (!data) {
            data = $2.data(el, namespace, {
              form: $el
            });
          }
          reset(data);
          var wrap4 = $el.closest("div.w-form");
          data.done = wrap4.find("> .w-form-done");
          data.fail = wrap4.find("> .w-form-fail");
          data.fileUploads = wrap4.find(".w-file-upload");
          data.fileUploads.each(function(j) {
            initFileUpload(j, data);
          });
          var formName = data.form.attr("aria-label") || data.form.attr("data-name") || "Form";
          if (!data.done.attr("aria-label")) {
            data.form.attr("aria-label", formName);
          }
          data.done.attr("tabindex", "-1");
          data.done.attr("role", "region");
          if (!data.done.attr("aria-label")) {
            data.done.attr("aria-label", formName + " success");
          }
          data.fail.attr("tabindex", "-1");
          data.fail.attr("role", "region");
          if (!data.fail.attr("aria-label")) {
            data.fail.attr("aria-label", formName + " failure");
          }
          var action = data.action = $el.attr("action");
          data.handler = null;
          data.redirect = $el.attr("data-redirect");
          if (chimpRegex.test(action)) {
            data.handler = submitMailChimp;
            return;
          }
          if (action) {
            return;
          }
          if (siteId) {
            data.handler = false ? exportedSubmitWebflow : (() => {
              const hostedSubmitHandler = require_webflow_forms_hosted().default;
              return hostedSubmitHandler(reset, loc, Webflow, collectEnterpriseTrackingCookies, preventDefault, findFields, alert, findFileUploads, disableBtn, siteId, afterSubmit, $2, formUrl);
            })();
            return;
          }
          disconnected();
        }
        function addListeners() {
          listening = true;
          $doc.on("submit", namespace + " form", function(evt) {
            var data = $2.data(this, namespace);
            if (data.handler) {
              data.evt = evt;
              data.handler(data);
            }
          });
          const CHECKBOX_CLASS_NAME = ".w-checkbox-input";
          const RADIO_INPUT_CLASS_NAME = ".w-radio-input";
          const CHECKED_CLASS = "w--redirected-checked";
          const FOCUSED_CLASS = "w--redirected-focus";
          const FOCUSED_VISIBLE_CLASS = "w--redirected-focus-visible";
          const focusVisibleSelectors = ":focus-visible, [data-wf-focus-visible]";
          const CUSTOM_CONTROLS = [
            [
              "checkbox",
              CHECKBOX_CLASS_NAME
            ],
            [
              "radio",
              RADIO_INPUT_CLASS_NAME
            ]
          ];
          $doc.on("change", namespace + ` form input[type="checkbox"]:not(` + CHECKBOX_CLASS_NAME + ")", (evt) => {
            $2(evt.target).siblings(CHECKBOX_CLASS_NAME).toggleClass(CHECKED_CLASS);
          });
          $doc.on("change", namespace + ` form input[type="radio"]`, (evt) => {
            $2(`input[name="${evt.target.name}"]:not(${CHECKBOX_CLASS_NAME})`).map((i, el) => $2(el).siblings(RADIO_INPUT_CLASS_NAME).removeClass(CHECKED_CLASS));
            const $target = $2(evt.target);
            if (!$target.hasClass("w-radio-input")) {
              $target.siblings(RADIO_INPUT_CLASS_NAME).addClass(CHECKED_CLASS);
            }
          });
          CUSTOM_CONTROLS.forEach(([controlType, customControlClassName]) => {
            $doc.on("focus", namespace + ` form input[type="${controlType}"]:not(` + customControlClassName + ")", (evt) => {
              $2(evt.target).siblings(customControlClassName).addClass(FOCUSED_CLASS);
              $2(evt.target).filter(focusVisibleSelectors).siblings(customControlClassName).addClass(FOCUSED_VISIBLE_CLASS);
            });
            $doc.on("blur", namespace + ` form input[type="${controlType}"]:not(` + customControlClassName + ")", (evt) => {
              $2(evt.target).siblings(customControlClassName).removeClass(`${FOCUSED_CLASS} ${FOCUSED_VISIBLE_CLASS}`);
            });
          });
        }
        function reset(data) {
          var btn = data.btn = data.form.find(':input[type="submit"]');
          data.wait = data.btn.attr("data-wait") || null;
          data.success = false;
          btn.prop("disabled", false);
          data.label && btn.val(data.label);
        }
        function disableBtn(data) {
          var btn = data.btn;
          var wait = data.wait;
          btn.prop("disabled", true);
          if (wait) {
            data.label = btn.val();
            btn.val(wait);
          }
        }
        function findFields(form, result2) {
          var status = null;
          result2 = result2 || {};
          form.find(':input:not([type="submit"]):not([type="file"])').each(function(i, el) {
            var field = $2(el);
            var type = field.attr("type");
            var name = field.attr("data-name") || field.attr("name") || "Field " + (i + 1);
            name = encodeURIComponent(name);
            var value = field.val();
            if (type === "checkbox") {
              value = field.is(":checked");
            } else if (type === "radio") {
              if (result2[name] === null || typeof result2[name] === "string") {
                return;
              }
              value = form.find('input[name="' + field.attr("name") + '"]:checked').val() || null;
            }
            if (typeof value === "string") {
              value = $2.trim(value);
            }
            result2[name] = value;
            status = status || getStatus(field, type, name, value);
          });
          return status;
        }
        function findFileUploads(form) {
          var result2 = {};
          form.find(':input[type="file"]').each(function(i, el) {
            var field = $2(el);
            var name = field.attr("data-name") || field.attr("name") || "File " + (i + 1);
            var value = field.attr("data-value");
            if (typeof value === "string") {
              value = $2.trim(value);
            }
            result2[name] = value;
          });
          return result2;
        }
        const trackingCookieNameMap = {
          _mkto_trk: "marketo"
        };
        function collectEnterpriseTrackingCookies() {
          const cookies = document.cookie.split("; ").reduce(function(acc, cookie) {
            const splitCookie = cookie.split("=");
            const name = splitCookie[0];
            if (name in trackingCookieNameMap) {
              const mappedName = trackingCookieNameMap[name];
              const value = splitCookie.slice(1).join("=");
              acc[mappedName] = value;
            }
            return acc;
          }, {});
          return cookies;
        }
        function getStatus(field, type, name, value) {
          var status = null;
          if (type === "password") {
            status = "Passwords cannot be submitted.";
          } else if (field.attr("required")) {
            if (!value) {
              status = "Please fill out the required field: " + name;
            } else if (emailField.test(field.attr("type"))) {
              if (!emailValue.test(value)) {
                status = "Please enter a valid email address for: " + name;
              }
            }
          } else if (name === "g-recaptcha-response" && !value) {
            status = "Please confirm you\u2019re not a robot.";
          }
          return status;
        }
        function exportedSubmitWebflow(data) {
          preventDefault(data);
          afterSubmit(data);
        }
        function submitMailChimp(data) {
          reset(data);
          var form = data.form;
          var payload = {};
          if (/^https/.test(loc.href) && !/^https/.test(data.action)) {
            form.attr("method", "post");
            return;
          }
          preventDefault(data);
          var status = findFields(form, payload);
          if (status) {
            return alert(status);
          }
          disableBtn(data);
          var fullName;
          _.each(payload, function(value, key) {
            if (emailField.test(key)) {
              payload.EMAIL = value;
            }
            if (/^((full[ _-]?)?name)$/i.test(key)) {
              fullName = value;
            }
            if (/^(first[ _-]?name)$/i.test(key)) {
              payload.FNAME = value;
            }
            if (/^(last[ _-]?name)$/i.test(key)) {
              payload.LNAME = value;
            }
          });
          if (fullName && !payload.FNAME) {
            fullName = fullName.split(" ");
            payload.FNAME = fullName[0];
            payload.LNAME = payload.LNAME || fullName[1];
          }
          var url = data.action.replace("/post?", "/post-json?") + "&c=?";
          var userId = url.indexOf("u=") + 2;
          userId = url.substring(userId, url.indexOf("&", userId));
          var listId = url.indexOf("id=") + 3;
          listId = url.substring(listId, url.indexOf("&", listId));
          payload["b_" + userId + "_" + listId] = "";
          $2.ajax({
            url,
            data: payload,
            dataType: "jsonp"
          }).done(function(resp) {
            data.success = resp.result === "success" || /already/.test(resp.msg);
            if (!data.success) {
              console.info("MailChimp error: " + resp.msg);
            }
            afterSubmit(data);
          }).fail(function() {
            afterSubmit(data);
          });
        }
        function afterSubmit(data) {
          var form = data.form;
          var redirect = data.redirect;
          var success = data.success;
          if (success && redirect) {
            Webflow.location(redirect);
            return;
          }
          data.done.toggle(success);
          data.fail.toggle(!success);
          if (success) {
            data.done.focus();
          } else {
            data.fail.focus();
          }
          form.toggle(!success);
          reset(data);
        }
        function preventDefault(data) {
          data.evt && data.evt.preventDefault();
          data.evt = null;
        }
        function initFileUpload(i, form) {
          if (!form.fileUploads || !form.fileUploads[i]) {
            return;
          }
          var file;
          var $el = $2(form.fileUploads[i]);
          var $defaultWrap = $el.find("> .w-file-upload-default");
          var $uploadingWrap = $el.find("> .w-file-upload-uploading");
          var $successWrap = $el.find("> .w-file-upload-success");
          var $errorWrap = $el.find("> .w-file-upload-error");
          var $input = $defaultWrap.find(".w-file-upload-input");
          var $label = $defaultWrap.find(".w-file-upload-label");
          var $labelChildren = $label.children();
          var $errorMsgEl = $errorWrap.find(".w-file-upload-error-msg");
          var $fileEl = $successWrap.find(".w-file-upload-file");
          var $removeEl = $successWrap.find(".w-file-remove-link");
          var $fileNameEl = $fileEl.find(".w-file-upload-file-name");
          var sizeErrMsg = $errorMsgEl.attr("data-w-size-error");
          var typeErrMsg = $errorMsgEl.attr("data-w-type-error");
          var genericErrMsg = $errorMsgEl.attr("data-w-generic-error");
          if (!inApp) {
            $label.on("click keydown", function(e) {
              if (e.type === "keydown" && e.which !== 13 && e.which !== 32) {
                return;
              }
              e.preventDefault();
              $input.click();
            });
          }
          $label.find(".w-icon-file-upload-icon").attr("aria-hidden", "true");
          $removeEl.find(".w-icon-file-upload-remove").attr("aria-hidden", "true");
          if (!inApp) {
            $removeEl.on("click keydown", function(e) {
              if (e.type === "keydown") {
                if (e.which !== 13 && e.which !== 32) {
                  return;
                }
                e.preventDefault();
              }
              $input.removeAttr("data-value");
              $input.val("");
              $fileNameEl.html("");
              $defaultWrap.toggle(true);
              $successWrap.toggle(false);
              $label.focus();
            });
            $input.on("change", function(e) {
              file = e.target && e.target.files && e.target.files[0];
              if (!file) {
                return;
              }
              $defaultWrap.toggle(false);
              $errorWrap.toggle(false);
              $uploadingWrap.toggle(true);
              $uploadingWrap.focus();
              $fileNameEl.text(file.name);
              if (!isUploading()) {
                disableBtn(form);
              }
              form.fileUploads[i].uploading = true;
              signFile(file, afterSign);
            });
            var height = $label.outerHeight();
            $input.height(height);
            $input.width(1);
          } else {
            $input.on("click", function(e) {
              e.preventDefault();
            });
            $label.on("click", function(e) {
              e.preventDefault();
            });
            $labelChildren.on("click", function(e) {
              e.preventDefault();
            });
          }
          function parseError(err) {
            var errorMsg = err.responseJSON && err.responseJSON.msg;
            var userError = genericErrMsg;
            if (typeof errorMsg === "string" && errorMsg.indexOf("InvalidFileTypeError") === 0) {
              userError = typeErrMsg;
            } else if (typeof errorMsg === "string" && errorMsg.indexOf("MaxFileSizeError") === 0) {
              userError = sizeErrMsg;
            }
            $errorMsgEl.text(userError);
            $input.removeAttr("data-value");
            $input.val("");
            $uploadingWrap.toggle(false);
            $defaultWrap.toggle(true);
            $errorWrap.toggle(true);
            $errorWrap.focus();
            form.fileUploads[i].uploading = false;
            if (!isUploading()) {
              reset(form);
            }
          }
          function afterSign(err, data) {
            if (err) {
              return parseError(err);
            }
            var fileName = data.fileName;
            var postData = data.postData;
            var fileId = data.fileId;
            var s3Url = data.s3Url;
            $input.attr("data-value", fileId);
            uploadS3(s3Url, postData, file, fileName, afterUpload);
          }
          function afterUpload(err) {
            if (err) {
              return parseError(err);
            }
            $uploadingWrap.toggle(false);
            $successWrap.css("display", "inline-block");
            $successWrap.focus();
            form.fileUploads[i].uploading = false;
            if (!isUploading()) {
              reset(form);
            }
          }
          function isUploading() {
            var uploads = form.fileUploads && form.fileUploads.toArray() || [];
            return uploads.some(function(value) {
              return value.uploading;
            });
          }
        }
        function signFile(file, cb) {
          var payload = new URLSearchParams({
            name: file.name,
            size: file.size
          });
          $2.ajax({
            type: "GET",
            url: `${signFileUrl}?${payload}`,
            crossDomain: true
          }).done(function(data) {
            cb(null, data);
          }).fail(function(err) {
            cb(err);
          });
        }
        function uploadS3(url, data, file, fileName, cb) {
          var formData = new FormData();
          for (var k in data) {
            formData.append(k, data[k]);
          }
          formData.append("file", file, fileName);
          $2.ajax({
            type: "POST",
            url,
            data: formData,
            processData: false,
            contentType: false
          }).done(function() {
            cb(null);
          }).fail(function(err) {
            cb(err);
          });
        }
        return api;
      });
    }
  });

  // <stdin>
  require_webflow_brand();
  require_webflow_edit();
  require_webflow_focus_visible();
  require_webflow_focus();
  require_webflow_ix2_events();
  require_webflow_ix2();
  require_webflow_links();
  require_webflow_scroll();
  require_webflow_touch();
  require_webflow_commerce();
  require_webflow_forms();
})();
/*!
* tram.js v0.8.2-global
* Cross-browser CSS3 transitions in JavaScript
* https://github.com/bkwld/tram
* MIT License
*/
/*!
 * Webflow._ (aka) Underscore.js 1.6.0 (custom build)
 *
 * http://underscorejs.org
 * (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
 * Underscore may be freely distributed under the MIT license.
 * @license MIT
 */
/*! Bundled license information:

timm/lib/timm.js:
  (*!
   * Timm
   *
   * Immutability helpers with fast reads and acceptable writes.
   *
   * @copyright Guillermo Grau Panea 2016
   * @license MIT
   *)

react/cjs/react.production.min.js:
  (**
   * @license React
   * react.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   *)

moment/moment.js:
  (*! moment.js *)
  (*! version : 2.29.4 *)
  (*! authors : Tim Wood, Iskren Chernev, Moment.js contributors *)
  (*! license : MIT *)
  (*! momentjs.com *)

moment-timezone/moment-timezone.js:
  (*! moment-timezone.js *)
  (*! version : 0.5.31 *)
  (*! Copyright (c) JS Foundation and other contributors *)
  (*! license : MIT *)
  (*! github.com/moment/moment-timezone *)

accounting/accounting.js:
  (*!
   * accounting.js v0.4.1
   * Copyright 2014 Open Exchange Rates
   *
   * Freely distributable under the MIT license.
   * Portions of accounting.js are inspired or borrowed from underscore.js
   *
   * Full details and documentation:
   * http://openexchangerates.github.io/accounting.js/
   *)
*/
/**
 * ----------------------------------------------------------------------
 * Webflow: Interactions 2.0: Init
 */
Webflow.require('ix2').init(
{"events":{"e-213":{"id":"e-213","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-34","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-214"}},"mediaQueries":["main"],"target":{"selector":".button-text.arrow-right","originalId":"5d5e24fc-7859-d86b-4a0b-498c7e3181cb","appliesTo":"CLASS"},"targets":[{"selector":".button-text.arrow-right","originalId":"5d5e24fc-7859-d86b-4a0b-498c7e3181cb","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1646907312873},"e-215":{"id":"e-215","name":"","animationType":"custom","eventTypeId":"MOUSE_MOVE","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-8","affectedElements":{},"duration":0}},"mediaQueries":["main"],"target":{"id":"6240546a6393242785d71beb","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"6240546a6393242785d71beb","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-8-p","selectedAxis":"X_AXIS","basedOn":"VIEWPORT","reverse":false,"smoothing":50,"restingState":50},{"continuousParameterGroupId":"a-8-p-2","selectedAxis":"Y_AXIS","basedOn":"VIEWPORT","reverse":false,"smoothing":50,"restingState":50}],"createdOn":1646916793194},"e-222":{"id":"e-222","name":"","animationType":"custom","eventTypeId":"MOUSE_MOVE","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-8","affectedElements":{},"duration":0}},"mediaQueries":["main"],"target":{"id":"6240546a6393245ca3d71bec","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"6240546a6393245ca3d71bec","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-8-p","selectedAxis":"X_AXIS","basedOn":"VIEWPORT","reverse":false,"smoothing":50,"restingState":50},{"continuousParameterGroupId":"a-8-p-2","selectedAxis":"Y_AXIS","basedOn":"VIEWPORT","reverse":false,"smoothing":50,"restingState":50}],"createdOn":1646916941819},"e-223":{"id":"e-223","name":"","animationType":"custom","eventTypeId":"MOUSE_MOVE","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-8","affectedElements":{},"duration":0}},"mediaQueries":["main"],"target":{"id":"651dd0d82abe644937c06803","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c06803","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-8-p","selectedAxis":"X_AXIS","basedOn":"VIEWPORT","reverse":false,"smoothing":50,"restingState":50},{"continuousParameterGroupId":"a-8-p-2","selectedAxis":"Y_AXIS","basedOn":"VIEWPORT","reverse":false,"smoothing":50,"restingState":50}],"createdOn":1646916953722},"e-353":{"id":"e-353","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-354"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".exhibiton-content","originalId":"651dd0d82abe644937c067db|f586b3e0-0792-1488-cd62-8b104e6a743f","appliesTo":"CLASS"},"targets":[{"selector":".exhibiton-content","originalId":"651dd0d82abe644937c067db|f586b3e0-0792-1488-cd62-8b104e6a743f","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":15,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1647073468615},"e-355":{"id":"e-355","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-356"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".exhibiton-cta","originalId":"651dd0d82abe644937c067db|f586b3e0-0792-1488-cd62-8b104e6a7451","appliesTo":"CLASS"},"targets":[{"selector":".exhibiton-cta","originalId":"651dd0d82abe644937c067db|f586b3e0-0792-1488-cd62-8b104e6a7451","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":15,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1647073479702},"e-357":{"id":"e-357","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-358"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".exhbition-date-day","originalId":"651dd0d82abe644937c067db|f586b3e0-0792-1488-cd62-8b104e6a7455","appliesTo":"CLASS"},"targets":[{"selector":".exhbition-date-day","originalId":"651dd0d82abe644937c067db|f586b3e0-0792-1488-cd62-8b104e6a7455","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":15,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1647073498857},"e-359":{"id":"e-359","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-45","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-360"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".exhbition-date-month","originalId":"651dd0d82abe644937c067db|f586b3e0-0792-1488-cd62-8b104e6a7453","appliesTo":"CLASS"},"targets":[{"selector":".exhbition-date-month","originalId":"651dd0d82abe644937c067db|f586b3e0-0792-1488-cd62-8b104e6a7453","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":15,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1647073516829},"e-419":{"id":"e-419","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-420"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".experience","originalId":"651dd0d82abe644937c06819|5bec912a-c67c-5143-0237-be2b1bcac22e","appliesTo":"CLASS"},"targets":[{"selector":".experience","originalId":"651dd0d82abe644937c06819|5bec912a-c67c-5143-0237-be2b1bcac22e","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":15,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1647077720793},"e-431":{"id":"e-431","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-432"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".recognition","originalId":"651dd0d82abe644937c06819|b15e716b-5c31-85e6-6b25-0fa12c7c2386","appliesTo":"CLASS"},"targets":[{"selector":".recognition","originalId":"651dd0d82abe644937c06819|b15e716b-5c31-85e6-6b25-0fa12c7c2386","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":15,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1647077786880},"e-441":{"id":"e-441","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-442"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".exhibition-information-grid","originalId":"6240546a6393242785d71beb|cf4f44b8-cfa5-f75d-fdc0-6c51a85b455e","appliesTo":"CLASS"},"targets":[{"selector":".exhibition-information-grid","originalId":"6240546a6393242785d71beb|cf4f44b8-cfa5-f75d-fdc0-6c51a85b455e","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":15,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1647077997975},"e-465":{"id":"e-465","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-466"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".project-information-grid","originalId":"6240546a6393245ca3d71bec|70d57f99-f6ca-ad20-87ea-724b7f618291","appliesTo":"CLASS"},"targets":[{"selector":".project-information-grid","originalId":"6240546a6393245ca3d71bec|70d57f99-f6ca-ad20-87ea-724b7f618291","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":15,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1647078194308},"e-663":{"id":"e-663","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-74","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-664"}},"mediaQueries":["main"],"target":{"selector":".button-2","originalId":"6205a4aa83e12f68d559de92|4c207ee2-d67e-155a-f6ef-825689b4c111","appliesTo":"CLASS"},"targets":[{"selector":".button-2","originalId":"6205a4aa83e12f68d559de92|4c207ee2-d67e-155a-f6ef-825689b4c111","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1644596490293},"e-664":{"id":"e-664","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-75","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-663"}},"mediaQueries":["main"],"target":{"selector":".button-2","originalId":"6205a4aa83e12f68d559de92|4c207ee2-d67e-155a-f6ef-825689b4c111","appliesTo":"CLASS"},"targets":[{"selector":".button-2","originalId":"6205a4aa83e12f68d559de92|4c207ee2-d67e-155a-f6ef-825689b4c111","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1644596490295},"e-669":{"id":"e-669","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-74","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-730"}},"mediaQueries":["main"],"target":{"selector":".button","originalId":"8ab00e61-bd48-bae6-28e7-3ba3adc89d9d","appliesTo":"CLASS"},"targets":[{"selector":".button","originalId":"8ab00e61-bd48-bae6-28e7-3ba3adc89d9d","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1654413179573},"e-670":{"id":"e-670","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-75","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-727"}},"mediaQueries":["main"],"target":{"selector":".button","originalId":"8ab00e61-bd48-bae6-28e7-3ba3adc89d9d","appliesTo":"CLASS"},"targets":[{"selector":".button","originalId":"8ab00e61-bd48-bae6-28e7-3ba3adc89d9d","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1654413179576},"e-671":{"id":"e-671","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-77","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-732"}},"mediaQueries":["main"],"target":{"selector":".label","originalId":"fc418cf3-9d83-3a89-93a8-d30b1f54ed1c","appliesTo":"CLASS"},"targets":[{"selector":".label","originalId":"fc418cf3-9d83-3a89-93a8-d30b1f54ed1c","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1654414940902},"e-672":{"id":"e-672","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-78","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-733"}},"mediaQueries":["main"],"target":{"selector":".label","originalId":"fc418cf3-9d83-3a89-93a8-d30b1f54ed1c","appliesTo":"CLASS"},"targets":[{"selector":".label","originalId":"fc418cf3-9d83-3a89-93a8-d30b1f54ed1c","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1654414940903},"e-728":{"id":"e-728","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-34","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-735"}},"mediaQueries":["main"],"target":{"selector":".button-text","originalId":"bfd59f0a-26fe-a4c8-a486-b2077e50515b","appliesTo":"CLASS"},"targets":[{"selector":".button-text","originalId":"bfd59f0a-26fe-a4c8-a486-b2077e50515b","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1660580525284},"e-764":{"id":"e-764","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-114","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-765"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".classes-class","originalId":"651dd0d82abe644937c06838|1ab90560-2d6b-c942-cd7b-958eb14332cf","appliesTo":"CLASS"},"targets":[{"selector":".classes-class","originalId":"651dd0d82abe644937c06838|1ab90560-2d6b-c942-cd7b-958eb14332cf","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663410921079},"e-765":{"id":"e-765","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-115","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-764"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".classes-class","originalId":"651dd0d82abe644937c06838|1ab90560-2d6b-c942-cd7b-958eb14332cf","appliesTo":"CLASS"},"targets":[{"selector":".classes-class","originalId":"651dd0d82abe644937c06838|1ab90560-2d6b-c942-cd7b-958eb14332cf","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663410921081},"e-768":{"id":"e-768","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-111","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-769"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c067db|6db34678-228d-1e39-1784-bd315f83c5a6","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c067db|6db34678-228d-1e39-1784-bd315f83c5a6","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663518440484},"e-769":{"id":"e-769","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-112","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-768"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c067db|6db34678-228d-1e39-1784-bd315f83c5a6","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c067db|6db34678-228d-1e39-1784-bd315f83c5a6","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663518440484},"e-780":{"id":"e-780","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-45","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-781"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c067db|819598bd-04e7-9d91-905b-a810fded1469","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c067db|819598bd-04e7-9d91-905b-a810fded1469","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663520524201},"e-782":{"id":"e-782","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-783"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c067db|043e32c3-5c42-e287-6da7-9135570aadff","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c067db|043e32c3-5c42-e287-6da7-9135570aadff","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663520570366},"e-784":{"id":"e-784","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-852"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c067db|8fbd2b70-f40a-b5bd-5586-10b5a3b983a3","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c067db|8fbd2b70-f40a-b5bd-5586-10b5a3b983a3","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663520576755},"e-786":{"id":"e-786","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-127","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-787"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".menu-item","originalId":"4140706d-87e9-fcba-fa48-487e2bcc6b1e","appliesTo":"CLASS"},"targets":[{"selector":".menu-item","originalId":"4140706d-87e9-fcba-fa48-487e2bcc6b1e","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522213266},"e-788":{"id":"e-788","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-45","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-853"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|44e0cbec-0660-b581-0bc1-63f15cd64b14","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|44e0cbec-0660-b581-0bc1-63f15cd64b14","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522256778},"e-790":{"id":"e-790","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-791"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|12604c35-9ec1-dd71-69e4-918b5f69cb5b","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|12604c35-9ec1-dd71-69e4-918b5f69cb5b","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522262865},"e-792":{"id":"e-792","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-45","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-793"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c06843|44e0cbec-0660-b581-0bc1-63f15cd64b14","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c06843|44e0cbec-0660-b581-0bc1-63f15cd64b14","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522309881},"e-796":{"id":"e-796","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-45","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-797"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c06838|39f2146b-7e88-bfcc-d216-e2d8d311f45b","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c06838|39f2146b-7e88-bfcc-d216-e2d8d311f45b","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522329598},"e-798":{"id":"e-798","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-799"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c06838|554c0edc-a29a-ecfd-1437-6cbfdd36cfbc","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c06838|554c0edc-a29a-ecfd-1437-6cbfdd36cfbc","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522351815},"e-800":{"id":"e-800","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-45","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-801"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c06844|325ba512-fc97-beef-6f2c-313745a7c372","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c06844|325ba512-fc97-beef-6f2c-313745a7c372","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522368048},"e-802":{"id":"e-802","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-803"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c06844|325ba512-fc97-beef-6f2c-313745a7c374","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c06844|325ba512-fc97-beef-6f2c-313745a7c374","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522375948},"e-804":{"id":"e-804","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-45","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-805"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0682a|44e0cbec-0660-b581-0bc1-63f15cd64b14","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0682a|44e0cbec-0660-b581-0bc1-63f15cd64b14","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522419105},"e-806":{"id":"e-806","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-807"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0682a|12604c35-9ec1-dd71-69e4-918b5f69cb5b","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0682a|12604c35-9ec1-dd71-69e4-918b5f69cb5b","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522425451},"e-808":{"id":"e-808","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-45","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-809"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0681b|44e0cbec-0660-b581-0bc1-63f15cd64b14","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0681b|44e0cbec-0660-b581-0bc1-63f15cd64b14","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522435786},"e-810":{"id":"e-810","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-811"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0681b|12604c35-9ec1-dd71-69e4-918b5f69cb5b","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0681b|12604c35-9ec1-dd71-69e4-918b5f69cb5b","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522441901},"e-812":{"id":"e-812","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-45","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-813"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c06832|6a0f771c-6cb1-d0cc-17e5-e760b07c5638","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c06832|6a0f771c-6cb1-d0cc-17e5-e760b07c5638","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522454472},"e-814":{"id":"e-814","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-815"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c06832|6a0f771c-6cb1-d0cc-17e5-e760b07c563a","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c06832|6a0f771c-6cb1-d0cc-17e5-e760b07c563a","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522464485},"e-816":{"id":"e-816","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-45","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-817"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0682f|eb525e59-bc37-9985-3886-33bdad78d9fa","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0682f|eb525e59-bc37-9985-3886-33bdad78d9fa","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522482218},"e-818":{"id":"e-818","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-819"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0682f|eb525e59-bc37-9985-3886-33bdad78d9fc","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0682f|eb525e59-bc37-9985-3886-33bdad78d9fc","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522492884},"e-820":{"id":"e-820","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-45","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-821"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0682e|c5001541-22b3-9622-8a8a-22e482c4d55f","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0682e|c5001541-22b3-9622-8a8a-22e482c4d55f","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522509903},"e-822":{"id":"e-822","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-823"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0682e|c5001541-22b3-9622-8a8a-22e482c4d561","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0682e|c5001541-22b3-9622-8a8a-22e482c4d561","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522515852},"e-824":{"id":"e-824","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-45","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-825"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c06818|a573b982-cb5f-2e39-b4a9-a25749d3cd1c","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c06818|a573b982-cb5f-2e39-b4a9-a25749d3cd1c","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522619756},"e-826":{"id":"e-826","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-827"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c06818|a573b982-cb5f-2e39-b4a9-a25749d3cd16","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c06818|a573b982-cb5f-2e39-b4a9-a25749d3cd16","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522625571},"e-834":{"id":"e-834","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-835"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|059c5500-0bb3-ad28-4c73-e94fbff7e391","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|059c5500-0bb3-ad28-4c73-e94fbff7e391","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663522708287},"e-837":{"id":"e-837","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-838"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".blog-post","originalId":"651dd0d82abe644937c0681b|6af418b2-7fea-4e3a-8c3f-f4d7bb1db4f4","appliesTo":"CLASS"},"targets":[{"selector":".blog-post","originalId":"651dd0d82abe644937c0681b|6af418b2-7fea-4e3a-8c3f-f4d7bb1db4f4","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663523484757},"e-839":{"id":"e-839","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-840"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".shop-product","originalId":"651dd0d82abe644937c06844|325ba512-fc97-beef-6f2c-313745a7c37e","appliesTo":"CLASS"},"targets":[{"selector":".shop-product","originalId":"651dd0d82abe644937c06844|325ba512-fc97-beef-6f2c-313745a7c37e","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663523513082},"e-841":{"id":"e-841","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-120","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-842"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".mobile-menu-toggle","originalId":"db97d287-b446-147e-53c1-a4482911029c","appliesTo":"CLASS"},"targets":[{"selector":".mobile-menu-toggle","originalId":"db97d287-b446-147e-53c1-a4482911029c","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663591582519},"e-842":{"id":"e-842","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-121","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-841"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".mobile-menu-toggle","originalId":"db97d287-b446-147e-53c1-a4482911029c","appliesTo":"CLASS"},"targets":[{"selector":".mobile-menu-toggle","originalId":"db97d287-b446-147e-53c1-a4482911029c","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663591582521},"e-847":{"id":"e-847","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-125","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-848"}},"mediaQueries":["main"],"target":{"selector":".mobile-menu-nav-link","originalId":"b479e2dc-8bd9-69e8-ba16-7d46d947e0b7","appliesTo":"CLASS"},"targets":[{"selector":".mobile-menu-nav-link","originalId":"b479e2dc-8bd9-69e8-ba16-7d46d947e0b7","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663592695113},"e-849":{"id":"e-849","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-126","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-850"}},"mediaQueries":["main"],"target":{"selector":".blog-post-image","originalId":"651dd0d82abe644937c0681b|7eea4178-7bbf-6789-7d38-b046bc233ac9","appliesTo":"CLASS"},"targets":[{"selector":".blog-post-image","originalId":"651dd0d82abe644937c0681b|7eea4178-7bbf-6789-7d38-b046bc233ac9","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663594578146},"e-850":{"id":"e-850","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-127","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-849"}},"mediaQueries":["main"],"target":{"selector":".blog-post-image","originalId":"651dd0d82abe644937c0681b|7eea4178-7bbf-6789-7d38-b046bc233ac9","appliesTo":"CLASS"},"targets":[{"selector":".blog-post-image","originalId":"651dd0d82abe644937c0681b|7eea4178-7bbf-6789-7d38-b046bc233ac9","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663594578149},"e-851":{"id":"e-851","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-126","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-852"}},"mediaQueries":["main"],"target":{"selector":".post-preview-image","originalId":"62fa3b4e46f480de1289a71e|ab3541af-0656-c3b8-8e5f-20dbfba83258","appliesTo":"CLASS"},"targets":[{"selector":".post-preview-image","originalId":"62fa3b4e46f480de1289a71e|ab3541af-0656-c3b8-8e5f-20dbfba83258","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1660338412577},"e-852":{"id":"e-852","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-127","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-851"}},"mediaQueries":["main"],"target":{"selector":".post-preview-image","originalId":"62fa3b4e46f480de1289a71e|ab3541af-0656-c3b8-8e5f-20dbfba83258","appliesTo":"CLASS"},"targets":[{"selector":".post-preview-image","originalId":"62fa3b4e46f480de1289a71e|ab3541af-0656-c3b8-8e5f-20dbfba83258","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1660338412579},"e-855":{"id":"e-855","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-126","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-856"}},"mediaQueries":["main"],"target":{"selector":".shop-product-image","originalId":"651dd0d82abe644937c06844|325ba512-fc97-beef-6f2c-313745a7c380","appliesTo":"CLASS"},"targets":[{"selector":".shop-product-image","originalId":"651dd0d82abe644937c06844|325ba512-fc97-beef-6f2c-313745a7c380","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663594642708},"e-856":{"id":"e-856","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-127","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-855"}},"mediaQueries":["main"],"target":{"selector":".shop-product-image","originalId":"651dd0d82abe644937c06844|325ba512-fc97-beef-6f2c-313745a7c380","appliesTo":"CLASS"},"targets":[{"selector":".shop-product-image","originalId":"651dd0d82abe644937c06844|325ba512-fc97-beef-6f2c-313745a7c380","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663594642710},"e-859":{"id":"e-859","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-860"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c06843|12604c35-9ec1-dd71-69e4-918b5f69cb5b","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c06843|12604c35-9ec1-dd71-69e4-918b5f69cb5b","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1663601999113},"e-861":{"id":"e-861","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-128","affectedElements":{},"duration":0}},"mediaQueries":["main"],"target":{"selector":".scroll-wrapper-height","originalId":"64a04896be3188b67eea6e05|2e0e2ee6-6a38-eb06-348d-4ec1b9f985f8","appliesTo":"CLASS"},"targets":[{"selector":".scroll-wrapper-height","originalId":"64a04896be3188b67eea6e05|2e0e2ee6-6a38-eb06-348d-4ec1b9f985f8","appliesTo":"CLASS"}],"config":[{"continuousParameterGroupId":"a-128-p","smoothing":50,"startsEntering":false,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1688560233813},"e-862":{"id":"e-862","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-122","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683c|0fc14f5c-1892-e9bf-2ff7-d240e53ab989","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683c|0fc14f5c-1892-e9bf-2ff7-d240e53ab989","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-122-p","smoothing":50,"startsEntering":false,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1688971607459},"e-869":{"id":"e-869","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-870"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|42cf237b-d3a0-075d-881a-468fae79773b","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|42cf237b-d3a0-075d-881a-468fae79773b","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695064261295},"e-871":{"id":"e-871","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-872"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|42cf237b-d3a0-075d-881a-468fae79773a","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|42cf237b-d3a0-075d-881a-468fae79773a","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064532211},"e-872":{"id":"e-872","name":"","animationType":"custom","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-871"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|42cf237b-d3a0-075d-881a-468fae79773a","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|42cf237b-d3a0-075d-881a-468fae79773a","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064532212},"e-881":{"id":"e-881","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-882"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|e39307a1-46e6-03eb-bef3-b37b9e8dcae5","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|e39307a1-46e6-03eb-bef3-b37b9e8dcae5","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695064928382},"e-887":{"id":"e-887","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-888"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|e39307a1-46e6-03eb-bef3-b37b9e8dcaf1","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|e39307a1-46e6-03eb-bef3-b37b9e8dcaf1","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064928382},"e-888":{"id":"e-888","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-887"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|e39307a1-46e6-03eb-bef3-b37b9e8dcaf1","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|e39307a1-46e6-03eb-bef3-b37b9e8dcaf1","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064928382},"e-889":{"id":"e-889","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-890"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|e39307a1-46e6-03eb-bef3-b37b9e8dcaf2","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|e39307a1-46e6-03eb-bef3-b37b9e8dcaf2","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695064928382},"e-895":{"id":"e-895","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-896"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86bd","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86bd","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695064928958},"e-897":{"id":"e-897","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-898"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86c0","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86c0","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064928958},"e-898":{"id":"e-898","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-897"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86c0","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86c0","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064928958},"e-899":{"id":"e-899","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-900"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86c1","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86c1","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695064928958},"e-901":{"id":"e-901","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-902"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86c9","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86c9","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064928958},"e-902":{"id":"e-902","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-901"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86c9","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86c9","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064928958},"e-903":{"id":"e-903","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-904"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86ca","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86ca","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695064928958},"e-905":{"id":"e-905","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-906"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86d2","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86d2","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064928958},"e-906":{"id":"e-906","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-905"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86d2","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86d2","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064928958},"e-907":{"id":"e-907","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-908"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86d3","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|974b7d23-3ef0-d187-d6cf-facf490a86d3","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695064928958},"e-909":{"id":"e-909","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-910"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|21f90df4-21b4-8ca2-9046-c01b07c72d7e","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|21f90df4-21b4-8ca2-9046-c01b07c72d7e","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695064929741},"e-911":{"id":"e-911","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-912"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|21f90df4-21b4-8ca2-9046-c01b07c72d81","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|21f90df4-21b4-8ca2-9046-c01b07c72d81","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064929741},"e-912":{"id":"e-912","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-911"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|21f90df4-21b4-8ca2-9046-c01b07c72d81","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|21f90df4-21b4-8ca2-9046-c01b07c72d81","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064929741},"e-913":{"id":"e-913","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-914"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|21f90df4-21b4-8ca2-9046-c01b07c72d82","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|21f90df4-21b4-8ca2-9046-c01b07c72d82","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695064929741},"e-919":{"id":"e-919","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-920"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|21f90df4-21b4-8ca2-9046-c01b07c72d93","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|21f90df4-21b4-8ca2-9046-c01b07c72d93","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064929741},"e-920":{"id":"e-920","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-919"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|21f90df4-21b4-8ca2-9046-c01b07c72d93","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|21f90df4-21b4-8ca2-9046-c01b07c72d93","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064929741},"e-921":{"id":"e-921","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-922"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|21f90df4-21b4-8ca2-9046-c01b07c72d94","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|21f90df4-21b4-8ca2-9046-c01b07c72d94","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695064929741},"e-923":{"id":"e-923","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-924"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|eb538500-c1b8-512e-a108-3f83cf53f11e","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|eb538500-c1b8-512e-a108-3f83cf53f11e","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695064949652},"e-925":{"id":"e-925","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-926"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|eb538500-c1b8-512e-a108-3f83cf53f121","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|eb538500-c1b8-512e-a108-3f83cf53f121","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064949652},"e-926":{"id":"e-926","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-925"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|eb538500-c1b8-512e-a108-3f83cf53f121","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|eb538500-c1b8-512e-a108-3f83cf53f121","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695064949652},"e-927":{"id":"e-927","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-928"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|eb538500-c1b8-512e-a108-3f83cf53f122","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|eb538500-c1b8-512e-a108-3f83cf53f122","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695064949652},"e-937":{"id":"e-937","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-938"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|c64e77a8-42aa-097a-d82a-fef9d8613c96","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|c64e77a8-42aa-097a-d82a-fef9d8613c96","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695065332917},"e-938":{"id":"e-938","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-937"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|c64e77a8-42aa-097a-d82a-fef9d8613c96","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|c64e77a8-42aa-097a-d82a-fef9d8613c96","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695065332917},"e-939":{"id":"e-939","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-940"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|c64e77a8-42aa-097a-d82a-fef9d8613c97","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|c64e77a8-42aa-097a-d82a-fef9d8613c97","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695065332917},"e-941":{"id":"e-941","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-942"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|d6570b2d-da1b-d8eb-4bc7-40805ac6e56f","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|d6570b2d-da1b-d8eb-4bc7-40805ac6e56f","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695065333809},"e-942":{"id":"e-942","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-941"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|d6570b2d-da1b-d8eb-4bc7-40805ac6e56f","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|d6570b2d-da1b-d8eb-4bc7-40805ac6e56f","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695065333809},"e-943":{"id":"e-943","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-944"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|d6570b2d-da1b-d8eb-4bc7-40805ac6e570","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|d6570b2d-da1b-d8eb-4bc7-40805ac6e570","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695065333809},"e-953":{"id":"e-953","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-132","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-954"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".custom-button","originalId":"62ea4f404580439e7a79e85a|fd8ef6c4-b70a-3ad3-1f59-1a1d7cd77bcf","appliesTo":"CLASS"},"targets":[{"selector":".custom-button","originalId":"62ea4f404580439e7a79e85a|fd8ef6c4-b70a-3ad3-1f59-1a1d7cd77bcf","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1597679776656},"e-954":{"id":"e-954","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-133","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-953"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".custom-button","originalId":"62ea4f404580439e7a79e85a|fd8ef6c4-b70a-3ad3-1f59-1a1d7cd77bcf","appliesTo":"CLASS"},"targets":[{"selector":".custom-button","originalId":"62ea4f404580439e7a79e85a|fd8ef6c4-b70a-3ad3-1f59-1a1d7cd77bcf","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1597679776674},"e-955":{"id":"e-955","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-134","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-956"}},"mediaQueries":["main"],"target":{"selector":".custom-button","originalId":"651dd0d82abe644937c067db|aac80c98-94a7-3601-804d-9925f52523d3","appliesTo":"CLASS"},"targets":[{"selector":".custom-button","originalId":"651dd0d82abe644937c067db|aac80c98-94a7-3601-804d-9925f52523d3","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1659882821142},"e-956":{"id":"e-956","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-135","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-955"}},"mediaQueries":["main"],"target":{"selector":".custom-button","originalId":"651dd0d82abe644937c067db|aac80c98-94a7-3601-804d-9925f52523d3","appliesTo":"CLASS"},"targets":[{"selector":".custom-button","originalId":"651dd0d82abe644937c067db|aac80c98-94a7-3601-804d-9925f52523d3","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1659882821143},"e-957":{"id":"e-957","name":"","animationType":"preset","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-134","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-958"}},"mediaQueries":["main"],"target":{"selector":".custom-button","originalId":"62ea4f40458043b4e079e83c|480edc68-afe9-eea1-551f-073715b062b0","appliesTo":"CLASS"},"targets":[{"selector":".custom-button","originalId":"62ea4f40458043b4e079e83c|480edc68-afe9-eea1-551f-073715b062b0","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1660464322593},"e-958":{"id":"e-958","name":"","animationType":"preset","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-135","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-957"}},"mediaQueries":["main"],"target":{"selector":".custom-button","originalId":"62ea4f40458043b4e079e83c|480edc68-afe9-eea1-551f-073715b062b0","appliesTo":"CLASS"},"targets":[{"selector":".custom-button","originalId":"62ea4f40458043b4e079e83c|480edc68-afe9-eea1-551f-073715b062b0","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1660464322593},"e-979":{"id":"e-979","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-980"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|00da0e15-f3bf-e4a0-05c7-7d649e3abccf","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|00da0e15-f3bf-e4a0-05c7-7d649e3abccf","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695932436489},"e-985":{"id":"e-985","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-986"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|00da0e15-f3bf-e4a0-05c7-7d649e3abcdb","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|00da0e15-f3bf-e4a0-05c7-7d649e3abcdb","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695932436489},"e-986":{"id":"e-986","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-985"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|00da0e15-f3bf-e4a0-05c7-7d649e3abcdb","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|00da0e15-f3bf-e4a0-05c7-7d649e3abcdb","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695932436489},"e-987":{"id":"e-987","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-988"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|00da0e15-f3bf-e4a0-05c7-7d649e3abcdc","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|00da0e15-f3bf-e4a0-05c7-7d649e3abcdc","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695932436489},"e-993":{"id":"e-993","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-994"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|b1f7494c-4355-4b4f-4fc7-05912283fa21","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|b1f7494c-4355-4b4f-4fc7-05912283fa21","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695932751161},"e-994":{"id":"e-994","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-993"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|b1f7494c-4355-4b4f-4fc7-05912283fa21","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|b1f7494c-4355-4b4f-4fc7-05912283fa21","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695932751161},"e-997":{"id":"e-997","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-998"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|881bbd00-bc8f-0b2b-888d-a94f0bd15dff","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|881bbd00-bc8f-0b2b-888d-a94f0bd15dff","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695933115249},"e-998":{"id":"e-998","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-997"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|881bbd00-bc8f-0b2b-888d-a94f0bd15dff","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|881bbd00-bc8f-0b2b-888d-a94f0bd15dff","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695933115249},"e-1049":{"id":"e-1049","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1050"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|13173936-404f-2f04-e40b-af9101ae0f3b","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|13173936-404f-2f04-e40b-af9101ae0f3b","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695934193074},"e-1050":{"id":"e-1050","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1049"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|13173936-404f-2f04-e40b-af9101ae0f3b","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|13173936-404f-2f04-e40b-af9101ae0f3b","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695934193074},"e-1051":{"id":"e-1051","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1052"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|13173936-404f-2f04-e40b-af9101ae0f3c","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|13173936-404f-2f04-e40b-af9101ae0f3c","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695934193074},"e-1053":{"id":"e-1053","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1054"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|634026b3-076d-052b-6fc3-d2e9537fb9ef","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|634026b3-076d-052b-6fc3-d2e9537fb9ef","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997488499},"e-1054":{"id":"e-1054","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1053"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|634026b3-076d-052b-6fc3-d2e9537fb9ef","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|634026b3-076d-052b-6fc3-d2e9537fb9ef","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997488499},"e-1055":{"id":"e-1055","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1056"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|634026b3-076d-052b-6fc3-d2e9537fb9f0","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|634026b3-076d-052b-6fc3-d2e9537fb9f0","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695997488499},"e-1057":{"id":"e-1057","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1058"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|8a9b9c01-552b-ce6c-870d-5069f0fcbd44","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|8a9b9c01-552b-ce6c-870d-5069f0fcbd44","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997489446},"e-1058":{"id":"e-1058","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1057"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|8a9b9c01-552b-ce6c-870d-5069f0fcbd44","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|8a9b9c01-552b-ce6c-870d-5069f0fcbd44","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997489446},"e-1059":{"id":"e-1059","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1060"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|8a9b9c01-552b-ce6c-870d-5069f0fcbd45","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|8a9b9c01-552b-ce6c-870d-5069f0fcbd45","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695997489446},"e-1061":{"id":"e-1061","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1062"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|ecc7022e-11c9-777a-ad60-87088f9aa302","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|ecc7022e-11c9-777a-ad60-87088f9aa302","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997502581},"e-1062":{"id":"e-1062","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1061"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|ecc7022e-11c9-777a-ad60-87088f9aa302","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|ecc7022e-11c9-777a-ad60-87088f9aa302","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997502581},"e-1063":{"id":"e-1063","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1064"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|ecc7022e-11c9-777a-ad60-87088f9aa303","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|ecc7022e-11c9-777a-ad60-87088f9aa303","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695997502581},"e-1065":{"id":"e-1065","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1066"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|99d03b9f-9bc2-3c0e-1fe3-802096de3705","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|99d03b9f-9bc2-3c0e-1fe3-802096de3705","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997612503},"e-1066":{"id":"e-1066","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1065"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|99d03b9f-9bc2-3c0e-1fe3-802096de3705","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|99d03b9f-9bc2-3c0e-1fe3-802096de3705","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997612503},"e-1067":{"id":"e-1067","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1068"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|99d03b9f-9bc2-3c0e-1fe3-802096de3706","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|99d03b9f-9bc2-3c0e-1fe3-802096de3706","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695997612503},"e-1069":{"id":"e-1069","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1070"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|a5628081-8fb9-fcac-5f0e-9bf9663f7637","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|a5628081-8fb9-fcac-5f0e-9bf9663f7637","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997613578},"e-1070":{"id":"e-1070","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1069"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|a5628081-8fb9-fcac-5f0e-9bf9663f7637","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|a5628081-8fb9-fcac-5f0e-9bf9663f7637","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997613578},"e-1071":{"id":"e-1071","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1072"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|a5628081-8fb9-fcac-5f0e-9bf9663f7638","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|a5628081-8fb9-fcac-5f0e-9bf9663f7638","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695997613578},"e-1073":{"id":"e-1073","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1074"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|6add8e03-dbca-70d0-3b30-6ea4fad88a0d","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|6add8e03-dbca-70d0-3b30-6ea4fad88a0d","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997614398},"e-1074":{"id":"e-1074","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1073"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|6add8e03-dbca-70d0-3b30-6ea4fad88a0d","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|6add8e03-dbca-70d0-3b30-6ea4fad88a0d","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997614398},"e-1075":{"id":"e-1075","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1076"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|6add8e03-dbca-70d0-3b30-6ea4fad88a0e","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|6add8e03-dbca-70d0-3b30-6ea4fad88a0e","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695997614398},"e-1077":{"id":"e-1077","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1078"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|24eae18b-c9b0-5031-6575-b528124ab40a","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|24eae18b-c9b0-5031-6575-b528124ab40a","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997615575},"e-1078":{"id":"e-1078","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1077"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|24eae18b-c9b0-5031-6575-b528124ab40a","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|24eae18b-c9b0-5031-6575-b528124ab40a","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997615575},"e-1079":{"id":"e-1079","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1080"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|24eae18b-c9b0-5031-6575-b528124ab40b","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|24eae18b-c9b0-5031-6575-b528124ab40b","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695997615575},"e-1085":{"id":"e-1085","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1086"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|0ccb135d-2ded-1d11-518c-876f7fa9eeb6","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|0ccb135d-2ded-1d11-518c-876f7fa9eeb6","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997833599},"e-1086":{"id":"e-1086","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1085"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|0ccb135d-2ded-1d11-518c-876f7fa9eeb6","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|0ccb135d-2ded-1d11-518c-876f7fa9eeb6","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997833599},"e-1087":{"id":"e-1087","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1088"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|0ccb135d-2ded-1d11-518c-876f7fa9eeb7","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|0ccb135d-2ded-1d11-518c-876f7fa9eeb7","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695997833599},"e-1089":{"id":"e-1089","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1090"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|bc14b6bf-1fe6-0527-f73d-53c5528efc1c","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|bc14b6bf-1fe6-0527-f73d-53c5528efc1c","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997835753},"e-1090":{"id":"e-1090","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1089"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|bc14b6bf-1fe6-0527-f73d-53c5528efc1c","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|bc14b6bf-1fe6-0527-f73d-53c5528efc1c","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997835753},"e-1091":{"id":"e-1091","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1092"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|bc14b6bf-1fe6-0527-f73d-53c5528efc1d","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|bc14b6bf-1fe6-0527-f73d-53c5528efc1d","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695997835753},"e-1093":{"id":"e-1093","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1094"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|d119f8c5-e868-5c39-cee5-1bb82a9d708d","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|d119f8c5-e868-5c39-cee5-1bb82a9d708d","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997879193},"e-1094":{"id":"e-1094","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1093"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|d119f8c5-e868-5c39-cee5-1bb82a9d708d","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|d119f8c5-e868-5c39-cee5-1bb82a9d708d","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695997879193},"e-1095":{"id":"e-1095","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1096"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|d119f8c5-e868-5c39-cee5-1bb82a9d708e","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|d119f8c5-e868-5c39-cee5-1bb82a9d708e","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1695997879193},"e-1103":{"id":"e-1103","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1104"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|ce65f397-f1c9-bae0-674c-dedd67ad26fb","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|ce65f397-f1c9-bae0-674c-dedd67ad26fb","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1702291320641},"e-1104":{"id":"e-1104","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1103"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|ce65f397-f1c9-bae0-674c-dedd67ad26fb","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|ce65f397-f1c9-bae0-674c-dedd67ad26fb","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1702291320641},"e-1105":{"id":"e-1105","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1106"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|ce65f397-f1c9-bae0-674c-dedd67ad26fc","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|ce65f397-f1c9-bae0-674c-dedd67ad26fc","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1702291320641},"e-1107":{"id":"e-1107","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1108"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|8188f178-87d1-ee26-11da-13f8c11b96ea","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|8188f178-87d1-ee26-11da-13f8c11b96ea","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1702458712890},"e-1108":{"id":"e-1108","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1107"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|8188f178-87d1-ee26-11da-13f8c11b96ea","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|8188f178-87d1-ee26-11da-13f8c11b96ea","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1702458712890},"e-1109":{"id":"e-1109","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1110"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|8188f178-87d1-ee26-11da-13f8c11b96eb","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|8188f178-87d1-ee26-11da-13f8c11b96eb","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1702458712890},"e-1111":{"id":"e-1111","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1112"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|0567201d-b83a-cc46-b972-526535926dae","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|0567201d-b83a-cc46-b972-526535926dae","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1702459550498},"e-1112":{"id":"e-1112","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1111"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|0567201d-b83a-cc46-b972-526535926dae","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|0567201d-b83a-cc46-b972-526535926dae","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1702459550498},"e-1113":{"id":"e-1113","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1114"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|0567201d-b83a-cc46-b972-526535926daf","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|0567201d-b83a-cc46-b972-526535926daf","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1702459550498},"e-1115":{"id":"e-1115","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1116"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|9d3bbf21-8718-fcbe-4b81-edf07ba61d0f","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|9d3bbf21-8718-fcbe-4b81-edf07ba61d0f","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1702460074277},"e-1116":{"id":"e-1116","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1115"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|9d3bbf21-8718-fcbe-4b81-edf07ba61d0f","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|9d3bbf21-8718-fcbe-4b81-edf07ba61d0f","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1702460074277},"e-1117":{"id":"e-1117","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1118"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|9d3bbf21-8718-fcbe-4b81-edf07ba61d10","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|9d3bbf21-8718-fcbe-4b81-edf07ba61d10","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1702460074277},"e-1119":{"id":"e-1119","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1120"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|d436f020-3435-c259-e2b1-69dc28e1499f","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|d436f020-3435-c259-e2b1-69dc28e1499f","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1702649265677},"e-1120":{"id":"e-1120","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1119"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|d436f020-3435-c259-e2b1-69dc28e1499f","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|d436f020-3435-c259-e2b1-69dc28e1499f","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1702649265677},"e-1121":{"id":"e-1121","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1122"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|d436f020-3435-c259-e2b1-69dc28e149a0","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|d436f020-3435-c259-e2b1-69dc28e149a0","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1702649265677},"e-1123":{"id":"e-1123","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1124"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|c18c324e-bab9-9a91-490d-62091e29ab26","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|c18c324e-bab9-9a91-490d-62091e29ab26","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1702650384726},"e-1124":{"id":"e-1124","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1123"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|c18c324e-bab9-9a91-490d-62091e29ab26","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|c18c324e-bab9-9a91-490d-62091e29ab26","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1702650384726},"e-1125":{"id":"e-1125","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1126"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|c18c324e-bab9-9a91-490d-62091e29ab27","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|c18c324e-bab9-9a91-490d-62091e29ab27","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1702650384726},"e-1127":{"id":"e-1127","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1128"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|8709807d-0fa2-a55c-89b3-dbcb900b6ea2","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|8709807d-0fa2-a55c-89b3-dbcb900b6ea2","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1702739725495},"e-1128":{"id":"e-1128","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1127"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|8709807d-0fa2-a55c-89b3-dbcb900b6ea2","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|8709807d-0fa2-a55c-89b3-dbcb900b6ea2","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1702739725495},"e-1129":{"id":"e-1129","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1130"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|8709807d-0fa2-a55c-89b3-dbcb900b6ea3","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|8709807d-0fa2-a55c-89b3-dbcb900b6ea3","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1702739725495},"e-1131":{"id":"e-1131","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-130","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1132"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|ec5502fb-a3ac-be3a-6e5b-f60297f5a194","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|ec5502fb-a3ac-be3a-6e5b-f60297f5a194","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1709725176182},"e-1132":{"id":"e-1132","name":"","animationType":"preset","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-131","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1131"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|ec5502fb-a3ac-be3a-6e5b-f60297f5a194","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|ec5502fb-a3ac-be3a-6e5b-f60297f5a194","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1709725176182},"e-1133":{"id":"e-1133","name":"","animationType":"preset","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-43","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1134"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"651dd0d82abe644937c0683e|ec5502fb-a3ac-be3a-6e5b-f60297f5a195","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"651dd0d82abe644937c0683e|ec5502fb-a3ac-be3a-6e5b-f60297f5a195","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1709725176182},"e-1135":{"id":"e-1135","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-123","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1144"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"3a1f9a85-384a-373e-a274-217c8afdf2d4","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"3a1f9a85-384a-373e-a274-217c8afdf2d4","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695063319062},"e-1136":{"id":"e-1136","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-123","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1142"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"3a1f9a85-384a-373e-a274-217c8afdf2ae","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"3a1f9a85-384a-373e-a274-217c8afdf2ae","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663592413044},"e-1137":{"id":"e-1137","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-123","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1148"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"3a1f9a85-384a-373e-a274-217c8afdf2b0","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"3a1f9a85-384a-373e-a274-217c8afdf2b0","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1696458395565},"e-1138":{"id":"e-1138","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-119","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1139"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"3a1f9a85-384a-373e-a274-217c8afdf2ef","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"3a1f9a85-384a-373e-a274-217c8afdf2ef","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663592080637},"e-1139":{"id":"e-1139","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-118","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1138"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"3a1f9a85-384a-373e-a274-217c8afdf2ef","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"3a1f9a85-384a-373e-a274-217c8afdf2ef","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663592080633},"e-1140":{"id":"e-1140","name":"","animationType":"custom","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-124","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1145"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"3a1f9a85-384a-373e-a274-217c8afdf2af","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"3a1f9a85-384a-373e-a274-217c8afdf2af","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1696458311698},"e-1141":{"id":"e-1141","name":"","animationType":"custom","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-124","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1143"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"3a1f9a85-384a-373e-a274-217c8afdf2d4","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"3a1f9a85-384a-373e-a274-217c8afdf2d4","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1696458181731},"e-1142":{"id":"e-1142","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-124","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1136"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"3a1f9a85-384a-373e-a274-217c8afdf2ae","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"3a1f9a85-384a-373e-a274-217c8afdf2ae","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1663592413047},"e-1143":{"id":"e-1143","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-123","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1141"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"3a1f9a85-384a-373e-a274-217c8afdf2d4","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"3a1f9a85-384a-373e-a274-217c8afdf2d4","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1696458181727},"e-1144":{"id":"e-1144","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-124","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1135"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"3a1f9a85-384a-373e-a274-217c8afdf2d4","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"3a1f9a85-384a-373e-a274-217c8afdf2d4","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695063319064},"e-1145":{"id":"e-1145","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-123","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1140"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"3a1f9a85-384a-373e-a274-217c8afdf2af","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"3a1f9a85-384a-373e-a274-217c8afdf2af","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1696458311696},"e-1146":{"id":"e-1146","name":"","animationType":"preset","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-124","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1147"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"3a1f9a85-384a-373e-a274-217c8afdf2d4","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"3a1f9a85-384a-373e-a274-217c8afdf2d4","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695062693177},"e-1147":{"id":"e-1147","name":"","animationType":"preset","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-123","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1146"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"3a1f9a85-384a-373e-a274-217c8afdf2d4","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"3a1f9a85-384a-373e-a274-217c8afdf2d4","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1695062693177},"e-1148":{"id":"e-1148","name":"","animationType":"custom","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-124","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-1137"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"3a1f9a85-384a-373e-a274-217c8afdf2b0","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"3a1f9a85-384a-373e-a274-217c8afdf2b0","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1696458395568}},"actionLists":{"a-34":{"id":"a-34","title":"Button Text Arrow Right Hover [In]","actionItemGroups":[{"actionItems":[{"id":"a-34-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuint","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".button-text-icon","selectorGuids":["51ec1384-d5d9-067f-0f5a-254f293e1e7b"]},"xValue":0,"xUnit":"%","yUnit":"%","zUnit":"PX"}}]},{"actionItems":[{"id":"a-34-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuint","duration":250,"target":{"useEventTarget":"CHILDREN","selector":".button-text-icon","selectorGuids":["51ec1384-d5d9-067f-0f5a-254f293e1e7b"]},"xValue":100,"xUnit":"%","yUnit":"%","zUnit":"PX"}}]},{"actionItems":[{"id":"a-34-n-3","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuint","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".button-text-icon","selectorGuids":["51ec1384-d5d9-067f-0f5a-254f293e1e7b"]},"xValue":-100,"xUnit":"%","yUnit":"%","zUnit":"PX"}}]},{"actionItems":[{"id":"a-34-n-4","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuint","duration":250,"target":{"useEventTarget":"CHILDREN","selector":".button-text-icon","selectorGuids":["51ec1384-d5d9-067f-0f5a-254f293e1e7b"]},"xValue":0,"xUnit":"px","yUnit":"%","zUnit":"PX"}}]}],"useFirstGroupAsInitialState":true,"createdOn":1640019738933},"a-8":{"id":"a-8","title":"Cursor Move","continuousParameterGroups":[{"id":"a-8-p","type":"MOUSE_X","parameterLabel":"Mouse X","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-8-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{},"xValue":-50,"xUnit":"vw","yUnit":"PX","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-8-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{},"xValue":50,"xUnit":"vw","yUnit":"PX","zUnit":"PX"}}]}]},{"id":"a-8-p-2","type":"MOUSE_Y","parameterLabel":"Mouse Y","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-8-n-3","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{},"yValue":-50,"xUnit":"PX","yUnit":"vh","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-8-n-4","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{},"yValue":50,"xUnit":"PX","yUnit":"vh","zUnit":"PX"}}]}]}],"createdOn":1646564866604},"a-43":{"id":"a-43","title":"Fade In Small Bottom","actionItemGroups":[{"actionItems":[{"id":"a-43-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"651dd0d82abe644937c067db|a7ab49b1-7e04-4066-b939-5a81af3cd95a"},"yValue":10,"xUnit":"PX","yUnit":"px","zUnit":"PX"}},{"id":"a-43-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"651dd0d82abe644937c067db|a7ab49b1-7e04-4066-b939-5a81af3cd95a"},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-43-n-3","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuad","duration":1200,"target":{"useEventTarget":true,"id":"651dd0d82abe644937c067db|a7ab49b1-7e04-4066-b939-5a81af3cd95a"},"yValue":0,"xUnit":"PX","yUnit":"px","zUnit":"PX"}},{"id":"a-43-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuad","duration":1200,"target":{"useEventTarget":true,"id":"651dd0d82abe644937c067db|a7ab49b1-7e04-4066-b939-5a81af3cd95a"},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1647072653793},"a-45":{"id":"a-45","title":"Fade In Small Top","actionItemGroups":[{"actionItems":[{"id":"a-45-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"651dd0d82abe644937c067db|a7ab49b1-7e04-4066-b939-5a81af3cd95a"},"yValue":-10,"xUnit":"PX","yUnit":"px","zUnit":"PX"}},{"id":"a-45-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"651dd0d82abe644937c067db|a7ab49b1-7e04-4066-b939-5a81af3cd95a"},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-45-n-3","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuad","duration":1200,"target":{"useEventTarget":true,"id":"651dd0d82abe644937c067db|a7ab49b1-7e04-4066-b939-5a81af3cd95a"},"yValue":0,"xUnit":"PX","yUnit":"px","zUnit":"PX"}},{"id":"a-45-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuad","duration":1200,"target":{"useEventTarget":true,"id":"651dd0d82abe644937c067db|a7ab49b1-7e04-4066-b939-5a81af3cd95a"},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1647072653793},"a-74":{"id":"a-74","title":"Button Hover [In]","actionItemGroups":[{"actionItems":[{"id":"a-74-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".button-inner-text","selectorGuids":["439639c5-fc55-10c1-5471-027871a1edce"]},"yValue":0,"xUnit":"PX","yUnit":"%","zUnit":"PX"}},{"id":"a-74-n-8","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".button-inner-text-hover","selectorGuids":["0d94405b-bd75-764b-ef9d-21b7f3c31744"]},"yValue":0,"xUnit":"PX","yUnit":"%","zUnit":"PX"}},{"id":"a-74-n-4","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{},"yValue":100,"xUnit":"PX","yUnit":"%","zUnit":"PX"}},{"id":"a-74-n-2","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{},"value":"block"}}]},{"actionItems":[{"id":"a-74-n-5","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuint","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".button-inner-text","selectorGuids":["439639c5-fc55-10c1-5471-027871a1edce"]},"yValue":-100,"xUnit":"PX","yUnit":"%","zUnit":"PX"}},{"id":"a-74-n-9","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuint","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".button-inner-text-hover","selectorGuids":["0d94405b-bd75-764b-ef9d-21b7f3c31744"]},"yValue":-100,"xUnit":"PX","yUnit":"%","zUnit":"PX"}},{"id":"a-74-n-7","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuint","duration":500,"target":{},"yValue":0,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]}],"useFirstGroupAsInitialState":true,"createdOn":1641576626514},"a-75":{"id":"a-75","title":"Button Hover [Out]","actionItemGroups":[{"actionItems":[{"id":"a-75-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuint","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".button-inner-text","selectorGuids":["439639c5-fc55-10c1-5471-027871a1edce"]},"yValue":0,"xUnit":"PX","yUnit":"%","zUnit":"PX"}},{"id":"a-75-n-4","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuint","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".button-inner-text-hover","selectorGuids":["0d94405b-bd75-764b-ef9d-21b7f3c31744"]},"yValue":0,"xUnit":"PX","yUnit":"%","zUnit":"PX"}},{"id":"a-75-n-3","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuint","duration":500,"target":{},"yValue":103,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1641576626514},"a-77":{"id":"a-77","title":"Label Hover [In]","actionItemGroups":[{"actionItems":[{"id":"a-77-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".label-text","selectorGuids":["7424f891-bb84-2c90-c422-566de2c5f5d5"]},"yValue":0,"xUnit":"PX","yUnit":"%","zUnit":"PX"}},{"id":"a-77-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".label-text-hover","selectorGuids":["7424f891-bb84-2c90-c422-566de2c5f5d6"]},"yValue":0,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]},{"actionItems":[{"id":"a-77-n-5","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuint","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".label-text","selectorGuids":["7424f891-bb84-2c90-c422-566de2c5f5d5"]},"yValue":-100,"xUnit":"PX","yUnit":"%","zUnit":"PX"}},{"id":"a-77-n-6","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuint","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".label-text-hover","selectorGuids":["7424f891-bb84-2c90-c422-566de2c5f5d6"]},"yValue":-100,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]}],"useFirstGroupAsInitialState":true,"createdOn":1641576626514},"a-78":{"id":"a-78","title":"Label Hover [Out]","actionItemGroups":[{"actionItems":[{"id":"a-78-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuint","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".label-text","selectorGuids":["7424f891-bb84-2c90-c422-566de2c5f5d5"]},"yValue":0,"xUnit":"PX","yUnit":"%","zUnit":"PX"}},{"id":"a-78-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuint","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".label-text-hover","selectorGuids":["7424f891-bb84-2c90-c422-566de2c5f5d6"]},"yValue":0,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1641576626514},"a-114":{"id":"a-114","title":"Class Hover [In]","actionItemGroups":[{"actionItems":[{"id":"a-114-n","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".classes-class-image","selectorGuids":["2e202d12-0fcb-8255-9070-74284db50663"]},"value":0.4,"unit":""}}]},{"actionItems":[{"id":"a-114-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":400,"target":{"useEventTarget":"CHILDREN","selector":".classes-class-image","selectorGuids":["2e202d12-0fcb-8255-9070-74284db50663"]},"value":0.6,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1663410924427},"a-115":{"id":"a-115","title":"Class Hover [Out]","actionItemGroups":[{"actionItems":[{"id":"a-115-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":300,"target":{"useEventTarget":"CHILDREN","selector":".classes-class-image","selectorGuids":["2e202d12-0fcb-8255-9070-74284db50663"]},"value":0.4,"unit":""}}]}],"useFirstGroupAsInitialState":false,"createdOn":1663410924427},"a-111":{"id":"a-111","title":"Navbar Dropdown Opening [Open]","actionItemGroups":[{"actionItems":[{"id":"a-111-n-3","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"SIBLINGS","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"value":0,"unit":""}},{"id":"a-111-n-5","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"SIBLINGS","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"xValue":-50,"yValue":10,"xUnit":"%","yUnit":"px","zUnit":"PX"}}]},{"actionItems":[{"id":"a-111-n-2","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"SIBLINGS","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"value":"block"}}]},{"actionItems":[{"id":"a-111-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":700,"target":{"useEventTarget":"SIBLINGS","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"value":1,"unit":""}},{"id":"a-111-n-6","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuart","duration":700,"target":{"useEventTarget":"SIBLINGS","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"xValue":-50,"yValue":0,"xUnit":"%","yUnit":"px","zUnit":"PX"}}]}],"useFirstGroupAsInitialState":true,"createdOn":1663404906873},"a-112":{"id":"a-112","title":"Navbar Dropdown Opening [Close]","actionItemGroups":[{"actionItems":[{"id":"a-112-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":700,"target":{"useEventTarget":"SIBLINGS","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"value":0,"unit":""}},{"id":"a-112-n-5","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuart","duration":700,"target":{"useEventTarget":"SIBLINGS","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"xValue":-50,"yValue":10,"xUnit":"%","yUnit":"px","zUnit":"PX"}}]},{"actionItems":[{"id":"a-112-n-3","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"SIBLINGS","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"value":"none"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1663404906873},"a-127":{"id":"a-127","title":"Image Zoom [Out]","actionItemGroups":[{"actionItems":[{"id":"a-127-n","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"","duration":300,"target":{"useEventTarget":true,"id":"62d3ddc619f62c7d70dfbccd|9350018a-5dfb-1364-15c1-ac482f64c71e"},"xValue":1,"yValue":1,"locked":true}}]}],"useFirstGroupAsInitialState":false,"createdOn":1658052376034},"a-120":{"id":"a-120","title":"Mobile Menu [Open]","actionItemGroups":[{"actionItems":[{"id":"a-120-n-6","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{},"yValue":10,"xUnit":"PX","yUnit":"px","zUnit":"PX"}},{"id":"a-120-n-7","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-120-n-3","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{},"value":"block"}}]},{"actionItems":[{"id":"a-120-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":700,"target":{},"value":1,"unit":""}},{"id":"a-120-n-5","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuart","duration":700,"target":{},"xValue":null,"yValue":0,"xUnit":"%","yUnit":"px","zUnit":"PX"}}]}],"useFirstGroupAsInitialState":true,"createdOn":1663404906873},"a-121":{"id":"a-121","title":"Mobile Menu [Close]","actionItemGroups":[{"actionItems":[{"id":"a-121-n","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":700,"target":{},"value":0,"unit":""}},{"id":"a-121-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuart","duration":700,"target":{},"xValue":null,"yValue":10,"xUnit":"%","yUnit":"px","zUnit":"PX"}}]},{"actionItems":[{"id":"a-121-n-3","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{},"value":"none"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1663404906873},"a-125":{"id":"a-125","title":"Mobile Menu Nav Hover","actionItemGroups":[{"actionItems":[{"id":"a-125-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".mobile-menu-nav-icon","selectorGuids":["7f381a71-5d15-f696-c6b0-10b330078af3"]},"xValue":0,"xUnit":"%","yUnit":"PX","zUnit":"PX"}}]},{"actionItems":[{"id":"a-125-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuart","duration":200,"target":{"useEventTarget":"CHILDREN","selector":".mobile-menu-nav-icon","selectorGuids":["7f381a71-5d15-f696-c6b0-10b330078af3"]},"xValue":100,"xUnit":"%","yUnit":"PX","zUnit":"PX"}}]},{"actionItems":[{"id":"a-125-n-3","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".mobile-menu-nav-icon","selectorGuids":["7f381a71-5d15-f696-c6b0-10b330078af3"]},"xValue":-100,"xUnit":"%","yUnit":"PX","zUnit":"PX"}}]},{"actionItems":[{"id":"a-125-n-4","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuart","duration":200,"target":{"useEventTarget":"CHILDREN","selector":".mobile-menu-nav-icon","selectorGuids":["7f381a71-5d15-f696-c6b0-10b330078af3"]},"xValue":0,"xUnit":"%","yUnit":"PX","zUnit":"PX"}}]}],"useFirstGroupAsInitialState":true,"createdOn":1663592700011},"a-126":{"id":"a-126","title":"Image Zoom [In]","actionItemGroups":[{"actionItems":[{"id":"a-126-n","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"","duration":300,"target":{"useEventTarget":true,"id":"62d3ddc619f62c7d70dfbccd|9350018a-5dfb-1364-15c1-ac482f64c71e"},"xValue":1.05,"yValue":1.05,"locked":true}}]}],"useFirstGroupAsInitialState":false,"createdOn":1658052376034},"a-128":{"id":"a-128","title":"Page Horizontal Scroll","continuousParameterGroups":[{"id":"a-128-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-128-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".scroll-wrapper-track","selectorGuids":["8c2dae20-80e0-6431-3289-cb10a50ff48a"]},"xValue":0,"xUnit":"%","yUnit":"PX","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-128-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".scroll-wrapper-track","selectorGuids":["8c2dae20-80e0-6431-3289-cb10a50ff48a"]},"xValue":-100,"xUnit":"%","yUnit":"PX","zUnit":"PX"}}]}]}],"createdOn":1688228077153},"a-122":{"id":"a-122","title":"Restaurant Title Scroll","continuousParameterGroups":[{"id":"a-122-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":1,"actionItems":[{"id":"a-122-n-12","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".restaurant-gallery","selectorGuids":["8a029cc1-4a0e-e8db-c3d7-caf01eb77b65"]},"value":0.5,"unit":""}},{"id":"a-122-n-3","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".restaurant-content-bottom","selectorGuids":["bea21601-1189-b0a2-495b-cb7da6bfeda4"]},"value":1,"unit":""}},{"id":"a-122-n-4","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".restaurant-content-bottom","selectorGuids":["bea21601-1189-b0a2-495b-cb7da6bfeda4"]},"yValue":0,"xUnit":"PX","yUnit":"px","zUnit":"PX"}},{"id":"a-122-n-5","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".restaurant-content-top","selectorGuids":["b4b9630f-e2fb-e36a-ea6a-3c04795b937e"]},"yValue":0,"xUnit":"PX","yUnit":"px","zUnit":"PX"}},{"id":"a-122-n-6","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".restaurant-content-top","selectorGuids":["b4b9630f-e2fb-e36a-ea6a-3c04795b937e"]},"value":1,"unit":""}}]},{"keyframe":10,"actionItems":[{"id":"a-122-n-8","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".restaurant-content-top","selectorGuids":["b4b9630f-e2fb-e36a-ea6a-3c04795b937e"]},"value":0,"unit":""}},{"id":"a-122-n-9","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".restaurant-content-top","selectorGuids":["b4b9630f-e2fb-e36a-ea6a-3c04795b937e"]},"yValue":-40,"xUnit":"PX","yUnit":"px","zUnit":"PX"}},{"id":"a-122-n-11","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".restaurant-content-bottom","selectorGuids":["bea21601-1189-b0a2-495b-cb7da6bfeda4"]},"value":0,"unit":""}},{"id":"a-122-n-13","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".restaurant-gallery","selectorGuids":["8a029cc1-4a0e-e8db-c3d7-caf01eb77b65"]},"value":1,"unit":""}},{"id":"a-122-n-10","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".restaurant-content-bottom","selectorGuids":["bea21601-1189-b0a2-495b-cb7da6bfeda4"]},"yValue":40,"xUnit":"PX","yUnit":"px","zUnit":"PX"}}]}]}],"createdOn":1658348614135},"a-130":{"id":"a-130","title":"menu-dropdown (open)","actionItemGroups":[{"actionItems":[{"id":"a-130-n","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"SIBLINGS","selector":".menu","selectorGuids":["99132233-cba0-ee61-4838-466227cc8317"]},"value":"none"}}]},{"actionItems":[{"id":"a-130-n-2","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"SIBLINGS","selector":".menu","selectorGuids":["99132233-cba0-ee61-4838-466227cc8317"]},"value":"block"}}]}],"useFirstGroupAsInitialState":true,"createdOn":1695064537364},"a-131":{"id":"a-131","title":"menu-dropdown (close)","actionItemGroups":[{"actionItems":[{"id":"a-131-n","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"SIBLINGS","selector":".menu","selectorGuids":["99132233-cba0-ee61-4838-466227cc8317"]},"value":"none"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1695064537364},"a-132":{"id":"a-132","title":"Custom Button Hover On","actionItemGroups":[{"actionItems":[{"id":"a-132-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":3500,"target":{"useEventTarget":"CHILDREN","selector":".custom-button-hover","selectorGuids":["00714b7c-df6a-3218-f2de-ccc3be917bda"]},"xValue":-100,"xUnit":"%","yUnit":"PX","zUnit":"PX"}},{"id":"a-132-n-2","actionTypeId":"TRANSFORM_SKEW","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".custom-button-hover","selectorGuids":["00714b7c-df6a-3218-f2de-ccc3be917bda"]},"xValue":-45,"xUnit":"DEG","yUnit":"DEG","zUnit":"DEG"}}]},{"actionItems":[{"id":"a-132-n-3","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":200,"target":{"useEventTarget":"CHILDREN","selector":".custom-button-hover","selectorGuids":["00714b7c-df6a-3218-f2de-ccc3be917bda"]},"xValue":0,"xUnit":"%","yUnit":"PX","zUnit":"PX"}}]}],"useFirstGroupAsInitialState":true,"createdOn":1597679805355},"a-133":{"id":"a-133","title":"Custom Button Hover Out","actionItemGroups":[{"actionItems":[{"id":"a-133-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":200,"target":{"useEventTarget":"CHILDREN","selector":".custom-button-hover","selectorGuids":["00714b7c-df6a-3218-f2de-ccc3be917bda"]},"xValue":-100,"xUnit":"%","yUnit":"PX","zUnit":"PX"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1597680393565},"a-134":{"id":"a-134","title":"Mouse Circle Big","actionItemGroups":[{"actionItems":[{"id":"a-134-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":500,"target":{},"widthValue":55,"heightValue":55,"widthUnit":"px","heightUnit":"px","locked":false}}]}],"useFirstGroupAsInitialState":false,"createdOn":1659882502217},"a-135":{"id":"a-135","title":"Mouse Circle Small","actionItemGroups":[{"actionItems":[{"id":"a-135-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":500,"target":{},"widthValue":15,"heightValue":15,"widthUnit":"px","heightUnit":"px","locked":false}}]}],"useFirstGroupAsInitialState":false,"createdOn":1659882502217},"a-123":{"id":"a-123","title":"Navbar Dropdown Menu [Open]","actionItemGroups":[{"actionItems":[{"id":"a-123-n","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.menu","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","42307f6e-248d-1935-c695-f8ee883903e2"]},"value":0,"unit":""}},{"id":"a-123-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.menu","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","42307f6e-248d-1935-c695-f8ee883903e2"]},"xValue":null,"yValue":10,"xUnit":"%","yUnit":"px","zUnit":"PX"}}]},{"actionItems":[{"id":"a-123-n-3","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.menu","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","42307f6e-248d-1935-c695-f8ee883903e2"]},"value":"block"}}]},{"actionItems":[{"id":"a-123-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":700,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.menu","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","42307f6e-248d-1935-c695-f8ee883903e2"]},"value":1,"unit":""}},{"id":"a-123-n-5","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuart","duration":700,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.menu","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","42307f6e-248d-1935-c695-f8ee883903e2"]},"xValue":null,"yValue":0,"xUnit":"%","yUnit":"px","zUnit":"PX"}}]}],"useFirstGroupAsInitialState":true,"createdOn":1663404906873},"a-119":{"id":"a-119","title":"Navbar Dropdown Opening [Close]","actionItemGroups":[{"actionItems":[{"id":"a-119-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":100,"easing":"outQuart","duration":200,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"xValue":null,"yValue":10,"xUnit":"%","yUnit":"px","zUnit":"PX"}},{"id":"a-119-n","actionTypeId":"STYLE_OPACITY","config":{"delay":100,"easing":"outQuart","duration":200,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-119-n-3","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"value":"none"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1663404906873},"a-118":{"id":"a-118","title":"Navbar Dropdown Opening [Open]","actionItemGroups":[{"actionItems":[{"id":"a-118-n","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"value":0,"unit":""}},{"id":"a-118-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"xValue":null,"yValue":10,"xUnit":"%","yUnit":"px","zUnit":"PX"}}]},{"actionItems":[{"id":"a-118-n-3","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"value":"block"}}]},{"actionItems":[{"id":"a-118-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"outQuart","duration":700,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"value":1,"unit":""}},{"id":"a-118-n-5","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"outQuart","duration":700,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.opening","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","3fbce695-fad0-130a-3adb-3edbe72b94d2"]},"xValue":null,"yValue":0,"xUnit":"%","yUnit":"px","zUnit":"PX"}}]}],"useFirstGroupAsInitialState":true,"createdOn":1663404906873},"a-124":{"id":"a-124","title":"Navbar Dropdown Menu [Close]","actionItemGroups":[{"actionItems":[{"id":"a-124-n","actionTypeId":"STYLE_OPACITY","config":{"delay":100,"easing":"outQuart","duration":200,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.menu","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","42307f6e-248d-1935-c695-f8ee883903e2"]},"value":0,"unit":""}},{"id":"a-124-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":100,"easing":"outQuart","duration":200,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.menu","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","42307f6e-248d-1935-c695-f8ee883903e2"]},"xValue":null,"yValue":10,"xUnit":"%","yUnit":"px","zUnit":"PX"}}]},{"actionItems":[{"id":"a-124-n-3","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"CHILDREN","selector":".navbar-dropdown.menu","selectorGuids":["8df4e424-123d-5866-b2c9-21e197376d0d","42307f6e-248d-1935-c695-f8ee883903e2"]},"value":"none"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1663404906873}},"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}]}}
);

Webflow.require('commerce') && Webflow.require('commerce').init({siteId: "65007c8553f349b1966b1649", apiUrl: "https://render.webflow.com"});
