UNPKG

@toast-ui/vue-calendar

Version:
26,605 lines 1.26 MB
(function(global2, factory) {
  typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory(require("vue")) : typeof define === "function" && define.amd ? define(["vue"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, global2.tui = global2.tui || {}, global2.tui.VueCalendar = factory(global2.Vue));
})(this, function(Vue) {
  "use strict";
  function _interopDefaultLegacy(e) {
    return e && typeof e === "object" && "default" in e ? e : { "default": e };
  }
  var Vue__default = /* @__PURE__ */ _interopDefaultLegacy(Vue);
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
  function getDefaultExportFromCjs(x) {
    return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
  }
  var toastuiCalendar_ie11 = { exports: {} };
  var tuiDatePicker = { exports: {} };
  var tuiTimePicker = { exports: {} };
  /*!
   * TOAST UI Time Picker
   * @version 2.1.4
   * @author NHN FE Development Lab <dl_javascript@nhn.com>
   * @license MIT
   */
  var hasRequiredTuiTimePicker;
  function requireTuiTimePicker() {
    if (hasRequiredTuiTimePicker)
      return tuiTimePicker.exports;
    hasRequiredTuiTimePicker = 1;
    (function(module2, exports2) {
      (function webpackUniversalModuleDefinition(root, factory) {
        module2.exports = factory();
      })(window, function() {
        return function(modules) {
          var installedModules = {};
          function __webpack_require__(moduleId) {
            if (installedModules[moduleId]) {
              return installedModules[moduleId].exports;
            }
            var module3 = installedModules[moduleId] = {
              i: moduleId,
              l: false,
              exports: {}
            };
            modules[moduleId].call(module3.exports, module3, module3.exports, __webpack_require__);
            module3.l = true;
            return module3.exports;
          }
          __webpack_require__.m = modules;
          __webpack_require__.c = installedModules;
          __webpack_require__.d = function(exports3, name, getter) {
            if (!__webpack_require__.o(exports3, name)) {
              Object.defineProperty(exports3, name, { enumerable: true, get: getter });
            }
          };
          __webpack_require__.r = function(exports3) {
            if (typeof Symbol !== "undefined" && Symbol.toStringTag) {
              Object.defineProperty(exports3, Symbol.toStringTag, { value: "Module" });
            }
            Object.defineProperty(exports3, "__esModule", { value: true });
          };
          __webpack_require__.t = function(value, mode) {
            if (mode & 1)
              value = __webpack_require__(value);
            if (mode & 8)
              return value;
            if (mode & 4 && typeof value === "object" && value && value.__esModule)
              return value;
            var ns = /* @__PURE__ */ Object.create(null);
            __webpack_require__.r(ns);
            Object.defineProperty(ns, "default", { enumerable: true, value });
            if (mode & 2 && typeof value != "string")
              for (var key in value)
                __webpack_require__.d(ns, key, function(key2) {
                  return value[key2];
                }.bind(null, key));
            return ns;
          };
          __webpack_require__.n = function(module3) {
            var getter = module3 && module3.__esModule ? function getDefault() {
              return module3["default"];
            } : function getModuleExports() {
              return module3;
            };
            __webpack_require__.d(getter, "a", getter);
            return getter;
          };
          __webpack_require__.o = function(object, property) {
            return Object.prototype.hasOwnProperty.call(object, property);
          };
          __webpack_require__.p = "dist";
          return __webpack_require__(__webpack_require__.s = 20);
        }([
          function(module3, exports3, __webpack_require__) {
            var isArray = __webpack_require__(3);
            function inArray(searchElement, array, startIndex) {
              var i;
              var length;
              startIndex = startIndex || 0;
              if (!isArray(array)) {
                return -1;
              }
              if (Array.prototype.indexOf) {
                return Array.prototype.indexOf.call(array, searchElement, startIndex);
              }
              length = array.length;
              for (i = startIndex; startIndex >= 0 && i < length; i += 1) {
                if (array[i] === searchElement) {
                  return i;
                }
              }
              return -1;
            }
            module3.exports = inArray;
          },
          function(module3, exports3, __webpack_require__) {
            function forEachArray(arr, iteratee, context) {
              var index = 0;
              var len = arr.length;
              context = context || null;
              for (; index < len; index += 1) {
                if (iteratee.call(context, arr[index], index, arr) === false) {
                  break;
                }
              }
            }
            module3.exports = forEachArray;
          },
          function(module3, exports3, __webpack_require__) {
            function extend(target, objects) {
              var hasOwnProp = Object.prototype.hasOwnProperty;
              var source, prop, i, len;
              for (i = 1, len = arguments.length; i < len; i += 1) {
                source = arguments[i];
                for (prop in source) {
                  if (hasOwnProp.call(source, prop)) {
                    target[prop] = source[prop];
                  }
                }
              }
              return target;
            }
            module3.exports = extend;
          },
          function(module3, exports3, __webpack_require__) {
            function isArray(obj) {
              return obj instanceof Array;
            }
            module3.exports = isArray;
          },
          function(module3, exports3, __webpack_require__) {
            var isArray = __webpack_require__(3);
            var forEachArray = __webpack_require__(1);
            var forEachOwnProperties = __webpack_require__(16);
            function forEach(obj, iteratee, context) {
              if (isArray(obj)) {
                forEachArray(obj, iteratee, context);
              } else {
                forEachOwnProperties(obj, iteratee, context);
              }
            }
            module3.exports = forEach;
          },
          function(module3, exports3, __webpack_require__) {
            function isUndefined(obj) {
              return obj === void 0;
            }
            module3.exports = isUndefined;
          },
          function(module3, exports3, __webpack_require__) {
            function isString(obj) {
              return typeof obj === "string" || obj instanceof String;
            }
            module3.exports = isString;
          },
          function(module3, exports3, __webpack_require__) {
            var inArray = __webpack_require__(0);
            var forEach = __webpack_require__(4);
            var isArray = __webpack_require__(3);
            var isString = __webpack_require__(6);
            var extend = __webpack_require__(2);
            var EXPRESSION_REGEXP = /{{\s?|\s?}}/g;
            var BRACKET_NOTATION_REGEXP = /^[a-zA-Z0-9_@]+\[[a-zA-Z0-9_@"']+\]$/;
            var BRACKET_REGEXP = /\[\s?|\s?\]/;
            var DOT_NOTATION_REGEXP = /^[a-zA-Z_]+\.[a-zA-Z_]+$/;
            var DOT_REGEXP = /\./;
            var STRING_NOTATION_REGEXP = /^["']\w+["']$/;
            var STRING_REGEXP = /"|'/g;
            var NUMBER_REGEXP = /^-?\d+\.?\d*$/;
            var EXPRESSION_INTERVAL = 2;
            var BLOCK_HELPERS = {
              "if": handleIf,
              "each": handleEach,
              "with": handleWith
            };
            var isValidSplit = "a".split(/a/).length === 3;
            var splitByRegExp = function() {
              if (isValidSplit) {
                return function(text, regexp) {
                  return text.split(regexp);
                };
              }
              return function(text, regexp) {
                var result = [];
                var prevIndex = 0;
                var match, index;
                if (!regexp.global) {
                  regexp = new RegExp(regexp, "g");
                }
                match = regexp.exec(text);
                while (match !== null) {
                  index = match.index;
                  result.push(text.slice(prevIndex, index));
                  prevIndex = index + match[0].length;
                  match = regexp.exec(text);
                }
                result.push(text.slice(prevIndex));
                return result;
              };
            }();
            function getValueFromContext(exp, context) {
              var splitedExps;
              var value = context[exp];
              if (exp === "true") {
                value = true;
              } else if (exp === "false") {
                value = false;
              } else if (STRING_NOTATION_REGEXP.test(exp)) {
                value = exp.replace(STRING_REGEXP, "");
              } else if (BRACKET_NOTATION_REGEXP.test(exp)) {
                splitedExps = exp.split(BRACKET_REGEXP);
                value = getValueFromContext(splitedExps[0], context)[getValueFromContext(splitedExps[1], context)];
              } else if (DOT_NOTATION_REGEXP.test(exp)) {
                splitedExps = exp.split(DOT_REGEXP);
                value = getValueFromContext(splitedExps[0], context)[splitedExps[1]];
              } else if (NUMBER_REGEXP.test(exp)) {
                value = parseFloat(exp);
              }
              return value;
            }
            function extractElseif(ifExps, sourcesInsideBlock) {
              var exps = [ifExps];
              var sourcesInsideIf = [];
              var otherIfCount = 0;
              var start = 0;
              forEach(sourcesInsideBlock, function(source, index) {
                if (source.indexOf("if") === 0) {
                  otherIfCount += 1;
                } else if (source === "/if") {
                  otherIfCount -= 1;
                } else if (!otherIfCount && (source.indexOf("elseif") === 0 || source === "else")) {
                  exps.push(source === "else" ? ["true"] : source.split(" ").slice(1));
                  sourcesInsideIf.push(sourcesInsideBlock.slice(start, index));
                  start = index + 1;
                }
              });
              sourcesInsideIf.push(sourcesInsideBlock.slice(start));
              return {
                exps,
                sourcesInsideIf
              };
            }
            function handleIf(exps, sourcesInsideBlock, context) {
              var analyzed = extractElseif(exps, sourcesInsideBlock);
              var result = false;
              var compiledSource = "";
              forEach(analyzed.exps, function(exp, index) {
                result = handleExpression(exp, context);
                if (result) {
                  compiledSource = compile(analyzed.sourcesInsideIf[index], context);
                }
                return !result;
              });
              return compiledSource;
            }
            function handleEach(exps, sourcesInsideBlock, context) {
              var collection = handleExpression(exps, context);
              var additionalKey = isArray(collection) ? "@index" : "@key";
              var additionalContext = {};
              var result = "";
              forEach(collection, function(item, key) {
                additionalContext[additionalKey] = key;
                additionalContext["@this"] = item;
                extend(context, additionalContext);
                result += compile(sourcesInsideBlock.slice(), context);
              });
              return result;
            }
            function handleWith(exps, sourcesInsideBlock, context) {
              var asIndex = inArray("as", exps);
              var alias = exps[asIndex + 1];
              var result = handleExpression(exps.slice(0, asIndex), context);
              var additionalContext = {};
              additionalContext[alias] = result;
              return compile(sourcesInsideBlock, extend(context, additionalContext)) || "";
            }
            function extractSourcesInsideBlock(sources, start, end) {
              var sourcesInsideBlock = sources.splice(start + 1, end - start);
              sourcesInsideBlock.pop();
              return sourcesInsideBlock;
            }
            function handleBlockHelper(helperKeyword, sourcesToEnd, context) {
              var executeBlockHelper = BLOCK_HELPERS[helperKeyword];
              var helperCount = 1;
              var startBlockIndex = 0;
              var endBlockIndex;
              var index = startBlockIndex + EXPRESSION_INTERVAL;
              var expression = sourcesToEnd[index];
              while (helperCount && isString(expression)) {
                if (expression.indexOf(helperKeyword) === 0) {
                  helperCount += 1;
                } else if (expression.indexOf("/" + helperKeyword) === 0) {
                  helperCount -= 1;
                  endBlockIndex = index;
                }
                index += EXPRESSION_INTERVAL;
                expression = sourcesToEnd[index];
              }
              if (helperCount) {
                throw Error(helperKeyword + " needs {{/" + helperKeyword + "}} expression.");
              }
              sourcesToEnd[startBlockIndex] = executeBlockHelper(sourcesToEnd[startBlockIndex].split(" ").slice(1), extractSourcesInsideBlock(sourcesToEnd, startBlockIndex, endBlockIndex), context);
              return sourcesToEnd;
            }
            function handleExpression(exps, context) {
              var result = getValueFromContext(exps[0], context);
              if (result instanceof Function) {
                return executeFunction(result, exps.slice(1), context);
              }
              return result;
            }
            function executeFunction(helper, argExps, context) {
              var args = [];
              forEach(argExps, function(exp) {
                args.push(getValueFromContext(exp, context));
              });
              return helper.apply(null, args);
            }
            function compile(sources, context) {
              var index = 1;
              var expression = sources[index];
              var exps, firstExp, result;
              while (isString(expression)) {
                exps = expression.split(" ");
                firstExp = exps[0];
                if (BLOCK_HELPERS[firstExp]) {
                  result = handleBlockHelper(firstExp, sources.splice(index, sources.length - index), context);
                  sources = sources.concat(result);
                } else {
                  sources[index] = handleExpression(exps, context);
                }
                index += EXPRESSION_INTERVAL;
                expression = sources[index];
              }
              return sources.join("");
            }
            function template(text, context) {
              return compile(splitByRegExp(text, EXPRESSION_REGEXP), context);
            }
            module3.exports = template;
          },
          function(module3, exports3, __webpack_require__) {
            var extend = __webpack_require__(2);
            var isExisty = __webpack_require__(23);
            var isString = __webpack_require__(6);
            var isObject = __webpack_require__(25);
            var isArray = __webpack_require__(3);
            var isFunction = __webpack_require__(26);
            var forEach = __webpack_require__(4);
            var R_EVENTNAME_SPLIT = /\s+/g;
            function CustomEvents() {
              this.events = null;
              this.contexts = null;
            }
            CustomEvents.mixin = function(func) {
              extend(func.prototype, CustomEvents.prototype);
            };
            CustomEvents.prototype._getHandlerItem = function(handler, context) {
              var item = { handler };
              if (context) {
                item.context = context;
              }
              return item;
            };
            CustomEvents.prototype._safeEvent = function(eventName) {
              var events = this.events;
              var byName;
              if (!events) {
                events = this.events = {};
              }
              if (eventName) {
                byName = events[eventName];
                if (!byName) {
                  byName = [];
                  events[eventName] = byName;
                }
                events = byName;
              }
              return events;
            };
            CustomEvents.prototype._safeContext = function() {
              var context = this.contexts;
              if (!context) {
                context = this.contexts = [];
              }
              return context;
            };
            CustomEvents.prototype._indexOfContext = function(ctx) {
              var context = this._safeContext();
              var index = 0;
              while (context[index]) {
                if (ctx === context[index][0]) {
                  return index;
                }
                index += 1;
              }
              return -1;
            };
            CustomEvents.prototype._memorizeContext = function(ctx) {
              var context, index;
              if (!isExisty(ctx)) {
                return;
              }
              context = this._safeContext();
              index = this._indexOfContext(ctx);
              if (index > -1) {
                context[index][1] += 1;
              } else {
                context.push([ctx, 1]);
              }
            };
            CustomEvents.prototype._forgetContext = function(ctx) {
              var context, contextIndex;
              if (!isExisty(ctx)) {
                return;
              }
              context = this._safeContext();
              contextIndex = this._indexOfContext(ctx);
              if (contextIndex > -1) {
                context[contextIndex][1] -= 1;
                if (context[contextIndex][1] <= 0) {
                  context.splice(contextIndex, 1);
                }
              }
            };
            CustomEvents.prototype._bindEvent = function(eventName, handler, context) {
              var events = this._safeEvent(eventName);
              this._memorizeContext(context);
              events.push(this._getHandlerItem(handler, context));
            };
            CustomEvents.prototype.on = function(eventName, handler, context) {
              var self2 = this;
              if (isString(eventName)) {
                eventName = eventName.split(R_EVENTNAME_SPLIT);
                forEach(eventName, function(name) {
                  self2._bindEvent(name, handler, context);
                });
              } else if (isObject(eventName)) {
                context = handler;
                forEach(eventName, function(func, name) {
                  self2.on(name, func, context);
                });
              }
            };
            CustomEvents.prototype.once = function(eventName, handler, context) {
              var self2 = this;
              if (isObject(eventName)) {
                context = handler;
                forEach(eventName, function(func, name) {
                  self2.once(name, func, context);
                });
                return;
              }
              function onceHandler() {
                handler.apply(context, arguments);
                self2.off(eventName, onceHandler, context);
              }
              this.on(eventName, onceHandler, context);
            };
            CustomEvents.prototype._spliceMatches = function(arr, predicate) {
              var i = 0;
              var len;
              if (!isArray(arr)) {
                return;
              }
              for (len = arr.length; i < len; i += 1) {
                if (predicate(arr[i]) === true) {
                  arr.splice(i, 1);
                  len -= 1;
                  i -= 1;
                }
              }
            };
            CustomEvents.prototype._matchHandler = function(handler) {
              var self2 = this;
              return function(item) {
                var needRemove = handler === item.handler;
                if (needRemove) {
                  self2._forgetContext(item.context);
                }
                return needRemove;
              };
            };
            CustomEvents.prototype._matchContext = function(context) {
              var self2 = this;
              return function(item) {
                var needRemove = context === item.context;
                if (needRemove) {
                  self2._forgetContext(item.context);
                }
                return needRemove;
              };
            };
            CustomEvents.prototype._matchHandlerAndContext = function(handler, context) {
              var self2 = this;
              return function(item) {
                var matchHandler = handler === item.handler;
                var matchContext = context === item.context;
                var needRemove = matchHandler && matchContext;
                if (needRemove) {
                  self2._forgetContext(item.context);
                }
                return needRemove;
              };
            };
            CustomEvents.prototype._offByEventName = function(eventName, handler) {
              var self2 = this;
              var andByHandler = isFunction(handler);
              var matchHandler = self2._matchHandler(handler);
              eventName = eventName.split(R_EVENTNAME_SPLIT);
              forEach(eventName, function(name) {
                var handlerItems = self2._safeEvent(name);
                if (andByHandler) {
                  self2._spliceMatches(handlerItems, matchHandler);
                } else {
                  forEach(handlerItems, function(item) {
                    self2._forgetContext(item.context);
                  });
                  self2.events[name] = [];
                }
              });
            };
            CustomEvents.prototype._offByHandler = function(handler) {
              var self2 = this;
              var matchHandler = this._matchHandler(handler);
              forEach(this._safeEvent(), function(handlerItems) {
                self2._spliceMatches(handlerItems, matchHandler);
              });
            };
            CustomEvents.prototype._offByObject = function(obj, handler) {
              var self2 = this;
              var matchFunc;
              if (this._indexOfContext(obj) < 0) {
                forEach(obj, function(func, name) {
                  self2.off(name, func);
                });
              } else if (isString(handler)) {
                matchFunc = this._matchContext(obj);
                self2._spliceMatches(this._safeEvent(handler), matchFunc);
              } else if (isFunction(handler)) {
                matchFunc = this._matchHandlerAndContext(handler, obj);
                forEach(this._safeEvent(), function(handlerItems) {
                  self2._spliceMatches(handlerItems, matchFunc);
                });
              } else {
                matchFunc = this._matchContext(obj);
                forEach(this._safeEvent(), function(handlerItems) {
                  self2._spliceMatches(handlerItems, matchFunc);
                });
              }
            };
            CustomEvents.prototype.off = function(eventName, handler) {
              if (isString(eventName)) {
                this._offByEventName(eventName, handler);
              } else if (!arguments.length) {
                this.events = {};
                this.contexts = [];
              } else if (isFunction(eventName)) {
                this._offByHandler(eventName);
              } else if (isObject(eventName)) {
                this._offByObject(eventName, handler);
              }
            };
            CustomEvents.prototype.fire = function(eventName) {
              this.invoke.apply(this, arguments);
            };
            CustomEvents.prototype.invoke = function(eventName) {
              var events, args, index, item;
              if (!this.hasListener(eventName)) {
                return true;
              }
              events = this._safeEvent(eventName);
              args = Array.prototype.slice.call(arguments, 1);
              index = 0;
              while (events[index]) {
                item = events[index];
                if (item.handler.apply(item.context, args) === false) {
                  return false;
                }
                index += 1;
              }
              return true;
            };
            CustomEvents.prototype.hasListener = function(eventName) {
              return this.getListenerLength(eventName) > 0;
            };
            CustomEvents.prototype.getListenerLength = function(eventName) {
              var events = this._safeEvent(eventName);
              return events.length;
            };
            module3.exports = CustomEvents;
          },
          function(module3, exports3, __webpack_require__) {
            var inherit = __webpack_require__(27);
            var extend = __webpack_require__(2);
            function defineClass(parent, props) {
              var obj;
              if (!props) {
                props = parent;
                parent = null;
              }
              obj = props.init || function() {
              };
              if (parent) {
                inherit(obj, parent);
              }
              if (props.hasOwnProperty("static")) {
                extend(obj, props["static"]);
                delete props["static"];
              }
              extend(obj.prototype, props);
              return obj;
            }
            module3.exports = defineClass;
          },
          function(module3, exports3, __webpack_require__) {
            var isString = __webpack_require__(6);
            var forEach = __webpack_require__(4);
            var safeEvent = __webpack_require__(17);
            function on(element, types, handler, context) {
              if (isString(types)) {
                forEach(types.split(/\s+/g), function(type) {
                  bindEvent(element, type, handler, context);
                });
                return;
              }
              forEach(types, function(func, type) {
                bindEvent(element, type, func, handler);
              });
            }
            function bindEvent(element, type, handler, context) {
              function eventHandler(e) {
                handler.call(context || element, e || window.event);
              }
              if ("addEventListener" in element) {
                element.addEventListener(type, eventHandler);
              } else if ("attachEvent" in element) {
                element.attachEvent("on" + type, eventHandler);
              }
              memorizeHandler(element, type, handler, eventHandler);
            }
            function memorizeHandler(element, type, handler, wrappedHandler) {
              var events = safeEvent(element, type);
              var existInEvents = false;
              forEach(events, function(obj) {
                if (obj.handler === handler) {
                  existInEvents = true;
                  return false;
                }
                return true;
              });
              if (!existInEvents) {
                events.push({
                  handler,
                  wrappedHandler
                });
              }
            }
            module3.exports = on;
          },
          function(module3, exports3, __webpack_require__) {
            var isString = __webpack_require__(6);
            var forEach = __webpack_require__(4);
            var safeEvent = __webpack_require__(17);
            function off(element, types, handler) {
              if (isString(types)) {
                forEach(types.split(/\s+/g), function(type) {
                  unbindEvent(element, type, handler);
                });
                return;
              }
              forEach(types, function(func, type) {
                unbindEvent(element, type, func);
              });
            }
            function unbindEvent(element, type, handler) {
              var events = safeEvent(element, type);
              var index;
              if (!handler) {
                forEach(events, function(item) {
                  removeHandler(element, type, item.wrappedHandler);
                });
                events.splice(0, events.length);
              } else {
                forEach(events, function(item, idx) {
                  if (handler === item.handler) {
                    removeHandler(element, type, item.wrappedHandler);
                    index = idx;
                    return false;
                  }
                  return true;
                });
                events.splice(index, 1);
              }
            }
            function removeHandler(element, type, handler) {
              if ("removeEventListener" in element) {
                element.removeEventListener(type, handler);
              } else if ("detachEvent" in element) {
                element.detachEvent("on" + type, handler);
              }
            }
            module3.exports = off;
          },
          function(module3, exports3, __webpack_require__) {
            var matches = __webpack_require__(30);
            function closest(element, selector) {
              var parent = element.parentNode;
              if (matches(element, selector)) {
                return element;
              }
              while (parent && parent !== document) {
                if (matches(parent, selector)) {
                  return parent;
                }
                parent = parent.parentNode;
              }
              return null;
            }
            module3.exports = closest;
          },
          function(module3, exports3, __webpack_require__) {
            function removeElement(element) {
              if (element && element.parentNode) {
                element.parentNode.removeChild(element);
              }
            }
            module3.exports = removeElement;
          },
          function(module3, exports3, __webpack_require__) {
            function isHTMLNode(html) {
              if (typeof HTMLElement === "object") {
                return html && (html instanceof HTMLElement || !!html.nodeType);
              }
              return !!(html && html.nodeType);
            }
            module3.exports = isHTMLNode;
          },
          function(module3, exports3, __webpack_require__) {
            var inArray = __webpack_require__(0);
            var forEachArray = __webpack_require__(1);
            var sendHostname = __webpack_require__(35);
            var uniqueId = 0;
            var utils = {
              getUniqueId: function() {
                uniqueId += 1;
                return uniqueId;
              },
              formatTime: function(value, format) {
                var PADDING_ZERO_TYPES = ["hh", "mm"];
                value = String(value);
                return inArray(format, PADDING_ZERO_TYPES) >= 0 && value.length === 1 ? "0" + value : value;
              },
              getMeridiemHour: function(hour) {
                hour %= 12;
                if (hour === 0) {
                  hour = 12;
                }
                return hour;
              },
              getRangeArr: function(start, end, step) {
                var arr = [];
                var i;
                step = step || 1;
                if (start > end) {
                  for (i = end; i >= start; i -= step) {
                    arr.push(i);
                  }
                } else {
                  for (i = start; i <= end; i += step) {
                    arr.push(i);
                  }
                }
                return arr;
              },
              fill: function(start, end, value, target) {
                var arr = target || [];
                var replaceEnd = Math.min(arr.length - 1, end);
                var i;
                for (i = start; i <= replaceEnd; i += 1) {
                  arr[i] = value;
                }
                for (i = replaceEnd; i <= end; i += 1) {
                  arr.push(value);
                }
                return arr;
              },
              getTarget: function(ev) {
                return ev.target || ev.srcElement;
              },
              sendHostName: function() {
                sendHostname("time-picker", "UA-129987462-1");
              },
              getDisabledMinuteArr: function(enableRanges, minuteStep) {
                var arr = this.fill(0, Math.floor(60 / minuteStep) - 2, false);
                function setDisabled(enableRange) {
                  var beginDisabledMinute = Math.ceil(enableRange.begin / minuteStep);
                  var endDisabledMinute = Math.floor(enableRange.end / minuteStep);
                  arr = this.fill(beginDisabledMinute, endDisabledMinute, true, arr);
                }
                forEachArray(enableRanges, setDisabled.bind(this));
                return arr;
              },
              setDisabled: function(el, isDisabled) {
                el.disabled = isDisabled;
              }
            };
            module3.exports = utils;
          },
          function(module3, exports3, __webpack_require__) {
            function forEachOwnProperties(obj, iteratee, context) {
              var key;
              context = context || null;
              for (key in obj) {
                if (obj.hasOwnProperty(key)) {
                  if (iteratee.call(context, obj[key], key, obj) === false) {
                    break;
                  }
                }
              }
            }
            module3.exports = forEachOwnProperties;
          },
          function(module3, exports3, __webpack_require__) {
            var EVENT_KEY = "_feEventKey";
            function safeEvent(element, type) {
              var events = element[EVENT_KEY];
              var handlers;
              if (!events) {
                events = element[EVENT_KEY] = {};
              }
              handlers = events[type];
              if (!handlers) {
                handlers = events[type] = [];
              }
              return handlers;
            }
            module3.exports = safeEvent;
          },
          function(module3, exports3, __webpack_require__) {
            var isUndefined = __webpack_require__(5);
            function getClass(element) {
              if (!element || !element.className) {
                return "";
              }
              if (isUndefined(element.className.baseVal)) {
                return element.className;
              }
              return element.className.baseVal;
            }
            module3.exports = getClass;
          },
          function(module3, exports3, __webpack_require__) {
            var isArray = __webpack_require__(3);
            var isUndefined = __webpack_require__(5);
            function setClassName(element, cssClass) {
              cssClass = isArray(cssClass) ? cssClass.join(" ") : cssClass;
              cssClass = cssClass.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
              if (isUndefined(element.className.baseVal)) {
                element.className = cssClass;
                return;
              }
              element.className.baseVal = cssClass;
            }
            module3.exports = setClassName;
          },
          function(module3, exports3, __webpack_require__) {
            __webpack_require__(21);
            module3.exports = __webpack_require__(22);
          },
          function(module3, exports3, __webpack_require__) {
          },
          function(module3, exports3, __webpack_require__) {
            var inArray = __webpack_require__(0);
            var forEachArray = __webpack_require__(1);
            var CustomEvents = __webpack_require__(8);
            var defineClass = __webpack_require__(9);
            var extend = __webpack_require__(2);
            var on = __webpack_require__(10);
            var off = __webpack_require__(11);
            var addClass = __webpack_require__(29);
            var closest = __webpack_require__(12);
            var removeElement = __webpack_require__(13);
            var removeClass = __webpack_require__(32);
            var isHTMLNode = __webpack_require__(14);
            var isNumber = __webpack_require__(33);
            var Spinbox = __webpack_require__(34);
            var Selectbox = __webpack_require__(38);
            var util = __webpack_require__(15);
            var localeTexts = __webpack_require__(40);
            var tmpl = __webpack_require__(41);
            var meridiemTmpl = __webpack_require__(42);
            var SELECTOR_HOUR_ELEMENT = ".tui-timepicker-hour";
            var SELECTOR_MINUTE_ELEMENT = ".tui-timepicker-minute";
            var SELECTOR_MERIDIEM_ELEMENT = ".tui-timepicker-meridiem";
            var CLASS_NAME_LEFT_MERIDIEM = "tui-has-left";
            var CLASS_NAME_HIDDEN = "tui-hidden";
            var CLASS_NAME_CHECKED = "tui-timepicker-meridiem-checked";
            var INPUT_TYPE_SPINBOX = "spinbox";
            var INPUT_TYPE_SELECTBOX = "selectbox";
            var START_NUMBER_OF_TIME = 0;
            var END_NUMBER_OF_MINUTE = 59;
            var END_NUMBER_OF_HOUR = 23;
            var END_NUMBER_OF_HOUR_WITH_MERIDIEM = 12;
            var mergeDefaultOptions = function(options) {
              return extend({
                language: "en",
                initialHour: 0,
                initialMinute: 0,
                showMeridiem: true,
                inputType: "selectbox",
                hourStep: 1,
                minuteStep: 1,
                meridiemPosition: "right",
                format: "h:m",
                disabledHours: [],
                disabledMinutes: {},
                usageStatistics: true
              }, options);
            };
            var TimePicker = defineClass({
              static: {
                localeTexts
              },
              init: function(container, options) {
                options = mergeDefaultOptions(options);
                this.id = util.getUniqueId();
                this.container = isHTMLNode(container) ? container : document.querySelector(container);
                this.element = null;
                this.meridiemElement = null;
                this.amEl = null;
                this.pmEl = null;
                this.showMeridiem = options.showMeridiem;
                this.meridiemPosition = options.meridiemPosition;
                this.hourInput = null;
                this.minuteInput = null;
                this.hour = options.initialHour;
                this.minute = options.initialMinute;
                this.hourStep = options.hourStep;
                this.minuteStep = options.minuteStep;
                this.disabledHours = options.disabledHours;
                this.disabledMinutes = options.disabledMinutes;
                this.inputType = options.inputType;
                this.localeText = localeTexts[options.language];
                this.format = this.getValidTimeFormat(options.format);
                this.render();
                this.setEvents();
                if (options.usageStatistics) {
                  util.sendHostName();
                }
              },
              setEvents: function() {
                this.hourInput.on("change", this.onChangeTimeInput, this);
                this.minuteInput.on("change", this.onChangeTimeInput, this);
                if (this.showMeridiem) {
                  if (this.inputType === INPUT_TYPE_SELECTBOX) {
                    on(this.meridiemElement.querySelector("select"), "change", this.onChangeMeridiem, this);
                  } else if (this.inputType === INPUT_TYPE_SPINBOX) {
                    on(this.meridiemElement, "click", this.onChangeMeridiem, this);
                  }
                }
              },
              removeEvents: function() {
                this.off();
                this.hourInput.destroy();
                this.minuteInput.destroy();
                if (this.showMeridiem) {
                  if (this.inputType === INPUT_TYPE_SELECTBOX) {
                    off(this.meridiemElement.querySelector("select"), "change", this.onChangeMeridiem, this);
                  } else if (this.inputType === INPUT_TYPE_SPINBOX) {
                    off(this.meridiemElement, "click", this.onChangeMeridiem, this);
                  }
                }
              },
              render: function() {
                var context = {
                  showMeridiem: this.showMeridiem,
                  isSpinbox: this.inputType === "spinbox"
                };
                if (this.showMeridiem) {
                  extend(context, {
                    meridiemElement: this.makeMeridiemHTML()
                  });
                }
                if (this.element) {
                  removeElement(this.element);
                }
                this.container.innerHTML = tmpl(context);
                this.element = this.container.firstChild;
                this.renderTimeInputs();
                if (this.showMeridiem) {
                  this.setMeridiemElement();
                }
              },
              setMeridiemElement: function() {
                if (this.meridiemPosition === "left") {
                  addClass(this.element, CLASS_NAME_LEFT_MERIDIEM);
                }
                this.meridiemElement = this.element.querySelector(SELECTOR_MERIDIEM_ELEMENT);
                this.amEl = this.meridiemElement.querySelector('[value="AM"]');
                this.pmEl = this.meridiemElement.querySelector('[value="PM"]');
                this.syncToMeridiemElements();
              },
              makeMeridiemHTML: function() {
                var localeText = this.localeText;
                return meridiemTmpl({
                  am: localeText.am,
                  pm: localeText.pm,
                  radioId: this.id,
                  isSpinbox: this.inputType === "spinbox"
                });
              },
              renderTimeInputs: function() {
                var hour = this.hour;
                var showMeridiem = this.showMeridiem;
                var hourElement = this.element.querySelector(SELECTOR_HOUR_ELEMENT);
                var minuteElement = this.element.querySelector(SELECTOR_MINUTE_ELEMENT);
                var BoxComponent = this.inputType.toLowerCase() === "selectbox" ? Selectbox : Spinbox;
                var formatExplode = this.format.split(":");
                var hourItems = this.getHourItems();
                if (showMeridiem) {
                  hour = util.getMeridiemHour(hour);
                }
                this.hourInput = new BoxComponent(hourElement, {
                  initialValue: hour,
                  items: hourItems,
                  format: formatExplode[0],
                  disabledItems: this.makeDisabledStatItems(hourItems)
                });
                this.minuteInput = new BoxComponent(minuteElement, {
                  initialValue: this.minute,
                  items: this.getMinuteItems(),
                  format: formatExplode[1]
                });
              },
              makeDisabledStatItems: function(hourItems) {
                var result = [];
                var disabledHours = this.disabledHours.slice();
                if (this.showMeridiem) {
                  disabledHours = this.meridiemableTime(disabledHours);
                }
                forEachArray(hourItems, function(hour) {
                  result.push(inArray(hour, disabledHours) >= 0);
                });
                return result;
              },
              meridiemableTime: function(disabledHours) {
                var diffHour = 0;
                var startHour = 0;
                var endHour = 11;
                var result = [];
                if (this.hour >= 12) {
                  diffHour = 12;
                  startHour = 12;
                  endHour = 23;
                }
                forEachArray(disabledHours, function(hour) {
                  if (hour >= startHour && hour <= endHour) {
                    result.push(hour - diffHour === 0 ? 12 : hour - diffHour);
                  }
                });
                return result;
              },
              getValidTimeFormat: function(format) {
                if (!format.match(/^[h]{1,2}:[m]{1,2}$/i)) {
                  return "h:m";
                }
                return format.toLowerCase();
              },
              syncToMeridiemElements: function() {
                var selectedEl = this.hour >= 12 ? this.pmEl : this.amEl;
                var notSelectedEl = selectedEl === this.pmEl ? this.amEl : this.pmEl;
                selectedEl.setAttribute("selected", true);
                selectedEl.setAttribute("checked", true);
                addClass(selectedEl, CLASS_NAME_CHECKED);
                notSelectedEl.removeAttribute("selected");
                notSelectedEl.removeAttribute("checked");
                removeClass(notSelectedEl, CLASS_NAME_CHECKED);
              },
              syncToInputs: function() {
                var hour = this.hour;
                var minute = this.minute;
                if (this.showMeridiem) {
                  hour = util.getMeridiemHour(hour);
                }
                this.hourInput.setValue(hour);
                this.minuteInput.setValue(minute);
              },
              onChangeMeridiem: function(ev) {
                var hour = this.hour;
                var target = util.getTarget(ev);
                if (target.value && closest(target, SELECTOR_MERIDIEM_ELEMENT)) {
                  hour = this.to24Hour(target.value === "PM", hour);
                  this.setTime(hour, this.minute);
                  this.setDisabledHours();
                  this.setDisabledMinutes(hour);
                }
              },
              onChangeTimeInput: function() {
                var hour = this.hourInput.getValue();
                var minute = this.minuteInput.getValue();
                var isPM = this.hour >= 12;
                if (this.showMeridiem) {
                  hour = this.to24Hour(isPM, hour);
                }
                this.setTime(hour, minute);
                this.setDisabledMinutes(hour);
              },
              to24Hour: function(isPM, hour) {
                hour %= 12;
                if (isPM) {
                  hour += 12;
                }
                return hour;
              },
              setDisabledHours: function() {
                var hourItems = this.getHourItems();
                var disabledItems = this.makeDisabledStatItems(hourItems);
                this.hourInput.setDisabledItems(disabledItems);
              },
              setDisabledMinutes: function(hour) {
                var disabledItems;
                disabledItems = this.disabledMinutes[hour] || [];
                this.minuteInput.setDisabledItems(disabledItems);
              },
              getHourItems: function() {
                var step = this.hourStep;
                return this.showMeridiem ? util.getRangeArr(1, 12, step) : util.getRangeArr(0, 23, step);
              },
              getMinuteItems: function() {
                return util.getRangeArr(0, 59, this.minuteStep);
              },
              validItems: function(hour, minute) {
                if (!isNumber(hour) || !isNumber(minute)) {
                  return false;
                }
                if (this.showMeridiem) {
                  hour = util.getMeridiemHour(hour);
                }
                return inArray(hour, this.getHourItems()) > -1 && inArray(minute, this.getMinuteItems()) > -1;
              },
              setHourStep: function(step) {
                this.hourStep = step;
                this.hourInput.fire("changeItems", this.getHourItems());
              },
              getHourStep: function() {
                return this.hourStep;
              },
              setMinuteStep: function(step) {
                this.minuteStep = step;
                this.minuteInput.fire("changeItems", this.getMinuteItems());
              },
              getMinuteStep: function() {
                return this.minuteStep;
              },
              show: function() {
                removeClass(this.element, CLASS_NAME_HIDDEN);
              },
              hide: function() {
                addClass(this.element, CLASS_NAME_HIDDEN);
              },
              setHour: function(hour) {
                return this.setTime(hour, this.minute);
              },
              setMinute: function(minute) {
                return this.setTime(this.hour, minute);
              },
              setTime: function(hour, minute) {
                if (!this.validItems(hour, minute)) {
                  return;
                }
                this.hour = hour;
                this.minute = minute;
                this.syncToInputs();
                if (this.showMeridiem) {
                  this.syncToMeridiemElements();
                }
                this.fire("change", {
                  hour: this.hour,
                  minute: this.minute
                });
              },
              setRange: function(begin, end) {
                var beginHour = begin.hour;
                var beginMin = begin.minute;
                var endHour, endMin;
                if (!this.isValidRange(begin, end)) {
                  return;
                }
                if (end) {
                  endHour = end.hour;
                  endMin = end.minute;
                }
                this.setRangeHour(beginHour, endHour);
                this.setRangeMinute(beginHour, beginMin, endHour, endMin);
                this.applyRange(beginHour, beginMin, endHour);
              },
              setRangeHour: function(beginHour, endHour) {
                var disabledHours = util.getRangeArr(START_NUMBER_OF_TIME, beginHour - 1);
                if (endHour) {
                  disabledHours = disabledHours.concat(util.getRangeArr(endHour + 1, END_NUMBER_OF_HOUR));
                }
                this.disabledHours = disabledHours.slice();
              },
              setRangeMinute: function(beginHour, beginMin, endHour, endMin) {
                var disabledMinRanges = [];
                if (!beginHour && !beginMin) {
                  return;
                }
                disabledMinRanges.push({
                  begin: START_NUMBER_OF_TIME,
                  end: beginMin
                });
                if (endHour && endMin) {
                  disabledMinRanges.push({
                    begin: endMin,
                    end: END_NUMBER_OF_MINUTE
                  });
                  if (beginHour === endHour) {
                    this.disabledMinutes[beginHour] = util.getDisabledMinuteArr(disabledMinRanges, this.minuteStep).slice();
                    return;
                  }
                  this.disabledMinutes[endHour] = util.getDisabledMinuteArr([disabledMinRanges[1]], this.minuteStep).slice();
                }
                this.disabledMinutes[beginHour] = util.getDisabledMinuteArr([disabledMinRanges[0]], this.minuteStep).slice();
              },
              applyRange: function(beginHour, beginMin, endHour) {
                var targetHour = beginHour;
                var targetMinute = Math.ceil(beginMin / this.minuteStep) * this.minuteStep;
                if (this.isLaterThanSetTime(beginHour, beginMin)) {
                  if (this.hourStep !== 1 && beginHour % this.hourStep !== 1) {
                    targetHour = beginHour + beginHour % this.hourStep + 1;
                    targetMinute = 0;
                  }
                  this.setTime(targetHour, targetMinute);
                }
                this.setDisabledHours();
                if (this.showMeridiem) {
                  this.syncToMeridiemElements();
                  util.setDisabled(this.amEl, beginHour >= END_NUMBER_OF_HOUR_WITH_MERIDIEM);
                  util.setDisabled(this.pmEl, endHour < END_NUMBER_OF_HOUR_WITH_MERIDIEM);
                }
              },
              resetMinuteRange: function() {
                var i;
                this.disabledMinutes = {};
                for (i = 0; i <= END_NUMBER_OF_HOUR; i += 1) {
                  this.setDisabledMinutes(this.hour);
                }
              },
              isValidRange: function(begin, end) {
                var beginHour = begin.hour;
                var beginMin = begin.minute;
                var endHour, endMin;
                if (!this.isValidTime(beginHour, beginMin)) {
                  return false;
                }
                if (!end) {
                  return true;
                }
                endHour = end.hour;
                endMin = end.minute;
                return this.isValidTime(endHour, endMin) && this.compareTimes(begin, end) > 0;
              },
              isValidTime: function(hour, minute) {
                return hour >= START_NUMBER_OF_TIME && hour <= END_NUMBER_OF_HOUR && minute >= START_NUMBER_OF_TIME && minute <= END_NUMBER_OF_MINUTE;
              },
              isLaterThanSetTime: function(hour, minute) {
                return hour > this.hour || hour === this.hour && minute > this.minute;
              },
              compareTimes: function(begin, end) {
                var first = new Date(0);
                var second = new Date(0);
                first.setHours(begin.hour, begin.minute);
                second.setHours(end.hour, end.minute);
                return second.getTime() - first.getTime();
              },
              getHour: function() {
                return this.hour;
              },
              getMinute: function() {
                return this.minute;
              },
              changeLanguage: function(language) {
                this.localeText = localeTexts[language];
                this.render();
              },
              destroy: function() {
                this.removeEvents();
                removeElement(this.element);
                this.container = this.showMeridiem = this.hourInput = this.minuteInput = this.hour = this.minute = this.inputType = this.element = this.meridiemElement = this.amEl = this.pmEl = null;
              }
            });
            CustomEvents.mixin(TimePicker);
            module3.exports = TimePicker;
          },
          function(module3, exports3, __webpack_require__) {
            var isUndefined = __webpack_require__(5);
            var isNull = __webpack_require__(24);
            function isExisty(param) {
              return !isUndefined(param) && !isNull(param);
            }
            module3.exports = isExisty;
          },
          function(module3, exports3, __webpack_require__) {
            function isNull(obj) {
              return obj === null;
            }
            module3.exports = isNull;
          },
          function(module3, exports3, __webpack_require__) {
            function isObject(obj) {
              return obj === Object(obj);
            }
            module3.exports = isObject;
          },
          function(module3, exports3, __webpack_require__) {
            function isFunction(obj) {
              return obj instanceof Function;
            }
            module3.exports = isFunction;
          },
          function(module3, exports3, __webpack_require__) {
            var createObject = __webpack_require__(28);
            function inherit(subType, superType) {
              var prototype = createObject(superType.prototype);
              prototype.constructor = subType;
              subType.prototype = prototype;
            }
            module3.exports = inherit;
          },
          function(module3, exports3, __webpack_require__) {
            function createObject(obj) {
              function F() {
              }
              F.prototype = obj;
              return new F();
            }
            module3.exports = createObject;
          },
          function(module3, exports3, __webpack_require__) {
            var forEach = __webpack_require__(4);
            var inArray = __webpack_require__(0);
            var getClass = __webpack_require__(18);
            var setClassName = __webpack_require__(19);
            function addClass(element) {
              var cssClass = Array.prototype.slice.call(arguments, 1);
              var classList = element.classList;
              var newClass = [];
              var origin;
              if (classList) {
                forEach(cssClass, function(name) {
                  element.classList.add(name);
                });
                return;
              }
              origin = getClass(element);
              if (origin) {
                cssClass = [].concat(origin.split(/\s+/), cssClass);
              }
              forEach(cssClass, function(cls) {
                if (inArray(cls, newClass) < 0) {
                  newClass.push(cls);
                }
              });
              setClassName(element, newClass);
            }
            module3.exports = addClass;
          },
          function(module3, exports3, __webpack_require__) {
            var inArray = __webpack_require__(0);
            var toArray = __webpack_require__(31);
            var elProto = Element.prototype;
            var matchSelector = elProto.matches || elProto.webkitMatchesSelector || elProto.mozMatchesSelector || elProto.msMatchesSelector || function(selector) {
              var doc = this.document || this.ownerDocument;
              return inArray(this, toArray(doc.querySelectorAll(selector))) > -1;
            };
            function matches(element, selector) {
              return matchSelector.call(element, selector);
            }
            module3.exports = matches;
          },
          function(module3, exports3, __webpack_require__) {
            var forEachArray = __webpack_require__(1);
            function toArray(arrayLike) {
              var arr;
              try {
                arr = Array.prototype.slice.call(arrayLike);
              } catch (e) {
                arr = [];
                forEachArray(arrayLike, function(value) {
                  arr.push(value);
                });
              }
              return arr;
            }
            module3.exports = toArray;
          },
          function(module3, exports3, __webpack_require__) {
            var forEachArray = __webpack_require__(1);
            var inArray = __webpack_require__(0);
            var getClass = __webpack_require__(18);
            var setClassName = __webpack_require__(19);
            function removeClass(element) {
              var cssClass = Array.prototype.slice.call(arguments, 1);
              var classList = element.classList;
              var origin, newClass;
              if (classList) {
                forEachArray(cssClass, function(name) {
                  classList.remove(name);
                });
                return;
              }
              origin = getClass(element).split(/\s+/);
              newClass = [];
              forEachArray(origin, function(name) {
                if (inArray(name, cssClass) < 0) {
                  newClass.push(name);
                }
              });
              setClassName(element, newClass);
            }
            module3.exports = removeClass;
          },
          function(module3, exports3, __webpack_require__) {
            function isNumber(obj) {
              return typeof obj === "number" || obj instanceof Number;
            }
            module3.exports = isNumber;
          },
          function(module3, exports3, __webpack_require__) {
            var inArray = __webpack_require__(0);
            var forEachArray = __webpack_require__(1);
            var CustomEvents = __webpack_require__(8);
            var defineClass = __webpack_require__(9);
            var extend = __webpack_require__(2);
            var on = __webpack_require__(10);
            var off = __webpack_require__(11);
            var closest = __webpack_require__(12);
            var removeElement = __webpack_require__(13);
            var isHTMLNode = __webpack_require__(14);
            var util = __webpack_require__(15);
            var tmpl = __webpack_require__(37);
            var SELECTOR_UP_BUTTON = ".tui-timepicker-btn-up";
            var SELECTOR_DOWN_BUTTON = ".tui-timepicker-btn-down";
            var Spinbox = defineClass({
              init: function(container, options) {
                options = extend({
                  items: []
                }, options);
                this._container = isHTMLNode(container) ? container : document.querySelector(container);
                this._element = null;
                this._inputElement = null;
                this._items = options.items;
                this._disabledItems = options.disabledItems || [];
                this._selectedIndex = Math.max(0, inArray(options.initialValue, this._items));
                this._format = options.format;
                this._render();
                this._setEvents();
              },
              _render: function() {
                var index = inArray(this.getValue(), this._items);
                var context;
                if (this._disabledItems[index]) {
                  this._selectedIndex = this._findEnabledIndex();
                }
                context = {
                  maxLength: this._getMaxLength(),
                  initialValue: this.getValue(),
                  format: this._format,
                  formatTime: util.formatTime
                };
                this._container.innerHTML = tmpl(context);
                this._element = this._container.firstChild;
                this._inputElement = this._element.querySelector("input");
              },
              _findEnabledIndex: function() {
                return inArray(false, this._disabledItems);
              },
              _getMaxLength: function() {
                var lengths = [];
                forEachArray(this._items, function(item) {
                  lengths.push(String(item).length);
                });
                return Math.max.apply(null, lengths);
              },
              setDisabledItems: function(disabledItems) {
                this._disabledItems = disabledItems;
                this._changeToInputValue();
              },
              _setEvents: function() {
                on(this._container, "click", this._onClickHandler, this);
                on(this._inputElement, "keydown", this._onKeydownInputElement, this);
                on(this._inputElement, "change", this._onChangeHandler, this);
                this.on("changeItems", function(items) {
                  this._items = items;
                  this._render();
                }, this);
              },
              _removeEvents: function() {
                this.off();
                off(this._container, "click", this._onClickHandler, this);
                off(this._inputElement, "keydown", this._onKeydownInputElement, this);
                off(this._inputElement, "change", this._onChangeHandler, this);
              },
              _onClickHandler: function(ev) {
                var target = util.getTarget(ev);
                if (closest(target, SELECTOR_DOWN_BUTTON)) {
                  this._setNextValue(true);
                } else if (closest(target, SELECTOR_UP_BUTTON)) {
                  this._setNextValue(false);
                }
              },
              _setNextValue: function(isDown) {
                var index = this._selectedIndex;
                if (isDown) {
                  index = index ? index - 1 : this._items.length - 1;
                } else {
                  index = index < this._items.length - 1 ? index + 1 : 0;
                }
                if (this._disabledItems[index]) {
                  this._selectedIndex = index;
                  this._setNextValue(isDown);
                } else {
                  this.setValue(this._items[index]);
                }
              },
              _onKeydownInputElement: function(ev) {
                var keyCode = ev.which || ev.keyCode;
                var isDown;
                if (closest(util.getTarget(ev), "input")) {
                  switch (keyCode) {
                    case 38:
                      isDown = false;
                      break;
                    case 40:
                      isDown = true;
                      break;
                    default:
                      return;
                  }
                  this._setNextValue(isDown);
                }
              },
              _onChangeHandler: function(ev) {
                if (closest(util.getTarget(ev), "input")) {
                  this._changeToInputValue();
                }
              },
              _changeToInputValue: function() {
                var newValue = Number(this._inputElement.value);
                var newIndex = inArray(newValue, this._items);
                if (this._disabledItems[newIndex]) {
                  newIndex = this._findEnabledIndex();
                  newValue = this._items[newIndex];
                } else if (newIndex === this._selectedIndex) {
                  return;
                }
                if (newIndex === -1) {
                  this.setValue(this._items[this._selectedIndex]);
                } else {
                  this._selectedIndex = newIndex;
                  this.fire("change", {
                    value: newValue
                  });
                }
              },
              setValue: function(value) {
                this._inputElement.value = util.formatTime(value, this._format);
                this._changeToInputValue();
              },
              getValue: function() {
                return this._items[this._selectedIndex];
              },
              destroy: function() {
                this._removeEvents();
                removeElement(this._element);
                this._container = this._element = this._inputElement = this._items = this._selectedIndex = null;
              }
            });
            CustomEvents.mixin(Spinbox);
            module3.exports = Spinbox;
          },
          function(module3, exports3, __webpack_require__) {
            var isUndefined = __webpack_require__(5);
            var imagePing = __webpack_require__(36);
            var ms7days = 7 * 24 * 60 * 60 * 1e3;
            function isExpired(date) {
              var now = new Date().getTime();
              return now - date > ms7days;
            }
            function sendHostname(appName, trackingId) {
              var url = "https://www.google-analytics.com/collect";
              var hostname = location.hostname;
              var hitType = "event";
              var eventCategory = "use";
              var applicationKeyForStorage = "TOAST UI " + appName + " for " + hostname + ": Statistics";
              var date = window.localStorage.getItem(applicationKeyForStorage);
              if (!isUndefined(window.tui) && window.tui.usageStatistics === false) {
                return;
              }
              if (date && !isExpired(date)) {
                return;
              }
              window.localStorage.setItem(applicationKeyForStorage, new Date().getTime());
              setTimeout(function() {
                if (document.readyState === "interactive" || document.readyState === "complete") {
                  imagePing(url, {
                    v: 1,
                    t: hitType,
                    tid: trackingId,
                    cid: hostname,
                    dp: hostname,
                    dh: appName,
                    el: appName,
                    ec: eventCategory
                  });
                }
              }, 1e3);
            }
            module3.exports = sendHostname;
          },
          function(module3, exports3, __webpack_require__) {
            var forEachOwnProperties = __webpack_require__(16);
            function imagePing(url, trackingInfo) {
              var trackingElement = document.createElement("img");
              var queryString = "";
              forEachOwnProperties(trackingInfo, function(value, key) {
                queryString += "&" + key + "=" + value;
              });
              queryString = queryString.substring(1);
              trackingElement.src = url + "?" + queryString;
              trackingElement.style.display = "none";
              document.body.appendChild(trackingElement);
              document.body.removeChild(trackingElement);
              return trackingElement;
            }
            module3.exports = imagePing;
          },
          function(module3, exports3, __webpack_require__) {
            var template = __webpack_require__(7);
            module3.exports = function(context) {
              var source = '<div class="tui-timepicker-btn-area">  <input type="text" class="tui-timepicker-spinbox-input"        maxlength="{{maxLength}}"        size="{{maxLength}}"        value="{{formatTime initialValue format}}"        aria-label="TimePicker spinbox value">  <button type="button" class="tui-timepicker-btn tui-timepicker-btn-up">    <span class="tui-ico-t-btn">Increase</span>  </button>  <button type="button" class="tui-timepicker-btn tui-timepicker-btn-down">    <span class="tui-ico-t-btn">Decrease</span>  </button></div>';
              return template(source, context);
            };
          },
          function(module3, exports3, __webpack_require__) {
            var inArray = __webpack_require__(0);
            var CustomEvents = __webpack_require__(8);
            var defineClass = __webpack_require__(9);
            var extend = __webpack_require__(2);
            var on = __webpack_require__(10);
            var off = __webpack_require__(11);
            var closest = __webpack_require__(12);
            var removeElement = __webpack_require__(13);
            var isHTMLNode = __webpack_require__(14);
            var util = __webpack_require__(15);
            var tmpl = __webpack_require__(39);
            var Selectbox = defineClass({
              init: function(container, options) {
                options = extend({
                  items: []
                }, options);
                this._container = isHTMLNode(container) ? container : document.querySelector(container);
                this._items = options.items || [];
                this._disabledItems = options.disabledItems || [];
                this._selectedIndex = Math.max(0, inArray(options.initialValue, this._items));
                this._format = options.format;
                this._element = null;
                this._render();
                this._setEvents();
              },
              _render: function() {
                var context;
                this._changeEnabledIndex();
                context = {
                  items: this._items,
                  format: this._format,
                  initialValue: this.getValue(),
                  disabledItems: this._disabledItems,
                  formatTime: util.formatTime,
                  equals: function(a, b) {
                    return a === b;
                  }
                };
                if (this._element) {
                  this._removeElement();
                }
                this._container.innerHTML = tmpl(context);
                this._element = this._container.firstChild;
                on(this._element, "change", this._onChangeHandler, this);
              },
              _changeEnabledIndex: function() {
                var index = inArray(this.getValue(), this._items);
                if (this._disabledItems[index]) {
                  this._selectedIndex = inArray(false, this._disabledItems);
                }
              },
              setDisabledItems: function(disabledItems) {
                this._disabledItems = disabledItems;
                this._render();
              },
              _setEvents: function() {
                this.on("changeItems", function(items) {
                  this._items = items;
                  this._render();
                }, this);
              },
              _removeEvents: function() {
                this.off();
              },
              _removeElement: function() {
                off(this._element, "change", this._onChangeHandler, this);
                removeElement(this._element);
              },
              _onChangeHandler: function(ev) {
                if (closest(util.getTarget(ev), "select")) {
                  this._setNewValue();
                }
              },
              _setNewValue: function() {
                var newValue = Number(this._element.value);
                this._selectedIndex = inArray(newValue, this._items);
                this.fire("change", {
                  value: newValue
                });
              },
              getValue: function() {
                return this._items[this._selectedIndex];
              },
              setValue: function(value) {
                var newIndex = inArray(value, this._items);
                if (newIndex > -1 && newIndex !== this._selectedIndex) {
                  this._selectedIndex = newIndex;
                  this._element.value = value;
                  this._setNewValue();
                }
              },
              destroy: function() {
                this._removeEvents();
                this._removeElement();
                this._container = this._items = this._selectedIndex = this._element = null;
              }
            });
            CustomEvents.mixin(Selectbox);
            module3.exports = Selectbox;
          },
          function(module3, exports3, __webpack_require__) {
            var template = __webpack_require__(7);
            module3.exports = function(context) {
              var source = '<select class="tui-timepicker-select" aria-label="Time">  {{each items}}    {{if equals initialValue @this}}      <option value="{{@this}}" selected {{if disabledItems[@index]}}disabled{{/if}}>{{formatTime @this format}}</option>    {{else}}      <option value="{{@this}}" {{if disabledItems[@index]}}disabled{{/if}}>{{formatTime @this format}}</option>    {{/if}}  {{/each}}</select>';
              return template(source, context);
            };
          },
          function(module3, exports3, __webpack_require__) {
            module3.exports = {
              en: {
                am: "AM",
                pm: "PM"
              },
              ko: {
                am: "\uC624\uC804",
                pm: "\uC624\uD6C4"
              }
            };
          },
          function(module3, exports3, __webpack_require__) {
            var template = __webpack_require__(7);
            module3.exports = function(context) {
              var source = '<div class="tui-timepicker">  <div class="tui-timepicker-body">    <div class="tui-timepicker-row">      {{if isSpinbox}}        <div class="tui-timepicker-column tui-timepicker-spinbox tui-timepicker-hour"></div>        <span class="tui-timepicker-column tui-timepicker-colon"><span class="tui-ico-colon">:</span></span>        <div class="tui-timepicker-column tui-timepicker-spinbox tui-timepicker-minute"></div>        {{if showMeridiem}}          {{meridiemElement}}        {{/if}}      {{else}}        <div class="tui-timepicker-column tui-timepicker-selectbox tui-timepicker-hour"></div>        <span class="tui-timepicker-column tui-timepicker-colon"><span class="tui-ico-colon">:</span></span>        <div class="tui-timepicker-column tui-timepicker-selectbox tui-timepicker-minute"></div>        {{if showMeridiem}}          {{meridiemElement}}        {{/if}}      {{/if}}    </div>  </div></div>';
              return template(source, context);
            };
          },
          function(module3, exports3, __webpack_require__) {
            var template = __webpack_require__(7);
            module3.exports = function(context) {
              var source = '{{if isSpinbox}}  <div class="tui-timepicker-column tui-timepicker-checkbox tui-timepicker-meridiem">    <div class="tui-timepicker-check-area">      <ul class="tui-timepicker-check-lst">        <li class="tui-timepicker-check">          <div class="tui-timepicker-radio">            <input type="radio"                  name="optionsRadios-{{radioId}}"                  value="AM"                  class="tui-timepicker-radio-am"                  id="tui-timepicker-radio-am-{{radioId}}">            <label for="tui-timepicker-radio-am-{{radioId}}" class="tui-timepicker-radio-label">              <span class="tui-timepicker-input-radio"></span>{{am}}            </label>          </div>        </li>        <li class="tui-timepicker-check">          <div class="tui-timepicker-radio">            <input type="radio"                  name="optionsRadios-{{radioId}}"                  value="PM"                  class="tui-timepicker-radio-pm"                  id="tui-timepicker-radio-pm-{{radioId}}">            <label for="tui-timepicker-radio-pm-{{radioId}}" class="tui-timepicker-radio-label">              <span class="tui-timepicker-input-radio"></span>{{pm}}            </label>          </div>        </li>      </ul>    </div>  </div>{{else}}  <div class="tui-timepicker-column tui-timepicker-selectbox tui-is-add-picker tui-timepicker-meridiem">    <select class="tui-timepicker-select" aria-label="AM/PM">      <option value="AM">{{am}}</option>      <option value="PM">{{pm}}</option>    </select>  </div>{{/if}}';
              return template(source, context);
            };
          }
        ]);
      });
    })(tuiTimePicker);
    return tuiTimePicker.exports;
  }
  /*!
   * TOAST UI Date Picker
   * @version 4.3.1
   * @author NHN. FE Development Lab <dl_javascript@nhn.com>
   * @license MIT
   */
  var hasRequiredTuiDatePicker;
  function requireTuiDatePicker() {
    if (hasRequiredTuiDatePicker)
      return tuiDatePicker.exports;
    hasRequiredTuiDatePicker = 1;
    (function(module2, exports2) {
      (function webpackUniversalModuleDefinition(root, factory) {
        module2.exports = factory(requireTuiTimePicker());
      })(window, function(__WEBPACK_EXTERNAL_MODULE__43__) {
        return function(modules) {
          var installedModules = {};
          function __webpack_require__(moduleId) {
            if (installedModules[moduleId]) {
              return installedModules[moduleId].exports;
            }
            var module3 = installedModules[moduleId] = {
              i: moduleId,
              l: false,
              exports: {}
            };
            modules[moduleId].call(module3.exports, module3, module3.exports, __webpack_require__);
            module3.l = true;
            return module3.exports;
          }
          __webpack_require__.m = modules;
          __webpack_require__.c = installedModules;
          __webpack_require__.d = function(exports3, name, getter) {
            if (!__webpack_require__.o(exports3, name)) {
              Object.defineProperty(exports3, name, { enumerable: true, get: getter });
            }
          };
          __webpack_require__.r = function(exports3) {
            if (typeof Symbol !== "undefined" && Symbol.toStringTag) {
              Object.defineProperty(exports3, Symbol.toStringTag, { value: "Module" });
            }
            Object.defineProperty(exports3, "__esModule", { value: true });
          };
          __webpack_require__.t = function(value, mode) {
            if (mode & 1)
              value = __webpack_require__(value);
            if (mode & 8)
              return value;
            if (mode & 4 && typeof value === "object" && value && value.__esModule)
              return value;
            var ns = /* @__PURE__ */ Object.create(null);
            __webpack_require__.r(ns);
            Object.defineProperty(ns, "default", { enumerable: true, value });
            if (mode & 2 && typeof value != "string")
              for (var key in value)
                __webpack_require__.d(ns, key, function(key2) {
                  return value[key2];
                }.bind(null, key));
            return ns;
          };
          __webpack_require__.n = function(module3) {
            var getter = module3 && module3.__esModule ? function getDefault() {
              return module3["default"];
            } : function getModuleExports() {
              return module3;
            };
            __webpack_require__.d(getter, "a", getter);
            return getter;
          };
          __webpack_require__.o = function(object, property) {
            return Object.prototype.hasOwnProperty.call(object, property);
          };
          __webpack_require__.p = "dist";
          return __webpack_require__(__webpack_require__.s = 34);
        }([
          function(module3, exports3, __webpack_require__) {
            var inherit = __webpack_require__(35);
            var extend = __webpack_require__(7);
            function defineClass(parent, props) {
              var obj;
              if (!props) {
                props = parent;
                parent = null;
              }
              obj = props.init || function() {
              };
              if (parent) {
                inherit(obj, parent);
              }
              if (props.hasOwnProperty("static")) {
                extend(obj, props["static"]);
                delete props["static"];
              }
              extend(obj.prototype, props);
              return obj;
            }
            module3.exports = defineClass;
          },
          function(module3, exports3, __webpack_require__) {
            module3.exports = {
              TYPE_DATE: "date",
              TYPE_MONTH: "month",
              TYPE_YEAR: "year",
              TYPE_HOUR: "hour",
              TYPE_MINUTE: "minute",
              TYPE_MERIDIEM: "meridiem",
              MIN_DATE: new Date(1900, 0, 1),
              MAX_DATE: new Date(2999, 11, 31),
              DEFAULT_LANGUAGE_TYPE: "en",
              CLASS_NAME_SELECTED: "tui-is-selected",
              CLASS_NAME_PREV_MONTH_BTN: "tui-calendar-btn-prev-month",
              CLASS_NAME_PREV_YEAR_BTN: "tui-calendar-btn-prev-year",
              CLASS_NAME_NEXT_YEAR_BTN: "tui-calendar-btn-next-year",
              CLASS_NAME_NEXT_MONTH_BTN: "tui-calendar-btn-next-month",
              CLASS_NAME_TITLE_TODAY: "tui-calendar-title-today",
              DEFAULT_WEEK_START_DAY: "Sun",
              WEEK_START_DAY_MAP: {
                sun: 0,
                mon: 1,
                tue: 2,
                wed: 3,
                thu: 4,
                fri: 5,
                sat: 6
              }
            };
          },
          function(module3, exports3, __webpack_require__) {
            function forEachArray(arr, iteratee, context) {
              var index = 0;
              var len = arr.length;
              context = context || null;
              for (; index < len; index += 1) {
                if (iteratee.call(context, arr[index], index, arr) === false) {
                  break;
                }
              }
            }
            module3.exports = forEachArray;
          },
          function(module3, exports3, __webpack_require__) {
            var isArray = __webpack_require__(6);
            function inArray(searchElement, array, startIndex) {
              var i;
              var length;
              startIndex = startIndex || 0;
              if (!isArray(array)) {
                return -1;
              }
              if (Array.prototype.indexOf) {
                return Array.prototype.indexOf.call(array, searchElement, startIndex);
              }
              length = array.length;
              for (i = startIndex; startIndex >= 0 && i < length; i += 1) {
                if (array[i] === searchElement) {
                  return i;
                }
              }
              return -1;
            }
            module3.exports = inArray;
          },
          function(module3, exports3, __webpack_require__) {
            var forEachArray = __webpack_require__(2);
            var isHTMLNode = __webpack_require__(46);
            var sendHostname = __webpack_require__(47);
            var currentId = 0;
            var utils = {
              getTarget: function(ev) {
                return ev.target || ev.srcElement;
              },
              getElement: function(param) {
                return isHTMLNode(param) ? param : document.querySelector(param);
              },
              getSelector: function(elem) {
                var selector = "";
                if (elem.id) {
                  selector = "#" + elem.id;
                } else if (elem.className) {
                  selector = "." + elem.className.split(" ")[0];
                }
                return selector;
              },
              generateId: function() {
                currentId += 1;
                return currentId;
              },
              filter: function(arr, iteratee) {
                var result = [];
                forEachArray(arr, function(item) {
                  if (iteratee(item)) {
                    result.push(item);
                  }
                });
                return result;
              },
              sendHostName: function() {
                sendHostname("date-picker", "UA-129987462-1");
              }
            };
            module3.exports = utils;
          },
          function(module3, exports3, __webpack_require__) {
            var isDate = __webpack_require__(28);
            var isNumber = __webpack_require__(15);
            var constants = __webpack_require__(1);
            var TYPE_DATE = constants.TYPE_DATE;
            var TYPE_MONTH = constants.TYPE_MONTH;
            var TYPE_YEAR = constants.TYPE_YEAR;
            var utils = {
              getWeeksCount: function(year, month) {
                var firstDay = utils.getFirstDay(year, month), lastDate = utils.getLastDayInMonth(year, month);
                return Math.ceil((firstDay + lastDate) / 7);
              },
              isValidDate: function(date) {
                return isDate(date) && !isNaN(date.getTime());
              },
              getFirstDay: function(year, month) {
                return new Date(year, month - 1, 1).getDay();
              },
              getFirstDayTimestamp: function(year, month) {
                return new Date(year, month, 1).getTime();
              },
              getLastDayInMonth: function(year, month) {
                return new Date(year, month, 0).getDate();
              },
              prependLeadingZero: function(number) {
                var prefix = "";
                if (number < 10) {
                  prefix = "0";
                }
                return prefix + number;
              },
              getMeridiemHour: function(hour) {
                hour %= 12;
                if (hour === 0) {
                  hour = 12;
                }
                return hour;
              },
              getSafeNumber: function(any, defaultNumber) {
                if (isNaN(defaultNumber) || !isNumber(defaultNumber)) {
                  throw Error("The defaultNumber must be a valid number.");
                }
                if (isNaN(any)) {
                  return defaultNumber;
                }
                return Number(any);
              },
              getDateOfWeek: function(year, month, weekNumber, dayNumber) {
                var firstDayOfMonth = new Date(year, month - 1).getDay();
                var dateOffset = firstDayOfMonth - dayNumber - 1;
                return new Date(year, month - 1, weekNumber * 7 - dateOffset);
              },
              getRangeArr: function(start, end) {
                var arr = [];
                var i;
                if (start > end) {
                  for (i = end; i >= start; i -= 1) {
                    arr.push(i);
                  }
                } else {
                  for (i = start; i <= end; i += 1) {
                    arr.push(i);
                  }
                }
                return arr;
              },
              cloneWithStartOf: function(date, type) {
                type = type || TYPE_DATE;
                date = new Date(date);
                date.setHours(0, 0, 0, 0);
                switch (type) {
                  case TYPE_DATE:
                    break;
                  case TYPE_MONTH:
                    date.setDate(1);
                    break;
                  case TYPE_YEAR:
                    date.setMonth(0, 1);
                    break;
                  default:
                    throw Error("Unsupported type: " + type);
                }
                return date;
              },
              cloneWithEndOf: function(date, type) {
                type = type || TYPE_DATE;
                date = new Date(date);
                date.setHours(23, 59, 59, 999);
                switch (type) {
                  case TYPE_DATE:
                    break;
                  case TYPE_MONTH:
                    date.setMonth(date.getMonth() + 1, 0);
                    break;
                  case TYPE_YEAR:
                    date.setMonth(11, 31);
                    break;
                  default:
                    throw Error("Unsupported type: " + type);
                }
                return date;
              },
              compare: function(dateA, dateB, cmpLevel) {
                var aTimestamp, bTimestamp;
                if (!(utils.isValidDate(dateA) && utils.isValidDate(dateB))) {
                  return NaN;
                }
                if (!cmpLevel) {
                  aTimestamp = dateA.getTime();
                  bTimestamp = dateB.getTime();
                } else {
                  aTimestamp = utils.cloneWithStartOf(dateA, cmpLevel).getTime();
                  bTimestamp = utils.cloneWithStartOf(dateB, cmpLevel).getTime();
                }
                if (aTimestamp > bTimestamp) {
                  return 1;
                }
                return aTimestamp === bTimestamp ? 0 : -1;
              },
              isSame: function(dateA, dateB, cmpLevel) {
                return utils.compare(dateA, dateB, cmpLevel) === 0;
              },
              inRange: function(start, end, target, cmpLevel) {
                return utils.compare(start, target, cmpLevel) < 1 && utils.compare(end, target, cmpLevel) > -1;
              }
            };
            module3.exports = utils;
          },
          function(module3, exports3, __webpack_require__) {
            function isArray(obj) {
              return obj instanceof Array;
            }
            module3.exports = isArray;
          },
          function(module3, exports3, __webpack_require__) {
            function extend(target, objects) {
              var hasOwnProp = Object.prototype.hasOwnProperty;
              var source, prop, i, len;
              for (i = 1, len = arguments.length; i < len; i += 1) {
                source = arguments[i];
                for (prop in source) {
                  if (hasOwnProp.call(source, prop)) {
                    target[prop] = source[prop];
                  }
                }
              }
              return target;
            }
            module3.exports = extend;
          },
          function(module3, exports3, __webpack_require__) {
            var extend = __webpack_require__(7);
            var isExisty = __webpack_require__(37);
            var isString = __webpack_require__(13);
            var isObject = __webpack_require__(22);
            var isArray = __webpack_require__(6);
            var isFunction = __webpack_require__(39);
            var forEach = __webpack_require__(9);
            var R_EVENTNAME_SPLIT = /\s+/g;
            function CustomEvents() {
              this.events = null;
              this.contexts = null;
            }
            CustomEvents.mixin = function(func) {
              extend(func.prototype, CustomEvents.prototype);
            };
            CustomEvents.prototype._getHandlerItem = function(handler, context) {
              var item = { handler };
              if (context) {
                item.context = context;
              }
              return item;
            };
            CustomEvents.prototype._safeEvent = function(eventName) {
              var events = this.events;
              var byName;
              if (!events) {
                events = this.events = {};
              }
              if (eventName) {
                byName = events[eventName];
                if (!byName) {
                  byName = [];
                  events[eventName] = byName;
                }
                events = byName;
              }
              return events;
            };
            CustomEvents.prototype._safeContext = function() {
              var context = this.contexts;
              if (!context) {
                context = this.contexts = [];
              }
              return context;
            };
            CustomEvents.prototype._indexOfContext = function(ctx) {
              var context = this._safeContext();
              var index = 0;
              while (context[index]) {
                if (ctx === context[index][0]) {
                  return index;
                }
                index += 1;
              }
              return -1;
            };
            CustomEvents.prototype._memorizeContext = function(ctx) {
              var context, index;
              if (!isExisty(ctx)) {
                return;
              }
              context = this._safeContext();
              index = this._indexOfContext(ctx);
              if (index > -1) {
                context[index][1] += 1;
              } else {
                context.push([ctx, 1]);
              }
            };
            CustomEvents.prototype._forgetContext = function(ctx) {
              var context, contextIndex;
              if (!isExisty(ctx)) {
                return;
              }
              context = this._safeContext();
              contextIndex = this._indexOfContext(ctx);
              if (contextIndex > -1) {
                context[contextIndex][1] -= 1;
                if (context[contextIndex][1] <= 0) {
                  context.splice(contextIndex, 1);
                }
              }
            };
            CustomEvents.prototype._bindEvent = function(eventName, handler, context) {
              var events = this._safeEvent(eventName);
              this._memorizeContext(context);
              events.push(this._getHandlerItem(handler, context));
            };
            CustomEvents.prototype.on = function(eventName, handler, context) {
              var self2 = this;
              if (isString(eventName)) {
                eventName = eventName.split(R_EVENTNAME_SPLIT);
                forEach(eventName, function(name) {
                  self2._bindEvent(name, handler, context);
                });
              } else if (isObject(eventName)) {
                context = handler;
                forEach(eventName, function(func, name) {
                  self2.on(name, func, context);
                });
              }
            };
            CustomEvents.prototype.once = function(eventName, handler, context) {
              var self2 = this;
              if (isObject(eventName)) {
                context = handler;
                forEach(eventName, function(func, name) {
                  self2.once(name, func, context);
                });
                return;
              }
              function onceHandler() {
                handler.apply(context, arguments);
                self2.off(eventName, onceHandler, context);
              }
              this.on(eventName, onceHandler, context);
            };
            CustomEvents.prototype._spliceMatches = function(arr, predicate) {
              var i = 0;
              var len;
              if (!isArray(arr)) {
                return;
              }
              for (len = arr.length; i < len; i += 1) {
                if (predicate(arr[i]) === true) {
                  arr.splice(i, 1);
                  len -= 1;
                  i -= 1;
                }
              }
            };
            CustomEvents.prototype._matchHandler = function(handler) {
              var self2 = this;
              return function(item) {
                var needRemove = handler === item.handler;
                if (needRemove) {
                  self2._forgetContext(item.context);
                }
                return needRemove;
              };
            };
            CustomEvents.prototype._matchContext = function(context) {
              var self2 = this;
              return function(item) {
                var needRemove = context === item.context;
                if (needRemove) {
                  self2._forgetContext(item.context);
                }
                return needRemove;
              };
            };
            CustomEvents.prototype._matchHandlerAndContext = function(handler, context) {
              var self2 = this;
              return function(item) {
                var matchHandler = handler === item.handler;
                var matchContext = context === item.context;
                var needRemove = matchHandler && matchContext;
                if (needRemove) {
                  self2._forgetContext(item.context);
                }
                return needRemove;
              };
            };
            CustomEvents.prototype._offByEventName = function(eventName, handler) {
              var self2 = this;
              var andByHandler = isFunction(handler);
              var matchHandler = self2._matchHandler(handler);
              eventName = eventName.split(R_EVENTNAME_SPLIT);
              forEach(eventName, function(name) {
                var handlerItems = self2._safeEvent(name);
                if (andByHandler) {
                  self2._spliceMatches(handlerItems, matchHandler);
                } else {
                  forEach(handlerItems, function(item) {
                    self2._forgetContext(item.context);
                  });
                  self2.events[name] = [];
                }
              });
            };
            CustomEvents.prototype._offByHandler = function(handler) {
              var self2 = this;
              var matchHandler = this._matchHandler(handler);
              forEach(this._safeEvent(), function(handlerItems) {
                self2._spliceMatches(handlerItems, matchHandler);
              });
            };
            CustomEvents.prototype._offByObject = function(obj, handler) {
              var self2 = this;
              var matchFunc;
              if (this._indexOfContext(obj) < 0) {
                forEach(obj, function(func, name) {
                  self2.off(name, func);
                });
              } else if (isString(handler)) {
                matchFunc = this._matchContext(obj);
                self2._spliceMatches(this._safeEvent(handler), matchFunc);
              } else if (isFunction(handler)) {
                matchFunc = this._matchHandlerAndContext(handler, obj);
                forEach(this._safeEvent(), function(handlerItems) {
                  self2._spliceMatches(handlerItems, matchFunc);
                });
              } else {
                matchFunc = this._matchContext(obj);
                forEach(this._safeEvent(), function(handlerItems) {
                  self2._spliceMatches(handlerItems, matchFunc);
                });
              }
            };
            CustomEvents.prototype.off = function(eventName, handler) {
              if (isString(eventName)) {
                this._offByEventName(eventName, handler);
              } else if (!arguments.length) {
                this.events = {};
                this.contexts = [];
              } else if (isFunction(eventName)) {
                this._offByHandler(eventName);
              } else if (isObject(eventName)) {
                this._offByObject(eventName, handler);
              }
            };
            CustomEvents.prototype.fire = function(eventName) {
              this.invoke.apply(this, arguments);
            };
            CustomEvents.prototype.invoke = function(eventName) {
              var events, args, index, item;
              if (!this.hasListener(eventName)) {
                return true;
              }
              events = this._safeEvent(eventName);
              args = Array.prototype.slice.call(arguments, 1);
              index = 0;
              while (events[index]) {
                item = events[index];
                if (item.handler.apply(item.context, args) === false) {
                  return false;
                }
                index += 1;
              }
              return true;
            };
            CustomEvents.prototype.hasListener = function(eventName) {
              return this.getListenerLength(eventName) > 0;
            };
            CustomEvents.prototype.getListenerLength = function(eventName) {
              var events = this._safeEvent(eventName);
              return events.length;
            };
            module3.exports = CustomEvents;
          },
          function(module3, exports3, __webpack_require__) {
            var isArray = __webpack_require__(6);
            var forEachArray = __webpack_require__(2);
            var forEachOwnProperties = __webpack_require__(23);
            function forEach(obj, iteratee, context) {
              if (isArray(obj)) {
                forEachArray(obj, iteratee, context);
              } else {
                forEachOwnProperties(obj, iteratee, context);
              }
            }
            module3.exports = forEach;
          },
          function(module3, exports3, __webpack_require__) {
            module3.exports = {
              en: {
                titles: {
                  DD: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
                  D: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
                  MMM: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
                  MMMM: [
                    "January",
                    "February",
                    "March",
                    "April",
                    "May",
                    "June",
                    "July",
                    "August",
                    "September",
                    "October",
                    "November",
                    "December"
                  ]
                },
                titleFormat: "MMMM yyyy",
                todayFormat: "To\\d\\ay: DD, MMMM d, yyyy",
                time: "Time",
                date: "Date"
              },
              ko: {
                titles: {
                  DD: ["\uC77C\uC694\uC77C", "\uC6D4\uC694\uC77C", "\uD654\uC694\uC77C", "\uC218\uC694\uC77C", "\uBAA9\uC694\uC77C", "\uAE08\uC694\uC77C", "\uD1A0\uC694\uC77C"],
                  D: ["\uC77C", "\uC6D4", "\uD654", "\uC218", "\uBAA9", "\uAE08", "\uD1A0"],
                  MMM: ["1\uC6D4", "2\uC6D4", "3\uC6D4", "4\uC6D4", "5\uC6D4", "6\uC6D4", "7\uC6D4", "8\uC6D4", "9\uC6D4", "10\uC6D4", "11\uC6D4", "12\uC6D4"],
                  MMMM: ["1\uC6D4", "2\uC6D4", "3\uC6D4", "4\uC6D4", "5\uC6D4", "6\uC6D4", "7\uC6D4", "8\uC6D4", "9\uC6D4", "10\uC6D4", "11\uC6D4", "12\uC6D4"]
                },
                titleFormat: "yyyy.MM",
                todayFormat: "\uC624\uB298: yyyy.MM.dd (D)",
                date: "\uB0A0\uC9DC",
                time: "\uC2DC\uAC04"
              }
            };
          },
          function(module3, exports3, __webpack_require__) {
            var inArray = __webpack_require__(3);
            var forEach = __webpack_require__(9);
            var isArray = __webpack_require__(6);
            var isString = __webpack_require__(13);
            var extend = __webpack_require__(7);
            var EXPRESSION_REGEXP = /{{\s?|\s?}}/g;
            var BRACKET_NOTATION_REGEXP = /^[a-zA-Z0-9_@]+\[[a-zA-Z0-9_@"']+\]$/;
            var BRACKET_REGEXP = /\[\s?|\s?\]/;
            var DOT_NOTATION_REGEXP = /^[a-zA-Z_]+\.[a-zA-Z_]+$/;
            var DOT_REGEXP = /\./;
            var STRING_NOTATION_REGEXP = /^["']\w+["']$/;
            var STRING_REGEXP = /"|'/g;
            var NUMBER_REGEXP = /^-?\d+\.?\d*$/;
            var EXPRESSION_INTERVAL = 2;
            var BLOCK_HELPERS = {
              "if": handleIf,
              "each": handleEach,
              "with": handleWith
            };
            var isValidSplit = "a".split(/a/).length === 3;
            var splitByRegExp = function() {
              if (isValidSplit) {
                return function(text, regexp) {
                  return text.split(regexp);
                };
              }
              return function(text, regexp) {
                var result = [];
                var prevIndex = 0;
                var match, index;
                if (!regexp.global) {
                  regexp = new RegExp(regexp, "g");
                }
                match = regexp.exec(text);
                while (match !== null) {
                  index = match.index;
                  result.push(text.slice(prevIndex, index));
                  prevIndex = index + match[0].length;
                  match = regexp.exec(text);
                }
                result.push(text.slice(prevIndex));
                return result;
              };
            }();
            function getValueFromContext(exp, context) {
              var splitedExps;
              var value = context[exp];
              if (exp === "true") {
                value = true;
              } else if (exp === "false") {
                value = false;
              } else if (STRING_NOTATION_REGEXP.test(exp)) {
                value = exp.replace(STRING_REGEXP, "");
              } else if (BRACKET_NOTATION_REGEXP.test(exp)) {
                splitedExps = exp.split(BRACKET_REGEXP);
                value = getValueFromContext(splitedExps[0], context)[getValueFromContext(splitedExps[1], context)];
              } else if (DOT_NOTATION_REGEXP.test(exp)) {
                splitedExps = exp.split(DOT_REGEXP);
                value = getValueFromContext(splitedExps[0], context)[splitedExps[1]];
              } else if (NUMBER_REGEXP.test(exp)) {
                value = parseFloat(exp);
              }
              return value;
            }
            function extractElseif(ifExps, sourcesInsideBlock) {
              var exps = [ifExps];
              var sourcesInsideIf = [];
              var otherIfCount = 0;
              var start = 0;
              forEach(sourcesInsideBlock, function(source, index) {
                if (source.indexOf("if") === 0) {
                  otherIfCount += 1;
                } else if (source === "/if") {
                  otherIfCount -= 1;
                } else if (!otherIfCount && (source.indexOf("elseif") === 0 || source === "else")) {
                  exps.push(source === "else" ? ["true"] : source.split(" ").slice(1));
                  sourcesInsideIf.push(sourcesInsideBlock.slice(start, index));
                  start = index + 1;
                }
              });
              sourcesInsideIf.push(sourcesInsideBlock.slice(start));
              return {
                exps,
                sourcesInsideIf
              };
            }
            function handleIf(exps, sourcesInsideBlock, context) {
              var analyzed = extractElseif(exps, sourcesInsideBlock);
              var result = false;
              var compiledSource = "";
              forEach(analyzed.exps, function(exp, index) {
                result = handleExpression(exp, context);
                if (result) {
                  compiledSource = compile(analyzed.sourcesInsideIf[index], context);
                }
                return !result;
              });
              return compiledSource;
            }
            function handleEach(exps, sourcesInsideBlock, context) {
              var collection = handleExpression(exps, context);
              var additionalKey = isArray(collection) ? "@index" : "@key";
              var additionalContext = {};
              var result = "";
              forEach(collection, function(item, key) {
                additionalContext[additionalKey] = key;
                additionalContext["@this"] = item;
                extend(context, additionalContext);
                result += compile(sourcesInsideBlock.slice(), context);
              });
              return result;
            }
            function handleWith(exps, sourcesInsideBlock, context) {
              var asIndex = inArray("as", exps);
              var alias = exps[asIndex + 1];
              var result = handleExpression(exps.slice(0, asIndex), context);
              var additionalContext = {};
              additionalContext[alias] = result;
              return compile(sourcesInsideBlock, extend(context, additionalContext)) || "";
            }
            function extractSourcesInsideBlock(sources, start, end) {
              var sourcesInsideBlock = sources.splice(start + 1, end - start);
              sourcesInsideBlock.pop();
              return sourcesInsideBlock;
            }
            function handleBlockHelper(helperKeyword, sourcesToEnd, context) {
              var executeBlockHelper = BLOCK_HELPERS[helperKeyword];
              var helperCount = 1;
              var startBlockIndex = 0;
              var endBlockIndex;
              var index = startBlockIndex + EXPRESSION_INTERVAL;
              var expression = sourcesToEnd[index];
              while (helperCount && isString(expression)) {
                if (expression.indexOf(helperKeyword) === 0) {
                  helperCount += 1;
                } else if (expression.indexOf("/" + helperKeyword) === 0) {
                  helperCount -= 1;
                  endBlockIndex = index;
                }
                index += EXPRESSION_INTERVAL;
                expression = sourcesToEnd[index];
              }
              if (helperCount) {
                throw Error(helperKeyword + " needs {{/" + helperKeyword + "}} expression.");
              }
              sourcesToEnd[startBlockIndex] = executeBlockHelper(sourcesToEnd[startBlockIndex].split(" ").slice(1), extractSourcesInsideBlock(sourcesToEnd, startBlockIndex, endBlockIndex), context);
              return sourcesToEnd;
            }
            function handleExpression(exps, context) {
              var result = getValueFromContext(exps[0], context);
              if (result instanceof Function) {
                return executeFunction(result, exps.slice(1), context);
              }
              return result;
            }
            function executeFunction(helper, argExps, context) {
              var args = [];
              forEach(argExps, function(exp) {
                args.push(getValueFromContext(exp, context));
              });
              return helper.apply(null, args);
            }
            function compile(sources, context) {
              var index = 1;
              var expression = sources[index];
              var exps, firstExp, result;
              while (isString(expression)) {
                exps = expression.split(" ");
                firstExp = exps[0];
                if (BLOCK_HELPERS[firstExp]) {
                  result = handleBlockHelper(firstExp, sources.splice(index, sources.length - index), context);
                  sources = sources.concat(result);
                } else {
                  sources[index] = handleExpression(exps, context);
                }
                index += EXPRESSION_INTERVAL;
                expression = sources[index];
              }
              return sources.join("");
            }
            function template(text, context) {
              return compile(splitByRegExp(text, EXPRESSION_REGEXP), context);
            }
            module3.exports = template;
          },
          function(module3, exports3, __webpack_require__) {
            function isUndefined(obj) {
              return obj === void 0;
            }
            module3.exports = isUndefined;
          },
          function(module3, exports3, __webpack_require__) {
            function isString(obj) {
              return typeof obj === "string" || obj instanceof String;
            }
            module3.exports = isString;
          },
          function(module3, exports3, __webpack_require__) {
            function removeElement(element) {
              if (element && element.parentNode) {
                element.parentNode.removeChild(element);
              }
            }
            module3.exports = removeElement;
          },
          function(module3, exports3, __webpack_require__) {
            function isNumber(obj) {
              return typeof obj === "number" || obj instanceof Number;
            }
            module3.exports = isNumber;
          },
          function(module3, exports3, __webpack_require__) {
            var forEach = __webpack_require__(9);
            var inArray = __webpack_require__(3);
            var getClass = __webpack_require__(17);
            var setClassName = __webpack_require__(24);
            function addClass(element) {
              var cssClass = Array.prototype.slice.call(arguments, 1);
              var classList = element.classList;
              var newClass = [];
              var origin;
              if (classList) {
                forEach(cssClass, function(name) {
                  element.classList.add(name);
                });
                return;
              }
              origin = getClass(element);
              if (origin) {
                cssClass = [].concat(origin.split(/\s+/), cssClass);
              }
              forEach(cssClass, function(cls) {
                if (inArray(cls, newClass) < 0) {
                  newClass.push(cls);
                }
              });
              setClassName(element, newClass);
            }
            module3.exports = addClass;
          },
          function(module3, exports3, __webpack_require__) {
            var isUndefined = __webpack_require__(12);
            function getClass(element) {
              if (!element || !element.className) {
                return "";
              }
              if (isUndefined(element.className.baseVal)) {
                return element.className;
              }
              return element.className.baseVal;
            }
            module3.exports = getClass;
          },
          function(module3, exports3, __webpack_require__) {
            var forEachArray = __webpack_require__(2);
            var inArray = __webpack_require__(3);
            var getClass = __webpack_require__(17);
            var setClassName = __webpack_require__(24);
            function removeClass(element) {
              var cssClass = Array.prototype.slice.call(arguments, 1);
              var classList = element.classList;
              var origin, newClass;
              if (classList) {
                forEachArray(cssClass, function(name) {
                  classList.remove(name);
                });
                return;
              }
              origin = getClass(element).split(/\s+/);
              newClass = [];
              forEachArray(origin, function(name) {
                if (inArray(name, cssClass) < 0) {
                  newClass.push(name);
                }
              });
              setClassName(element, newClass);
            }
            module3.exports = removeClass;
          },
          function(module3, exports3, __webpack_require__) {
            var on = __webpack_require__(31);
            var off = __webpack_require__(33);
            var mouseTouchEvent = {
              _isMobile: function() {
                return /Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile|WPDesktop/i.test(navigator.userAgent);
              }(),
              _getEventType: function(type) {
                if (this._isMobile) {
                  if (type === "mousedown") {
                    type = "touchstart";
                  } else if (type === "click") {
                    type = "touchend";
                  }
                }
                return type;
              },
              on: function(element, type, handler, context) {
                on(element, this._getEventType(type), handler, context);
              },
              off: function(element, type, handler) {
                off(element, this._getEventType(type), handler);
              }
            };
            module3.exports = mouseTouchEvent;
          },
          function(module3, exports3, __webpack_require__) {
            var defineClass = __webpack_require__(0);
            var removeElement = __webpack_require__(14);
            var localeText = __webpack_require__(10);
            var DEFAULT_LANGUAGE_TYPE = __webpack_require__(1).DEFAULT_LANGUAGE_TYPE;
            var LayerBase = defineClass({
              init: function(language) {
                language = language || DEFAULT_LANGUAGE_TYPE;
                this._element = null;
                this._localeText = localeText[language];
                this._type = "base";
              },
              _makeContext: function() {
                throwOverrideError(this.getType(), "_makeContext");
              },
              render: function() {
                throwOverrideError(this.getType(), "render");
              },
              getDateElements: function() {
                throwOverrideError(this.getType(), "getDateElements");
              },
              getType: function() {
                return this._type;
              },
              changeLanguage: function(language) {
                this._localeText = localeText[language];
              },
              remove: function() {
                if (this._element) {
                  removeElement(this._element);
                }
                this._element = null;
              }
            });
            function throwOverrideError(layerType, methodName) {
              throw new Error(layerType + ' layer does not have the "' + methodName + '" method.');
            }
            module3.exports = LayerBase;
          },
          function(module3, exports3, __webpack_require__) {
            var inArray = __webpack_require__(3);
            var forEachArray = __webpack_require__(2);
            var defineClass = __webpack_require__(0);
            var CustomEvents = __webpack_require__(8);
            var addClass = __webpack_require__(16);
            var closest = __webpack_require__(25);
            var getData = __webpack_require__(26);
            var hasClass = __webpack_require__(27);
            var removeClass = __webpack_require__(18);
            var removeElement = __webpack_require__(14);
            var extend = __webpack_require__(7);
            var isArray = __webpack_require__(6);
            var isDate = __webpack_require__(28);
            var isNumber = __webpack_require__(15);
            var isObject = __webpack_require__(22);
            var TimePicker = __webpack_require__(43);
            var Calendar2 = __webpack_require__(29);
            var RangeModel = __webpack_require__(56);
            var constants = __webpack_require__(1);
            var localeTexts = __webpack_require__(10);
            var dateUtil = __webpack_require__(5);
            var util = __webpack_require__(4);
            var mouseTouchEvent = __webpack_require__(19);
            var tmpl = __webpack_require__(58);
            var DatePickerInput = __webpack_require__(59);
            var DEFAULT_WEEK_START_DAY = constants.DEFAULT_WEEK_START_DAY;
            var DEFAULT_LANGUAGE_TYPE = constants.DEFAULT_LANGUAGE_TYPE;
            var TYPE_DATE = constants.TYPE_DATE;
            var TYPE_MONTH = constants.TYPE_MONTH;
            var TYPE_YEAR = constants.TYPE_YEAR;
            var CLASS_NAME_NEXT_YEAR_BTN = constants.CLASS_NAME_NEXT_YEAR_BTN;
            var CLASS_NAME_NEXT_MONTH_BTN = constants.CLASS_NAME_NEXT_MONTH_BTN;
            var CLASS_NAME_PREV_YEAR_BTN = constants.CLASS_NAME_PREV_YEAR_BTN;
            var CLASS_NAME_PREV_MONTH_BTN = constants.CLASS_NAME_PREV_MONTH_BTN;
            var CLASS_NAME_SELECTED = constants.CLASS_NAME_SELECTED;
            var CLASS_NAME_TITLE_TODAY = constants.CLASS_NAME_TITLE_TODAY;
            var CLASS_NAME_SELECTABLE = "tui-is-selectable";
            var CLASS_NAME_BLOCKED = "tui-is-blocked";
            var CLASS_NAME_CHECKED = "tui-is-checked";
            var CLASS_NAME_SELECTOR_BUTTON = "tui-datepicker-selector-button";
            var CLASS_NAME_TODAY = "tui-calendar-today";
            var CLASS_NAME_HIDDEN = "tui-hidden";
            var SELECTOR_BODY = ".tui-datepicker-body";
            var SELECTOR_DATE_ICO = ".tui-ico-date";
            var SELECTOR_CALENDAR_TITLE = ".tui-calendar-title";
            var SELECTOR_CALENDAR_CONTAINER = ".tui-calendar-container";
            var SELECTOR_TIMEPICKER_CONTAINER = ".tui-timepicker-container";
            var mergeDefaultOption = function(option) {
              option = extend({
                language: DEFAULT_LANGUAGE_TYPE,
                calendar: {},
                input: {
                  element: null,
                  format: null
                },
                timePicker: null,
                date: null,
                showAlways: false,
                type: TYPE_DATE,
                selectableRanges: null,
                openers: [],
                autoClose: true,
                usageStatistics: true,
                weekStartDay: DEFAULT_WEEK_START_DAY
              }, option);
              option.selectableRanges = option.selectableRanges || [[constants.MIN_DATE, constants.MAX_DATE]];
              if (!isObject(option.calendar)) {
                throw new Error("Calendar option must be an object");
              }
              if (!isObject(option.input)) {
                throw new Error("Input option must be an object");
              }
              if (!isArray(option.selectableRanges)) {
                throw new Error("Selectable-ranges must be a 2d-array");
              }
              option.localeText = localeTexts[option.language];
              option.calendar.language = option.language;
              option.calendar.type = option.type;
              option.timePicker = option.timePicker || option.timepicker;
              return option;
            };
            var DatePicker = defineClass({
              static: {
                localeTexts
              },
              init: function(container, options) {
                options = mergeDefaultOption(options);
                this._language = options.language;
                this._container = util.getElement(container);
                this._container.innerHTML = tmpl(extend(options, {
                  isTab: options.timePicker && options.timePicker.layoutType === "tab"
                }));
                this._element = this._container.firstChild;
                this._calendar = new Calendar2(this._element.querySelector(SELECTOR_CALENDAR_CONTAINER), extend(options.calendar, {
                  usageStatistics: options.usageStatistics,
                  weekStartDay: options.weekStartDay
                }));
                this._timePicker = null;
                this._datepickerInput = null;
                this._date = null;
                this._rangeModel = null;
                this._openers = [];
                this._isEnabled = true;
                this._id = "tui-datepicker-" + util.generateId();
                this._type = options.type;
                this.showAlways = options.showAlways;
                this.autoClose = options.autoClose;
                this._initializeDatePicker(options);
              },
              _initializeDatePicker: function(option) {
                this.setRanges(option.selectableRanges);
                this._setEvents();
                this._initTimePicker(option.timePicker, option.usageStatistics);
                this.setInput(option.input.element);
                this.setDateFormat(option.input.format);
                this.setDate(option.date);
                forEachArray(option.openers, this.addOpener, this);
                if (!this.showAlways) {
                  this._hide();
                }
                if (this.getType() === TYPE_DATE) {
                  addClass(this._element.querySelector(SELECTOR_BODY), "tui-datepicker-type-date");
                }
              },
              _setEvents: function() {
                mouseTouchEvent.on(this._element, "click", this._onClickHandler, this);
                this._calendar.on("draw", this._onDrawCalendar, this);
              },
              _removeEvents: function() {
                mouseTouchEvent.off(this._element, "click", this._onClickHandler, this);
                this._calendar.off();
              },
              _setDocumentEvents: function() {
                mouseTouchEvent.on(document, "mousedown", this._onMousedownDocument, this);
              },
              _removeDocumentEvents: function() {
                mouseTouchEvent.off(document, "mousedown", this._onMousedownDocument);
              },
              _setOpenerEvents: function(opener) {
                mouseTouchEvent.on(opener, "click", this.toggle, this);
              },
              _removeOpenerEvents: function(opener) {
                mouseTouchEvent.off(opener, "click", this.toggle);
              },
              _initTimePicker: function(opTimePicker, usageStatistics) {
                var layoutType;
                if (!opTimePicker) {
                  return;
                }
                layoutType = opTimePicker.layoutType || "";
                if (isObject(opTimePicker)) {
                  opTimePicker.usageStatistics = usageStatistics;
                } else {
                  opTimePicker = {
                    usageStatistics
                  };
                }
                this._timePicker = new TimePicker(this._element.querySelector(SELECTOR_TIMEPICKER_CONTAINER), opTimePicker);
                if (layoutType.toLowerCase() === "tab") {
                  this._timePicker.hide();
                }
                this._timePicker.on("change", function(ev) {
                  var prevDate;
                  if (this._date) {
                    prevDate = new Date(this._date);
                    this.setDate(prevDate.setHours(ev.hour, ev.minute));
                  }
                }, this);
              },
              _changePicker: function(target) {
                var btnSelector = "." + CLASS_NAME_SELECTOR_BUTTON;
                var selectedBtn = closest(target, btnSelector);
                var isDateElement = !!selectedBtn.querySelector(SELECTOR_DATE_ICO);
                if (isDateElement) {
                  this._calendar.show();
                  this._timePicker.hide();
                } else {
                  this._calendar.hide();
                  this._timePicker.show();
                }
                removeClass(this._element.querySelector("." + CLASS_NAME_CHECKED), CLASS_NAME_CHECKED);
                addClass(selectedBtn, CLASS_NAME_CHECKED);
              },
              _isOpener: function(element) {
                var el = util.getElement(element);
                return inArray(el, this._openers) > -1;
              },
              _setTodayClassName: function(el) {
                var timestamp, isToday;
                if (this.getCalendarType() !== TYPE_DATE) {
                  return;
                }
                timestamp = Number(getData(el, "timestamp"));
                isToday = timestamp === new Date().setHours(0, 0, 0, 0);
                if (isToday) {
                  addClass(el, CLASS_NAME_TODAY);
                } else {
                  removeClass(el, CLASS_NAME_TODAY);
                }
              },
              _setSelectableClassName: function(el) {
                var elDate = new Date(Number(getData(el, "timestamp")));
                if (this._isSelectableOnCalendar(elDate)) {
                  addClass(el, CLASS_NAME_SELECTABLE);
                  removeClass(el, CLASS_NAME_BLOCKED);
                } else {
                  removeClass(el, CLASS_NAME_SELECTABLE);
                  addClass(el, CLASS_NAME_BLOCKED);
                }
              },
              _setSelectedClassName: function(el) {
                var elDate = new Date(Number(getData(el, "timestamp")));
                if (this._isSelectedOnCalendar(elDate)) {
                  addClass(el, CLASS_NAME_SELECTED);
                } else {
                  removeClass(el, CLASS_NAME_SELECTED);
                }
              },
              _isSelectableOnCalendar: function(date) {
                var type = this.getCalendarType();
                var start = dateUtil.cloneWithStartOf(date, type).getTime();
                var end = dateUtil.cloneWithEndOf(date, type).getTime();
                return this._rangeModel.hasOverlap(start, end);
              },
              _isSelectedOnCalendar: function(date) {
                var curDate = this.getDate();
                var calendarType = this.getCalendarType();
                return curDate && dateUtil.isSame(curDate, date, calendarType);
              },
              _show: function() {
                removeClass(this._element, CLASS_NAME_HIDDEN);
              },
              _hide: function() {
                addClass(this._element, CLASS_NAME_HIDDEN);
              },
              _syncToInput: function() {
                if (!this._date) {
                  return;
                }
                this._datepickerInput.setDate(this._date);
              },
              _syncFromInput: function(shouldRollback) {
                var isFailed = false;
                var date;
                try {
                  date = this._datepickerInput.getDate();
                  if (this.isSelectable(date)) {
                    if (this._timePicker) {
                      this._timePicker.setTime(date.getHours(), date.getMinutes());
                    }
                    this.setDate(date);
                  } else {
                    isFailed = true;
                  }
                } catch (err) {
                  this.fire("error", {
                    type: "ParsingError",
                    message: err.message
                  });
                  isFailed = true;
                } finally {
                  if (isFailed) {
                    if (shouldRollback) {
                      this._syncToInput();
                    } else {
                      this.setNull();
                    }
                  }
                }
              },
              _onMousedownDocument: function(ev) {
                var target = util.getTarget(ev);
                var selector = util.getSelector(target);
                var isContain = selector ? this._element.querySelector(selector) : false;
                var isInput = this._datepickerInput.is(target);
                var isInOpener = inArray(target, this._openers) > -1;
                var shouldClose = !(this.showAlways || isInput || isContain || isInOpener);
                if (shouldClose) {
                  this.close();
                }
              },
              _onClickHandler: function(ev) {
                var target = util.getTarget(ev);
                if (closest(target, "." + CLASS_NAME_SELECTABLE)) {
                  ev.preventDefault();
                  this._updateDate(target);
                } else if (closest(target, "." + CLASS_NAME_TITLE_TODAY)) {
                  ev.preventDefault();
                  this._updateDateToToday();
                } else if (closest(target, SELECTOR_CALENDAR_TITLE)) {
                  this.drawUpperCalendar(this._date);
                } else if (closest(target, "." + CLASS_NAME_SELECTOR_BUTTON)) {
                  this._changePicker(target);
                }
              },
              _updateDateToToday: function() {
                this.setDate(Date.now());
                this.close();
              },
              _updateDate: function(target) {
                var timestamp = Number(getData(target, "timestamp"));
                var newDate = new Date(timestamp);
                var timePicker = this._timePicker;
                var prevDate = this._date;
                var calendarType = this.getCalendarType();
                var pickerType = this.getType();
                if (calendarType !== pickerType) {
                  this.drawLowerCalendar(newDate);
                } else {
                  if (timePicker) {
                    newDate.setHours(timePicker.getHour(), timePicker.getMinute());
                  } else if (prevDate) {
                    newDate.setHours(prevDate.getHours(), prevDate.getMinutes());
                  }
                  this.setDate(newDate);
                  if (!this.showAlways && this.autoClose) {
                    this.close();
                  }
                }
              },
              _onDrawCalendar: function(eventData) {
                forEachArray(eventData.dateElements, function(el) {
                  this._setTodayClassName(el);
                  this._setSelectableClassName(el);
                  this._setSelectedClassName(el);
                }, this);
                this._setDisplayHeadButtons();
                this.fire("draw", eventData);
              },
              _setDisplayHeadButtons: function() {
                var nextYearDate = this._calendar.getNextYearDate();
                var prevYearDate = this._calendar.getPrevYearDate();
                var maxTimestamp = this._rangeModel.getMaximumValue();
                var minTimestamp = this._rangeModel.getMinimumValue();
                var nextYearBtn = this._element.querySelector("." + CLASS_NAME_NEXT_YEAR_BTN);
                var prevYearBtn = this._element.querySelector("." + CLASS_NAME_PREV_YEAR_BTN);
                var nextMonthDate, prevMonthDate, nextMonBtn, prevMonBtn;
                if (this.getCalendarType() === TYPE_DATE) {
                  nextMonthDate = dateUtil.cloneWithStartOf(this._calendar.getNextDate(), TYPE_MONTH);
                  prevMonthDate = dateUtil.cloneWithEndOf(this._calendar.getPrevDate(), TYPE_MONTH);
                  nextMonBtn = this._element.querySelector("." + CLASS_NAME_NEXT_MONTH_BTN);
                  prevMonBtn = this._element.querySelector("." + CLASS_NAME_PREV_MONTH_BTN);
                  this._setDisplay(nextMonBtn, nextMonthDate.getTime() <= maxTimestamp);
                  this._setDisplay(prevMonBtn, prevMonthDate.getTime() >= minTimestamp);
                  prevYearDate.setDate(1);
                  nextYearDate.setDate(1);
                } else {
                  prevYearDate.setMonth(12, 0);
                  nextYearDate.setMonth(0, 1);
                }
                this._setDisplay(nextYearBtn, nextYearDate.getTime() <= maxTimestamp);
                this._setDisplay(prevYearBtn, prevYearDate.getTime() >= minTimestamp);
              },
              _setDisplay: function(el, shouldShow) {
                if (el) {
                  if (shouldShow) {
                    removeClass(el, CLASS_NAME_HIDDEN);
                  } else {
                    addClass(el, CLASS_NAME_HIDDEN);
                  }
                }
              },
              _onChangeInput: function() {
                this._syncFromInput(true);
              },
              _isChanged: function(date) {
                var prevDate = this.getDate();
                return !prevDate || date.getTime() !== prevDate.getTime();
              },
              _refreshFromRanges: function() {
                if (!this.isSelectable(this._date)) {
                  this.setNull();
                } else {
                  this._calendar.draw();
                }
              },
              getCalendarType: function() {
                return this._calendar.getType();
              },
              getType: function() {
                return this._type;
              },
              isSelectable: function(date) {
                var type = this.getType();
                var start, end;
                if (!dateUtil.isValidDate(date)) {
                  return false;
                }
                start = dateUtil.cloneWithStartOf(date, type).getTime();
                end = dateUtil.cloneWithEndOf(date, type).getTime();
                return this._rangeModel.hasOverlap(start, end);
              },
              isSelected: function(date) {
                return dateUtil.isValidDate(date) && dateUtil.isSame(this._date, date, this.getType());
              },
              setRanges: function(ranges) {
                var result = [];
                forEachArray(ranges, function(range) {
                  var start = new Date(range[0]).getTime();
                  var end = new Date(range[1]).getTime();
                  result.push([start, end]);
                });
                this._rangeModel = new RangeModel(result);
                this._refreshFromRanges();
              },
              setType: function(type) {
                this._type = type;
              },
              addRange: function(start, end) {
                start = new Date(start).getTime();
                end = new Date(end).getTime();
                this._rangeModel.add(start, end);
                this._refreshFromRanges();
              },
              removeRange: function(start, end, type) {
                start = new Date(start);
                end = new Date(end);
                if (type) {
                  start = dateUtil.cloneWithStartOf(start, type);
                  end = dateUtil.cloneWithEndOf(end, type);
                }
                this._rangeModel.exclude(start.getTime(), end.getTime());
                this._refreshFromRanges();
              },
              addOpener: function(opener) {
                opener = util.getElement(opener);
                if (!this._isOpener(opener)) {
                  this._openers.push(opener);
                  this._setOpenerEvents(opener);
                }
              },
              removeOpener: function(opener) {
                var index;
                opener = util.getElement(opener);
                index = inArray(opener, this._openers);
                if (index > -1) {
                  this._removeOpenerEvents(opener);
                  this._openers.splice(index, 1);
                }
              },
              removeAllOpeners: function() {
                forEachArray(this._openers, function(opener) {
                  this._removeOpenerEvents(opener);
                }, this);
                this._openers = [];
              },
              open: function() {
                if (this.isOpened() || !this._isEnabled) {
                  return;
                }
                this._calendar.draw({
                  date: this._date,
                  type: this._type
                });
                this._show();
                if (!this.showAlways) {
                  this._setDocumentEvents();
                }
                this.fire("open");
              },
              drawUpperCalendar: function(date) {
                var calendarType = this.getCalendarType();
                if (calendarType === TYPE_DATE) {
                  this._calendar.draw({
                    date,
                    type: TYPE_MONTH
                  });
                } else if (calendarType === TYPE_MONTH) {
                  this._calendar.draw({
                    date,
                    type: TYPE_YEAR
                  });
                }
              },
              drawLowerCalendar: function(date) {
                var calendarType = this.getCalendarType();
                var pickerType = this.getType();
                var isLast = calendarType === pickerType;
                if (isLast) {
                  return;
                }
                if (calendarType === TYPE_MONTH) {
                  this._calendar.draw({
                    date,
                    type: TYPE_DATE
                  });
                } else if (calendarType === TYPE_YEAR) {
                  this._calendar.draw({
                    date,
                    type: TYPE_MONTH
                  });
                }
              },
              close: function() {
                if (!this.isOpened()) {
                  return;
                }
                this._removeDocumentEvents();
                this._hide();
                this.fire("close");
              },
              toggle: function() {
                if (this.isOpened()) {
                  this.close();
                } else {
                  this.open();
                }
              },
              getDate: function() {
                if (!this._date) {
                  return null;
                }
                return new Date(this._date);
              },
              setDate: function(date) {
                var isValidInput, newDate, shouldUpdate;
                if (date === null) {
                  this.setNull();
                  return;
                }
                isValidInput = isNumber(date) || isDate(date);
                newDate = new Date(date);
                shouldUpdate = isValidInput && this._isChanged(newDate) && this.isSelectable(newDate);
                if (shouldUpdate) {
                  newDate = new Date(date);
                  this._date = newDate;
                  this._calendar.draw({ date: newDate });
                  if (this._timePicker) {
                    this._timePicker.setTime(newDate.getHours(), newDate.getMinutes());
                  }
                  this._syncToInput();
                  this.fire("change");
                }
              },
              setNull: function() {
                var calendarDate = this._calendar.getDate();
                var isChagned = this._date !== null;
                this._date = null;
                if (this._datepickerInput) {
                  this._datepickerInput.clearText();
                }
                if (this._timePicker) {
                  this._timePicker.setTime(0, 0);
                }
                if (!this.isSelectable(calendarDate)) {
                  this._calendar.draw({
                    date: new Date(this._rangeModel.getMinimumValue())
                  });
                } else {
                  this._calendar.draw();
                }
                if (isChagned) {
                  this.fire("change");
                }
              },
              setDateFormat: function(format) {
                this._datepickerInput.setFormat(format);
                this._syncToInput();
              },
              isOpened: function() {
                return !hasClass(this._element, CLASS_NAME_HIDDEN);
              },
              getTimePicker: function() {
                return this._timePicker;
              },
              getCalendar: function() {
                return this._calendar;
              },
              getLocaleText: function() {
                return localeTexts[this._language] || localeTexts[DEFAULT_LANGUAGE_TYPE];
              },
              setInput: function(element, options) {
                var prev = this._datepickerInput;
                var localeText = this.getLocaleText();
                var prevFormat;
                options = options || {};
                if (prev) {
                  prevFormat = prev.getFormat();
                  prev.destroy();
                }
                this._datepickerInput = new DatePickerInput(element, {
                  format: options.format || prevFormat,
                  id: this._id,
                  localeText
                });
                this._datepickerInput.on({
                  change: this._onChangeInput,
                  click: this.open
                }, this);
                if (options.syncFromInput) {
                  this._syncFromInput();
                } else {
                  this._syncToInput();
                }
              },
              enable: function() {
                if (this._isEnabled) {
                  return;
                }
                this._isEnabled = true;
                this._datepickerInput.enable();
                forEachArray(this._openers, function(opener) {
                  opener.removeAttribute("disabled");
                  this._setOpenerEvents(opener);
                }, this);
              },
              disable: function() {
                if (!this._isEnabled) {
                  return;
                }
                this._isEnabled = false;
                this.close();
                this._datepickerInput.disable();
                forEachArray(this._openers, function(opener) {
                  opener.setAttribute("disabled", true);
                  this._removeOpenerEvents(opener);
                }, this);
              },
              isDisabled: function() {
                return !this._isEnabled;
              },
              addCssClass: function(className) {
                addClass(this._element, className);
              },
              removeCssClass: function(className) {
                removeClass(this._element, className);
              },
              getDateElements: function() {
                return this._calendar.getDateElements();
              },
              findOverlappedRange: function(startDate, endDate) {
                var startTimestamp = new Date(startDate).getTime();
                var endTimestamp = new Date(endDate).getTime();
                var overlappedRange = this._rangeModel.findOverlappedRange(startTimestamp, endTimestamp);
                return [new Date(overlappedRange[0]), new Date(overlappedRange[1])];
              },
              changeLanguage: function(language) {
                this._language = language;
                this._calendar.changeLanguage(this._language);
                this._datepickerInput.changeLocaleTitles(this.getLocaleText().titles);
                this.setDateFormat(this._datepickerInput.getFormat());
                if (this._timePicker) {
                  this._timePicker.changeLanguage(this._language);
                }
              },
              destroy: function() {
                this._removeDocumentEvents();
                this._calendar.destroy();
                if (this._timePicker) {
                  this._timePicker.destroy();
                }
                if (this._datepickerInput) {
                  this._datepickerInput.destroy();
                }
                this._removeEvents();
                removeElement(this._element);
                this.removeAllOpeners();
                this._calendar = this._timePicker = this._datepickerInput = this._container = this._element = this._date = this._rangeModel = this._openers = this._isEnabled = this._id = null;
              }
            });
            CustomEvents.mixin(DatePicker);
            module3.exports = DatePicker;
          },
          function(module3, exports3, __webpack_require__) {
            function isObject(obj) {
              return obj === Object(obj);
            }
            module3.exports = isObject;
          },
          function(module3, exports3, __webpack_require__) {
            function forEachOwnProperties(obj, iteratee, context) {
              var key;
              context = context || null;
              for (key in obj) {
                if (obj.hasOwnProperty(key)) {
                  if (iteratee.call(context, obj[key], key, obj) === false) {
                    break;
                  }
                }
              }
            }
            module3.exports = forEachOwnProperties;
          },
          function(module3, exports3, __webpack_require__) {
            var isArray = __webpack_require__(6);
            var isUndefined = __webpack_require__(12);
            function setClassName(element, cssClass) {
              cssClass = isArray(cssClass) ? cssClass.join(" ") : cssClass;
              cssClass = cssClass.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
              if (isUndefined(element.className.baseVal)) {
                element.className = cssClass;
                return;
              }
              element.className.baseVal = cssClass;
            }
            module3.exports = setClassName;
          },
          function(module3, exports3, __webpack_require__) {
            var matches = __webpack_require__(40);
            function closest(element, selector) {
              var parent = element.parentNode;
              if (matches(element, selector)) {
                return element;
              }
              while (parent && parent !== document) {
                if (matches(parent, selector)) {
                  return parent;
                }
                parent = parent.parentNode;
              }
              return null;
            }
            module3.exports = closest;
          },
          function(module3, exports3, __webpack_require__) {
            var convertToKebabCase = __webpack_require__(42);
            function getData(element, key) {
              if (element.dataset) {
                return element.dataset[key];
              }
              return element.getAttribute("data-" + convertToKebabCase(key));
            }
            module3.exports = getData;
          },
          function(module3, exports3, __webpack_require__) {
            var inArray = __webpack_require__(3);
            var getClass = __webpack_require__(17);
            function hasClass(element, cssClass) {
              var origin;
              if (element.classList) {
                return element.classList.contains(cssClass);
              }
              origin = getClass(element).split(/\s+/);
              return inArray(cssClass, origin) > -1;
            }
            module3.exports = hasClass;
          },
          function(module3, exports3, __webpack_require__) {
            function isDate(obj) {
              return obj instanceof Date;
            }
            module3.exports = isDate;
          },
          function(module3, exports3, __webpack_require__) {
            var defineClass = __webpack_require__(0);
            var CustomEvents = __webpack_require__(8);
            var addClass = __webpack_require__(16);
            var hasClass = __webpack_require__(27);
            var removeClass = __webpack_require__(18);
            var removeElement = __webpack_require__(14);
            var extend = __webpack_require__(7);
            var Header = __webpack_require__(44);
            var Body = __webpack_require__(49);
            var localeTexts = __webpack_require__(10);
            var constants = __webpack_require__(1);
            var dateUtil = __webpack_require__(5);
            var util = __webpack_require__(4);
            var DEFAULT_WEEK_START_DAY = constants.DEFAULT_WEEK_START_DAY;
            var DEFAULT_LANGUAGE_TYPE = constants.DEFAULT_LANGUAGE_TYPE;
            var TYPE_DATE = constants.TYPE_DATE;
            var TYPE_MONTH = constants.TYPE_MONTH;
            var TYPE_YEAR = constants.TYPE_YEAR;
            var CLASS_NAME_PREV_MONTH_BTN = constants.CLASS_NAME_PREV_MONTH_BTN;
            var CLASS_NAME_PREV_YEAR_BTN = constants.CLASS_NAME_PREV_YEAR_BTN;
            var CLASS_NAME_NEXT_YEAR_BTN = constants.CLASS_NAME_NEXT_YEAR_BTN;
            var CLASS_NAME_NEXT_MONTH_BTN = constants.CLASS_NAME_NEXT_MONTH_BTN;
            var CLASS_NAME_CALENDAR_MONTH = "tui-calendar-month";
            var CLASS_NAME_CALENDAR_YEAR = "tui-calendar-year";
            var CLASS_NAME_HIDDEN = "tui-hidden";
            var HEADER_SELECTOR = ".tui-calendar-header";
            var BODY_SELECTOR = ".tui-calendar-body";
            var Calendar2 = defineClass({
              static: {
                localeTexts
              },
              init: function(container, options) {
                options = extend({
                  language: DEFAULT_LANGUAGE_TYPE,
                  showToday: true,
                  showJumpButtons: false,
                  date: new Date(),
                  type: TYPE_DATE,
                  usageStatistics: true,
                  weekStartDay: DEFAULT_WEEK_START_DAY
                }, options);
                this._container = util.getElement(container);
                this._container.innerHTML = '<div class="tui-calendar">    <div class="tui-calendar-header"></div>    <div class="tui-calendar-body"></div></div>';
                this._element = this._container.firstChild;
                this._date = null;
                this._type = null;
                this._header = null;
                this._body = null;
                this._initHeader(options);
                this._initBody(options);
                this.draw({
                  date: options.date,
                  type: options.type
                });
                if (options.usageStatistics) {
                  util.sendHostName();
                }
              },
              _initHeader: function(options) {
                var headerContainer = this._element.querySelector(HEADER_SELECTOR);
                this._header = new Header(headerContainer, options);
                this._header.on("click", function(ev) {
                  var target = util.getTarget(ev);
                  if (hasClass(target, CLASS_NAME_PREV_MONTH_BTN)) {
                    this.drawPrev();
                  } else if (hasClass(target, CLASS_NAME_PREV_YEAR_BTN)) {
                    this._onClickPrevYear();
                  } else if (hasClass(target, CLASS_NAME_NEXT_MONTH_BTN)) {
                    this.drawNext();
                  } else if (hasClass(target, CLASS_NAME_NEXT_YEAR_BTN)) {
                    this._onClickNextYear();
                  }
                }, this);
              },
              _initBody: function(options) {
                var bodyContainer = this._element.querySelector(BODY_SELECTOR);
                this._body = new Body(bodyContainer, options);
              },
              _onClickPrevYear: function() {
                if (this.getType() === TYPE_DATE) {
                  this.draw({
                    date: this._getRelativeDate(-12)
                  });
                } else {
                  this.drawPrev();
                }
              },
              _onClickNextYear: function() {
                if (this.getType() === TYPE_DATE) {
                  this.draw({
                    date: this._getRelativeDate(12)
                  });
                } else {
                  this.drawNext();
                }
              },
              _isValidType: function(type) {
                return type === TYPE_DATE || type === TYPE_MONTH || type === TYPE_YEAR;
              },
              _shouldUpdate: function(date, type) {
                var prevDate = this._date;
                if (!dateUtil.isValidDate(date)) {
                  throw new Error("Invalid date");
                }
                if (!this._isValidType(type)) {
                  throw new Error("Invalid layer type");
                }
                return !prevDate || prevDate.getFullYear() !== date.getFullYear() || prevDate.getMonth() !== date.getMonth() || this.getType() !== type;
              },
              _render: function() {
                var date = this._date;
                var type = this.getType();
                this._header.render(date, type);
                this._body.render(date, type);
                removeClass(this._element, CLASS_NAME_CALENDAR_MONTH, CLASS_NAME_CALENDAR_YEAR);
                switch (type) {
                  case TYPE_MONTH:
                    addClass(this._element, CLASS_NAME_CALENDAR_MONTH);
                    break;
                  case TYPE_YEAR:
                    addClass(this._element, CLASS_NAME_CALENDAR_YEAR);
                    break;
                }
              },
              _getRelativeDate: function(step) {
                var prev = this._date;
                return new Date(prev.getFullYear(), prev.getMonth() + step);
              },
              draw: function(options) {
                var date, type;
                options = options || {};
                date = options.date || this._date;
                type = (options.type || this.getType()).toLowerCase();
                if (this._shouldUpdate(date, type)) {
                  this._date = date;
                  this._type = type;
                  this._render();
                }
                this.fire("draw", {
                  date: this._date,
                  type,
                  dateElements: this._body.getDateElements()
                });
              },
              show: function() {
                removeClass(this._element, CLASS_NAME_HIDDEN);
              },
              hide: function() {
                addClass(this._element, CLASS_NAME_HIDDEN);
              },
              drawNext: function() {
                this.draw({
                  date: this.getNextDate()
                });
              },
              drawPrev: function() {
                this.draw({
                  date: this.getPrevDate()
                });
              },
              getNextDate: function() {
                if (this.getType() === TYPE_DATE) {
                  return this._getRelativeDate(1);
                }
                return this.getNextYearDate();
              },
              getPrevDate: function() {
                if (this.getType() === TYPE_DATE) {
                  return this._getRelativeDate(-1);
                }
                return this.getPrevYearDate();
              },
              getNextYearDate: function() {
                switch (this.getType()) {
                  case TYPE_DATE:
                  case TYPE_MONTH:
                    return this._getRelativeDate(12);
                  case TYPE_YEAR:
                    return this._getRelativeDate(108);
                  default:
                    throw new Error("Unknown layer type");
                }
              },
              getPrevYearDate: function() {
                switch (this.getType()) {
                  case TYPE_DATE:
                  case TYPE_MONTH:
                    return this._getRelativeDate(-12);
                  case TYPE_YEAR:
                    return this._getRelativeDate(-108);
                  default:
                    throw new Error("Unknown layer type");
                }
              },
              changeLanguage: function(language) {
                this._header.changeLanguage(language);
                this._body.changeLanguage(language);
                this._render();
              },
              getDate: function() {
                return new Date(this._date);
              },
              getType: function() {
                return this._type;
              },
              getDateElements: function() {
                return this._body.getDateElements();
              },
              addCssClass: function(className) {
                addClass(this._element, className);
              },
              removeCssClass: function(className) {
                removeClass(this._element, className);
              },
              destroy: function() {
                this._header.destroy();
                this._body.destroy();
                removeElement(this._element);
                this._type = this._date = this._container = this._element = this._header = this._body = null;
              }
            });
            CustomEvents.mixin(Calendar2);
            module3.exports = Calendar2;
          },
          function(module3, exports3, __webpack_require__) {
            var inArray = __webpack_require__(3);
            var forEachArray = __webpack_require__(2);
            var defineClass = __webpack_require__(0);
            var util = __webpack_require__(4);
            var dateUtil = __webpack_require__(5);
            var constants = __webpack_require__(1);
            var localeTexts = __webpack_require__(10);
            var rFormableKeys = /\\?(yyyy|yy|mmmm|mmm|mm|m|dd|d|hh|h|a)/gi;
            var mapForConverting = {
              yyyy: {
                expression: "(\\d{4}|\\d{2})",
                type: constants.TYPE_YEAR
              },
              yy: {
                expression: "(\\d{4}|\\d{2})",
                type: constants.TYPE_YEAR
              },
              y: {
                expression: "(\\d{4}|\\d{2})",
                type: constants.TYPE_YEAR
              },
              M: {
                expression: "(1[012]|0[1-9]|[1-9])",
                type: constants.TYPE_MONTH
              },
              MM: {
                expression: "(1[012]|0[1-9]|[1-9])",
                type: constants.TYPE_MONTH
              },
              MMM: {
                expression: "(1[012]|0[1-9]|[1-9])",
                type: constants.TYPE_MONTH
              },
              MMMM: {
                expression: "(1[012]|0[1-9]|[1-9])",
                type: constants.TYPE_MONTH
              },
              mmm: {
                expression: "(1[012]|0[1-9]|[1-9])",
                type: constants.TYPE_MONTH
              },
              mmmm: {
                expression: "(1[012]|0[1-9]|[1-9])",
                type: constants.TYPE_MONTH
              },
              dd: {
                expression: "([12]\\d{1}|3[01]|0[1-9]|[1-9])",
                type: constants.TYPE_DATE
              },
              d: {
                expression: "([12]\\d{1}|3[01]|0[1-9]|[1-9])",
                type: constants.TYPE_DATE
              },
              D: {
                expression: "([12]\\d{1}|3[01]|0[1-9]|[1-9])",
                type: constants.TYPE_DATE
              },
              DD: {
                expression: "([12]\\d{1}|3[01]|0[1-9]|[1-9])",
                type: constants.TYPE_DATE
              },
              h: {
                expression: "(d{1}|0\\d{1}|1\\d{1}|2[0123])",
                type: constants.TYPE_HOUR
              },
              hh: {
                expression: "(d{1}|[01]\\d{1}|2[0123])",
                type: constants.TYPE_HOUR
              },
              H: {
                expression: "(d{1}|0\\d{1}|1\\d{1}|2[0123])",
                type: constants.TYPE_HOUR
              },
              HH: {
                expression: "(d{1}|[01]\\d{1}|2[0123])",
                type: constants.TYPE_HOUR
              },
              m: {
                expression: "(d{1}|[012345]\\d{1})",
                type: constants.TYPE_MINUTE
              },
              mm: {
                expression: "(d{1}|[012345]\\d{1})",
                type: constants.TYPE_MINUTE
              },
              a: {
                expression: "([ap]m)",
                type: constants.TYPE_MERIDIEM
              },
              A: {
                expression: "([ap]m)",
                type: constants.TYPE_MERIDIEM
              }
            };
            var DateTimeFormatter = defineClass({
              init: function(rawStr, titles) {
                this._rawStr = rawStr;
                this._keyOrder = null;
                this._regExp = null;
                this._titles = titles || localeTexts.en.titles;
                this._parseFormat();
              },
              _parseFormat: function() {
                var regExpStr = "^";
                var matchedKeys = this._rawStr.match(rFormableKeys);
                var keyOrder = [];
                matchedKeys = util.filter(matchedKeys, function(key) {
                  return key[0] !== "\\";
                });
                forEachArray(matchedKeys, function(key, index) {
                  if (!/m/i.test(key)) {
                    key = key.toLowerCase();
                  }
                  regExpStr += mapForConverting[key].expression + "[\\D\\s]*";
                  keyOrder[index] = mapForConverting[key].type;
                });
                regExpStr += "$";
                this._keyOrder = keyOrder;
                this._regExp = new RegExp(regExpStr, "gi");
              },
              parse: function(str) {
                var dateHash = {
                  year: 0,
                  month: 1,
                  date: 1,
                  hour: 0,
                  minute: 0
                };
                var hasMeridiem = false;
                var isPM = false;
                var matched;
                this._regExp.lastIndex = 0;
                matched = this._regExp.exec(str);
                if (!matched) {
                  throw Error('DateTimeFormatter: Not matched - "' + str + '"');
                }
                forEachArray(this._keyOrder, function(name, index) {
                  var value = matched[index + 1];
                  if (name === constants.TYPE_MERIDIEM && /[ap]m/i.test(value)) {
                    hasMeridiem = true;
                    isPM = /pm/i.test(value);
                  } else {
                    value = Number(value);
                    if (value !== 0 && !value) {
                      throw Error("DateTimeFormatter: Unknown value - " + matched[index + 1]);
                    }
                    if (name === constants.TYPE_YEAR && value < 100) {
                      value += 2e3;
                    }
                    dateHash[name] = value;
                  }
                });
                if (hasMeridiem) {
                  isPM = isPM || dateHash.hour > 12;
                  dateHash.hour %= 12;
                  if (isPM) {
                    dateHash.hour += 12;
                  }
                }
                return new Date(dateHash.year, dateHash.month - 1, dateHash.date, dateHash.hour, dateHash.minute);
              },
              getRawString: function() {
                return this._rawStr;
              },
              format: function(dateObj) {
                var year = dateObj.getFullYear();
                var month = dateObj.getMonth() + 1;
                var dayInMonth = dateObj.getDate();
                var day = dateObj.getDay();
                var hour = dateObj.getHours();
                var minute = dateObj.getMinutes();
                var meridiem = "a";
                var replaceMap;
                if (inArray(constants.TYPE_MERIDIEM, this._keyOrder) > -1) {
                  meridiem = hour >= 12 ? "pm" : "am";
                  hour = dateUtil.getMeridiemHour(hour);
                }
                replaceMap = {
                  yyyy: year,
                  yy: String(year).substr(2, 2),
                  M: month,
                  MM: dateUtil.prependLeadingZero(month),
                  MMM: this._titles.MMM[month - 1],
                  MMMM: this._titles.MMMM[month - 1],
                  d: dayInMonth,
                  dd: dateUtil.prependLeadingZero(dayInMonth),
                  D: this._titles.D[day],
                  DD: this._titles.DD[day],
                  hh: dateUtil.prependLeadingZero(hour),
                  h: hour,
                  mm: dateUtil.prependLeadingZero(minute),
                  m: minute,
                  A: meridiem.toUpperCase(),
                  a: meridiem
                };
                return this._rawStr.replace(rFormableKeys, function(key) {
                  if (key[0] === "\\") {
                    return key.substr(1);
                  }
                  return replaceMap[key] || replaceMap[key.toLowerCase()] || "";
                });
              }
            });
            module3.exports = DateTimeFormatter;
          },
          function(module3, exports3, __webpack_require__) {
            var isString = __webpack_require__(13);
            var forEach = __webpack_require__(9);
            var safeEvent = __webpack_require__(32);
            function on(element, types, handler, context) {
              if (isString(types)) {
                forEach(types.split(/\s+/g), function(type) {
                  bindEvent(element, type, handler, context);
                });
                return;
              }
              forEach(types, function(func, type) {
                bindEvent(element, type, func, handler);
              });
            }
            function bindEvent(element, type, handler, context) {
              function eventHandler(e) {
                handler.call(context || element, e || window.event);
              }
              if ("addEventListener" in element) {
                element.addEventListener(type, eventHandler);
              } else if ("attachEvent" in element) {
                element.attachEvent("on" + type, eventHandler);
              }
              memorizeHandler(element, type, handler, eventHandler);
            }
            function memorizeHandler(element, type, handler, wrappedHandler) {
              var events = safeEvent(element, type);
              var existInEvents = false;
              forEach(events, function(obj) {
                if (obj.handler === handler) {
                  existInEvents = true;
                  return false;
                }
                return true;
              });
              if (!existInEvents) {
                events.push({
                  handler,
                  wrappedHandler
                });
              }
            }
            module3.exports = on;
          },
          function(module3, exports3, __webpack_require__) {
            var EVENT_KEY = "_feEventKey";
            function safeEvent(element, type) {
              var events = element[EVENT_KEY];
              var handlers;
              if (!events) {
                events = element[EVENT_KEY] = {};
              }
              handlers = events[type];
              if (!handlers) {
                handlers = events[type] = [];
              }
              return handlers;
            }
            module3.exports = safeEvent;
          },
          function(module3, exports3, __webpack_require__) {
            var isString = __webpack_require__(13);
            var forEach = __webpack_require__(9);
            var safeEvent = __webpack_require__(32);
            function off(element, types, handler) {
              if (isString(types)) {
                forEach(types.split(/\s+/g), function(type) {
                  unbindEvent(element, type, handler);
                });
                return;
              }
              forEach(types, function(func, type) {
                unbindEvent(element, type, func);
              });
            }
            function unbindEvent(element, type, handler) {
              var events = safeEvent(element, type);
              var index;
              if (!handler) {
                forEach(events, function(item) {
                  removeHandler(element, type, item.wrappedHandler);
                });
                events.splice(0, events.length);
              } else {
                forEach(events, function(item, idx) {
                  if (handler === item.handler) {
                    removeHandler(element, type, item.wrappedHandler);
                    index = idx;
                    return false;
                  }
                  return true;
                });
                events.splice(index, 1);
              }
            }
            function removeHandler(element, type, handler) {
              if ("removeEventListener" in element) {
                element.removeEventListener(type, handler);
              } else if ("detachEvent" in element) {
                element.detachEvent("on" + type, handler);
              }
            }
            module3.exports = off;
          },
          function(module3, exports3, __webpack_require__) {
            var DatePicker = __webpack_require__(21);
            var DateRangePicker = __webpack_require__(60);
            var Calendar2 = __webpack_require__(29);
            __webpack_require__(61);
            DatePicker.createCalendar = function(wrapperElement, options) {
              return new Calendar2(wrapperElement, options);
            };
            DatePicker.createRangePicker = function(options) {
              return new DateRangePicker(options);
            };
            module3.exports = DatePicker;
          },
          function(module3, exports3, __webpack_require__) {
            var createObject = __webpack_require__(36);
            function inherit(subType, superType) {
              var prototype = createObject(superType.prototype);
              prototype.constructor = subType;
              subType.prototype = prototype;
            }
            module3.exports = inherit;
          },
          function(module3, exports3, __webpack_require__) {
            function createObject(obj) {
              function F() {
              }
              F.prototype = obj;
              return new F();
            }
            module3.exports = createObject;
          },
          function(module3, exports3, __webpack_require__) {
            var isUndefined = __webpack_require__(12);
            var isNull = __webpack_require__(38);
            function isExisty(param) {
              return !isUndefined(param) && !isNull(param);
            }
            module3.exports = isExisty;
          },
          function(module3, exports3, __webpack_require__) {
            function isNull(obj) {
              return obj === null;
            }
            module3.exports = isNull;
          },
          function(module3, exports3, __webpack_require__) {
            function isFunction(obj) {
              return obj instanceof Function;
            }
            module3.exports = isFunction;
          },
          function(module3, exports3, __webpack_require__) {
            var inArray = __webpack_require__(3);
            var toArray = __webpack_require__(41);
            var elProto = Element.prototype;
            var matchSelector = elProto.matches || elProto.webkitMatchesSelector || elProto.mozMatchesSelector || elProto.msMatchesSelector || function(selector) {
              var doc = this.document || this.ownerDocument;
              return inArray(this, toArray(doc.querySelectorAll(selector))) > -1;
            };
            function matches(element, selector) {
              return matchSelector.call(element, selector);
            }
            module3.exports = matches;
          },
          function(module3, exports3, __webpack_require__) {
            var forEachArray = __webpack_require__(2);
            function toArray(arrayLike) {
              var arr;
              try {
                arr = Array.prototype.slice.call(arrayLike);
              } catch (e) {
                arr = [];
                forEachArray(arrayLike, function(value) {
                  arr.push(value);
                });
              }
              return arr;
            }
            module3.exports = toArray;
          },
          function(module3, exports3, __webpack_require__) {
            function convertToKebabCase(key) {
              return key.replace(/([A-Z])/g, function(match) {
                return "-" + match.toLowerCase();
              });
            }
            module3.exports = convertToKebabCase;
          },
          function(module3, exports3) {
            module3.exports = __WEBPACK_EXTERNAL_MODULE__43__;
          },
          function(module3, exports3, __webpack_require__) {
            var defineClass = __webpack_require__(0);
            var CustomEvents = __webpack_require__(8);
            var closest = __webpack_require__(25);
            var removeElement = __webpack_require__(14);
            var localeTexts = __webpack_require__(10);
            var headerTmpl = __webpack_require__(45);
            var DateTimeFormatter = __webpack_require__(30);
            var constants = __webpack_require__(1);
            var util = __webpack_require__(4);
            var mouseTouchEvent = __webpack_require__(19);
            var TYPE_DATE = constants.TYPE_DATE;
            var TYPE_MONTH = constants.TYPE_MONTH;
            var TYPE_YEAR = constants.TYPE_YEAR;
            var CLASS_NAME_TITLE_MONTH = "tui-calendar-title-month";
            var CLASS_NAME_TITLE_YEAR = "tui-calendar-title-year";
            var CLASS_NAME_TITLE_YEAR_TO_YEAR = "tui-calendar-title-year-to-year";
            var SELECTOR_INNER_ELEM = ".tui-calendar-header-inner";
            var SELECTOR_INFO_ELEM = ".tui-calendar-header-info";
            var SELECTOR_BTN = ".tui-calendar-btn";
            var YEAR_TITLE_FORMAT = "yyyy";
            var Header = defineClass({
              init: function(container, option) {
                this._container = util.getElement(container);
                this._innerElement = null;
                this._infoElement = null;
                this._showToday = option.showToday;
                this._showJumpButtons = option.showJumpButtons;
                this._yearMonthTitleFormatter = null;
                this._yearTitleFormatter = null;
                this._todayFormatter = null;
                this._setFormatters(localeTexts[option.language]);
                this._setEvents(option);
              },
              _setFormatters: function(localeText) {
                this._yearMonthTitleFormatter = new DateTimeFormatter(localeText.titleFormat, localeText.titles);
                this._yearTitleFormatter = new DateTimeFormatter(YEAR_TITLE_FORMAT, localeText.titles);
                this._todayFormatter = new DateTimeFormatter(localeText.todayFormat, localeText.titles);
              },
              _setEvents: function() {
                mouseTouchEvent.on(this._container, "click", this._onClickHandler, this);
              },
              _removeEvents: function() {
                this.off();
                mouseTouchEvent.off(this._container, "click", this._onClickHandler);
              },
              _onClickHandler: function(ev) {
                var target = util.getTarget(ev);
                if (closest(target, SELECTOR_BTN)) {
                  this.fire("click", ev);
                }
              },
              _getTitleClass: function(type) {
                switch (type) {
                  case TYPE_DATE:
                    return CLASS_NAME_TITLE_MONTH;
                  case TYPE_MONTH:
                    return CLASS_NAME_TITLE_YEAR;
                  case TYPE_YEAR:
                    return CLASS_NAME_TITLE_YEAR_TO_YEAR;
                  default:
                    return "";
                }
              },
              _getTitleText: function(date, type) {
                var currentYear, start, end;
                switch (type) {
                  case TYPE_DATE:
                    return this._yearMonthTitleFormatter.format(date);
                  case TYPE_MONTH:
                    return this._yearTitleFormatter.format(date);
                  case TYPE_YEAR:
                    currentYear = date.getFullYear();
                    start = new Date(currentYear - 4, 0, 1);
                    end = new Date(currentYear + 4, 0, 1);
                    return this._yearTitleFormatter.format(start) + " - " + this._yearTitleFormatter.format(end);
                  default:
                    return "";
                }
              },
              changeLanguage: function(language) {
                this._setFormatters(localeTexts[language]);
              },
              render: function(date, type) {
                var context = {
                  showToday: this._showToday,
                  showJumpButtons: this._showJumpButtons,
                  todayText: this._todayFormatter.format(new Date()),
                  isDateCalendar: type === TYPE_DATE,
                  titleClass: this._getTitleClass(type),
                  title: this._getTitleText(date, type)
                };
                this._container.innerHTML = headerTmpl(context).replace(/^\s+|\s+$/g, "");
                this._innerElement = this._container.querySelector(SELECTOR_INNER_ELEM);
                if (context.showToday) {
                  this._infoElement = this._container.querySelector(SELECTOR_INFO_ELEM);
                }
              },
              destroy: function() {
                this._removeEvents();
                removeElement(this._innerElement);
                removeElement(this._infoElement);
                this._container = this._showToday = this._showJumpButtons = this._yearMonthTitleFormatter = this._yearTitleFormatter = this._todayFormatter = this._innerElement = this._infoElement = null;
              }
            });
            CustomEvents.mixin(Header);
            module3.exports = Header;
          },
          function(module3, exports3, __webpack_require__) {
            var template = __webpack_require__(11);
            module3.exports = function(context) {
              var source = '{{if isDateCalendar}}  {{if showJumpButtons}}    <div class="tui-calendar-header-inner tui-calendar-has-btns">      <button class="tui-calendar-btn tui-calendar-btn-prev-year">Prev year</button>      <button class="tui-calendar-btn tui-calendar-btn-prev-month">Prev month</button>      <em class="tui-calendar-title {{titleClass}}">{{title}}</em>      <button class="tui-calendar-btn tui-calendar-btn-next-month">Next month</button>      <button class="tui-calendar-btn tui-calendar-btn-next-year">Next year</button>    </div>  {{else}}    <div class="tui-calendar-header-inner">      <button class="tui-calendar-btn tui-calendar-btn-prev-month">Prev month</button>      <em class="tui-calendar-title {{titleClass}}">{{title}}</em>      <button class="tui-calendar-btn tui-calendar-btn-next-month">Next month</button>    </div>  {{/if}}{{else}}  <div class="tui-calendar-header-inner">    <button class="tui-calendar-btn tui-calendar-btn-prev-year">Prev year</button>    <em class="tui-calendar-title {{titleClass}}">{{title}}</em>    <button class="tui-calendar-btn tui-calendar-btn-next-year">Next year</button>  </div>{{/if}}{{if showToday}}  <div class="tui-calendar-header-info">    <p class="tui-calendar-title-today">{{todayText}}</p>  </div>{{/if}}';
              return template(source, context);
            };
          },
          function(module3, exports3, __webpack_require__) {
            function isHTMLNode(html) {
              if (typeof HTMLElement === "object") {
                return html && (html instanceof HTMLElement || !!html.nodeType);
              }
              return !!(html && html.nodeType);
            }
            module3.exports = isHTMLNode;
          },
          function(module3, exports3, __webpack_require__) {
            var isUndefined = __webpack_require__(12);
            var imagePing = __webpack_require__(48);
            var ms7days = 7 * 24 * 60 * 60 * 1e3;
            function isExpired(date) {
              var now = new Date().getTime();
              return now - date > ms7days;
            }
            function sendHostname(appName, trackingId) {
              var url = "https://www.google-analytics.com/collect";
              var hostname = location.hostname;
              var hitType = "event";
              var eventCategory = "use";
              var applicationKeyForStorage = "TOAST UI " + appName + " for " + hostname + ": Statistics";
              var date = window.localStorage.getItem(applicationKeyForStorage);
              if (!isUndefined(window.tui) && window.tui.usageStatistics === false) {
                return;
              }
              if (date && !isExpired(date)) {
                return;
              }
              window.localStorage.setItem(applicationKeyForStorage, new Date().getTime());
              setTimeout(function() {
                if (document.readyState === "interactive" || document.readyState === "complete") {
                  imagePing(url, {
                    v: 1,
                    t: hitType,
                    tid: trackingId,
                    cid: hostname,
                    dp: hostname,
                    dh: appName,
                    el: appName,
                    ec: eventCategory
                  });
                }
              }, 1e3);
            }
            module3.exports = sendHostname;
          },
          function(module3, exports3, __webpack_require__) {
            var forEachOwnProperties = __webpack_require__(23);
            function imagePing(url, trackingInfo) {
              var trackingElement = document.createElement("img");
              var queryString = "";
              forEachOwnProperties(trackingInfo, function(value, key) {
                queryString += "&" + key + "=" + value;
              });
              queryString = queryString.substring(1);
              trackingElement.src = url + "?" + queryString;
              trackingElement.style.display = "none";
              document.body.appendChild(trackingElement);
              document.body.removeChild(trackingElement);
              return trackingElement;
            }
            module3.exports = imagePing;
          },
          function(module3, exports3, __webpack_require__) {
            var forEachArray = __webpack_require__(2);
            var defineClass = __webpack_require__(0);
            var DateLayer = __webpack_require__(50);
            var MonthLayer = __webpack_require__(52);
            var YearLayer = __webpack_require__(54);
            var constants = __webpack_require__(1);
            var TYPE_DATE = constants.TYPE_DATE;
            var TYPE_MONTH = constants.TYPE_MONTH;
            var TYPE_YEAR = constants.TYPE_YEAR;
            var Body = defineClass({
              init: function(bodyContainer, options) {
                var language = options.language;
                var weekStartDay = options.weekStartDay;
                this._container = bodyContainer;
                this._dateLayer = new DateLayer(language, weekStartDay);
                this._monthLayer = new MonthLayer(language);
                this._yearLayer = new YearLayer(language);
                this._currentLayer = this._dateLayer;
              },
              _getLayer: function(type) {
                switch (type) {
                  case TYPE_DATE:
                    return this._dateLayer;
                  case TYPE_MONTH:
                    return this._monthLayer;
                  case TYPE_YEAR:
                    return this._yearLayer;
                  default:
                    return this._currentLayer;
                }
              },
              _eachLayer: function(fn) {
                forEachArray([this._dateLayer, this._monthLayer, this._yearLayer], fn);
              },
              changeLanguage: function(language) {
                this._eachLayer(function(layer) {
                  layer.changeLanguage(language);
                });
              },
              render: function(date, type) {
                var nextLayer = this._getLayer(type);
                var prevLayer = this._currentLayer;
                prevLayer.remove();
                nextLayer.render(date, this._container);
                this._currentLayer = nextLayer;
              },
              getDateElements: function() {
                return this._currentLayer.getDateElements();
              },
              destroy: function() {
                this._eachLayer(function(layer) {
                  layer.remove();
                });
                this._container = this._currentLayer = this._dateLayer = this._monthLayer = this._yearLayer = null;
              }
            });
            module3.exports = Body;
          },
          function(module3, exports3, __webpack_require__) {
            var defineClass = __webpack_require__(0);
            var dateUtil = __webpack_require__(5);
            var bodyTmpl = __webpack_require__(51);
            var LayerBase = __webpack_require__(20);
            var TYPE_DATE = __webpack_require__(1).TYPE_DATE;
            var WEEK_START_DAY_MAP = __webpack_require__(1).WEEK_START_DAY_MAP;
            var DATE_SELECTOR = ".tui-calendar-date";
            var DAYS_OF_WEEK = 7;
            var DateLayer = defineClass(LayerBase, {
              init: function(language, weekStartDay) {
                LayerBase.call(this, language);
                this.weekStartDay = WEEK_START_DAY_MAP[String(weekStartDay).toLowerCase()] || 0;
              },
              _type: TYPE_DATE,
              _makeContext: function(date) {
                var daysShort = this._localeText.titles.D;
                var year, month, days, i;
                date = date || new Date();
                year = date.getFullYear();
                month = date.getMonth() + 1;
                if (this.weekStartDay) {
                  days = daysShort.slice();
                  for (i = 0; i < this.weekStartDay; i += 1) {
                    days.push(days.shift());
                  }
                  daysShort = days;
                }
                return {
                  Sun: daysShort[0],
                  Mon: daysShort[1],
                  Tue: daysShort[2],
                  Wed: daysShort[3],
                  Thu: daysShort[4],
                  Fri: daysShort[5],
                  Sat: daysShort[6],
                  year,
                  month,
                  weeks: this._getWeeks(year, month)
                };
              },
              _getWeeks: function(year, month) {
                var weekNumber = 0;
                var weeksCount = 6;
                var weeks = [];
                var week, dates, i;
                while (weekNumber < weeksCount) {
                  dates = [];
                  for (i = this.weekStartDay; i < DAYS_OF_WEEK + this.weekStartDay; i += 1) {
                    dates.push(dateUtil.getDateOfWeek(year, month, weekNumber, i));
                  }
                  week = this._getWeek(year, month, dates);
                  if (this.weekStartDay && !_isFirstWeek(weekNumber, week[0].dayInMonth)) {
                    weeks.push(this._getFirstWeek(year, month));
                    weeksCount -= 1;
                  }
                  weeks.push(week);
                  weekNumber += 1;
                }
                return weeks;
              },
              _getWeek: function(currentYear, currentMonth, dates) {
                var firstDateOfCurrentMonth = new Date(currentYear, currentMonth - 1, 1);
                var lastDateOfCurrentMonth = new Date(currentYear, currentMonth, 0);
                var contexts = [];
                var i = 0;
                var length = dates.length;
                var date, className;
                for (; i < length; i += 1) {
                  className = "tui-calendar-date";
                  date = dates[i];
                  if (date < firstDateOfCurrentMonth) {
                    className += " tui-calendar-prev-month";
                  }
                  if (date > lastDateOfCurrentMonth) {
                    className += " tui-calendar-next-month";
                  }
                  if (date.getDay() === 0) {
                    className += " tui-calendar-sun";
                  } else if (date.getDay() === 6) {
                    className += " tui-calendar-sat";
                  }
                  contexts.push({
                    dayInMonth: date.getDate(),
                    className,
                    timestamp: date.getTime()
                  });
                }
                return contexts;
              },
              render: function(date, container) {
                var context = this._makeContext(date);
                container.innerHTML = bodyTmpl(context);
                this._element = container.firstChild;
              },
              getDateElements: function() {
                return this._element.querySelectorAll(DATE_SELECTOR);
              },
              _getFirstWeek: function(year, month) {
                var firstWeekDates = [];
                var i;
                for (i = this.weekStartDay; i < DAYS_OF_WEEK + this.weekStartDay; i += 1) {
                  firstWeekDates.push(dateUtil.getDateOfWeek(year, month, -1, i));
                }
                return this._getWeek(year, month, firstWeekDates);
              }
            });
            function _isFirstWeek(weekIndex, dayInMonth) {
              return weekIndex || dayInMonth === 1 || dayInMonth > DAYS_OF_WEEK;
            }
            module3.exports = DateLayer;
          },
          function(module3, exports3, __webpack_require__) {
            var template = __webpack_require__(11);
            module3.exports = function(context) {
              var source = '<table class="tui-calendar-body-inner" cellspacing="0" cellpadding="0">  <caption><span>Dates</span></caption>  <thead class="tui-calendar-body-header">    <tr>      <th class="tui-sun" scope="col">{{Sun}}</th>      <th scope="col">{{Mon}}</th>      <th scope="col">{{Tue}}</th>      <th scope="col">{{Wed}}</th>      <th scope="col">{{Thu}}</th>      <th scope="col">{{Fri}}</th>      <th class="tui-sat" scope="col">{{Sat}}</th>    </tr>  </thead>  <tbody>    {{each weeks}}    <tr class="tui-calendar-week">      {{each @this}}      <td class="{{@this["className"]}}" data-timestamp="{{@this["timestamp"]}}">{{@this["dayInMonth"]}}</td>      {{/each}}    </tr>    {{/each}}  </tbody></table>';
              return template(source, context);
            };
          },
          function(module3, exports3, __webpack_require__) {
            var defineClass = __webpack_require__(0);
            var bodyTmpl = __webpack_require__(53);
            var LayerBase = __webpack_require__(20);
            var TYPE_MONTH = __webpack_require__(1).TYPE_MONTH;
            var dateUtil = __webpack_require__(5);
            var DATE_SELECTOR = ".tui-calendar-month";
            var MonthLayer = defineClass(LayerBase, {
              init: function(language) {
                LayerBase.call(this, language);
              },
              _type: TYPE_MONTH,
              _makeContext: function(date) {
                var monthsShort = this._localeText.titles.MMM;
                return {
                  year: date.getFullYear(),
                  Jan: monthsShort[0],
                  Feb: monthsShort[1],
                  Mar: monthsShort[2],
                  Apr: monthsShort[3],
                  May: monthsShort[4],
                  Jun: monthsShort[5],
                  Jul: monthsShort[6],
                  Aug: monthsShort[7],
                  Sep: monthsShort[8],
                  Oct: monthsShort[9],
                  Nov: monthsShort[10],
                  Dec: monthsShort[11],
                  getFirstDayTimestamp: dateUtil.getFirstDayTimestamp
                };
              },
              render: function(date, container) {
                var context = this._makeContext(date);
                container.innerHTML = bodyTmpl(context);
                this._element = container.firstChild;
              },
              getDateElements: function() {
                return this._element.querySelectorAll(DATE_SELECTOR);
              }
            });
            module3.exports = MonthLayer;
          },
          function(module3, exports3, __webpack_require__) {
            var template = __webpack_require__(11);
            module3.exports = function(context) {
              var source = '<table class="tui-calendar-body-inner">  <caption><span>Months</span></caption>  <tbody>    <tr class="tui-calendar-month-group">      <td class="tui-calendar-month" data-timestamp={{getFirstDayTimestamp year 0}}>{{Jan}}</td>      <td class="tui-calendar-month" data-timestamp={{getFirstDayTimestamp year 1}}>{{Feb}}</td>      <td class="tui-calendar-month" data-timestamp={{getFirstDayTimestamp year 2}}>{{Mar}}</td>      <td class="tui-calendar-month" data-timestamp={{getFirstDayTimestamp year 3}}>{{Apr}}</td>    </tr>    <tr class="tui-calendar-month-group">      <td class="tui-calendar-month" data-timestamp={{getFirstDayTimestamp year 4}}>{{May}}</td>      <td class="tui-calendar-month" data-timestamp={{getFirstDayTimestamp year 5}}>{{Jun}}</td>      <td class="tui-calendar-month" data-timestamp={{getFirstDayTimestamp year 6}}>{{Jul}}</td>      <td class="tui-calendar-month" data-timestamp={{getFirstDayTimestamp year 7}}>{{Aug}}</td>    </tr>    <tr class="tui-calendar-month-group">      <td class="tui-calendar-month" data-timestamp={{getFirstDayTimestamp year 8}}>{{Sep}}</td>      <td class="tui-calendar-month" data-timestamp={{getFirstDayTimestamp year 9}}>{{Oct}}</td>      <td class="tui-calendar-month" data-timestamp={{getFirstDayTimestamp year 10}}>{{Nov}}</td>      <td class="tui-calendar-month" data-timestamp={{getFirstDayTimestamp year 11}}>{{Dec}}</td>    </tr>  </tbody></table>';
              return template(source, context);
            };
          },
          function(module3, exports3, __webpack_require__) {
            var defineClass = __webpack_require__(0);
            var bodyTmpl = __webpack_require__(55);
            var LayerBase = __webpack_require__(20);
            var TYPE_YEAR = __webpack_require__(1).TYPE_YEAR;
            var dateUtil = __webpack_require__(5);
            var DATE_SELECTOR = ".tui-calendar-year";
            var YearLayer = defineClass(LayerBase, {
              init: function(language) {
                LayerBase.call(this, language);
              },
              _type: TYPE_YEAR,
              _makeContext: function(date) {
                var year = date.getFullYear();
                return {
                  yearGroups: [
                    dateUtil.getRangeArr(year - 4, year - 2),
                    dateUtil.getRangeArr(year - 1, year + 1),
                    dateUtil.getRangeArr(year + 2, year + 4)
                  ],
                  getFirstDayTimestamp: dateUtil.getFirstDayTimestamp
                };
              },
              render: function(date, container) {
                var context = this._makeContext(date);
                container.innerHTML = bodyTmpl(context);
                this._element = container.firstChild;
              },
              getDateElements: function() {
                return this._element.querySelectorAll(DATE_SELECTOR);
              }
            });
            module3.exports = YearLayer;
          },
          function(module3, exports3, __webpack_require__) {
            var template = __webpack_require__(11);
            module3.exports = function(context) {
              var source = '<table class="tui-calendar-body-inner">  <caption><span>Years</span></caption>  <tbody>    {{each yearGroups}}    <tr class="tui-calendar-year-group">      {{each @this}}      <td class="tui-calendar-year" data-timestamp={{getFirstDayTimestamp @this 0}}>        {{@this}}      </td>      {{/each}}    </tr>    {{/each}}  </tbody></table>';
              return template(source, context);
            };
          },
          function(module3, exports3, __webpack_require__) {
            var forEachArray = __webpack_require__(2);
            var defineClass = __webpack_require__(0);
            var isNumber = __webpack_require__(15);
            var Range = __webpack_require__(57);
            var util = __webpack_require__(4);
            var RangeModel = defineClass({
              init: function(ranges) {
                ranges = ranges || [];
                this._ranges = [];
                forEachArray(ranges, function(range) {
                  this.add(range[0], range[1]);
                }, this);
              },
              contains: function(start, end) {
                var i = 0;
                var length = this._ranges.length;
                var range;
                for (; i < length; i += 1) {
                  range = this._ranges[i];
                  if (range.contains(start, end)) {
                    return true;
                  }
                }
                return false;
              },
              hasOverlap: function(start, end) {
                var i = 0;
                var length = this._ranges.length;
                var range;
                for (; i < length; i += 1) {
                  range = this._ranges[i];
                  if (range.isOverlapped(start, end)) {
                    return true;
                  }
                }
                return false;
              },
              add: function(start, end) {
                var overlapped = false;
                var i = 0;
                var len = this._ranges.length;
                var range;
                for (; i < len; i += 1) {
                  range = this._ranges[i];
                  overlapped = range.isOverlapped(start, end);
                  if (overlapped) {
                    range.merge(start, end);
                    break;
                  }
                  if (start < range.start) {
                    break;
                  }
                }
                if (!overlapped) {
                  this._ranges.splice(i, 0, new Range(start, end));
                }
              },
              getMinimumValue: function() {
                return this._ranges[0].start;
              },
              getMaximumValue: function() {
                var length = this._ranges.length;
                return this._ranges[length - 1].end;
              },
              exclude: function(start, end) {
                if (!isNumber(end)) {
                  end = start;
                }
                forEachArray(this._ranges, function(range) {
                  var rangeEnd;
                  if (range.isOverlapped(start, end)) {
                    rangeEnd = range.end;
                    range.exclude(start, end);
                    if (end + 1 <= rangeEnd) {
                      this.add(end + 1, rangeEnd);
                    }
                  }
                }, this);
                this._ranges = util.filter(this._ranges, function(range) {
                  return !range.isEmpty();
                });
              },
              findOverlappedRange: function(start, end) {
                var i = 0;
                var len = this._ranges.length;
                var range;
                for (; i < len; i += 1) {
                  range = this._ranges[i];
                  if (range.isOverlapped(start, end)) {
                    return [range.start, range.end];
                  }
                }
                return null;
              }
            });
            module3.exports = RangeModel;
          },
          function(module3, exports3, __webpack_require__) {
            var defineClass = __webpack_require__(0);
            var isNumber = __webpack_require__(15);
            var Range = defineClass({
              init: function(start, end) {
                this.setRange(start, end);
              },
              setRange: function(start, end) {
                if (!isNumber(end)) {
                  end = start;
                }
                this.start = Math.min(start, end);
                this.end = Math.max(start, end);
              },
              merge: function(start, end) {
                if (!isNumber(start) || !isNumber(end) || !this.isOverlapped(start, end)) {
                  return;
                }
                this.start = Math.min(start, this.start);
                this.end = Math.max(end, this.end);
              },
              isEmpty: function() {
                return !isNumber(this.start) || !isNumber(this.end);
              },
              setEmpty: function() {
                this.start = this.end = null;
              },
              contains: function(start, end) {
                if (!isNumber(end)) {
                  end = start;
                }
                return this.start <= start && end <= this.end;
              },
              isOverlapped: function(start, end) {
                if (!isNumber(end)) {
                  end = start;
                }
                return this.start <= end && this.end >= start;
              },
              exclude: function(start, end) {
                if (start <= this.start && end >= this.end) {
                  this.setEmpty();
                } else if (this.contains(start)) {
                  this.setRange(this.start, start - 1);
                } else if (this.contains(end)) {
                  this.setRange(end + 1, this.end);
                }
              }
            });
            module3.exports = Range;
          },
          function(module3, exports3, __webpack_require__) {
            var template = __webpack_require__(11);
            module3.exports = function(context) {
              var source = '<div class="tui-datepicker">  {{if timePicker}}    {{if isTab}}      <div class="tui-datepicker-selector">        <button type="button" class="tui-datepicker-selector-button tui-is-checked" aria-label="selected">          <span class="tui-ico-date"></span>{{localeText["date"]}}        </button>        <button type="button" class="tui-datepicker-selector-button">          <span class="tui-ico-time"></span>{{localeText["time"]}}        </button>      </div>      <div class="tui-datepicker-body">        <div class="tui-calendar-container"></div>        <div class="tui-timepicker-container"></div>      </div>    {{else}}      <div class="tui-datepicker-body">        <div class="tui-calendar-container"></div>      </div>      <div class="tui-datepicker-footer">        <div class="tui-timepicker-container"></div>      </div>    {{/if}}  {{else}}    <div class="tui-datepicker-body">      <div class="tui-calendar-container"></div>    </div>  {{/if}}</div>';
              return template(source, context);
            };
          },
          function(module3, exports3, __webpack_require__) {
            var defineClass = __webpack_require__(0);
            var CustomEvents = __webpack_require__(8);
            var on = __webpack_require__(31);
            var off = __webpack_require__(33);
            var DateTimeFormatter = __webpack_require__(30);
            var mouseTouchEvent = __webpack_require__(19);
            var util = __webpack_require__(4);
            var DEFAULT_FORMAT = "yyyy-MM-dd";
            var DatePickerInput = defineClass({
              init: function(inputElement, option) {
                option.format = option.format || DEFAULT_FORMAT;
                this._input = util.getElement(inputElement);
                this._id = option.id;
                this._titles = option.localeText.titles;
                this._formatter = new DateTimeFormatter(option.format, this._titles);
                this._setEvents();
              },
              changeLocaleTitles: function(titles) {
                this._titles = titles;
              },
              _setEvents: function() {
                if (this._input) {
                  on(this._input, "change", this._onChangeHandler, this);
                  mouseTouchEvent.on(this._input, "click", this._onClickHandler, this);
                }
              },
              _removeEvents: function() {
                this.off();
                if (this._input) {
                  off(this._input, "change", this._onChangeHandler);
                  mouseTouchEvent.off(this._input, "click", this._onClickHandler);
                }
              },
              _onChangeHandler: function() {
                this.fire("change");
              },
              _onClickHandler: function() {
                this.fire("click");
              },
              is: function(el) {
                return this._input === el;
              },
              enable: function() {
                if (this._input) {
                  this._input.removeAttribute("disabled");
                }
              },
              disable: function() {
                if (this._input) {
                  this._input.setAttribute("disabled", true);
                }
              },
              getFormat: function() {
                return this._formatter.getRawString();
              },
              setFormat: function(format) {
                if (!format) {
                  return;
                }
                this._formatter = new DateTimeFormatter(format, this._titles);
              },
              clearText: function() {
                if (this._input) {
                  this._input.value = "";
                }
              },
              setDate: function(date) {
                if (this._input) {
                  this._input.value = this._formatter.format(date);
                }
              },
              getDate: function() {
                var value = "";
                if (this._input) {
                  value = this._input.value;
                }
                return this._formatter.parse(value);
              },
              destroy: function() {
                this._removeEvents();
                this._input = this._id = this._formatter = null;
              }
            });
            CustomEvents.mixin(DatePickerInput);
            module3.exports = DatePickerInput;
          },
          function(module3, exports3, __webpack_require__) {
            var forEachArray = __webpack_require__(2);
            var defineClass = __webpack_require__(0);
            var CustomEvents = __webpack_require__(8);
            var addClass = __webpack_require__(16);
            var getData = __webpack_require__(26);
            var removeClass = __webpack_require__(18);
            var extend = __webpack_require__(7);
            var DatePicker = __webpack_require__(21);
            var dateUtil = __webpack_require__(5);
            var constants = __webpack_require__(1);
            var util = __webpack_require__(4);
            var CLASS_NAME_RANGE_PICKER = "tui-rangepicker";
            var CLASS_NAME_SELECTED = constants.CLASS_NAME_SELECTED;
            var CLASS_NAME_SELECTED_RANGE = "tui-is-selected-range";
            var DateRangePicker = defineClass({
              init: function(options) {
                var startpickerOpt, endpickerOpt;
                options = options || {};
                startpickerOpt = options.startpicker;
                endpickerOpt = options.endpicker;
                if (!startpickerOpt) {
                  throw new Error('The "startpicker" option is required.');
                }
                if (!endpickerOpt) {
                  throw new Error('The "endpicker" option is required.');
                }
                this._startpicker = null;
                this._endpicker = null;
                this._isRangeSet = false;
                this._preEndPickerDate = new Date().getDate();
                this._initializePickers(options);
                this._syncRangesToEndpicker();
              },
              _initializePickers: function(options) {
                var startpickerContainer = util.getElement(options.startpicker.container);
                var endpickerContainer = util.getElement(options.endpicker.container);
                var startInput = util.getElement(options.startpicker.input);
                var endInput = util.getElement(options.endpicker.input);
                var startpickerOpt = extend({}, options, {
                  input: {
                    element: startInput,
                    format: options.format
                  },
                  date: options.startpicker.date,
                  weekStartDay: options.startpicker.weekStartDay
                });
                var endpickerOpt = extend({}, options, {
                  input: {
                    element: endInput,
                    format: options.format
                  },
                  date: options.endpicker.date,
                  weekStartDay: options.endpicker.weekStartDay
                });
                this._startpicker = new DatePicker(startpickerContainer, startpickerOpt);
                this._startpicker.addCssClass(CLASS_NAME_RANGE_PICKER);
                this._startpicker.on("change", this._onChangeStartpicker, this);
                this._startpicker.on("draw", this._onDrawPicker, this);
                this._endpicker = new DatePicker(endpickerContainer, endpickerOpt);
                this._endpicker.addCssClass(CLASS_NAME_RANGE_PICKER);
                this._endpicker.on("change", this._onChangeEndpicker, this);
                this._endpicker.on("draw", this._onDrawPicker, this);
              },
              _onDrawPicker: function(eventData) {
                var calendarType = eventData.type;
                var startDate = this._startpicker.getDate();
                var endDate = this._endpicker.getDate();
                if (!startDate) {
                  return;
                }
                if (!endDate) {
                  endDate = new Date(NaN);
                }
                forEachArray(eventData.dateElements, function(el) {
                  var elDate = new Date(Number(getData(el, "timestamp")));
                  var isInRange = dateUtil.inRange(startDate, endDate, elDate, calendarType);
                  var isSelected = dateUtil.isSame(startDate, elDate, calendarType) || dateUtil.isSame(endDate, elDate, calendarType);
                  this._setRangeClass(el, isInRange);
                  this._setSelectedClass(el, isSelected);
                }, this);
              },
              _setRangeClass: function(el, isInRange) {
                if (isInRange) {
                  addClass(el, CLASS_NAME_SELECTED_RANGE);
                } else {
                  removeClass(el, CLASS_NAME_SELECTED_RANGE);
                }
              },
              _setSelectedClass: function(el, isSelected) {
                if (isSelected) {
                  addClass(el, CLASS_NAME_SELECTED);
                } else {
                  removeClass(el, CLASS_NAME_SELECTED);
                }
              },
              _syncRangesToEndpicker: function() {
                var startDate = this._startpicker.getDate();
                var overlappedRange;
                if (startDate) {
                  overlappedRange = this._startpicker.findOverlappedRange(dateUtil.cloneWithStartOf(startDate).getTime(), dateUtil.cloneWithEndOf(startDate).getTime());
                  this._endpicker.enable();
                  this._endpicker.setRanges([[startDate.getTime(), overlappedRange[1].getTime()]]);
                  this._setTimeRangeOnEndPicker();
                } else {
                  this._endpicker.setNull();
                  this._endpicker.disable();
                }
              },
              _onChangeStartpicker: function() {
                this._syncRangesToEndpicker();
                this.fire("change:start");
              },
              _onChangeEndpicker: function() {
                var date;
                var endPickerDate = this._endpicker.getDate();
                if (endPickerDate) {
                  date = endPickerDate.getDate();
                  if (this._preEndPickerDate !== date) {
                    this._setTimeRangeOnEndPicker();
                  }
                  this._preEndPickerDate = date;
                } else {
                  this._preEndPickerDate = null;
                }
                this.fire("change:end");
              },
              _setTimeRangeOnEndPicker: function() {
                var pickerDate, timeRange;
                var endTimePicker = this._endpicker._timePicker;
                if (!endTimePicker) {
                  return;
                }
                pickerDate = this._endpicker.getDate() || this._startpicker.getDate();
                timeRange = this._getTimeRangeFromStartPicker();
                if (pickerDate && timeRange[pickerDate.getDate()]) {
                  endTimePicker.setRange(timeRange[pickerDate.getDate()]);
                  this._isRangeSet = true;
                } else if (this._isRangeSet) {
                  endTimePicker.setRange({ hour: 0, minute: 0 });
                  endTimePicker.resetMinuteRange();
                  this._isRangeSet = false;
                }
              },
              _getTimeRangeFromStartPicker: function() {
                var startDate = this._startpicker.getDate();
                var timeRange = {};
                timeRange[startDate.getDate()] = {
                  hour: startDate.getHours(),
                  minute: startDate.getMinutes()
                };
                return timeRange;
              },
              getStartpicker: function() {
                return this._startpicker;
              },
              getEndpicker: function() {
                return this._endpicker;
              },
              setStartDate: function(date) {
                this._startpicker.setDate(date);
              },
              getStartDate: function() {
                return this._startpicker.getDate();
              },
              getEndDate: function() {
                return this._endpicker.getDate();
              },
              setEndDate: function(date) {
                this._endpicker.setDate(date);
              },
              setRanges: function(ranges) {
                this._startpicker.setRanges(ranges);
                this._syncRangesToEndpicker();
              },
              addRange: function(start, end) {
                this._startpicker.addRange(start, end);
                this._syncRangesToEndpicker();
              },
              removeRange: function(start, end, type) {
                this._startpicker.removeRange(start, end, type);
                this._syncRangesToEndpicker();
              },
              changeLanguage: function(language) {
                this._startpicker.changeLanguage(language);
                this._endpicker.changeLanguage(language);
              },
              destroy: function() {
                this.off();
                this._startpicker.destroy();
                this._endpicker.destroy();
                this._startpicker = this._endpicker = null;
              }
            });
            CustomEvents.mixin(DateRangePicker);
            module3.exports = DateRangePicker;
          },
          function(module3, exports3, __webpack_require__) {
          }
        ]);
      });
    })(tuiDatePicker);
    return tuiDatePicker.exports;
  }
  /*!
   * TOAST UI Calendar 2nd Edition
   * @version 2.1.3 | Tue Aug 16 2022
   * @author NHN Cloud FE Development Lab <dl_javascript@nhn.com>
   * @license MIT
   */
  (function(module2, exports2) {
    (function webpackUniversalModuleDefinition(root, factory) {
      module2.exports = factory(requireTuiDatePicker());
    })(commonjsGlobal, function(__WEBPACK_EXTERNAL_MODULE__4268__) {
      return function() {
        var __webpack_modules__ = {
          7111: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isCallable = __webpack_require__2(6733);
            var tryToString = __webpack_require__2(9821);
            var $TypeError = TypeError;
            module3.exports = function(argument) {
              if (isCallable(argument))
                return argument;
              throw $TypeError(tryToString(argument) + " is not a function");
            };
          },
          7988: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isConstructor = __webpack_require__2(2359);
            var tryToString = __webpack_require__2(9821);
            var $TypeError = TypeError;
            module3.exports = function(argument) {
              if (isConstructor(argument))
                return argument;
              throw $TypeError(tryToString(argument) + " is not a constructor");
            };
          },
          8505: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isCallable = __webpack_require__2(6733);
            var $String = String;
            var $TypeError = TypeError;
            module3.exports = function(argument) {
              if (typeof argument == "object" || isCallable(argument))
                return argument;
              throw $TypeError("Can't set " + $String(argument) + " as a prototype");
            };
          },
          9736: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var wellKnownSymbol = __webpack_require__2(95);
            var create = __webpack_require__2(2391);
            var defineProperty = __webpack_require__2(1787).f;
            var UNSCOPABLES = wellKnownSymbol("unscopables");
            var ArrayPrototype = Array.prototype;
            if (ArrayPrototype[UNSCOPABLES] == void 0) {
              defineProperty(ArrayPrototype, UNSCOPABLES, {
                configurable: true,
                value: create(null)
              });
            }
            module3.exports = function(key) {
              ArrayPrototype[UNSCOPABLES][key] = true;
            };
          },
          6637: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var charAt = __webpack_require__2(966).charAt;
            module3.exports = function(S, index, unicode) {
              return index + (unicode ? charAt(S, index).length : 1);
            };
          },
          7728: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isPrototypeOf = __webpack_require__2(1321);
            var $TypeError = TypeError;
            module3.exports = function(it, Prototype) {
              if (isPrototypeOf(Prototype, it))
                return it;
              throw $TypeError("Incorrect invocation");
            };
          },
          1176: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isObject = __webpack_require__2(5052);
            var $String = String;
            var $TypeError = TypeError;
            module3.exports = function(argument) {
              if (isObject(argument))
                return argument;
              throw $TypeError($String(argument) + " is not an object");
            };
          },
          2460: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            module3.exports = fails(function() {
              if (typeof ArrayBuffer == "function") {
                var buffer = new ArrayBuffer(8);
                if (Object.isExtensible(buffer))
                  Object.defineProperty(buffer, "a", { value: 8 });
              }
            });
          },
          7065: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var toObject = __webpack_require__2(2991);
            var toAbsoluteIndex = __webpack_require__2(3231);
            var lengthOfArrayLike = __webpack_require__2(9646);
            module3.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;
            };
          },
          6570: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var $forEach = __webpack_require__2(9996).forEach;
            var arrayMethodIsStrict = __webpack_require__2(6038);
            var STRICT_METHOD = arrayMethodIsStrict("forEach");
            module3.exports = !STRICT_METHOD ? function forEach(callbackfn) {
              return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
            } : [].forEach;
          },
          507: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var bind = __webpack_require__2(7636);
            var call = __webpack_require__2(266);
            var toObject = __webpack_require__2(2991);
            var callWithSafeIterationClosing = __webpack_require__2(4960);
            var isArrayIteratorMethod = __webpack_require__2(1943);
            var isConstructor = __webpack_require__2(2359);
            var lengthOfArrayLike = __webpack_require__2(9646);
            var createProperty = __webpack_require__2(2324);
            var getIterator = __webpack_require__2(8403);
            var getIteratorMethod = __webpack_require__2(8830);
            var $Array = Array;
            module3.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 = bind(mapfn, argumentsLength > 2 ? arguments[2] : void 0);
              var iteratorMethod = getIteratorMethod(O);
              var index = 0;
              var length, result, step, iterator, next, value;
              if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {
                iterator = getIterator(O, iteratorMethod);
                next = iterator.next;
                result = IS_CONSTRUCTOR ? new this() : [];
                for (; !(step = call(next, iterator)).done; index++) {
                  value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
                  createProperty(result, index, value);
                }
              } else {
                length = lengthOfArrayLike(O);
                result = IS_CONSTRUCTOR ? new this(length) : $Array(length);
                for (; length > index; index++) {
                  value = mapping ? mapfn(O[index], index) : O[index];
                  createProperty(result, index, value);
                }
              }
              result.length = index;
              return result;
            };
          },
          9540: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var toIndexedObject = __webpack_require__2(905);
            var toAbsoluteIndex = __webpack_require__2(3231);
            var lengthOfArrayLike = __webpack_require__2(9646);
            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;
              };
            };
            module3.exports = {
              includes: createMethod(true),
              indexOf: createMethod(false)
            };
          },
          9996: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var bind = __webpack_require__2(7636);
            var uncurryThis = __webpack_require__2(5968);
            var IndexedObject = __webpack_require__2(9337);
            var toObject = __webpack_require__2(2991);
            var lengthOfArrayLike = __webpack_require__2(9646);
            var arraySpeciesCreate = __webpack_require__2(7501);
            var push = uncurryThis([].push);
            var createMethod = function(TYPE) {
              var IS_MAP = TYPE == 1;
              var IS_FILTER = TYPE == 2;
              var IS_SOME = TYPE == 3;
              var IS_EVERY = TYPE == 4;
              var IS_FIND_INDEX = TYPE == 6;
              var IS_FILTER_REJECT = TYPE == 7;
              var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
              return function($this, callbackfn, that, specificCreate) {
                var O = toObject($this);
                var self2 = IndexedObject(O);
                var boundFunction = bind(callbackfn, that);
                var length = lengthOfArrayLike(self2);
                var index = 0;
                var create = specificCreate || arraySpeciesCreate;
                var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : void 0;
                var value, result;
                for (; length > index; index++)
                  if (NO_HOLES || index in self2) {
                    value = self2[index];
                    result = boundFunction(value, index, O);
                    if (TYPE) {
                      if (IS_MAP)
                        target[index] = result;
                      else if (result)
                        switch (TYPE) {
                          case 3:
                            return true;
                          case 5:
                            return value;
                          case 6:
                            return index;
                          case 2:
                            push(target, value);
                        }
                      else
                        switch (TYPE) {
                          case 4:
                            return false;
                          case 7:
                            push(target, value);
                        }
                    }
                  }
                return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
              };
            };
            module3.exports = {
              forEach: createMethod(0),
              map: createMethod(1),
              filter: createMethod(2),
              some: createMethod(3),
              every: createMethod(4),
              find: createMethod(5),
              findIndex: createMethod(6),
              filterReject: createMethod(7)
            };
          },
          1460: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            var wellKnownSymbol = __webpack_require__2(95);
            var V8_VERSION = __webpack_require__2(6358);
            var SPECIES = wellKnownSymbol("species");
            module3.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;
              });
            };
          },
          6038: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            module3.exports = function(METHOD_NAME, argument) {
              var method = [][METHOD_NAME];
              return !!method && fails(function() {
                method.call(null, argument || function() {
                  return 1;
                }, 1);
              });
            };
          },
          9794: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var toAbsoluteIndex = __webpack_require__2(3231);
            var lengthOfArrayLike = __webpack_require__2(9646);
            var createProperty = __webpack_require__2(2324);
            var $Array = Array;
            var max = Math.max;
            module3.exports = function(O, start, end) {
              var length = lengthOfArrayLike(O);
              var k = toAbsoluteIndex(start, length);
              var fin = toAbsoluteIndex(end === void 0 ? length : end, length);
              var result = $Array(max(fin - k, 0));
              for (var n = 0; k < fin; k++, n++)
                createProperty(result, n, O[k]);
              result.length = n;
              return result;
            };
          },
          1909: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            module3.exports = uncurryThis([].slice);
          },
          3867: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var arraySlice = __webpack_require__2(9794);
            var floor = Math.floor;
            var mergeSort = function(array, comparefn) {
              var length = array.length;
              var middle = floor(length / 2);
              return length < 8 ? insertionSort(array, comparefn) : merge(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 merge = 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;
            };
            module3.exports = mergeSort;
          },
          8760: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isArray = __webpack_require__2(3718);
            var isConstructor = __webpack_require__2(2359);
            var isObject = __webpack_require__2(5052);
            var wellKnownSymbol = __webpack_require__2(95);
            var SPECIES = wellKnownSymbol("species");
            var $Array = Array;
            module3.exports = function(originalArray) {
              var C;
              if (isArray(originalArray)) {
                C = originalArray.constructor;
                if (isConstructor(C) && (C === $Array || isArray(C.prototype)))
                  C = void 0;
                else if (isObject(C)) {
                  C = C[SPECIES];
                  if (C === null)
                    C = void 0;
                }
              }
              return C === void 0 ? $Array : C;
            };
          },
          7501: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var arraySpeciesConstructor = __webpack_require__2(8760);
            module3.exports = function(originalArray, length) {
              return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
            };
          },
          4960: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var anObject = __webpack_require__2(1176);
            var iteratorClose = __webpack_require__2(7281);
            module3.exports = function(iterator, fn, value, ENTRIES) {
              try {
                return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
              } catch (error) {
                iteratorClose(iterator, "throw", error);
              }
            };
          },
          4575: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var wellKnownSymbol = __webpack_require__2(95);
            var ITERATOR = wellKnownSymbol("iterator");
            var SAFE_CLOSING = false;
            try {
              var called = 0;
              var iteratorWithReturn = {
                next: function() {
                  return { done: !!called++ };
                },
                "return": function() {
                  SAFE_CLOSING = true;
                }
              };
              iteratorWithReturn[ITERATOR] = function() {
                return this;
              };
              Array.from(iteratorWithReturn, function() {
                throw 2;
              });
            } catch (error) {
            }
            module3.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;
            };
          },
          7079: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var toString = uncurryThis({}.toString);
            var stringSlice = uncurryThis("".slice);
            module3.exports = function(it) {
              return stringSlice(toString(it), 8, -1);
            };
          },
          1589: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var TO_STRING_TAG_SUPPORT = __webpack_require__2(1601);
            var isCallable = __webpack_require__2(6733);
            var classofRaw = __webpack_require__2(7079);
            var wellKnownSymbol = __webpack_require__2(95);
            var TO_STRING_TAG = wellKnownSymbol("toStringTag");
            var $Object = Object;
            var CORRECT_ARGUMENTS = classofRaw(function() {
              return arguments;
            }()) == "Arguments";
            var tryGet = function(it, key) {
              try {
                return it[key];
              } catch (error) {
              }
            };
            module3.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function(it) {
              var O, tag, result;
              return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == "string" ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == "Object" && isCallable(O.callee) ? "Arguments" : result;
            };
          },
          1590: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var $Error = Error;
            var replace = uncurryThis("".replace);
            var TEST = function(arg) {
              return String($Error(arg).stack);
            }("zxcasd");
            var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
            var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
            module3.exports = function(stack, dropEntries) {
              if (IS_V8_OR_CHAKRA_STACK && typeof stack == "string" && !$Error.prepareStackTrace) {
                while (dropEntries--)
                  stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, "");
              }
              return stack;
            };
          },
          8081: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var defineProperty = __webpack_require__2(1787).f;
            var create = __webpack_require__2(2391);
            var defineBuiltIns = __webpack_require__2(8312);
            var bind = __webpack_require__2(7636);
            var anInstance = __webpack_require__2(7728);
            var iterate = __webpack_require__2(9003);
            var defineIterator = __webpack_require__2(7675);
            var setSpecies = __webpack_require__2(1832);
            var DESCRIPTORS = __webpack_require__2(7400);
            var fastKey = __webpack_require__2(5926).fastKey;
            var InternalStateModule = __webpack_require__2(6407);
            var setInternalState = InternalStateModule.set;
            var internalStateGetterFor = InternalStateModule.getterFor;
            module3.exports = {
              getConstructor: function(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
                var Constructor = wrapper(function(that, iterable) {
                  anInstance(that, Prototype);
                  setInternalState(that, {
                    type: CONSTRUCTOR_NAME,
                    index: create(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;
                  }
                };
                defineBuiltIns(Prototype, {
                  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;
                  },
                  "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;
                  },
                  forEach: function forEach(callbackfn) {
                    var state = getInternalState(this);
                    var boundFunction = bind(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;
                    }
                  },
                  has: function has(key) {
                    return !!getEntry(this, key);
                  }
                });
                defineBuiltIns(Prototype, IS_MAP ? {
                  get: function get(key) {
                    var entry = getEntry(this, key);
                    return entry && entry.value;
                  },
                  set: function set(key, value) {
                    return define2(this, key === 0 ? 0 : key, value);
                  }
                } : {
                  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);
              }
            };
          },
          9789: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var global2 = __webpack_require__2(9859);
            var uncurryThis = __webpack_require__2(5968);
            var isForced = __webpack_require__2(6541);
            var defineBuiltIn = __webpack_require__2(4768);
            var InternalMetadataModule = __webpack_require__2(5926);
            var iterate = __webpack_require__2(9003);
            var anInstance = __webpack_require__2(7728);
            var isCallable = __webpack_require__2(6733);
            var isObject = __webpack_require__2(5052);
            var fails = __webpack_require__2(4229);
            var checkCorrectnessOfIteration = __webpack_require__2(4575);
            var setToStringTag = __webpack_require__2(4555);
            var inheritIfRequired = __webpack_require__2(835);
            module3.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]);
                defineBuiltIn(NativePrototype, KEY, KEY == "add" ? function add(value) {
                  uncurriedNativeMethod(this, value === 0 ? 0 : value);
                  return this;
                } : KEY == "delete" ? function(key) {
                  return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);
                } : KEY == "get" ? function get(key) {
                  return IS_WEAK && !isObject(key) ? void 0 : uncurriedNativeMethod(this, key === 0 ? 0 : key);
                } : KEY == "has" ? function has(key) {
                  return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);
                } : function set(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;
              $({ global: true, constructor: true, forced: Constructor != NativeConstructor }, exported);
              setToStringTag(Constructor, CONSTRUCTOR_NAME);
              if (!IS_WEAK)
                common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
              return Constructor;
            };
          },
          7081: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var hasOwn = __webpack_require__2(8270);
            var ownKeys = __webpack_require__2(4826);
            var getOwnPropertyDescriptorModule = __webpack_require__2(7933);
            var definePropertyModule = __webpack_require__2(1787);
            module3.exports = function(target, source, exceptions) {
              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 (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
                  defineProperty(target, key, getOwnPropertyDescriptor(source, key));
                }
              }
            };
          },
          8127: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var wellKnownSymbol = __webpack_require__2(95);
            var MATCH = wellKnownSymbol("match");
            module3.exports = function(METHOD_NAME) {
              var regexp = /./;
              try {
                "/./"[METHOD_NAME](regexp);
              } catch (error1) {
                try {
                  regexp[MATCH] = false;
                  return "/./"[METHOD_NAME](regexp);
                } catch (error2) {
                }
              }
              return false;
            };
          },
          7528: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            module3.exports = !fails(function() {
              function F() {
              }
              F.prototype.constructor = null;
              return Object.getPrototypeOf(new F()) !== F.prototype;
            });
          },
          3723: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var IteratorPrototype = __webpack_require__2(693).IteratorPrototype;
            var create = __webpack_require__2(2391);
            var createPropertyDescriptor = __webpack_require__2(5358);
            var setToStringTag = __webpack_require__2(4555);
            var Iterators = __webpack_require__2(5495);
            var returnThis = function() {
              return this;
            };
            module3.exports = function(IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
              var TO_STRING_TAG = NAME + " Iterator";
              IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
              setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
              Iterators[TO_STRING_TAG] = returnThis;
              return IteratorConstructor;
            };
          },
          5762: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var DESCRIPTORS = __webpack_require__2(7400);
            var definePropertyModule = __webpack_require__2(1787);
            var createPropertyDescriptor = __webpack_require__2(5358);
            module3.exports = DESCRIPTORS ? function(object, key, value) {
              return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
            } : function(object, key, value) {
              object[key] = value;
              return object;
            };
          },
          5358: function(module3) {
            module3.exports = function(bitmap, value) {
              return {
                enumerable: !(bitmap & 1),
                configurable: !(bitmap & 2),
                writable: !(bitmap & 4),
                value
              };
            };
          },
          2324: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var toPropertyKey = __webpack_require__2(9310);
            var definePropertyModule = __webpack_require__2(1787);
            var createPropertyDescriptor = __webpack_require__2(5358);
            module3.exports = function(object, key, value) {
              var propertyKey = toPropertyKey(key);
              if (propertyKey in object)
                definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
              else
                object[propertyKey] = value;
            };
          },
          6616: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var makeBuiltIn = __webpack_require__2(6039);
            var defineProperty = __webpack_require__2(1787);
            module3.exports = function(target, name, descriptor) {
              if (descriptor.get)
                makeBuiltIn(descriptor.get, name, { getter: true });
              if (descriptor.set)
                makeBuiltIn(descriptor.set, name, { setter: true });
              return defineProperty.f(target, name, descriptor);
            };
          },
          4768: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isCallable = __webpack_require__2(6733);
            var definePropertyModule = __webpack_require__2(1787);
            var makeBuiltIn = __webpack_require__2(6039);
            var defineGlobalProperty = __webpack_require__2(8400);
            module3.exports = function(O, key, value, options) {
              if (!options)
                options = {};
              var simple = options.enumerable;
              var name = options.name !== void 0 ? options.name : key;
              if (isCallable(value))
                makeBuiltIn(value, name, options);
              if (options.global) {
                if (simple)
                  O[key] = value;
                else
                  defineGlobalProperty(key, value);
              } else {
                try {
                  if (!options.unsafe)
                    delete O[key];
                  else if (O[key])
                    simple = true;
                } catch (error) {
                }
                if (simple)
                  O[key] = value;
                else
                  definePropertyModule.f(O, key, {
                    value,
                    enumerable: false,
                    configurable: !options.nonConfigurable,
                    writable: !options.nonWritable
                  });
              }
              return O;
            };
          },
          8312: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var defineBuiltIn = __webpack_require__2(4768);
            module3.exports = function(target, src, options) {
              for (var key in src)
                defineBuiltIn(target, key, src[key], options);
              return target;
            };
          },
          8400: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            var defineProperty = Object.defineProperty;
            module3.exports = function(key, value) {
              try {
                defineProperty(global2, key, { value, configurable: true, writable: true });
              } catch (error) {
                global2[key] = value;
              }
              return value;
            };
          },
          7675: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var call = __webpack_require__2(266);
            var IS_PURE = __webpack_require__2(4231);
            var FunctionName = __webpack_require__2(1805);
            var isCallable = __webpack_require__2(6733);
            var createIteratorConstructor = __webpack_require__2(3723);
            var getPrototypeOf = __webpack_require__2(7567);
            var setPrototypeOf = __webpack_require__2(6540);
            var setToStringTag = __webpack_require__2(4555);
            var createNonEnumerableProperty = __webpack_require__2(5762);
            var defineBuiltIn = __webpack_require__2(4768);
            var wellKnownSymbol = __webpack_require__2(95);
            var Iterators = __webpack_require__2(5495);
            var IteratorsCore = __webpack_require__2(693);
            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 returnThis = function() {
              return this;
            };
            module3.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 values() {
                      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 (setPrototypeOf) {
                      setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
                    } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {
                      defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);
                    }
                  }
                  setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
                  if (IS_PURE)
                    Iterators[TO_STRING_TAG] = returnThis;
                }
              }
              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 values() {
                    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)) {
                      defineBuiltIn(IterablePrototype, KEY, methods[KEY]);
                    }
                  }
                else
                  $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
              }
              if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
                defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });
              }
              Iterators[NAME] = defaultIterator;
              return methods;
            };
          },
          8423: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var path = __webpack_require__2(9276);
            var hasOwn = __webpack_require__2(8270);
            var wrappedWellKnownSymbolModule = __webpack_require__2(5391);
            var defineProperty = __webpack_require__2(1787).f;
            module3.exports = function(NAME) {
              var Symbol2 = path.Symbol || (path.Symbol = {});
              if (!hasOwn(Symbol2, NAME))
                defineProperty(Symbol2, NAME, {
                  value: wrappedWellKnownSymbolModule.f(NAME)
                });
            };
          },
          9563: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var tryToString = __webpack_require__2(9821);
            var $TypeError = TypeError;
            module3.exports = function(O, P) {
              if (!delete O[P])
                throw $TypeError("Cannot delete property " + tryToString(P) + " of " + tryToString(O));
            };
          },
          7400: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            module3.exports = !fails(function() {
              return Object.defineProperty({}, 1, { get: function() {
                return 7;
              } })[1] != 7;
            });
          },
          2635: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            var isObject = __webpack_require__2(5052);
            var document2 = global2.document;
            var EXISTS = isObject(document2) && isObject(document2.createElement);
            module3.exports = function(it) {
              return EXISTS ? document2.createElement(it) : {};
            };
          },
          3064: function(module3) {
            var $TypeError = TypeError;
            var MAX_SAFE_INTEGER = 9007199254740991;
            module3.exports = function(it) {
              if (it > MAX_SAFE_INTEGER)
                throw $TypeError("Maximum allowed index exceeded");
              return it;
            };
          },
          5694: function(module3) {
            module3.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
            };
          },
          8865: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var documentCreateElement = __webpack_require__2(2635);
            var classList = documentCreateElement("span").classList;
            var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;
            module3.exports = DOMTokenListPrototype === Object.prototype ? void 0 : DOMTokenListPrototype;
          },
          2671: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var userAgent = __webpack_require__2(598);
            var firefox = userAgent.match(/firefox\/(\d+)/i);
            module3.exports = !!firefox && +firefox[1];
          },
          8639: function(module3) {
            module3.exports = typeof window == "object" && typeof Deno != "object";
          },
          8506: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var UA = __webpack_require__2(598);
            module3.exports = /MSIE|Trident/.test(UA);
          },
          8983: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var userAgent = __webpack_require__2(598);
            var global2 = __webpack_require__2(9859);
            module3.exports = /ipad|iphone|ipod/i.test(userAgent) && global2.Pebble !== void 0;
          },
          2023: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var userAgent = __webpack_require__2(598);
            module3.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);
          },
          8801: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var classof = __webpack_require__2(7079);
            var global2 = __webpack_require__2(9859);
            module3.exports = classof(global2.process) == "process";
          },
          263: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var userAgent = __webpack_require__2(598);
            module3.exports = /web0s(?!.*chrome)/i.test(userAgent);
          },
          598: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var getBuiltIn = __webpack_require__2(1333);
            module3.exports = getBuiltIn("navigator", "userAgent") || "";
          },
          6358: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            var userAgent = __webpack_require__2(598);
            var process = global2.process;
            var Deno2 = global2.Deno;
            var versions = process && process.versions || Deno2 && Deno2.version;
            var v8 = versions && versions.v8;
            var match, version;
            if (v8) {
              match = v8.split(".");
              version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
            }
            if (!version && userAgent) {
              match = userAgent.match(/Edge\/(\d+)/);
              if (!match || match[1] >= 74) {
                match = userAgent.match(/Chrome\/(\d+)/);
                if (match)
                  version = +match[1];
              }
            }
            module3.exports = version;
          },
          9811: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var userAgent = __webpack_require__2(598);
            var webkit = userAgent.match(/AppleWebKit\/(\d+)\./);
            module3.exports = !!webkit && +webkit[1];
          },
          3837: function(module3) {
            module3.exports = [
              "constructor",
              "hasOwnProperty",
              "isPrototypeOf",
              "propertyIsEnumerable",
              "toLocaleString",
              "toString",
              "valueOf"
            ];
          },
          373: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            var createPropertyDescriptor = __webpack_require__2(5358);
            module3.exports = !fails(function() {
              var error = Error("a");
              if (!("stack" in error))
                return true;
              Object.defineProperty(error, "stack", createPropertyDescriptor(1, 7));
              return error.stack !== 7;
            });
          },
          3103: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            var getOwnPropertyDescriptor = __webpack_require__2(7933).f;
            var createNonEnumerableProperty = __webpack_require__2(5762);
            var defineBuiltIn = __webpack_require__2(4768);
            var defineGlobalProperty = __webpack_require__2(8400);
            var copyConstructorProperties = __webpack_require__2(7081);
            var isForced = __webpack_require__2(6541);
            module3.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] || defineGlobalProperty(TARGET, {});
              } else {
                target = (global2[TARGET] || {}).prototype;
              }
              if (target)
                for (key in source) {
                  sourceProperty = source[key];
                  if (options.dontCallGetSet) {
                    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);
                  }
                  defineBuiltIn(target, key, sourceProperty, options);
                }
            };
          },
          4229: function(module3) {
            module3.exports = function(exec) {
              try {
                return !!exec();
              } catch (error) {
                return true;
              }
            };
          },
          4954: function(module3, __unused_webpack_exports, __webpack_require__2) {
            __webpack_require__2(7950);
            var uncurryThis = __webpack_require__2(5968);
            var defineBuiltIn = __webpack_require__2(4768);
            var regexpExec = __webpack_require__2(3466);
            var fails = __webpack_require__2(4229);
            var wellKnownSymbol = __webpack_require__2(95);
            var createNonEnumerableProperty = __webpack_require__2(5762);
            var SPECIES = wellKnownSymbol("species");
            var RegExpPrototype = RegExp.prototype;
            module3.exports = function(KEY, exec, FORCED, SHAM) {
              var SYMBOL = wellKnownSymbol(KEY);
              var DELEGATES_TO_SYMBOL = !fails(function() {
                var O = {};
                O[SYMBOL] = function() {
                  return 7;
                };
                return ""[KEY](O) != 7;
              });
              var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function() {
                var execCalled = false;
                var re = /a/;
                if (KEY === "split") {
                  re = {};
                  re.constructor = {};
                  re.constructor[SPECIES] = function() {
                    return re;
                  };
                  re.flags = "";
                  re[SYMBOL] = /./[SYMBOL];
                }
                re.exec = function() {
                  execCalled = true;
                  return null;
                };
                re[SYMBOL]("");
                return !execCalled;
              });
              if (!DELEGATES_TO_SYMBOL || !DELEGATES_TO_EXEC || FORCED) {
                var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]);
                var methods = exec(SYMBOL, ""[KEY], function(nativeMethod, regexp, str, arg2, forceStringMethod) {
                  var uncurriedNativeMethod = uncurryThis(nativeMethod);
                  var $exec = regexp.exec;
                  if ($exec === regexpExec || $exec === RegExpPrototype.exec) {
                    if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
                      return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };
                    }
                    return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };
                  }
                  return { done: false };
                });
                defineBuiltIn(String.prototype, KEY, methods[0]);
                defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);
              }
              if (SHAM)
                createNonEnumerableProperty(RegExpPrototype[SYMBOL], "sham", true);
            };
          },
          4990: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isArray = __webpack_require__2(3718);
            var lengthOfArrayLike = __webpack_require__2(9646);
            var doesNotExceedSafeInteger = __webpack_require__2(3064);
            var bind = __webpack_require__2(7636);
            var flattenIntoArray = function(target, original, source, sourceLen, start, depth, mapper, thisArg) {
              var targetIndex = start;
              var sourceIndex = 0;
              var mapFn = mapper ? bind(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 && isArray(element)) {
                    elementLen = lengthOfArrayLike(element);
                    targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;
                  } else {
                    doesNotExceedSafeInteger(targetIndex + 1);
                    target[targetIndex] = element;
                  }
                  targetIndex++;
                }
                sourceIndex++;
              }
              return targetIndex;
            };
            module3.exports = flattenIntoArray;
          },
          8476: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            module3.exports = !fails(function() {
              return Object.isExtensible(Object.preventExtensions({}));
            });
          },
          3171: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var NATIVE_BIND = __webpack_require__2(7188);
            var FunctionPrototype = Function.prototype;
            var apply = FunctionPrototype.apply;
            var call = FunctionPrototype.call;
            module3.exports = typeof Reflect == "object" && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function() {
              return call.apply(apply, arguments);
            });
          },
          7636: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var aCallable = __webpack_require__2(7111);
            var NATIVE_BIND = __webpack_require__2(7188);
            var bind = uncurryThis(uncurryThis.bind);
            module3.exports = function(fn, that) {
              aCallable(fn);
              return that === void 0 ? fn : NATIVE_BIND ? bind(fn, that) : function() {
                return fn.apply(that, arguments);
              };
            };
          },
          7188: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            module3.exports = !fails(function() {
              var test = function() {
              }.bind();
              return typeof test != "function" || test.hasOwnProperty("prototype");
            });
          },
          4128: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var aCallable = __webpack_require__2(7111);
            var isObject = __webpack_require__2(5052);
            var hasOwn = __webpack_require__2(8270);
            var arraySlice = __webpack_require__2(1909);
            var NATIVE_BIND = __webpack_require__2(7188);
            var $Function = Function;
            var concat = uncurryThis([].concat);
            var join = uncurryThis([].join);
            var factories = {};
            var construct = function(C, argsLength, args) {
              if (!hasOwn(factories, argsLength)) {
                for (var list = [], i = 0; i < argsLength; i++)
                  list[i] = "a[" + i + "]";
                factories[argsLength] = $Function("C,a", "return new C(" + join(list, ",") + ")");
              }
              return factories[argsLength](C, args);
            };
            module3.exports = NATIVE_BIND ? $Function.bind : function bind(that) {
              var F = aCallable(this);
              var Prototype = F.prototype;
              var partArgs = arraySlice(arguments, 1);
              var boundFunction = function bound() {
                var args = concat(partArgs, arraySlice(arguments));
                return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);
              };
              if (isObject(Prototype))
                boundFunction.prototype = Prototype;
              return boundFunction;
            };
          },
          266: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var NATIVE_BIND = __webpack_require__2(7188);
            var call = Function.prototype.call;
            module3.exports = NATIVE_BIND ? call.bind(call) : function() {
              return call.apply(call, arguments);
            };
          },
          1805: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var DESCRIPTORS = __webpack_require__2(7400);
            var hasOwn = __webpack_require__2(8270);
            var FunctionPrototype = Function.prototype;
            var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
            var EXISTS = hasOwn(FunctionPrototype, "name");
            var PROPER = EXISTS && function something() {
            }.name === "something";
            var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, "name").configurable);
            module3.exports = {
              EXISTS,
              PROPER,
              CONFIGURABLE
            };
          },
          5968: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var NATIVE_BIND = __webpack_require__2(7188);
            var FunctionPrototype = Function.prototype;
            var bind = FunctionPrototype.bind;
            var call = FunctionPrototype.call;
            var uncurryThis = NATIVE_BIND && bind.bind(call, call);
            module3.exports = NATIVE_BIND ? function(fn) {
              return fn && uncurryThis(fn);
            } : function(fn) {
              return fn && function() {
                return call.apply(fn, arguments);
              };
            };
          },
          1333: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            var isCallable = __webpack_require__2(6733);
            var aFunction = function(argument) {
              return isCallable(argument) ? argument : void 0;
            };
            module3.exports = function(namespace, method) {
              return arguments.length < 2 ? aFunction(global2[namespace]) : global2[namespace] && global2[namespace][method];
            };
          },
          8830: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var classof = __webpack_require__2(1589);
            var getMethod = __webpack_require__2(5300);
            var Iterators = __webpack_require__2(5495);
            var wellKnownSymbol = __webpack_require__2(95);
            var ITERATOR = wellKnownSymbol("iterator");
            module3.exports = function(it) {
              if (it != void 0)
                return getMethod(it, ITERATOR) || getMethod(it, "@@iterator") || Iterators[classof(it)];
            };
          },
          8403: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var call = __webpack_require__2(266);
            var aCallable = __webpack_require__2(7111);
            var anObject = __webpack_require__2(1176);
            var tryToString = __webpack_require__2(9821);
            var getIteratorMethod = __webpack_require__2(8830);
            var $TypeError = TypeError;
            module3.exports = function(argument, usingIterator) {
              var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
              if (aCallable(iteratorMethod))
                return anObject(call(iteratorMethod, argument));
              throw $TypeError(tryToString(argument) + " is not iterable");
            };
          },
          5300: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var aCallable = __webpack_require__2(7111);
            module3.exports = function(V, P) {
              var func = V[P];
              return func == null ? void 0 : aCallable(func);
            };
          },
          17: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var toObject = __webpack_require__2(2991);
            var floor = Math.floor;
            var charAt = uncurryThis("".charAt);
            var replace = uncurryThis("".replace);
            var stringSlice = uncurryThis("".slice);
            var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
            var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
            module3.exports = function(matched, str, position, captures, namedCaptures, replacement) {
              var tailPos = position + matched.length;
              var m = captures.length;
              var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
              if (namedCaptures !== void 0) {
                namedCaptures = toObject(namedCaptures);
                symbols = SUBSTITUTION_SYMBOLS;
              }
              return replace(replacement, symbols, function(match, ch) {
                var capture;
                switch (charAt(ch, 0)) {
                  case "$":
                    return "$";
                  case "&":
                    return matched;
                  case "`":
                    return stringSlice(str, 0, position);
                  case "'":
                    return stringSlice(str, tailPos);
                  case "<":
                    capture = namedCaptures[stringSlice(ch, 1, -1)];
                    break;
                  default:
                    var n = +ch;
                    if (n === 0)
                      return match;
                    if (n > m) {
                      var f = floor(n / 10);
                      if (f === 0)
                        return match;
                      if (f <= m)
                        return captures[f - 1] === void 0 ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);
                      return match;
                    }
                    capture = captures[n - 1];
                }
                return capture === void 0 ? "" : capture;
              });
            };
          },
          9859: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var check = function(it) {
              return it && it.Math == Math && it;
            };
            module3.exports = check(typeof globalThis == "object" && globalThis) || check(typeof window == "object" && window) || check(typeof self == "object" && self) || check(typeof __webpack_require__2.g == "object" && __webpack_require__2.g) || function() {
              return this;
            }() || Function("return this")();
          },
          8270: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var toObject = __webpack_require__2(2991);
            var hasOwnProperty = uncurryThis({}.hasOwnProperty);
            module3.exports = Object.hasOwn || function hasOwn(it, key) {
              return hasOwnProperty(toObject(it), key);
            };
          },
          5977: function(module3) {
            module3.exports = {};
          },
          4665: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            module3.exports = function(a, b) {
              var console2 = global2.console;
              if (console2 && console2.error) {
                arguments.length == 1 ? console2.error(a) : console2.error(a, b);
              }
            };
          },
          3777: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var getBuiltIn = __webpack_require__2(1333);
            module3.exports = getBuiltIn("document", "documentElement");
          },
          4394: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var DESCRIPTORS = __webpack_require__2(7400);
            var fails = __webpack_require__2(4229);
            var createElement = __webpack_require__2(2635);
            module3.exports = !DESCRIPTORS && !fails(function() {
              return Object.defineProperty(createElement("div"), "a", {
                get: function() {
                  return 7;
                }
              }).a != 7;
            });
          },
          9337: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var fails = __webpack_require__2(4229);
            var classof = __webpack_require__2(7079);
            var $Object = Object;
            var split = uncurryThis("".split);
            module3.exports = fails(function() {
              return !$Object("z").propertyIsEnumerable(0);
            }) ? function(it) {
              return classof(it) == "String" ? split(it, "") : $Object(it);
            } : $Object;
          },
          835: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isCallable = __webpack_require__2(6733);
            var isObject = __webpack_require__2(5052);
            var setPrototypeOf = __webpack_require__2(6540);
            module3.exports = function($this, dummy, Wrapper) {
              var NewTarget, NewTargetPrototype;
              if (setPrototypeOf && isCallable(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)
                setPrototypeOf($this, NewTargetPrototype);
              return $this;
            };
          },
          8511: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var isCallable = __webpack_require__2(6733);
            var store = __webpack_require__2(5353);
            var functionToString = uncurryThis(Function.toString);
            if (!isCallable(store.inspectSource)) {
              store.inspectSource = function(it) {
                return functionToString(it);
              };
            }
            module3.exports = store.inspectSource;
          },
          9679: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isObject = __webpack_require__2(5052);
            var createNonEnumerableProperty = __webpack_require__2(5762);
            module3.exports = function(O, options) {
              if (isObject(options) && "cause" in options) {
                createNonEnumerableProperty(O, "cause", options.cause);
              }
            };
          },
          5926: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var uncurryThis = __webpack_require__2(5968);
            var hiddenKeys = __webpack_require__2(5977);
            var isObject = __webpack_require__2(5052);
            var hasOwn = __webpack_require__2(8270);
            var defineProperty = __webpack_require__2(1787).f;
            var getOwnPropertyNamesModule = __webpack_require__2(8151);
            var getOwnPropertyNamesExternalModule = __webpack_require__2(166);
            var isExtensible = __webpack_require__2(5343);
            var uid = __webpack_require__2(1441);
            var FREEZING = __webpack_require__2(8476);
            var REQUIRED = false;
            var METADATA = uid("meta");
            var id = 0;
            var setMetadata = function(it) {
              defineProperty(it, METADATA, { value: {
                objectID: "O" + id++,
                weakData: {}
              } });
            };
            var fastKey = function(it, create) {
              if (!isObject(it))
                return typeof it == "symbol" ? it : (typeof it == "string" ? "S" : "P") + it;
              if (!hasOwn(it, METADATA)) {
                if (!isExtensible(it))
                  return "F";
                if (!create)
                  return "E";
                setMetadata(it);
              }
              return it[METADATA].objectID;
            };
            var getWeakData = function(it, create) {
              if (!hasOwn(it, METADATA)) {
                if (!isExtensible(it))
                  return true;
                if (!create)
                  return false;
                setMetadata(it);
              }
              return it[METADATA].weakData;
            };
            var onFreeze = function(it) {
              if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA))
                setMetadata(it);
              return it;
            };
            var enable = function() {
              meta.enable = function() {
              };
              REQUIRED = true;
              var getOwnPropertyNames = getOwnPropertyNamesModule.f;
              var splice = uncurryThis([].splice);
              var test = {};
              test[METADATA] = 1;
              if (getOwnPropertyNames(test).length) {
                getOwnPropertyNamesModule.f = function(it) {
                  var result = getOwnPropertyNames(it);
                  for (var i = 0, length = result.length; i < length; i++) {
                    if (result[i] === METADATA) {
                      splice(result, i, 1);
                      break;
                    }
                  }
                  return result;
                };
                $({ target: "Object", stat: true, forced: true }, {
                  getOwnPropertyNames: getOwnPropertyNamesExternalModule.f
                });
              }
            };
            var meta = module3.exports = {
              enable,
              fastKey,
              getWeakData,
              onFreeze
            };
            hiddenKeys[METADATA] = true;
          },
          6407: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var NATIVE_WEAK_MAP = __webpack_require__2(8694);
            var global2 = __webpack_require__2(9859);
            var uncurryThis = __webpack_require__2(5968);
            var isObject = __webpack_require__2(5052);
            var createNonEnumerableProperty = __webpack_require__2(5762);
            var hasOwn = __webpack_require__2(8270);
            var shared = __webpack_require__2(5353);
            var sharedKey = __webpack_require__2(4399);
            var hiddenKeys = __webpack_require__2(5977);
            var OBJECT_ALREADY_INITIALIZED = "Object already initialized";
            var TypeError2 = global2.TypeError;
            var WeakMap = global2.WeakMap;
            var set, get, has;
            var enforce = function(it) {
              return has(it) ? get(it) : set(it, {});
            };
            var getterFor = function(TYPE) {
              return function(it) {
                var state;
                if (!isObject(it) || (state = get(it)).type !== TYPE) {
                  throw TypeError2("Incompatible receiver, " + TYPE + " required");
                }
                return state;
              };
            };
            if (NATIVE_WEAK_MAP || shared.state) {
              var store = shared.state || (shared.state = new WeakMap());
              var wmget = uncurryThis(store.get);
              var wmhas = uncurryThis(store.has);
              var wmset = uncurryThis(store.set);
              set = function(it, metadata) {
                if (wmhas(store, it))
                  throw new TypeError2(OBJECT_ALREADY_INITIALIZED);
                metadata.facade = it;
                wmset(store, it, metadata);
                return metadata;
              };
              get = function(it) {
                return wmget(store, it) || {};
              };
              has = function(it) {
                return wmhas(store, it);
              };
            } else {
              var STATE = sharedKey("state");
              hiddenKeys[STATE] = true;
              set = function(it, metadata) {
                if (hasOwn(it, STATE))
                  throw new TypeError2(OBJECT_ALREADY_INITIALIZED);
                metadata.facade = it;
                createNonEnumerableProperty(it, STATE, metadata);
                return metadata;
              };
              get = function(it) {
                return hasOwn(it, STATE) ? it[STATE] : {};
              };
              has = function(it) {
                return hasOwn(it, STATE);
              };
            }
            module3.exports = {
              set,
              get,
              has,
              enforce,
              getterFor
            };
          },
          1943: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var wellKnownSymbol = __webpack_require__2(95);
            var Iterators = __webpack_require__2(5495);
            var ITERATOR = wellKnownSymbol("iterator");
            var ArrayPrototype = Array.prototype;
            module3.exports = function(it) {
              return it !== void 0 && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
            };
          },
          3718: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var classof = __webpack_require__2(7079);
            module3.exports = Array.isArray || function isArray(argument) {
              return classof(argument) == "Array";
            };
          },
          6733: function(module3) {
            module3.exports = function(argument) {
              return typeof argument == "function";
            };
          },
          2359: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var fails = __webpack_require__2(4229);
            var isCallable = __webpack_require__2(6733);
            var classof = __webpack_require__2(1589);
            var getBuiltIn = __webpack_require__2(1333);
            var inspectSource = __webpack_require__2(8511);
            var noop = 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(noop);
            var isConstructorModern = function isConstructor(argument) {
              if (!isCallable(argument))
                return false;
              try {
                construct(noop, empty, argument);
                return true;
              } catch (error) {
                return false;
              }
            };
            var isConstructorLegacy = function isConstructor(argument) {
              if (!isCallable(argument))
                return false;
              switch (classof(argument)) {
                case "AsyncFunction":
                case "GeneratorFunction":
                case "AsyncGeneratorFunction":
                  return false;
              }
              try {
                return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
              } catch (error) {
                return true;
              }
            };
            isConstructorLegacy.sham = true;
            module3.exports = !construct || fails(function() {
              var called;
              return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function() {
                called = true;
              }) || called;
            }) ? isConstructorLegacy : isConstructorModern;
          },
          193: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var hasOwn = __webpack_require__2(8270);
            module3.exports = function(descriptor) {
              return descriptor !== void 0 && (hasOwn(descriptor, "value") || hasOwn(descriptor, "writable"));
            };
          },
          6541: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            var isCallable = __webpack_require__2(6733);
            var replacement = /#|\.prototype\./;
            var isForced = function(feature, detection) {
              var value = data[normalize(feature)];
              return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;
            };
            var normalize = isForced.normalize = function(string) {
              return String(string).replace(replacement, ".").toLowerCase();
            };
            var data = isForced.data = {};
            var NATIVE = isForced.NATIVE = "N";
            var POLYFILL = isForced.POLYFILL = "P";
            module3.exports = isForced;
          },
          5052: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isCallable = __webpack_require__2(6733);
            module3.exports = function(it) {
              return typeof it == "object" ? it !== null : isCallable(it);
            };
          },
          4231: function(module3) {
            module3.exports = false;
          },
          8311: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isObject = __webpack_require__2(5052);
            var classof = __webpack_require__2(7079);
            var wellKnownSymbol = __webpack_require__2(95);
            var MATCH = wellKnownSymbol("match");
            module3.exports = function(it) {
              var isRegExp;
              return isObject(it) && ((isRegExp = it[MATCH]) !== void 0 ? !!isRegExp : classof(it) == "RegExp");
            };
          },
          9395: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var getBuiltIn = __webpack_require__2(1333);
            var isCallable = __webpack_require__2(6733);
            var isPrototypeOf = __webpack_require__2(1321);
            var USE_SYMBOL_AS_UID = __webpack_require__2(6969);
            var $Object = Object;
            module3.exports = USE_SYMBOL_AS_UID ? function(it) {
              return typeof it == "symbol";
            } : function(it) {
              var $Symbol = getBuiltIn("Symbol");
              return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));
            };
          },
          9003: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var bind = __webpack_require__2(7636);
            var call = __webpack_require__2(266);
            var anObject = __webpack_require__2(1176);
            var tryToString = __webpack_require__2(9821);
            var isArrayIteratorMethod = __webpack_require__2(1943);
            var lengthOfArrayLike = __webpack_require__2(9646);
            var isPrototypeOf = __webpack_require__2(1321);
            var getIterator = __webpack_require__2(8403);
            var getIteratorMethod = __webpack_require__2(8830);
            var iteratorClose = __webpack_require__2(7281);
            var $TypeError = TypeError;
            var Result = function(stopped, result) {
              this.stopped = stopped;
              this.result = result;
            };
            var ResultPrototype = Result.prototype;
            module3.exports = function(iterable, unboundFunction, options) {
              var that = options && options.that;
              var AS_ENTRIES = !!(options && options.AS_ENTRIES);
              var IS_RECORD = !!(options && options.IS_RECORD);
              var IS_ITERATOR = !!(options && options.IS_ITERATOR);
              var INTERRUPTED = !!(options && options.INTERRUPTED);
              var fn = bind(unboundFunction, that);
              var iterator, iterFn, index, length, result, 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_RECORD) {
                iterator = iterable.iterator;
              } else if (IS_ITERATOR) {
                iterator = iterable;
              } else {
                iterFn = getIteratorMethod(iterable);
                if (!iterFn)
                  throw $TypeError(tryToString(iterable) + " is not iterable");
                if (isArrayIteratorMethod(iterFn)) {
                  for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
                    result = callFn(iterable[index]);
                    if (result && isPrototypeOf(ResultPrototype, result))
                      return result;
                  }
                  return new Result(false);
                }
                iterator = getIterator(iterable, iterFn);
              }
              next = IS_RECORD ? iterable.next : iterator.next;
              while (!(step = call(next, iterator)).done) {
                try {
                  result = callFn(step.value);
                } catch (error) {
                  iteratorClose(iterator, "throw", error);
                }
                if (typeof result == "object" && result && isPrototypeOf(ResultPrototype, result))
                  return result;
              }
              return new Result(false);
            };
          },
          7281: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var call = __webpack_require__2(266);
            var anObject = __webpack_require__2(1176);
            var getMethod = __webpack_require__2(5300);
            module3.exports = function(iterator, kind, value) {
              var innerResult, innerError;
              anObject(iterator);
              try {
                innerResult = getMethod(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;
            };
          },
          693: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            var isCallable = __webpack_require__2(6733);
            var create = __webpack_require__2(2391);
            var getPrototypeOf = __webpack_require__2(7567);
            var defineBuiltIn = __webpack_require__2(4768);
            var wellKnownSymbol = __webpack_require__2(95);
            var IS_PURE = __webpack_require__2(4231);
            var ITERATOR = wellKnownSymbol("iterator");
            var BUGGY_SAFARI_ITERATORS = false;
            var IteratorPrototype, PrototypeOfArrayIteratorPrototype, 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 test = {};
              return IteratorPrototype[ITERATOR].call(test) !== test;
            });
            if (NEW_ITERATOR_PROTOTYPE)
              IteratorPrototype = {};
            else if (IS_PURE)
              IteratorPrototype = create(IteratorPrototype);
            if (!isCallable(IteratorPrototype[ITERATOR])) {
              defineBuiltIn(IteratorPrototype, ITERATOR, function() {
                return this;
              });
            }
            module3.exports = {
              IteratorPrototype,
              BUGGY_SAFARI_ITERATORS
            };
          },
          5495: function(module3) {
            module3.exports = {};
          },
          9646: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var toLength = __webpack_require__2(4237);
            module3.exports = function(obj) {
              return toLength(obj.length);
            };
          },
          6039: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            var isCallable = __webpack_require__2(6733);
            var hasOwn = __webpack_require__2(8270);
            var DESCRIPTORS = __webpack_require__2(7400);
            var CONFIGURABLE_FUNCTION_NAME = __webpack_require__2(1805).CONFIGURABLE;
            var inspectSource = __webpack_require__2(8511);
            var InternalStateModule = __webpack_require__2(6407);
            var enforceInternalState = InternalStateModule.enforce;
            var getInternalState = InternalStateModule.get;
            var defineProperty = Object.defineProperty;
            var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function() {
              return defineProperty(function() {
              }, "length", { value: 8 }).length !== 8;
            });
            var TEMPLATE = String(String).split("String");
            var makeBuiltIn = module3.exports = function(value, name, options) {
              if (String(name).slice(0, 7) === "Symbol(") {
                name = "[" + String(name).replace(/^Symbol\(([^)]*)\)/, "$1") + "]";
              }
              if (options && options.getter)
                name = "get " + name;
              if (options && options.setter)
                name = "set " + name;
              if (!hasOwn(value, "name") || CONFIGURABLE_FUNCTION_NAME && value.name !== name) {
                if (DESCRIPTORS)
                  defineProperty(value, "name", { value: name, configurable: true });
                else
                  value.name = name;
              }
              if (CONFIGURABLE_LENGTH && options && hasOwn(options, "arity") && value.length !== options.arity) {
                defineProperty(value, "length", { value: options.arity });
              }
              try {
                if (options && hasOwn(options, "constructor") && options.constructor) {
                  if (DESCRIPTORS)
                    defineProperty(value, "prototype", { writable: false });
                } else if (value.prototype)
                  value.prototype = void 0;
              } catch (error) {
              }
              var state = enforceInternalState(value);
              if (!hasOwn(state, "source")) {
                state.source = TEMPLATE.join(typeof name == "string" ? name : "");
              }
              return value;
            };
            Function.prototype.toString = makeBuiltIn(function toString() {
              return isCallable(this) && getInternalState(this).source || inspectSource(this);
            }, "toString");
          },
          917: function(module3) {
            var ceil = Math.ceil;
            var floor = Math.floor;
            module3.exports = Math.trunc || function trunc(x) {
              var n = +x;
              return (n > 0 ? floor : ceil)(n);
            };
          },
          4794: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            var bind = __webpack_require__2(7636);
            var getOwnPropertyDescriptor = __webpack_require__2(7933).f;
            var macrotask = __webpack_require__2(5795).set;
            var IS_IOS = __webpack_require__2(2023);
            var IS_IOS_PEBBLE = __webpack_require__2(8983);
            var IS_WEBOS_WEBKIT = __webpack_require__2(263);
            var IS_NODE = __webpack_require__2(8801);
            var MutationObserver = global2.MutationObserver || global2.WebKitMutationObserver;
            var document2 = global2.document;
            var process = global2.process;
            var Promise2 = global2.Promise;
            var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global2, "queueMicrotask");
            var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
            var flush, head, last, notify, toggle, node, promise, then;
            if (!queueMicrotask) {
              flush = function() {
                var parent, fn;
                if (IS_NODE && (parent = process.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 && Promise2 && Promise2.resolve) {
                promise = Promise2.resolve(void 0);
                promise.constructor = Promise2;
                then = bind(promise.then, promise);
                notify = function() {
                  then(flush);
                };
              } else if (IS_NODE) {
                notify = function() {
                  process.nextTick(flush);
                };
              } else {
                macrotask = bind(macrotask, global2);
                notify = function() {
                  macrotask(flush);
                };
              }
            }
            module3.exports = queueMicrotask || function(fn) {
              var task = { fn, next: void 0 };
              if (last)
                last.next = task;
              if (!head) {
                head = task;
                notify();
              }
              last = task;
            };
          },
          5506: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var NATIVE_SYMBOL = __webpack_require__2(3839);
            module3.exports = NATIVE_SYMBOL && !!Symbol["for"] && !!Symbol.keyFor;
          },
          3839: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var V8_VERSION = __webpack_require__2(6358);
            var fails = __webpack_require__2(4229);
            module3.exports = !!Object.getOwnPropertySymbols && !fails(function() {
              var symbol = Symbol();
              return !String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41;
            });
          },
          8694: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            var isCallable = __webpack_require__2(6733);
            var inspectSource = __webpack_require__2(8511);
            var WeakMap = global2.WeakMap;
            module3.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));
          },
          6485: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var aCallable = __webpack_require__2(7111);
            var PromiseCapability = function(C) {
              var resolve, reject;
              this.promise = new C(function($$resolve, $$reject) {
                if (resolve !== void 0 || reject !== void 0)
                  throw TypeError("Bad Promise constructor");
                resolve = $$resolve;
                reject = $$reject;
              });
              this.resolve = aCallable(resolve);
              this.reject = aCallable(reject);
            };
            module3.exports.f = function(C) {
              return new PromiseCapability(C);
            };
          },
          635: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var toString = __webpack_require__2(3326);
            module3.exports = function(argument, $default) {
              return argument === void 0 ? arguments.length < 2 ? "" : $default : toString(argument);
            };
          },
          7272: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isRegExp = __webpack_require__2(8311);
            var $TypeError = TypeError;
            module3.exports = function(it) {
              if (isRegExp(it)) {
                throw $TypeError("The method doesn't accept regular expressions");
              }
              return it;
            };
          },
          47: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var DESCRIPTORS = __webpack_require__2(7400);
            var uncurryThis = __webpack_require__2(5968);
            var call = __webpack_require__2(266);
            var fails = __webpack_require__2(4229);
            var objectKeys = __webpack_require__2(5632);
            var getOwnPropertySymbolsModule = __webpack_require__2(894);
            var propertyIsEnumerableModule = __webpack_require__2(9195);
            var toObject = __webpack_require__2(2991);
            var IndexedObject = __webpack_require__2(9337);
            var $assign = Object.assign;
            var defineProperty = Object.defineProperty;
            var concat = uncurryThis([].concat);
            module3.exports = !$assign || fails(function() {
              if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, "a", {
                enumerable: true,
                get: function() {
                  defineProperty(this, "b", {
                    value: 3,
                    enumerable: false
                  });
                }
              }), { b: 2 })).b !== 1)
                return true;
              var A = {};
              var B = {};
              var symbol = Symbol();
              var alphabet = "abcdefghijklmnopqrst";
              A[symbol] = 7;
              alphabet.split("").forEach(function(chr) {
                B[chr] = chr;
              });
              return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join("") != alphabet;
            }) ? function assign(target, source) {
              var T = toObject(target);
              var argumentsLength = arguments.length;
              var index = 1;
              var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
              var propertyIsEnumerable = propertyIsEnumerableModule.f;
              while (argumentsLength > index) {
                var S = IndexedObject(arguments[index++]);
                var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);
                var length = keys.length;
                var j = 0;
                var key;
                while (length > j) {
                  key = keys[j++];
                  if (!DESCRIPTORS || call(propertyIsEnumerable, S, key))
                    T[key] = S[key];
                }
              }
              return T;
            } : $assign;
          },
          2391: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var anObject = __webpack_require__2(1176);
            var definePropertiesModule = __webpack_require__2(219);
            var enumBugKeys = __webpack_require__2(3837);
            var hiddenKeys = __webpack_require__2(5977);
            var html = __webpack_require__2(3777);
            var documentCreateElement = __webpack_require__2(2635);
            var sharedKey = __webpack_require__2(4399);
            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;
            module3.exports = Object.create || function create(O, Properties) {
              var result;
              if (O !== null) {
                EmptyConstructor[PROTOTYPE] = anObject(O);
                result = new EmptyConstructor();
                EmptyConstructor[PROTOTYPE] = null;
                result[IE_PROTO] = O;
              } else
                result = NullProtoObject();
              return Properties === void 0 ? result : definePropertiesModule.f(result, Properties);
            };
          },
          219: function(__unused_webpack_module, exports3, __webpack_require__2) {
            var DESCRIPTORS = __webpack_require__2(7400);
            var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__2(7137);
            var definePropertyModule = __webpack_require__2(1787);
            var anObject = __webpack_require__2(1176);
            var toIndexedObject = __webpack_require__2(905);
            var objectKeys = __webpack_require__2(5632);
            exports3.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? 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;
            };
          },
          1787: function(__unused_webpack_module, exports3, __webpack_require__2) {
            var DESCRIPTORS = __webpack_require__2(7400);
            var IE8_DOM_DEFINE = __webpack_require__2(4394);
            var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__2(7137);
            var anObject = __webpack_require__2(1176);
            var toPropertyKey = __webpack_require__2(9310);
            var $TypeError = TypeError;
            var $defineProperty = Object.defineProperty;
            var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
            var ENUMERABLE = "enumerable";
            var CONFIGURABLE = "configurable";
            var WRITABLE = "writable";
            exports3.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
              anObject(O);
              P = toPropertyKey(P);
              anObject(Attributes);
              if (typeof O === "function" && P === "prototype" && "value" in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
                var current = $getOwnPropertyDescriptor(O, P);
                if (current && current[WRITABLE]) {
                  O[P] = Attributes.value;
                  Attributes = {
                    configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
                    enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
                    writable: false
                  };
                }
              }
              return $defineProperty(O, P, Attributes);
            } : $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 $TypeError("Accessors not supported");
              if ("value" in Attributes)
                O[P] = Attributes.value;
              return O;
            };
          },
          7933: function(__unused_webpack_module, exports3, __webpack_require__2) {
            var DESCRIPTORS = __webpack_require__2(7400);
            var call = __webpack_require__2(266);
            var propertyIsEnumerableModule = __webpack_require__2(9195);
            var createPropertyDescriptor = __webpack_require__2(5358);
            var toIndexedObject = __webpack_require__2(905);
            var toPropertyKey = __webpack_require__2(9310);
            var hasOwn = __webpack_require__2(8270);
            var IE8_DOM_DEFINE = __webpack_require__2(4394);
            var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
            exports3.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 (hasOwn(O, P))
                return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
            };
          },
          166: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var classof = __webpack_require__2(7079);
            var toIndexedObject = __webpack_require__2(905);
            var $getOwnPropertyNames = __webpack_require__2(8151).f;
            var arraySlice = __webpack_require__2(9794);
            var windowNames = typeof window == "object" && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
            var getWindowNames = function(it) {
              try {
                return $getOwnPropertyNames(it);
              } catch (error) {
                return arraySlice(windowNames);
              }
            };
            module3.exports.f = function getOwnPropertyNames(it) {
              return windowNames && classof(it) == "Window" ? getWindowNames(it) : $getOwnPropertyNames(toIndexedObject(it));
            };
          },
          8151: function(__unused_webpack_module, exports3, __webpack_require__2) {
            var internalObjectKeys = __webpack_require__2(140);
            var enumBugKeys = __webpack_require__2(3837);
            var hiddenKeys = enumBugKeys.concat("length", "prototype");
            exports3.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
              return internalObjectKeys(O, hiddenKeys);
            };
          },
          894: function(__unused_webpack_module, exports3) {
            exports3.f = Object.getOwnPropertySymbols;
          },
          7567: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var hasOwn = __webpack_require__2(8270);
            var isCallable = __webpack_require__2(6733);
            var toObject = __webpack_require__2(2991);
            var sharedKey = __webpack_require__2(4399);
            var CORRECT_PROTOTYPE_GETTER = __webpack_require__2(7528);
            var IE_PROTO = sharedKey("IE_PROTO");
            var $Object = Object;
            var ObjectPrototype = $Object.prototype;
            module3.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function(O) {
              var object = toObject(O);
              if (hasOwn(object, IE_PROTO))
                return object[IE_PROTO];
              var constructor = object.constructor;
              if (isCallable(constructor) && object instanceof constructor) {
                return constructor.prototype;
              }
              return object instanceof $Object ? ObjectPrototype : null;
            };
          },
          5343: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            var isObject = __webpack_require__2(5052);
            var classof = __webpack_require__2(7079);
            var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__2(2460);
            var $isExtensible = Object.isExtensible;
            var FAILS_ON_PRIMITIVES = fails(function() {
            });
            module3.exports = FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE ? function isExtensible(it) {
              if (!isObject(it))
                return false;
              if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == "ArrayBuffer")
                return false;
              return $isExtensible ? $isExtensible(it) : true;
            } : $isExtensible;
          },
          1321: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            module3.exports = uncurryThis({}.isPrototypeOf);
          },
          140: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var hasOwn = __webpack_require__2(8270);
            var toIndexedObject = __webpack_require__2(905);
            var indexOf = __webpack_require__2(9540).indexOf;
            var hiddenKeys = __webpack_require__2(5977);
            var push = uncurryThis([].push);
            module3.exports = function(object, names) {
              var O = toIndexedObject(object);
              var i = 0;
              var result = [];
              var key;
              for (key in O)
                !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);
              while (names.length > i)
                if (hasOwn(O, key = names[i++])) {
                  ~indexOf(result, key) || push(result, key);
                }
              return result;
            };
          },
          5632: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var internalObjectKeys = __webpack_require__2(140);
            var enumBugKeys = __webpack_require__2(3837);
            module3.exports = Object.keys || function keys(O) {
              return internalObjectKeys(O, enumBugKeys);
            };
          },
          9195: function(__unused_webpack_module, exports3) {
            var $propertyIsEnumerable = {}.propertyIsEnumerable;
            var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
            var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
            exports3.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
              var descriptor = getOwnPropertyDescriptor(this, V);
              return !!descriptor && descriptor.enumerable;
            } : $propertyIsEnumerable;
          },
          6540: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var anObject = __webpack_require__2(1176);
            var aPossiblePrototype = __webpack_require__2(8505);
            module3.exports = Object.setPrototypeOf || ("__proto__" in {} ? function() {
              var CORRECT_SETTER = false;
              var test = {};
              var setter;
              try {
                setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set);
                setter(test, []);
                CORRECT_SETTER = test instanceof Array;
              } catch (error) {
              }
              return function setPrototypeOf(O, proto) {
                anObject(O);
                aPossiblePrototype(proto);
                if (CORRECT_SETTER)
                  setter(O, proto);
                else
                  O.__proto__ = proto;
                return O;
              };
            }() : void 0);
          },
          7664: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var DESCRIPTORS = __webpack_require__2(7400);
            var uncurryThis = __webpack_require__2(5968);
            var objectKeys = __webpack_require__2(5632);
            var toIndexedObject = __webpack_require__2(905);
            var $propertyIsEnumerable = __webpack_require__2(9195).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 result = [];
                var key;
                while (length > i) {
                  key = keys[i++];
                  if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {
                    push(result, TO_ENTRIES ? [key, O[key]] : O[key]);
                  }
                }
                return result;
              };
            };
            module3.exports = {
              entries: createMethod(true),
              values: createMethod(false)
            };
          },
          4059: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var TO_STRING_TAG_SUPPORT = __webpack_require__2(1601);
            var classof = __webpack_require__2(1589);
            module3.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
              return "[object " + classof(this) + "]";
            };
          },
          2914: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var call = __webpack_require__2(266);
            var isCallable = __webpack_require__2(6733);
            var isObject = __webpack_require__2(5052);
            var $TypeError = TypeError;
            module3.exports = function(input, pref) {
              var fn, val;
              if (pref === "string" && isCallable(fn = input.toString) && !isObject(val = call(fn, input)))
                return val;
              if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input)))
                return val;
              if (pref !== "string" && isCallable(fn = input.toString) && !isObject(val = call(fn, input)))
                return val;
              throw $TypeError("Can't convert object to primitive value");
            };
          },
          4826: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var getBuiltIn = __webpack_require__2(1333);
            var uncurryThis = __webpack_require__2(5968);
            var getOwnPropertyNamesModule = __webpack_require__2(8151);
            var getOwnPropertySymbolsModule = __webpack_require__2(894);
            var anObject = __webpack_require__2(1176);
            var concat = uncurryThis([].concat);
            module3.exports = getBuiltIn("Reflect", "ownKeys") || function ownKeys(it) {
              var keys = getOwnPropertyNamesModule.f(anObject(it));
              var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
              return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
            };
          },
          9276: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            module3.exports = global2;
          },
          4624: function(module3) {
            module3.exports = function(exec) {
              try {
                return { error: false, value: exec() };
              } catch (error) {
                return { error: true, value: error };
              }
            };
          },
          8321: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            var NativePromiseConstructor = __webpack_require__2(4473);
            var isCallable = __webpack_require__2(6733);
            var isForced = __webpack_require__2(6541);
            var inspectSource = __webpack_require__2(8511);
            var wellKnownSymbol = __webpack_require__2(95);
            var IS_BROWSER = __webpack_require__2(8639);
            var IS_PURE = __webpack_require__2(4231);
            var V8_VERSION = __webpack_require__2(6358);
            var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;
            var SPECIES = wellKnownSymbol("species");
            var SUBCLASSING = false;
            var NATIVE_PROMISE_REJECTION_EVENT = isCallable(global2.PromiseRejectionEvent);
            var FORCED_PROMISE_CONSTRUCTOR = isForced("Promise", function() {
              var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);
              var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);
              if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66)
                return true;
              if (IS_PURE && !(NativePromisePrototype["catch"] && NativePromisePrototype["finally"]))
                return true;
              if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE))
                return false;
              var promise = new NativePromiseConstructor(function(resolve) {
                resolve(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_PROMISE_REJECTION_EVENT;
            });
            module3.exports = {
              CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,
              REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,
              SUBCLASSING
            };
          },
          4473: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            module3.exports = global2.Promise;
          },
          7757: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var anObject = __webpack_require__2(1176);
            var isObject = __webpack_require__2(5052);
            var newPromiseCapability = __webpack_require__2(6485);
            module3.exports = function(C, x) {
              anObject(C);
              if (isObject(x) && x.constructor === C)
                return x;
              var promiseCapability = newPromiseCapability.f(C);
              var resolve = promiseCapability.resolve;
              resolve(x);
              return promiseCapability.promise;
            };
          },
          6866: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var NativePromiseConstructor = __webpack_require__2(4473);
            var checkCorrectnessOfIteration = __webpack_require__2(4575);
            var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__2(8321).CONSTRUCTOR;
            module3.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function(iterable) {
              NativePromiseConstructor.all(iterable).then(void 0, function() {
              });
            });
          },
          6060: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var defineProperty = __webpack_require__2(1787).f;
            module3.exports = function(Target, Source, key) {
              key in Target || defineProperty(Target, key, {
                configurable: true,
                get: function() {
                  return Source[key];
                },
                set: function(it) {
                  Source[key] = it;
                }
              });
            };
          },
          3358: function(module3) {
            var Queue = function() {
              this.head = null;
              this.tail = null;
            };
            Queue.prototype = {
              add: function(item) {
                var entry = { item, next: null };
                if (this.head)
                  this.tail.next = entry;
                else
                  this.head = entry;
                this.tail = entry;
              },
              get: function() {
                var entry = this.head;
                if (entry) {
                  this.head = entry.next;
                  if (this.tail === entry)
                    this.tail = null;
                  return entry.item;
                }
              }
            };
            module3.exports = Queue;
          },
          8115: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var call = __webpack_require__2(266);
            var anObject = __webpack_require__2(1176);
            var isCallable = __webpack_require__2(6733);
            var classof = __webpack_require__2(7079);
            var regexpExec = __webpack_require__2(3466);
            var $TypeError = TypeError;
            module3.exports = function(R, S) {
              var exec = R.exec;
              if (isCallable(exec)) {
                var result = call(exec, R, S);
                if (result !== null)
                  anObject(result);
                return result;
              }
              if (classof(R) === "RegExp")
                return call(regexpExec, R, S);
              throw $TypeError("RegExp#exec called on incompatible receiver");
            };
          },
          3466: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var call = __webpack_require__2(266);
            var uncurryThis = __webpack_require__2(5968);
            var toString = __webpack_require__2(3326);
            var regexpFlags = __webpack_require__2(895);
            var stickyHelpers = __webpack_require__2(5650);
            var shared = __webpack_require__2(3036);
            var create = __webpack_require__2(2391);
            var getInternalState = __webpack_require__2(6407).get;
            var UNSUPPORTED_DOT_ALL = __webpack_require__2(2926);
            var UNSUPPORTED_NCG = __webpack_require__2(461);
            var nativeReplace = shared("native-string-replace", String.prototype.replace);
            var nativeExec = RegExp.prototype.exec;
            var patchedExec = nativeExec;
            var charAt = uncurryThis("".charAt);
            var indexOf = uncurryThis("".indexOf);
            var replace = uncurryThis("".replace);
            var stringSlice = uncurryThis("".slice);
            var UPDATES_LAST_INDEX_WRONG = function() {
              var re1 = /a/;
              var re2 = /b*/g;
              call(nativeExec, re1, "a");
              call(nativeExec, re2, "a");
              return re1.lastIndex !== 0 || re2.lastIndex !== 0;
            }();
            var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;
            var NPCG_INCLUDED = /()??/.exec("")[1] !== void 0;
            var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
            if (PATCH) {
              patchedExec = function exec(string) {
                var re = this;
                var state = getInternalState(re);
                var str = toString(string);
                var raw = state.raw;
                var result, reCopy, lastIndex, match, i, object, group;
                if (raw) {
                  raw.lastIndex = re.lastIndex;
                  result = call(patchedExec, raw, str);
                  re.lastIndex = raw.lastIndex;
                  return result;
                }
                var groups = state.groups;
                var sticky = UNSUPPORTED_Y && re.sticky;
                var flags = call(regexpFlags, re);
                var source = re.source;
                var charsAdded = 0;
                var strCopy = str;
                if (sticky) {
                  flags = replace(flags, "y", "");
                  if (indexOf(flags, "g") === -1) {
                    flags += "g";
                  }
                  strCopy = stringSlice(str, re.lastIndex);
                  if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== "\n")) {
                    source = "(?: " + source + ")";
                    strCopy = " " + strCopy;
                    charsAdded++;
                  }
                  reCopy = new RegExp("^(?:" + source + ")", flags);
                }
                if (NPCG_INCLUDED) {
                  reCopy = new RegExp("^" + source + "$(?!\\s)", flags);
                }
                if (UPDATES_LAST_INDEX_WRONG)
                  lastIndex = re.lastIndex;
                match = call(nativeExec, sticky ? reCopy : re, strCopy);
                if (sticky) {
                  if (match) {
                    match.input = stringSlice(match.input, charsAdded);
                    match[0] = stringSlice(match[0], charsAdded);
                    match.index = re.lastIndex;
                    re.lastIndex += match[0].length;
                  } else
                    re.lastIndex = 0;
                } else if (UPDATES_LAST_INDEX_WRONG && match) {
                  re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
                }
                if (NPCG_INCLUDED && match && match.length > 1) {
                  call(nativeReplace, match[0], reCopy, function() {
                    for (i = 1; i < arguments.length - 2; i++) {
                      if (arguments[i] === void 0)
                        match[i] = void 0;
                    }
                  });
                }
                if (match && groups) {
                  match.groups = object = create(null);
                  for (i = 0; i < groups.length; i++) {
                    group = groups[i];
                    object[group[0]] = match[group[1]];
                  }
                }
                return match;
              };
            }
            module3.exports = patchedExec;
          },
          895: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var anObject = __webpack_require__2(1176);
            module3.exports = function() {
              var that = anObject(this);
              var result = "";
              if (that.hasIndices)
                result += "d";
              if (that.global)
                result += "g";
              if (that.ignoreCase)
                result += "i";
              if (that.multiline)
                result += "m";
              if (that.dotAll)
                result += "s";
              if (that.unicode)
                result += "u";
              if (that.unicodeSets)
                result += "v";
              if (that.sticky)
                result += "y";
              return result;
            };
          },
          3349: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var call = __webpack_require__2(266);
            var hasOwn = __webpack_require__2(8270);
            var isPrototypeOf = __webpack_require__2(1321);
            var regExpFlags = __webpack_require__2(895);
            var RegExpPrototype = RegExp.prototype;
            module3.exports = function(R) {
              var flags = R.flags;
              return flags === void 0 && !("flags" in RegExpPrototype) && !hasOwn(R, "flags") && isPrototypeOf(RegExpPrototype, R) ? call(regExpFlags, R) : flags;
            };
          },
          5650: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            var global2 = __webpack_require__2(9859);
            var $RegExp = global2.RegExp;
            var UNSUPPORTED_Y = fails(function() {
              var re = $RegExp("a", "y");
              re.lastIndex = 2;
              return re.exec("abcd") != null;
            });
            var MISSED_STICKY = UNSUPPORTED_Y || fails(function() {
              return !$RegExp("a", "y").sticky;
            });
            var BROKEN_CARET = UNSUPPORTED_Y || fails(function() {
              var re = $RegExp("^r", "gy");
              re.lastIndex = 2;
              return re.exec("str") != null;
            });
            module3.exports = {
              BROKEN_CARET,
              MISSED_STICKY,
              UNSUPPORTED_Y
            };
          },
          2926: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            var global2 = __webpack_require__2(9859);
            var $RegExp = global2.RegExp;
            module3.exports = fails(function() {
              var re = $RegExp(".", "s");
              return !(re.dotAll && re.exec("\n") && re.flags === "s");
            });
          },
          461: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var fails = __webpack_require__2(4229);
            var global2 = __webpack_require__2(9859);
            var $RegExp = global2.RegExp;
            module3.exports = fails(function() {
              var re = $RegExp("(?<a>b)", "g");
              return re.exec("b").groups.a !== "b" || "b".replace(re, "$<a>c") !== "bc";
            });
          },
          8885: function(module3) {
            var $TypeError = TypeError;
            module3.exports = function(it) {
              if (it == void 0)
                throw $TypeError("Can't call method on " + it);
              return it;
            };
          },
          2101: function(module3) {
            module3.exports = Object.is || function is(x, y) {
              return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
            };
          },
          1832: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var getBuiltIn = __webpack_require__2(1333);
            var definePropertyModule = __webpack_require__2(1787);
            var wellKnownSymbol = __webpack_require__2(95);
            var DESCRIPTORS = __webpack_require__2(7400);
            var SPECIES = wellKnownSymbol("species");
            module3.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;
                  }
                });
              }
            };
          },
          4555: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var defineProperty = __webpack_require__2(1787).f;
            var hasOwn = __webpack_require__2(8270);
            var wellKnownSymbol = __webpack_require__2(95);
            var TO_STRING_TAG = wellKnownSymbol("toStringTag");
            module3.exports = function(target, TAG, STATIC) {
              if (target && !STATIC)
                target = target.prototype;
              if (target && !hasOwn(target, TO_STRING_TAG)) {
                defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });
              }
            };
          },
          4399: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var shared = __webpack_require__2(3036);
            var uid = __webpack_require__2(1441);
            var keys = shared("keys");
            module3.exports = function(key) {
              return keys[key] || (keys[key] = uid(key));
            };
          },
          5353: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            var defineGlobalProperty = __webpack_require__2(8400);
            var SHARED = "__core-js_shared__";
            var store = global2[SHARED] || defineGlobalProperty(SHARED, {});
            module3.exports = store;
          },
          3036: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var IS_PURE = __webpack_require__2(4231);
            var store = __webpack_require__2(5353);
            (module3.exports = function(key, value) {
              return store[key] || (store[key] = value !== void 0 ? value : {});
            })("versions", []).push({
              version: "3.23.5",
              mode: IS_PURE ? "pure" : "global",
              copyright: "\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",
              license: "https://github.com/zloirock/core-js/blob/v3.23.5/LICENSE",
              source: "https://github.com/zloirock/core-js"
            });
          },
          7942: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var anObject = __webpack_require__2(1176);
            var aConstructor = __webpack_require__2(7988);
            var wellKnownSymbol = __webpack_require__2(95);
            var SPECIES = wellKnownSymbol("species");
            module3.exports = function(O, defaultConstructor) {
              var C = anObject(O).constructor;
              var S;
              return C === void 0 || (S = anObject(C)[SPECIES]) == void 0 ? defaultConstructor : aConstructor(S);
            };
          },
          966: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var toIntegerOrInfinity = __webpack_require__2(3329);
            var toString = __webpack_require__2(3326);
            var requireObjectCoercible = __webpack_require__2(8885);
            var charAt = uncurryThis("".charAt);
            var charCodeAt = uncurryThis("".charCodeAt);
            var stringSlice = uncurryThis("".slice);
            var createMethod = function(CONVERT_TO_STRING) {
              return function($this, pos) {
                var S = toString(requireObjectCoercible($this));
                var position = toIntegerOrInfinity(pos);
                var size = S.length;
                var first, second;
                if (position < 0 || position >= size)
                  return CONVERT_TO_STRING ? "" : void 0;
                first = charCodeAt(S, position);
                return first < 55296 || first > 56319 || position + 1 === size || (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;
              };
            };
            module3.exports = {
              codeAt: createMethod(false),
              charAt: createMethod(true)
            };
          },
          7456: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var userAgent = __webpack_require__2(598);
            module3.exports = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent);
          },
          6650: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var toLength = __webpack_require__2(4237);
            var toString = __webpack_require__2(3326);
            var $repeat = __webpack_require__2(3124);
            var requireObjectCoercible = __webpack_require__2(8885);
            var repeat = uncurryThis($repeat);
            var stringSlice = uncurryThis("".slice);
            var ceil = Math.ceil;
            var createMethod = function(IS_END) {
              return function($this, maxLength, fillString) {
                var S = toString(requireObjectCoercible($this));
                var intMaxLength = toLength(maxLength);
                var stringLength = S.length;
                var fillStr = fillString === void 0 ? " " : toString(fillString);
                var fillLen, stringFiller;
                if (intMaxLength <= stringLength || fillStr == "")
                  return S;
                fillLen = intMaxLength - stringLength;
                stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));
                if (stringFiller.length > fillLen)
                  stringFiller = stringSlice(stringFiller, 0, fillLen);
                return IS_END ? S + stringFiller : stringFiller + S;
              };
            };
            module3.exports = {
              start: createMethod(false),
              end: createMethod(true)
            };
          },
          3124: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var toIntegerOrInfinity = __webpack_require__2(3329);
            var toString = __webpack_require__2(3326);
            var requireObjectCoercible = __webpack_require__2(8885);
            var $RangeError = RangeError;
            module3.exports = function repeat(count) {
              var str = toString(requireObjectCoercible(this));
              var result = "";
              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)
                  result += str;
              return result;
            };
          },
          1017: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var requireObjectCoercible = __webpack_require__2(8885);
            var toString = __webpack_require__2(3326);
            var whitespaces = __webpack_require__2(1647);
            var replace = uncurryThis("".replace);
            var whitespace = "[" + whitespaces + "]";
            var ltrim = RegExp("^" + whitespace + whitespace + "*");
            var rtrim = RegExp(whitespace + whitespace + "*$");
            var createMethod = function(TYPE) {
              return function($this) {
                var string = toString(requireObjectCoercible($this));
                if (TYPE & 1)
                  string = replace(string, ltrim, "");
                if (TYPE & 2)
                  string = replace(string, rtrim, "");
                return string;
              };
            };
            module3.exports = {
              start: createMethod(1),
              end: createMethod(2),
              trim: createMethod(3)
            };
          },
          6481: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var call = __webpack_require__2(266);
            var getBuiltIn = __webpack_require__2(1333);
            var wellKnownSymbol = __webpack_require__2(95);
            var defineBuiltIn = __webpack_require__2(4768);
            module3.exports = function() {
              var Symbol2 = getBuiltIn("Symbol");
              var SymbolPrototype = Symbol2 && Symbol2.prototype;
              var valueOf = SymbolPrototype && SymbolPrototype.valueOf;
              var TO_PRIMITIVE = wellKnownSymbol("toPrimitive");
              if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {
                defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function(hint) {
                  return call(valueOf, this);
                }, { arity: 1 });
              }
            };
          },
          5795: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            var apply = __webpack_require__2(3171);
            var bind = __webpack_require__2(7636);
            var isCallable = __webpack_require__2(6733);
            var hasOwn = __webpack_require__2(8270);
            var fails = __webpack_require__2(4229);
            var html = __webpack_require__2(3777);
            var arraySlice = __webpack_require__2(1909);
            var createElement = __webpack_require__2(2635);
            var validateArgumentsLength = __webpack_require__2(7579);
            var IS_IOS = __webpack_require__2(2023);
            var IS_NODE = __webpack_require__2(8801);
            var set = global2.setImmediate;
            var clear = global2.clearImmediate;
            var process = 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 location2, defer, channel, port;
            try {
              location2 = global2.location;
            } catch (error) {
            }
            var run = function(id) {
              if (hasOwn(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), location2.protocol + "//" + location2.host);
            };
            if (!set || !clear) {
              set = function setImmediate(handler) {
                validateArgumentsLength(arguments.length, 1);
                var fn = isCallable(handler) ? handler : Function2(handler);
                var args = arraySlice(arguments, 1);
                queue[++counter] = function() {
                  apply(fn, void 0, args);
                };
                defer(counter);
                return counter;
              };
              clear = function clearImmediate(id) {
                delete queue[id];
              };
              if (IS_NODE) {
                defer = function(id) {
                  process.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 = bind(port.postMessage, port);
              } else if (global2.addEventListener && isCallable(global2.postMessage) && !global2.importScripts && location2 && location2.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);
                };
              }
            }
            module3.exports = {
              set,
              clear
            };
          },
          143: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            module3.exports = uncurryThis(1 .valueOf);
          },
          3231: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var toIntegerOrInfinity = __webpack_require__2(3329);
            var max = Math.max;
            var min = Math.min;
            module3.exports = function(index, length) {
              var integer = toIntegerOrInfinity(index);
              return integer < 0 ? max(integer + length, 0) : min(integer, length);
            };
          },
          905: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var IndexedObject = __webpack_require__2(9337);
            var requireObjectCoercible = __webpack_require__2(8885);
            module3.exports = function(it) {
              return IndexedObject(requireObjectCoercible(it));
            };
          },
          3329: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var trunc = __webpack_require__2(917);
            module3.exports = function(argument) {
              var number = +argument;
              return number !== number || number === 0 ? 0 : trunc(number);
            };
          },
          4237: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var toIntegerOrInfinity = __webpack_require__2(3329);
            var min = Math.min;
            module3.exports = function(argument) {
              return argument > 0 ? min(toIntegerOrInfinity(argument), 9007199254740991) : 0;
            };
          },
          2991: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var requireObjectCoercible = __webpack_require__2(8885);
            var $Object = Object;
            module3.exports = function(argument) {
              return $Object(requireObjectCoercible(argument));
            };
          },
          2066: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var call = __webpack_require__2(266);
            var isObject = __webpack_require__2(5052);
            var isSymbol = __webpack_require__2(9395);
            var getMethod = __webpack_require__2(5300);
            var ordinaryToPrimitive = __webpack_require__2(2914);
            var wellKnownSymbol = __webpack_require__2(95);
            var $TypeError = TypeError;
            var TO_PRIMITIVE = wellKnownSymbol("toPrimitive");
            module3.exports = function(input, pref) {
              if (!isObject(input) || isSymbol(input))
                return input;
              var exoticToPrim = getMethod(input, TO_PRIMITIVE);
              var result;
              if (exoticToPrim) {
                if (pref === void 0)
                  pref = "default";
                result = call(exoticToPrim, input, pref);
                if (!isObject(result) || isSymbol(result))
                  return result;
                throw $TypeError("Can't convert object to primitive value");
              }
              if (pref === void 0)
                pref = "number";
              return ordinaryToPrimitive(input, pref);
            };
          },
          9310: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var toPrimitive = __webpack_require__2(2066);
            var isSymbol = __webpack_require__2(9395);
            module3.exports = function(argument) {
              var key = toPrimitive(argument, "string");
              return isSymbol(key) ? key : key + "";
            };
          },
          1601: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var wellKnownSymbol = __webpack_require__2(95);
            var TO_STRING_TAG = wellKnownSymbol("toStringTag");
            var test = {};
            test[TO_STRING_TAG] = "z";
            module3.exports = String(test) === "[object z]";
          },
          3326: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var classof = __webpack_require__2(1589);
            var $String = String;
            module3.exports = function(argument) {
              if (classof(argument) === "Symbol")
                throw TypeError("Cannot convert a Symbol value to a string");
              return $String(argument);
            };
          },
          9821: function(module3) {
            var $String = String;
            module3.exports = function(argument) {
              try {
                return $String(argument);
              } catch (error) {
                return "Object";
              }
            };
          },
          1441: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var uncurryThis = __webpack_require__2(5968);
            var id = 0;
            var postfix = Math.random();
            var toString = uncurryThis(1 .toString);
            module3.exports = function(key) {
              return "Symbol(" + (key === void 0 ? "" : key) + ")_" + toString(++id + postfix, 36);
            };
          },
          6969: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var NATIVE_SYMBOL = __webpack_require__2(3839);
            module3.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == "symbol";
          },
          7137: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var DESCRIPTORS = __webpack_require__2(7400);
            var fails = __webpack_require__2(4229);
            module3.exports = DESCRIPTORS && fails(function() {
              return Object.defineProperty(function() {
              }, "prototype", {
                value: 42,
                writable: false
              }).prototype != 42;
            });
          },
          7579: function(module3) {
            var $TypeError = TypeError;
            module3.exports = function(passed, required) {
              if (passed < required)
                throw $TypeError("Not enough arguments");
              return passed;
            };
          },
          5391: function(__unused_webpack_module, exports3, __webpack_require__2) {
            var wellKnownSymbol = __webpack_require__2(95);
            exports3.f = wellKnownSymbol;
          },
          95: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            var shared = __webpack_require__2(3036);
            var hasOwn = __webpack_require__2(8270);
            var uid = __webpack_require__2(1441);
            var NATIVE_SYMBOL = __webpack_require__2(3839);
            var USE_SYMBOL_AS_UID = __webpack_require__2(6969);
            var WellKnownSymbolsStore = shared("wks");
            var Symbol2 = global2.Symbol;
            var symbolFor = Symbol2 && Symbol2["for"];
            var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol2 : Symbol2 && Symbol2.withoutSetter || uid;
            module3.exports = function(name) {
              if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == "string")) {
                var description = "Symbol." + name;
                if (NATIVE_SYMBOL && hasOwn(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];
            };
          },
          1647: function(module3) {
            module3.exports = "	\n\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF";
          },
          3949: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var getBuiltIn = __webpack_require__2(1333);
            var hasOwn = __webpack_require__2(8270);
            var createNonEnumerableProperty = __webpack_require__2(5762);
            var isPrototypeOf = __webpack_require__2(1321);
            var setPrototypeOf = __webpack_require__2(6540);
            var copyConstructorProperties = __webpack_require__2(7081);
            var proxyAccessor = __webpack_require__2(6060);
            var inheritIfRequired = __webpack_require__2(835);
            var normalizeStringArgument = __webpack_require__2(635);
            var installErrorCause = __webpack_require__2(9679);
            var clearErrorStack = __webpack_require__2(1590);
            var ERROR_STACK_INSTALLABLE = __webpack_require__2(373);
            var DESCRIPTORS = __webpack_require__2(7400);
            var IS_PURE = __webpack_require__2(4231);
            module3.exports = function(FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {
              var STACK_TRACE_LIMIT = "stackTraceLimit";
              var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;
              var path = FULL_NAME.split(".");
              var ERROR_NAME = path[path.length - 1];
              var OriginalError = getBuiltIn.apply(null, path);
              if (!OriginalError)
                return;
              var OriginalErrorPrototype = OriginalError.prototype;
              if (!IS_PURE && hasOwn(OriginalErrorPrototype, "cause"))
                delete OriginalErrorPrototype.cause;
              if (!FORCED)
                return OriginalError;
              var BaseError = getBuiltIn("Error");
              var WrappedError = wrapper(function(a, b) {
                var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, void 0);
                var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();
                if (message !== void 0)
                  createNonEnumerableProperty(result, "message", message);
                if (ERROR_STACK_INSTALLABLE)
                  createNonEnumerableProperty(result, "stack", clearErrorStack(result.stack, 2));
                if (this && isPrototypeOf(OriginalErrorPrototype, this))
                  inheritIfRequired(result, this, WrappedError);
                if (arguments.length > OPTIONS_POSITION)
                  installErrorCause(result, arguments[OPTIONS_POSITION]);
                return result;
              });
              WrappedError.prototype = OriginalErrorPrototype;
              if (ERROR_NAME !== "Error") {
                if (setPrototypeOf)
                  setPrototypeOf(WrappedError, BaseError);
                else
                  copyConstructorProperties(WrappedError, BaseError, { name: true });
              } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {
                proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);
                proxyAccessor(WrappedError, OriginalError, "prepareStackTrace");
              }
              copyConstructorProperties(WrappedError, OriginalError);
              if (!IS_PURE)
                try {
                  if (OriginalErrorPrototype.name !== ERROR_NAME) {
                    createNonEnumerableProperty(OriginalErrorPrototype, "name", ERROR_NAME);
                  }
                  OriginalErrorPrototype.constructor = WrappedError;
                } catch (error) {
                }
              return WrappedError;
            };
          },
          8178: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var fails = __webpack_require__2(4229);
            var isArray = __webpack_require__2(3718);
            var isObject = __webpack_require__2(5052);
            var toObject = __webpack_require__2(2991);
            var lengthOfArrayLike = __webpack_require__2(9646);
            var doesNotExceedSafeInteger = __webpack_require__2(3064);
            var createProperty = __webpack_require__2(2324);
            var arraySpeciesCreate = __webpack_require__2(7501);
            var arrayMethodHasSpeciesSupport = __webpack_require__2(1460);
            var wellKnownSymbol = __webpack_require__2(95);
            var V8_VERSION = __webpack_require__2(6358);
            var IS_CONCAT_SPREADABLE = wellKnownSymbol("isConcatSpreadable");
            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 (!isObject(O))
                return false;
              var spreadable = O[IS_CONCAT_SPREADABLE];
              return spreadable !== void 0 ? !!spreadable : isArray(O);
            };
            var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
            $({ target: "Array", proto: true, arity: 1, forced: FORCED }, {
              concat: function concat(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);
                    doesNotExceedSafeInteger(n + len);
                    for (k = 0; k < len; k++, n++)
                      if (k in E)
                        createProperty(A, n, E[k]);
                  } else {
                    doesNotExceedSafeInteger(n + 1);
                    createProperty(A, n++, E);
                  }
                }
                A.length = n;
                return A;
              }
            });
          },
          2656: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var fill = __webpack_require__2(7065);
            var addToUnscopables = __webpack_require__2(9736);
            $({ target: "Array", proto: true }, {
              fill
            });
            addToUnscopables("fill");
          },
          5342: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var $filter = __webpack_require__2(9996).filter;
            var arrayMethodHasSpeciesSupport = __webpack_require__2(1460);
            var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport("filter");
            $({ target: "Array", proto: true, forced: !HAS_SPECIES_SUPPORT }, {
              filter: function filter(callbackfn) {
                return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
              }
            });
          },
          9949: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var $findIndex = __webpack_require__2(9996).findIndex;
            var addToUnscopables = __webpack_require__2(9736);
            var FIND_INDEX = "findIndex";
            var SKIPS_HOLES = true;
            if (FIND_INDEX in [])
              Array(1)[FIND_INDEX](function() {
                SKIPS_HOLES = false;
              });
            $({ 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);
          },
          9228: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var $find = __webpack_require__2(9996).find;
            var addToUnscopables = __webpack_require__2(9736);
            var FIND = "find";
            var SKIPS_HOLES = true;
            if (FIND in [])
              Array(1)[FIND](function() {
                SKIPS_HOLES = false;
              });
            $({ target: "Array", proto: true, forced: SKIPS_HOLES }, {
              find: function find(callbackfn) {
                return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
              }
            });
            addToUnscopables(FIND);
          },
          4870: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var flattenIntoArray = __webpack_require__2(4990);
            var aCallable = __webpack_require__2(7111);
            var toObject = __webpack_require__2(2991);
            var lengthOfArrayLike = __webpack_require__2(9646);
            var arraySpeciesCreate = __webpack_require__2(7501);
            $({ target: "Array", proto: true }, {
              flatMap: function flatMap(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;
              }
            });
          },
          7072: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var flattenIntoArray = __webpack_require__2(4990);
            var toObject = __webpack_require__2(2991);
            var lengthOfArrayLike = __webpack_require__2(9646);
            var toIntegerOrInfinity = __webpack_require__2(3329);
            var arraySpeciesCreate = __webpack_require__2(7501);
            $({ target: "Array", proto: true }, {
              flat: function flat() {
                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;
              }
            });
          },
          7233: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var from = __webpack_require__2(507);
            var checkCorrectnessOfIteration = __webpack_require__2(4575);
            var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function(iterable) {
              Array.from(iterable);
            });
            $({ target: "Array", stat: true, forced: INCORRECT_ITERATION }, {
              from
            });
          },
          9529: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var $includes = __webpack_require__2(9540).includes;
            var fails = __webpack_require__2(4229);
            var addToUnscopables = __webpack_require__2(9736);
            var BROKEN_ON_SPARSE = fails(function() {
              return !Array(1).includes();
            });
            $({ target: "Array", proto: true, forced: BROKEN_ON_SPARSE }, {
              includes: function includes(el) {
                return $includes(this, el, arguments.length > 1 ? arguments[1] : void 0);
              }
            });
            addToUnscopables("includes");
          },
          5735: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var toIndexedObject = __webpack_require__2(905);
            var addToUnscopables = __webpack_require__2(9736);
            var Iterators = __webpack_require__2(5495);
            var InternalStateModule = __webpack_require__2(6407);
            var defineProperty = __webpack_require__2(1787).f;
            var defineIterator = __webpack_require__2(7675);
            var IS_PURE = __webpack_require__2(4231);
            var DESCRIPTORS = __webpack_require__2(7400);
            var ARRAY_ITERATOR = "Array Iterator";
            var setInternalState = InternalStateModule.set;
            var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
            module3.exports = defineIterator(Array, "Array", function(iterated, kind) {
              setInternalState(this, {
                type: ARRAY_ITERATOR,
                target: toIndexedObject(iterated),
                index: 0,
                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");
            var values = Iterators.Arguments = Iterators.Array;
            addToUnscopables("keys");
            addToUnscopables("values");
            addToUnscopables("entries");
            if (!IS_PURE && DESCRIPTORS && values.name !== "values")
              try {
                defineProperty(values, "name", { value: "values" });
              } catch (error) {
              }
          },
          6781: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var uncurryThis = __webpack_require__2(5968);
            var IndexedObject = __webpack_require__2(9337);
            var toIndexedObject = __webpack_require__2(905);
            var arrayMethodIsStrict = __webpack_require__2(6038);
            var un$Join = uncurryThis([].join);
            var ES3_STRINGS = IndexedObject != Object;
            var STRICT_METHOD = arrayMethodIsStrict("join", ",");
            $({ target: "Array", proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {
              join: function join(separator) {
                return un$Join(toIndexedObject(this), separator === void 0 ? "," : separator);
              }
            });
          },
          3450: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var $map = __webpack_require__2(9996).map;
            var arrayMethodHasSpeciesSupport = __webpack_require__2(1460);
            var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport("map");
            $({ target: "Array", proto: true, forced: !HAS_SPECIES_SUPPORT }, {
              map: function map(callbackfn) {
                return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
              }
            });
          },
          2501: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var isArray = __webpack_require__2(3718);
            var isConstructor = __webpack_require__2(2359);
            var isObject = __webpack_require__2(5052);
            var toAbsoluteIndex = __webpack_require__2(3231);
            var lengthOfArrayLike = __webpack_require__2(9646);
            var toIndexedObject = __webpack_require__2(905);
            var createProperty = __webpack_require__2(2324);
            var wellKnownSymbol = __webpack_require__2(95);
            var arrayMethodHasSpeciesSupport = __webpack_require__2(1460);
            var un$Slice = __webpack_require__2(1909);
            var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport("slice");
            var SPECIES = wellKnownSymbol("species");
            var $Array = Array;
            var max = Math.max;
            $({ target: "Array", proto: true, forced: !HAS_SPECIES_SUPPORT }, {
              slice: function slice(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, result, n;
                if (isArray(O)) {
                  Constructor = O.constructor;
                  if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {
                    Constructor = void 0;
                  } else if (isObject(Constructor)) {
                    Constructor = Constructor[SPECIES];
                    if (Constructor === null)
                      Constructor = void 0;
                  }
                  if (Constructor === $Array || Constructor === void 0) {
                    return un$Slice(O, k, fin);
                  }
                }
                result = new (Constructor === void 0 ? $Array : Constructor)(max(fin - k, 0));
                for (n = 0; k < fin; k++, n++)
                  if (k in O)
                    createProperty(result, n, O[k]);
                result.length = n;
                return result;
              }
            });
          },
          3430: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var uncurryThis = __webpack_require__2(5968);
            var aCallable = __webpack_require__2(7111);
            var toObject = __webpack_require__2(2991);
            var lengthOfArrayLike = __webpack_require__2(9646);
            var deletePropertyOrThrow = __webpack_require__2(9563);
            var toString = __webpack_require__2(3326);
            var fails = __webpack_require__2(4229);
            var internalSort = __webpack_require__2(3867);
            var arrayMethodIsStrict = __webpack_require__2(6038);
            var FF = __webpack_require__2(2671);
            var IE_OR_EDGE = __webpack_require__2(8506);
            var V8 = __webpack_require__2(6358);
            var WEBKIT = __webpack_require__2(9811);
            var test = [];
            var un$Sort = uncurryThis(test.sort);
            var push = uncurryThis(test.push);
            var FAILS_ON_UNDEFINED = fails(function() {
              test.sort(void 0);
            });
            var FAILS_ON_NULL = fails(function() {
              test.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 result = "";
              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++) {
                  test.push({ k: chr + index, v: value });
                }
              }
              test.sort(function(a, b) {
                return b.v - a.v;
              });
              for (index = 0; index < test.length; index++) {
                chr = test[index].k.charAt(0);
                if (result.charAt(result.length - 1) !== chr)
                  result += chr;
              }
              return result !== "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 toString(x) > toString(y) ? 1 : -1;
              };
            };
            $({ 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)
                  deletePropertyOrThrow(array, index++);
                return array;
              }
            });
          },
          9805: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var toObject = __webpack_require__2(2991);
            var toAbsoluteIndex = __webpack_require__2(3231);
            var toIntegerOrInfinity = __webpack_require__2(3329);
            var lengthOfArrayLike = __webpack_require__2(9646);
            var doesNotExceedSafeInteger = __webpack_require__2(3064);
            var arraySpeciesCreate = __webpack_require__2(7501);
            var createProperty = __webpack_require__2(2324);
            var deletePropertyOrThrow = __webpack_require__2(9563);
            var arrayMethodHasSpeciesSupport = __webpack_require__2(1460);
            var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport("splice");
            var max = Math.max;
            var min = Math.min;
            $({ 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);
                }
                doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);
                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
                      deletePropertyOrThrow(O, to);
                  }
                  for (k = len; k > len - actualDeleteCount + insertCount; k--)
                    deletePropertyOrThrow(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
                      deletePropertyOrThrow(O, to);
                  }
                }
                for (k = 0; k < insertCount; k++) {
                  O[k + actualStart] = arguments[k + 2];
                }
                O.length = len - actualDeleteCount + insertCount;
                return A;
              }
            });
          },
          3985: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var addToUnscopables = __webpack_require__2(9736);
            addToUnscopables("flatMap");
          },
          7694: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var addToUnscopables = __webpack_require__2(9736);
            addToUnscopables("flat");
          },
          1372: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var global2 = __webpack_require__2(9859);
            var apply = __webpack_require__2(3171);
            var wrapErrorConstructorWithCause = __webpack_require__2(3949);
            var WEB_ASSEMBLY = "WebAssembly";
            var WebAssembly = global2[WEB_ASSEMBLY];
            var FORCED = Error("e", { cause: 7 }).cause !== 7;
            var exportGlobalErrorCauseWrapper = function(ERROR_NAME, wrapper) {
              var O = {};
              O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);
              $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);
            };
            var exportWebAssemblyErrorCauseWrapper = function(ERROR_NAME, wrapper) {
              if (WebAssembly && WebAssembly[ERROR_NAME]) {
                var O = {};
                O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + "." + ERROR_NAME, wrapper, FORCED);
                $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);
              }
            };
            exportGlobalErrorCauseWrapper("Error", function(init) {
              return function Error2(message) {
                return apply(init, this, arguments);
              };
            });
            exportGlobalErrorCauseWrapper("EvalError", function(init) {
              return function EvalError(message) {
                return apply(init, this, arguments);
              };
            });
            exportGlobalErrorCauseWrapper("RangeError", function(init) {
              return function RangeError2(message) {
                return apply(init, this, arguments);
              };
            });
            exportGlobalErrorCauseWrapper("ReferenceError", function(init) {
              return function ReferenceError2(message) {
                return apply(init, this, arguments);
              };
            });
            exportGlobalErrorCauseWrapper("SyntaxError", function(init) {
              return function SyntaxError(message) {
                return apply(init, this, arguments);
              };
            });
            exportGlobalErrorCauseWrapper("TypeError", function(init) {
              return function TypeError2(message) {
                return apply(init, this, arguments);
              };
            });
            exportGlobalErrorCauseWrapper("URIError", function(init) {
              return function URIError(message) {
                return apply(init, this, arguments);
              };
            });
            exportWebAssemblyErrorCauseWrapper("CompileError", function(init) {
              return function CompileError(message) {
                return apply(init, this, arguments);
              };
            });
            exportWebAssemblyErrorCauseWrapper("LinkError", function(init) {
              return function LinkError(message) {
                return apply(init, this, arguments);
              };
            });
            exportWebAssemblyErrorCauseWrapper("RuntimeError", function(init) {
              return function RuntimeError(message) {
                return apply(init, this, arguments);
              };
            });
          },
          6936: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var DESCRIPTORS = __webpack_require__2(7400);
            var FUNCTION_NAME_EXISTS = __webpack_require__2(1805).EXISTS;
            var uncurryThis = __webpack_require__2(5968);
            var defineProperty = __webpack_require__2(1787).f;
            var FunctionPrototype = Function.prototype;
            var functionToString = uncurryThis(FunctionPrototype.toString);
            var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/;
            var regExpExec = uncurryThis(nameRE.exec);
            var NAME = "name";
            if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {
              defineProperty(FunctionPrototype, NAME, {
                configurable: true,
                get: function() {
                  try {
                    return regExpExec(nameRE, functionToString(this))[1];
                  } catch (error) {
                    return "";
                  }
                }
              });
            }
          },
          6710: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var getBuiltIn = __webpack_require__2(1333);
            var apply = __webpack_require__2(3171);
            var call = __webpack_require__2(266);
            var uncurryThis = __webpack_require__2(5968);
            var fails = __webpack_require__2(4229);
            var isArray = __webpack_require__2(3718);
            var isCallable = __webpack_require__2(6733);
            var isObject = __webpack_require__2(5052);
            var isSymbol = __webpack_require__2(9395);
            var arraySlice = __webpack_require__2(1909);
            var NATIVE_SYMBOL = __webpack_require__2(3839);
            var $stringify = getBuiltIn("JSON", "stringify");
            var exec = uncurryThis(/./.exec);
            var charAt = uncurryThis("".charAt);
            var charCodeAt = uncurryThis("".charCodeAt);
            var replace = uncurryThis("".replace);
            var numberToString = uncurryThis(1 .toString);
            var tester = /[\uD800-\uDFFF]/g;
            var low = /^[\uD800-\uDBFF]$/;
            var hi = /^[\uDC00-\uDFFF]$/;
            var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function() {
              var symbol = getBuiltIn("Symbol")();
              return $stringify([symbol]) != "[null]" || $stringify({ a: symbol }) != "{}" || $stringify(Object(symbol)) != "{}";
            });
            var ILL_FORMED_UNICODE = fails(function() {
              return $stringify("\uDF06\uD834") !== '"\\udf06\\ud834"' || $stringify("\uDEAD") !== '"\\udead"';
            });
            var stringifyWithSymbolsFix = function(it, replacer) {
              var args = arraySlice(arguments);
              var $replacer = replacer;
              if (!isObject(replacer) && it === void 0 || isSymbol(it))
                return;
              if (!isArray(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 fixIllFormed = function(match, offset, string) {
              var prev = charAt(string, offset - 1);
              var next = charAt(string, offset + 1);
              if (exec(low, match) && !exec(hi, next) || exec(hi, match) && !exec(low, prev)) {
                return "\\u" + numberToString(charCodeAt(match, 0), 16);
              }
              return match;
            };
            if ($stringify) {
              $({ target: "JSON", stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {
                stringify: function stringify(it, replacer, space) {
                  var args = arraySlice(arguments);
                  var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);
                  return ILL_FORMED_UNICODE && typeof result == "string" ? replace(result, tester, fixIllFormed) : result;
                }
              });
            }
          },
          9294: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var collection = __webpack_require__2(9789);
            var collectionStrong = __webpack_require__2(8081);
            collection("Map", function(init) {
              return function Map2() {
                return init(this, arguments.length ? arguments[0] : void 0);
              };
            }, collectionStrong);
          },
          9321: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            __webpack_require__2(9294);
          },
          1245: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var DESCRIPTORS = __webpack_require__2(7400);
            var global2 = __webpack_require__2(9859);
            var uncurryThis = __webpack_require__2(5968);
            var isForced = __webpack_require__2(6541);
            var defineBuiltIn = __webpack_require__2(4768);
            var hasOwn = __webpack_require__2(8270);
            var inheritIfRequired = __webpack_require__2(835);
            var isPrototypeOf = __webpack_require__2(1321);
            var isSymbol = __webpack_require__2(9395);
            var toPrimitive = __webpack_require__2(2066);
            var fails = __webpack_require__2(4229);
            var getOwnPropertyNames = __webpack_require__2(8151).f;
            var getOwnPropertyDescriptor = __webpack_require__2(7933).f;
            var defineProperty = __webpack_require__2(1787).f;
            var thisNumberValue = __webpack_require__2(143);
            var trim = __webpack_require__2(1017).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 = trim(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"))) {
              var 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 (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : "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, key; keys.length > j; j++) {
                if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) {
                  defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));
                }
              }
              NumberWrapper.prototype = NumberPrototype;
              NumberPrototype.constructor = NumberWrapper;
              defineBuiltIn(global2, NUMBER, NumberWrapper, { constructor: true });
            }
          },
          3105: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var assign = __webpack_require__2(47);
            $({ target: "Object", stat: true, arity: 2, forced: Object.assign !== assign }, {
              assign
            });
          },
          5883: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var $entries = __webpack_require__2(7664).entries;
            $({ target: "Object", stat: true }, {
              entries: function entries(O) {
                return $entries(O);
              }
            });
          },
          8625: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var fails = __webpack_require__2(4229);
            var toIndexedObject = __webpack_require__2(905);
            var nativeGetOwnPropertyDescriptor = __webpack_require__2(7933).f;
            var DESCRIPTORS = __webpack_require__2(7400);
            var FAILS_ON_PRIMITIVES = fails(function() {
              nativeGetOwnPropertyDescriptor(1);
            });
            var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;
            $({ target: "Object", stat: true, forced: FORCED, sham: !DESCRIPTORS }, {
              getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
                return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);
              }
            });
          },
          2775: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var DESCRIPTORS = __webpack_require__2(7400);
            var ownKeys = __webpack_require__2(4826);
            var toIndexedObject = __webpack_require__2(905);
            var getOwnPropertyDescriptorModule = __webpack_require__2(7933);
            var createProperty = __webpack_require__2(2324);
            $({ target: "Object", stat: true, sham: !DESCRIPTORS }, {
              getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
                var O = toIndexedObject(object);
                var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
                var keys = ownKeys(O);
                var result = {};
                var index = 0;
                var key, descriptor;
                while (keys.length > index) {
                  descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);
                  if (descriptor !== void 0)
                    createProperty(result, key, descriptor);
                }
                return result;
              }
            });
          },
          2067: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var NATIVE_SYMBOL = __webpack_require__2(3839);
            var fails = __webpack_require__2(4229);
            var getOwnPropertySymbolsModule = __webpack_require__2(894);
            var toObject = __webpack_require__2(2991);
            var FORCED = !NATIVE_SYMBOL || fails(function() {
              getOwnPropertySymbolsModule.f(1);
            });
            $({ target: "Object", stat: true, forced: FORCED }, {
              getOwnPropertySymbols: function getOwnPropertySymbols(it) {
                var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
                return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];
              }
            });
          },
          6928: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var fails = __webpack_require__2(4229);
            var toObject = __webpack_require__2(2991);
            var nativeGetPrototypeOf = __webpack_require__2(7567);
            var CORRECT_PROTOTYPE_GETTER = __webpack_require__2(7528);
            var FAILS_ON_PRIMITIVES = fails(function() {
              nativeGetPrototypeOf(1);
            });
            $({ target: "Object", stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {
              getPrototypeOf: function getPrototypeOf(it) {
                return nativeGetPrototypeOf(toObject(it));
              }
            });
          },
          9170: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var is = __webpack_require__2(2101);
            $({ target: "Object", stat: true }, {
              is
            });
          },
          4769: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var toObject = __webpack_require__2(2991);
            var nativeKeys = __webpack_require__2(5632);
            var fails = __webpack_require__2(4229);
            var FAILS_ON_PRIMITIVES = fails(function() {
              nativeKeys(1);
            });
            $({ target: "Object", stat: true, forced: FAILS_ON_PRIMITIVES }, {
              keys: function keys(it) {
                return nativeKeys(toObject(it));
              }
            });
          },
          8188: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var TO_STRING_TAG_SUPPORT = __webpack_require__2(1601);
            var defineBuiltIn = __webpack_require__2(4768);
            var toString = __webpack_require__2(4059);
            if (!TO_STRING_TAG_SUPPORT) {
              defineBuiltIn(Object.prototype, "toString", toString, { unsafe: true });
            }
          },
          7890: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var $values = __webpack_require__2(7664).values;
            $({ target: "Object", stat: true }, {
              values: function values(O) {
                return $values(O);
              }
            });
          },
          6032: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var call = __webpack_require__2(266);
            var aCallable = __webpack_require__2(7111);
            var newPromiseCapabilityModule = __webpack_require__2(6485);
            var perform = __webpack_require__2(4624);
            var iterate = __webpack_require__2(9003);
            var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__2(6866);
            $({ target: "Promise", stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {
              all: function all(iterable) {
                var C = this;
                var capability = newPromiseCapabilityModule.f(C);
                var resolve = capability.resolve;
                var reject = capability.reject;
                var result = perform(function() {
                  var $promiseResolve = aCallable(C.resolve);
                  var values = [];
                  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;
                      values[index] = value;
                      --remaining || resolve(values);
                    }, reject);
                  });
                  --remaining || resolve(values);
                });
                if (result.error)
                  reject(result.value);
                return capability.promise;
              }
            });
          },
          6135: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var IS_PURE = __webpack_require__2(4231);
            var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__2(8321).CONSTRUCTOR;
            var NativePromiseConstructor = __webpack_require__2(4473);
            var getBuiltIn = __webpack_require__2(1333);
            var isCallable = __webpack_require__2(6733);
            var defineBuiltIn = __webpack_require__2(4768);
            var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;
            $({ target: "Promise", proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {
              "catch": function(onRejected) {
                return this.then(void 0, onRejected);
              }
            });
            if (!IS_PURE && isCallable(NativePromiseConstructor)) {
              var method = getBuiltIn("Promise").prototype["catch"];
              if (NativePromisePrototype["catch"] !== method) {
                defineBuiltIn(NativePromisePrototype, "catch", method, { unsafe: true });
              }
            }
          },
          6087: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var IS_PURE = __webpack_require__2(4231);
            var IS_NODE = __webpack_require__2(8801);
            var global2 = __webpack_require__2(9859);
            var call = __webpack_require__2(266);
            var defineBuiltIn = __webpack_require__2(4768);
            var setPrototypeOf = __webpack_require__2(6540);
            var setToStringTag = __webpack_require__2(4555);
            var setSpecies = __webpack_require__2(1832);
            var aCallable = __webpack_require__2(7111);
            var isCallable = __webpack_require__2(6733);
            var isObject = __webpack_require__2(5052);
            var anInstance = __webpack_require__2(7728);
            var speciesConstructor = __webpack_require__2(7942);
            var task = __webpack_require__2(5795).set;
            var microtask = __webpack_require__2(4794);
            var hostReportErrors = __webpack_require__2(4665);
            var perform = __webpack_require__2(4624);
            var Queue = __webpack_require__2(3358);
            var InternalStateModule = __webpack_require__2(6407);
            var NativePromiseConstructor = __webpack_require__2(4473);
            var PromiseConstructorDetection = __webpack_require__2(8321);
            var newPromiseCapabilityModule = __webpack_require__2(6485);
            var PROMISE = "Promise";
            var FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;
            var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;
            var NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;
            var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
            var setInternalState = InternalStateModule.set;
            var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;
            var PromiseConstructor = NativePromiseConstructor;
            var PromisePrototype = NativePromisePrototype;
            var TypeError2 = global2.TypeError;
            var document2 = global2.document;
            var process = global2.process;
            var newPromiseCapability = newPromiseCapabilityModule.f;
            var newGenericPromiseCapability = newPromiseCapability;
            var DISPATCH_EVENT = !!(document2 && document2.createEvent && global2.dispatchEvent);
            var UNHANDLED_REJECTION = "unhandledrejection";
            var REJECTION_HANDLED = "rejectionhandled";
            var PENDING = 0;
            var FULFILLED = 1;
            var REJECTED = 2;
            var HANDLED = 1;
            var UNHANDLED = 2;
            var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
            var isThenable = function(it) {
              var then;
              return isObject(it) && isCallable(then = it.then) ? then : false;
            };
            var callReaction = function(reaction, state) {
              var value = state.value;
              var ok = state.state == FULFILLED;
              var handler = ok ? reaction.ok : reaction.fail;
              var resolve = reaction.resolve;
              var reject = reaction.reject;
              var domain = reaction.domain;
              var result, then, exited;
              try {
                if (handler) {
                  if (!ok) {
                    if (state.rejection === UNHANDLED)
                      onHandleUnhandled(state);
                    state.rejection = HANDLED;
                  }
                  if (handler === true)
                    result = value;
                  else {
                    if (domain)
                      domain.enter();
                    result = handler(value);
                    if (domain) {
                      domain.exit();
                      exited = true;
                    }
                  }
                  if (result === reaction.promise) {
                    reject(TypeError2("Promise-chain cycle"));
                  } else if (then = isThenable(result)) {
                    call(then, result, resolve, reject);
                  } else
                    resolve(result);
                } else
                  reject(value);
              } catch (error) {
                if (domain && !exited)
                  domain.exit();
                reject(error);
              }
            };
            var notify = function(state, isReject) {
              if (state.notified)
                return;
              state.notified = true;
              microtask(function() {
                var reactions = state.reactions;
                var reaction;
                while (reaction = reactions.get()) {
                  callReaction(reaction, state);
                }
                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_PROMISE_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 result;
                if (IS_UNHANDLED) {
                  result = perform(function() {
                    if (IS_NODE) {
                      process.emit("unhandledRejection", value, promise);
                    } else
                      dispatchEvent(UNHANDLED_REJECTION, promise, value);
                  });
                  state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
                  if (result.error)
                    throw result.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) {
                  process.emit("rejectionHandled", promise);
                } else
                  dispatchEvent(REJECTION_HANDLED, promise, state.value);
              });
            };
            var bind = 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, bind(internalResolve, wrapper, state), bind(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_PROMISE_CONSTRUCTOR) {
              PromiseConstructor = function Promise2(executor) {
                anInstance(this, PromisePrototype);
                aCallable(executor);
                call(Internal, this);
                var state = getInternalPromiseState(this);
                try {
                  executor(bind(internalResolve, state), bind(internalReject, state));
                } catch (error) {
                  internalReject(state, error);
                }
              };
              PromisePrototype = PromiseConstructor.prototype;
              Internal = function Promise2(executor) {
                setInternalState(this, {
                  type: PROMISE,
                  done: false,
                  notified: false,
                  parent: false,
                  reactions: new Queue(),
                  rejection: false,
                  state: PENDING,
                  value: void 0
                });
              };
              Internal.prototype = defineBuiltIn(PromisePrototype, "then", function then(onFulfilled, onRejected) {
                var state = getInternalPromiseState(this);
                var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
                state.parent = true;
                reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;
                reaction.fail = isCallable(onRejected) && onRejected;
                reaction.domain = IS_NODE ? process.domain : void 0;
                if (state.state == PENDING)
                  state.reactions.add(reaction);
                else
                  microtask(function() {
                    callReaction(reaction, state);
                  });
                return reaction.promise;
              });
              OwnPromiseCapability = function() {
                var promise = new Internal();
                var state = getInternalPromiseState(promise);
                this.promise = promise;
                this.resolve = bind(internalResolve, state);
                this.reject = bind(internalReject, state);
              };
              newPromiseCapabilityModule.f = newPromiseCapability = function(C) {
                return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);
              };
              if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {
                nativeThen = NativePromisePrototype.then;
                if (!NATIVE_PROMISE_SUBCLASSING) {
                  defineBuiltIn(NativePromisePrototype, "then", function then(onFulfilled, onRejected) {
                    var that = this;
                    return new PromiseConstructor(function(resolve, reject) {
                      call(nativeThen, that, resolve, reject);
                    }).then(onFulfilled, onRejected);
                  }, { unsafe: true });
                }
                try {
                  delete NativePromisePrototype.constructor;
                } catch (error) {
                }
                if (setPrototypeOf) {
                  setPrototypeOf(NativePromisePrototype, PromisePrototype);
                }
              }
            }
            $({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {
              Promise: PromiseConstructor
            });
            setToStringTag(PromiseConstructor, PROMISE, false, true);
            setSpecies(PROMISE);
          },
          3439: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            __webpack_require__2(6087);
            __webpack_require__2(6032);
            __webpack_require__2(6135);
            __webpack_require__2(6767);
            __webpack_require__2(9320);
            __webpack_require__2(2047);
          },
          6767: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var call = __webpack_require__2(266);
            var aCallable = __webpack_require__2(7111);
            var newPromiseCapabilityModule = __webpack_require__2(6485);
            var perform = __webpack_require__2(4624);
            var iterate = __webpack_require__2(9003);
            var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__2(6866);
            $({ target: "Promise", stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {
              race: function race(iterable) {
                var C = this;
                var capability = newPromiseCapabilityModule.f(C);
                var reject = capability.reject;
                var result = perform(function() {
                  var $promiseResolve = aCallable(C.resolve);
                  iterate(iterable, function(promise) {
                    call($promiseResolve, C, promise).then(capability.resolve, reject);
                  });
                });
                if (result.error)
                  reject(result.value);
                return capability.promise;
              }
            });
          },
          9320: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var call = __webpack_require__2(266);
            var newPromiseCapabilityModule = __webpack_require__2(6485);
            var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__2(8321).CONSTRUCTOR;
            $({ target: "Promise", stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {
              reject: function reject(r) {
                var capability = newPromiseCapabilityModule.f(this);
                call(capability.reject, void 0, r);
                return capability.promise;
              }
            });
          },
          2047: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var getBuiltIn = __webpack_require__2(1333);
            var IS_PURE = __webpack_require__2(4231);
            var NativePromiseConstructor = __webpack_require__2(4473);
            var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__2(8321).CONSTRUCTOR;
            var promiseResolve = __webpack_require__2(7757);
            var PromiseConstructorWrapper = getBuiltIn("Promise");
            var CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;
            $({ target: "Promise", stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {
              resolve: function resolve(x) {
                return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);
              }
            });
          },
          1229: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var getBuiltIn = __webpack_require__2(1333);
            var apply = __webpack_require__2(3171);
            var bind = __webpack_require__2(4128);
            var aConstructor = __webpack_require__2(7988);
            var anObject = __webpack_require__2(1176);
            var isObject = __webpack_require__2(5052);
            var create = __webpack_require__2(2391);
            var fails = __webpack_require__2(4229);
            var nativeConstruct = getBuiltIn("Reflect", "construct");
            var ObjectPrototype = Object.prototype;
            var push = [].push;
            var NEW_TARGET_BUG = fails(function() {
              function F() {
              }
              return !(nativeConstruct(function() {
              }, [], F) instanceof F);
            });
            var ARGS_BUG = !fails(function() {
              nativeConstruct(function() {
              });
            });
            var FORCED = NEW_TARGET_BUG || ARGS_BUG;
            $({ target: "Reflect", stat: true, forced: FORCED, sham: FORCED }, {
              construct: function construct(Target, args) {
                aConstructor(Target);
                anObject(args);
                var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]);
                if (ARGS_BUG && !NEW_TARGET_BUG)
                  return nativeConstruct(Target, args, newTarget);
                if (Target == newTarget) {
                  switch (args.length) {
                    case 0:
                      return new Target();
                    case 1:
                      return new Target(args[0]);
                    case 2:
                      return new Target(args[0], args[1]);
                    case 3:
                      return new Target(args[0], args[1], args[2]);
                    case 4:
                      return new Target(args[0], args[1], args[2], args[3]);
                  }
                  var $args = [null];
                  apply(push, $args, args);
                  return new (apply(bind, Target, $args))();
                }
                var proto = newTarget.prototype;
                var instance = create(isObject(proto) ? proto : ObjectPrototype);
                var result = apply(Target, instance, args);
                return isObject(result) ? result : instance;
              }
            });
          },
          4565: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var call = __webpack_require__2(266);
            var isObject = __webpack_require__2(5052);
            var anObject = __webpack_require__2(1176);
            var isDataDescriptor = __webpack_require__2(193);
            var getOwnPropertyDescriptorModule = __webpack_require__2(7933);
            var getPrototypeOf = __webpack_require__2(7567);
            function get(target, propertyKey) {
              var receiver = arguments.length < 3 ? target : arguments[2];
              var descriptor, prototype;
              if (anObject(target) === receiver)
                return target[propertyKey];
              descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey);
              if (descriptor)
                return isDataDescriptor(descriptor) ? descriptor.value : descriptor.get === void 0 ? void 0 : call(descriptor.get, receiver);
              if (isObject(prototype = getPrototypeOf(target)))
                return get(prototype, propertyKey, receiver);
            }
            $({ target: "Reflect", stat: true }, {
              get
            });
          },
          2215: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var global2 = __webpack_require__2(9859);
            var setToStringTag = __webpack_require__2(4555);
            $({ global: true }, { Reflect: {} });
            setToStringTag(global2.Reflect, "Reflect", true);
          },
          7368: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var DESCRIPTORS = __webpack_require__2(7400);
            var global2 = __webpack_require__2(9859);
            var uncurryThis = __webpack_require__2(5968);
            var isForced = __webpack_require__2(6541);
            var inheritIfRequired = __webpack_require__2(835);
            var createNonEnumerableProperty = __webpack_require__2(5762);
            var getOwnPropertyNames = __webpack_require__2(8151).f;
            var isPrototypeOf = __webpack_require__2(1321);
            var isRegExp = __webpack_require__2(8311);
            var toString = __webpack_require__2(3326);
            var getRegExpFlags = __webpack_require__2(3349);
            var stickyHelpers = __webpack_require__2(5650);
            var proxyAccessor = __webpack_require__2(6060);
            var defineBuiltIn = __webpack_require__2(4768);
            var fails = __webpack_require__2(4229);
            var hasOwn = __webpack_require__2(8270);
            var enforceInternalState = __webpack_require__2(6407).enforce;
            var setSpecies = __webpack_require__2(1832);
            var wellKnownSymbol = __webpack_require__2(95);
            var UNSUPPORTED_DOT_ALL = __webpack_require__2(2926);
            var UNSUPPORTED_NCG = __webpack_require__2(461);
            var MATCH = wellKnownSymbol("match");
            var NativeRegExp = global2.RegExp;
            var RegExpPrototype = NativeRegExp.prototype;
            var SyntaxError = global2.SyntaxError;
            var exec = uncurryThis(RegExpPrototype.exec);
            var charAt = uncurryThis("".charAt);
            var replace = uncurryThis("".replace);
            var stringIndexOf = uncurryThis("".indexOf);
            var stringSlice = uncurryThis("".slice);
            var IS_NCG = /^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/;
            var re1 = /a/g;
            var re2 = /a/g;
            var CORRECT_NEW = new NativeRegExp(re1) !== re1;
            var MISSED_STICKY = stickyHelpers.MISSED_STICKY;
            var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;
            var BASE_FORCED = DESCRIPTORS && (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function() {
              re2[MATCH] = false;
              return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, "i") != "/a/i";
            }));
            var handleDotAll = function(string) {
              var length = string.length;
              var index2 = 0;
              var result = "";
              var brackets = false;
              var chr;
              for (; index2 <= length; index2++) {
                chr = charAt(string, index2);
                if (chr === "\\") {
                  result += chr + charAt(string, ++index2);
                  continue;
                }
                if (!brackets && chr === ".") {
                  result += "[\\s\\S]";
                } else {
                  if (chr === "[") {
                    brackets = true;
                  } else if (chr === "]") {
                    brackets = false;
                  }
                  result += chr;
                }
              }
              return result;
            };
            var handleNCG = function(string) {
              var length = string.length;
              var index2 = 0;
              var result = "";
              var named = [];
              var names = {};
              var brackets = false;
              var ncg = false;
              var groupid = 0;
              var groupname = "";
              var chr;
              for (; index2 <= length; index2++) {
                chr = charAt(string, index2);
                if (chr === "\\") {
                  chr = chr + charAt(string, ++index2);
                } else if (chr === "]") {
                  brackets = false;
                } else if (!brackets)
                  switch (true) {
                    case chr === "[":
                      brackets = true;
                      break;
                    case chr === "(":
                      if (exec(IS_NCG, stringSlice(string, index2 + 1))) {
                        index2 += 2;
                        ncg = true;
                      }
                      result += chr;
                      groupid++;
                      continue;
                    case (chr === ">" && ncg):
                      if (groupname === "" || hasOwn(names, groupname)) {
                        throw new SyntaxError("Invalid capture group name");
                      }
                      names[groupname] = true;
                      named[named.length] = [groupname, groupid];
                      ncg = false;
                      groupname = "";
                      continue;
                  }
                if (ncg)
                  groupname += chr;
                else
                  result += chr;
              }
              return [result, named];
            };
            if (isForced("RegExp", BASE_FORCED)) {
              var RegExpWrapper = function RegExp2(pattern, flags) {
                var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);
                var patternIsRegExp = isRegExp(pattern);
                var flagsAreUndefined = flags === void 0;
                var groups = [];
                var rawPattern = pattern;
                var rawFlags, dotAll, sticky, handled, result, state;
                if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {
                  return pattern;
                }
                if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {
                  pattern = pattern.source;
                  if (flagsAreUndefined)
                    flags = getRegExpFlags(rawPattern);
                }
                pattern = pattern === void 0 ? "" : toString(pattern);
                flags = flags === void 0 ? "" : toString(flags);
                rawPattern = pattern;
                if (UNSUPPORTED_DOT_ALL && "dotAll" in re1) {
                  dotAll = !!flags && stringIndexOf(flags, "s") > -1;
                  if (dotAll)
                    flags = replace(flags, /s/g, "");
                }
                rawFlags = flags;
                if (MISSED_STICKY && "sticky" in re1) {
                  sticky = !!flags && stringIndexOf(flags, "y") > -1;
                  if (sticky && UNSUPPORTED_Y)
                    flags = replace(flags, /y/g, "");
                }
                if (UNSUPPORTED_NCG) {
                  handled = handleNCG(pattern);
                  pattern = handled[0];
                  groups = handled[1];
                }
                result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);
                if (dotAll || sticky || groups.length) {
                  state = enforceInternalState(result);
                  if (dotAll) {
                    state.dotAll = true;
                    state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);
                  }
                  if (sticky)
                    state.sticky = true;
                  if (groups.length)
                    state.groups = groups;
                }
                if (pattern !== rawPattern)
                  try {
                    createNonEnumerableProperty(result, "source", rawPattern === "" ? "(?:)" : rawPattern);
                  } catch (error) {
                  }
                return result;
              };
              for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index; ) {
                proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]);
              }
              RegExpPrototype.constructor = RegExpWrapper;
              RegExpWrapper.prototype = RegExpPrototype;
              defineBuiltIn(global2, "RegExp", RegExpWrapper, { constructor: true });
            }
            setSpecies("RegExp");
          },
          4471: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var DESCRIPTORS = __webpack_require__2(7400);
            var UNSUPPORTED_DOT_ALL = __webpack_require__2(2926);
            var classof = __webpack_require__2(7079);
            var defineBuiltInAccessor = __webpack_require__2(6616);
            var getInternalState = __webpack_require__2(6407).get;
            var RegExpPrototype = RegExp.prototype;
            var $TypeError = TypeError;
            if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) {
              defineBuiltInAccessor(RegExpPrototype, "dotAll", {
                configurable: true,
                get: function dotAll() {
                  if (this === RegExpPrototype)
                    return void 0;
                  if (classof(this) === "RegExp") {
                    return !!getInternalState(this).dotAll;
                  }
                  throw $TypeError("Incompatible receiver, RegExp required");
                }
              });
            }
          },
          7950: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var exec = __webpack_require__2(3466);
            $({ target: "RegExp", proto: true, forced: /./.exec !== exec }, {
              exec
            });
          },
          1172: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var DESCRIPTORS = __webpack_require__2(7400);
            var MISSED_STICKY = __webpack_require__2(5650).MISSED_STICKY;
            var classof = __webpack_require__2(7079);
            var defineBuiltInAccessor = __webpack_require__2(6616);
            var getInternalState = __webpack_require__2(6407).get;
            var RegExpPrototype = RegExp.prototype;
            var $TypeError = TypeError;
            if (DESCRIPTORS && MISSED_STICKY) {
              defineBuiltInAccessor(RegExpPrototype, "sticky", {
                configurable: true,
                get: function sticky() {
                  if (this === RegExpPrototype)
                    return void 0;
                  if (classof(this) === "RegExp") {
                    return !!getInternalState(this).sticky;
                  }
                  throw $TypeError("Incompatible receiver, RegExp required");
                }
              });
            }
          },
          1850: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            __webpack_require__2(7950);
            var $ = __webpack_require__2(3103);
            var call = __webpack_require__2(266);
            var uncurryThis = __webpack_require__2(5968);
            var isCallable = __webpack_require__2(6733);
            var isObject = __webpack_require__2(5052);
            var DELEGATES_TO_EXEC = function() {
              var execCalled = false;
              var re = /[ac]/;
              re.exec = function() {
                execCalled = true;
                return /./.exec.apply(this, arguments);
              };
              return re.test("abc") === true && execCalled;
            }();
            var $TypeError = TypeError;
            var un$Test = uncurryThis(/./.test);
            $({ target: "RegExp", proto: true, forced: !DELEGATES_TO_EXEC }, {
              test: function(str) {
                var exec = this.exec;
                if (!isCallable(exec))
                  return un$Test(this, str);
                var result = call(exec, this, str);
                if (result !== null && !isObject(result)) {
                  throw new $TypeError("RegExp exec method returned something other than an Object or null");
                }
                return !!result;
              }
            });
          },
          8233: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var PROPER_FUNCTION_NAME = __webpack_require__2(1805).PROPER;
            var defineBuiltIn = __webpack_require__2(4768);
            var anObject = __webpack_require__2(1176);
            var $toString = __webpack_require__2(3326);
            var fails = __webpack_require__2(4229);
            var getRegExpFlags = __webpack_require__2(3349);
            var TO_STRING = "toString";
            var RegExpPrototype = RegExp.prototype;
            var n$ToString = RegExpPrototype[TO_STRING];
            var NOT_GENERIC = fails(function() {
              return n$ToString.call({ source: "a", flags: "b" }) != "/a/b";
            });
            var INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;
            if (NOT_GENERIC || INCORRECT_NAME) {
              defineBuiltIn(RegExp.prototype, TO_STRING, function toString() {
                var R = anObject(this);
                var pattern = $toString(R.source);
                var flags = $toString(getRegExpFlags(R));
                return "/" + pattern + "/" + flags;
              }, { unsafe: true });
            }
          },
          2560: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var collection = __webpack_require__2(9789);
            var collectionStrong = __webpack_require__2(8081);
            collection("Set", function(init) {
              return function Set2() {
                return init(this, arguments.length ? arguments[0] : void 0);
              };
            }, collectionStrong);
          },
          3244: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            __webpack_require__2(2560);
          },
          1235: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var uncurryThis = __webpack_require__2(5968);
            var notARegExp = __webpack_require__2(7272);
            var requireObjectCoercible = __webpack_require__2(8885);
            var toString = __webpack_require__2(3326);
            var correctIsRegExpLogic = __webpack_require__2(8127);
            var stringIndexOf = uncurryThis("".indexOf);
            $({ target: "String", proto: true, forced: !correctIsRegExpLogic("includes") }, {
              includes: function includes(searchString) {
                return !!~stringIndexOf(toString(requireObjectCoercible(this)), toString(notARegExp(searchString)), arguments.length > 1 ? arguments[1] : void 0);
              }
            });
          },
          8673: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var charAt = __webpack_require__2(966).charAt;
            var toString = __webpack_require__2(3326);
            var InternalStateModule = __webpack_require__2(6407);
            var defineIterator = __webpack_require__2(7675);
            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: toString(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 };
            });
          },
          4069: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var call = __webpack_require__2(266);
            var fixRegExpWellKnownSymbolLogic = __webpack_require__2(4954);
            var anObject = __webpack_require__2(1176);
            var toLength = __webpack_require__2(4237);
            var toString = __webpack_require__2(3326);
            var requireObjectCoercible = __webpack_require__2(8885);
            var getMethod = __webpack_require__2(5300);
            var advanceStringIndex = __webpack_require__2(6637);
            var regExpExec = __webpack_require__2(8115);
            fixRegExpWellKnownSymbolLogic("match", function(MATCH, nativeMatch, maybeCallNative) {
              return [
                function match(regexp) {
                  var O = requireObjectCoercible(this);
                  var matcher = regexp == void 0 ? void 0 : getMethod(regexp, MATCH);
                  return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));
                },
                function(string) {
                  var rx = anObject(this);
                  var S = toString(string);
                  var res = maybeCallNative(nativeMatch, rx, S);
                  if (res.done)
                    return res.value;
                  if (!rx.global)
                    return regExpExec(rx, S);
                  var fullUnicode = rx.unicode;
                  rx.lastIndex = 0;
                  var A = [];
                  var n = 0;
                  var result;
                  while ((result = regExpExec(rx, S)) !== null) {
                    var matchStr = toString(result[0]);
                    A[n] = matchStr;
                    if (matchStr === "")
                      rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
                    n++;
                  }
                  return n === 0 ? null : A;
                }
              ];
            });
          },
          5734: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var $padStart = __webpack_require__2(6650).start;
            var WEBKIT_BUG = __webpack_require__2(7456);
            $({ target: "String", proto: true, forced: WEBKIT_BUG }, {
              padStart: function padStart(maxLength) {
                return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : void 0);
              }
            });
          },
          5940: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var apply = __webpack_require__2(3171);
            var call = __webpack_require__2(266);
            var uncurryThis = __webpack_require__2(5968);
            var fixRegExpWellKnownSymbolLogic = __webpack_require__2(4954);
            var fails = __webpack_require__2(4229);
            var anObject = __webpack_require__2(1176);
            var isCallable = __webpack_require__2(6733);
            var toIntegerOrInfinity = __webpack_require__2(3329);
            var toLength = __webpack_require__2(4237);
            var toString = __webpack_require__2(3326);
            var requireObjectCoercible = __webpack_require__2(8885);
            var advanceStringIndex = __webpack_require__2(6637);
            var getMethod = __webpack_require__2(5300);
            var getSubstitution = __webpack_require__2(17);
            var regExpExec = __webpack_require__2(8115);
            var wellKnownSymbol = __webpack_require__2(95);
            var REPLACE = wellKnownSymbol("replace");
            var max = Math.max;
            var min = Math.min;
            var concat = uncurryThis([].concat);
            var push = uncurryThis([].push);
            var stringIndexOf = uncurryThis("".indexOf);
            var stringSlice = uncurryThis("".slice);
            var maybeToString = function(it) {
              return it === void 0 ? it : String(it);
            };
            var REPLACE_KEEPS_$0 = function() {
              return "a".replace(/./, "$0") === "$0";
            }();
            var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = function() {
              if (/./[REPLACE]) {
                return /./[REPLACE]("a", "$0") === "";
              }
              return false;
            }();
            var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function() {
              var re = /./;
              re.exec = function() {
                var result = [];
                result.groups = { a: "7" };
                return result;
              };
              return "".replace(re, "$<a>") !== "7";
            });
            fixRegExpWellKnownSymbolLogic("replace", function(_, nativeReplace, maybeCallNative) {
              var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? "$" : "$0";
              return [
                function replace(searchValue, replaceValue) {
                  var O = requireObjectCoercible(this);
                  var replacer = searchValue == void 0 ? void 0 : getMethod(searchValue, REPLACE);
                  return replacer ? call(replacer, searchValue, O, replaceValue) : call(nativeReplace, toString(O), searchValue, replaceValue);
                },
                function(string, replaceValue) {
                  var rx = anObject(this);
                  var S = toString(string);
                  if (typeof replaceValue == "string" && stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 && stringIndexOf(replaceValue, "$<") === -1) {
                    var res = maybeCallNative(nativeReplace, rx, S, replaceValue);
                    if (res.done)
                      return res.value;
                  }
                  var functionalReplace = isCallable(replaceValue);
                  if (!functionalReplace)
                    replaceValue = toString(replaceValue);
                  var global2 = rx.global;
                  if (global2) {
                    var fullUnicode = rx.unicode;
                    rx.lastIndex = 0;
                  }
                  var results = [];
                  while (true) {
                    var result = regExpExec(rx, S);
                    if (result === null)
                      break;
                    push(results, result);
                    if (!global2)
                      break;
                    var matchStr = toString(result[0]);
                    if (matchStr === "")
                      rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
                  }
                  var accumulatedResult = "";
                  var nextSourcePosition = 0;
                  for (var i = 0; i < results.length; i++) {
                    result = results[i];
                    var matched = toString(result[0]);
                    var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);
                    var captures = [];
                    for (var j = 1; j < result.length; j++)
                      push(captures, maybeToString(result[j]));
                    var namedCaptures = result.groups;
                    if (functionalReplace) {
                      var replacerArgs = concat([matched], captures, position, S);
                      if (namedCaptures !== void 0)
                        push(replacerArgs, namedCaptures);
                      var replacement = toString(apply(replaceValue, void 0, replacerArgs));
                    } else {
                      replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
                    }
                    if (position >= nextSourcePosition) {
                      accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;
                      nextSourcePosition = position + matched.length;
                    }
                  }
                  return accumulatedResult + stringSlice(S, nextSourcePosition);
                }
              ];
            }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);
          },
          8319: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var apply = __webpack_require__2(3171);
            var call = __webpack_require__2(266);
            var uncurryThis = __webpack_require__2(5968);
            var fixRegExpWellKnownSymbolLogic = __webpack_require__2(4954);
            var isRegExp = __webpack_require__2(8311);
            var anObject = __webpack_require__2(1176);
            var requireObjectCoercible = __webpack_require__2(8885);
            var speciesConstructor = __webpack_require__2(7942);
            var advanceStringIndex = __webpack_require__2(6637);
            var toLength = __webpack_require__2(4237);
            var toString = __webpack_require__2(3326);
            var getMethod = __webpack_require__2(5300);
            var arraySlice = __webpack_require__2(9794);
            var callRegExpExec = __webpack_require__2(8115);
            var regexpExec = __webpack_require__2(3466);
            var stickyHelpers = __webpack_require__2(5650);
            var fails = __webpack_require__2(4229);
            var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;
            var MAX_UINT32 = 4294967295;
            var min = Math.min;
            var $push = [].push;
            var exec = uncurryThis(/./.exec);
            var push = uncurryThis($push);
            var stringSlice = uncurryThis("".slice);
            var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function() {
              var re = /(?:)/;
              var originalExec = re.exec;
              re.exec = function() {
                return originalExec.apply(this, arguments);
              };
              var result = "ab".split(re);
              return result.length !== 2 || result[0] !== "a" || result[1] !== "b";
            });
            fixRegExpWellKnownSymbolLogic("split", function(SPLIT, nativeSplit, maybeCallNative) {
              var internalSplit;
              if ("abbc".split(/(b)*/)[1] == "c" || "test".split(/(?:)/, -1).length != 4 || "ab".split(/(?:ab)*/).length != 2 || ".".split(/(.?)(.?)/).length != 4 || ".".split(/()()/).length > 1 || "".split(/.?/).length) {
                internalSplit = function(separator, limit) {
                  var string = toString(requireObjectCoercible(this));
                  var lim = limit === void 0 ? MAX_UINT32 : limit >>> 0;
                  if (lim === 0)
                    return [];
                  if (separator === void 0)
                    return [string];
                  if (!isRegExp(separator)) {
                    return call(nativeSplit, string, separator, lim);
                  }
                  var output = [];
                  var flags = (separator.ignoreCase ? "i" : "") + (separator.multiline ? "m" : "") + (separator.unicode ? "u" : "") + (separator.sticky ? "y" : "");
                  var lastLastIndex = 0;
                  var separatorCopy = new RegExp(separator.source, flags + "g");
                  var match, lastIndex, lastLength;
                  while (match = call(regexpExec, separatorCopy, string)) {
                    lastIndex = separatorCopy.lastIndex;
                    if (lastIndex > lastLastIndex) {
                      push(output, stringSlice(string, lastLastIndex, match.index));
                      if (match.length > 1 && match.index < string.length)
                        apply($push, output, arraySlice(match, 1));
                      lastLength = match[0].length;
                      lastLastIndex = lastIndex;
                      if (output.length >= lim)
                        break;
                    }
                    if (separatorCopy.lastIndex === match.index)
                      separatorCopy.lastIndex++;
                  }
                  if (lastLastIndex === string.length) {
                    if (lastLength || !exec(separatorCopy, ""))
                      push(output, "");
                  } else
                    push(output, stringSlice(string, lastLastIndex));
                  return output.length > lim ? arraySlice(output, 0, lim) : output;
                };
              } else if ("0".split(void 0, 0).length) {
                internalSplit = function(separator, limit) {
                  return separator === void 0 && limit === 0 ? [] : call(nativeSplit, this, separator, limit);
                };
              } else
                internalSplit = nativeSplit;
              return [
                function split(separator, limit) {
                  var O = requireObjectCoercible(this);
                  var splitter = separator == void 0 ? void 0 : getMethod(separator, SPLIT);
                  return splitter ? call(splitter, separator, O, limit) : call(internalSplit, toString(O), separator, limit);
                },
                function(string, limit) {
                  var rx = anObject(this);
                  var S = toString(string);
                  var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);
                  if (res.done)
                    return res.value;
                  var C = speciesConstructor(rx, RegExp);
                  var unicodeMatching = rx.unicode;
                  var flags = (rx.ignoreCase ? "i" : "") + (rx.multiline ? "m" : "") + (rx.unicode ? "u" : "") + (UNSUPPORTED_Y ? "g" : "y");
                  var splitter = new C(UNSUPPORTED_Y ? "^(?:" + rx.source + ")" : rx, flags);
                  var lim = limit === void 0 ? MAX_UINT32 : limit >>> 0;
                  if (lim === 0)
                    return [];
                  if (S.length === 0)
                    return callRegExpExec(splitter, S) === null ? [S] : [];
                  var p = 0;
                  var q = 0;
                  var A = [];
                  while (q < S.length) {
                    splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;
                    var z = callRegExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);
                    var e;
                    if (z === null || (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p) {
                      q = advanceStringIndex(S, q, unicodeMatching);
                    } else {
                      push(A, stringSlice(S, p, q));
                      if (A.length === lim)
                        return A;
                      for (var i = 1; i <= z.length - 1; i++) {
                        push(A, z[i]);
                        if (A.length === lim)
                          return A;
                      }
                      q = p = e;
                    }
                  }
                  push(A, stringSlice(S, p));
                  return A;
                }
              ];
            }, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);
          },
          9956: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var global2 = __webpack_require__2(9859);
            var call = __webpack_require__2(266);
            var uncurryThis = __webpack_require__2(5968);
            var IS_PURE = __webpack_require__2(4231);
            var DESCRIPTORS = __webpack_require__2(7400);
            var NATIVE_SYMBOL = __webpack_require__2(3839);
            var fails = __webpack_require__2(4229);
            var hasOwn = __webpack_require__2(8270);
            var isPrototypeOf = __webpack_require__2(1321);
            var anObject = __webpack_require__2(1176);
            var toIndexedObject = __webpack_require__2(905);
            var toPropertyKey = __webpack_require__2(9310);
            var $toString = __webpack_require__2(3326);
            var createPropertyDescriptor = __webpack_require__2(5358);
            var nativeObjectCreate = __webpack_require__2(2391);
            var objectKeys = __webpack_require__2(5632);
            var getOwnPropertyNamesModule = __webpack_require__2(8151);
            var getOwnPropertyNamesExternal = __webpack_require__2(166);
            var getOwnPropertySymbolsModule = __webpack_require__2(894);
            var getOwnPropertyDescriptorModule = __webpack_require__2(7933);
            var definePropertyModule = __webpack_require__2(1787);
            var definePropertiesModule = __webpack_require__2(219);
            var propertyIsEnumerableModule = __webpack_require__2(9195);
            var defineBuiltIn = __webpack_require__2(4768);
            var shared = __webpack_require__2(3036);
            var sharedKey = __webpack_require__2(4399);
            var hiddenKeys = __webpack_require__2(5977);
            var uid = __webpack_require__2(1441);
            var wellKnownSymbol = __webpack_require__2(95);
            var wrappedWellKnownSymbolModule = __webpack_require__2(5391);
            var defineWellKnownSymbol = __webpack_require__2(8423);
            var defineSymbolToPrimitive = __webpack_require__2(6481);
            var setToStringTag = __webpack_require__2(4555);
            var InternalStateModule = __webpack_require__2(6407);
            var $forEach = __webpack_require__2(9996).forEach;
            var HIDDEN = sharedKey("hidden");
            var SYMBOL = "Symbol";
            var PROTOTYPE = "prototype";
            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 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 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 wrap = 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 (hasOwn(AllSymbols, key)) {
                if (!Attributes.enumerable) {
                  if (!hasOwn(O, HIDDEN))
                    nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
                  O[HIDDEN][key] = true;
                } else {
                  if (hasOwn(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 create(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 && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P))
                return false;
              return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
            };
            var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
              var it = toIndexedObject(O);
              var key = toPropertyKey(P);
              if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key))
                return;
              var descriptor = nativeGetOwnPropertyDescriptor(it, key);
              if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {
                descriptor.enumerable = true;
              }
              return descriptor;
            };
            var $getOwnPropertyNames = function getOwnPropertyNames(O) {
              var names = nativeGetOwnPropertyNames(toIndexedObject(O));
              var result = [];
              $forEach(names, function(key) {
                if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key))
                  push(result, key);
              });
              return result;
            };
            var $getOwnPropertySymbols = function(O) {
              var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
              var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
              var result = [];
              $forEach(names, function(key) {
                if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {
                  push(result, AllSymbols[key]);
                }
              });
              return result;
            };
            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 (hasOwn(this, HIDDEN) && hasOwn(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 wrap(tag, description);
              };
              SymbolPrototype = $Symbol[PROTOTYPE];
              defineBuiltIn(SymbolPrototype, "toString", function toString() {
                return getInternalState(this).tag;
              });
              defineBuiltIn($Symbol, "withoutSetter", function(description) {
                return wrap(uid(description), description);
              });
              propertyIsEnumerableModule.f = $propertyIsEnumerable;
              definePropertyModule.f = $defineProperty;
              definePropertiesModule.f = $defineProperties;
              getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
              getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
              getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
              wrappedWellKnownSymbolModule.f = function(name) {
                return wrap(wellKnownSymbol(name), name);
              };
              if (DESCRIPTORS) {
                nativeDefineProperty(SymbolPrototype, "description", {
                  configurable: true,
                  get: function description() {
                    return getInternalState(this).description;
                  }
                });
                if (!IS_PURE) {
                  defineBuiltIn(ObjectPrototype, "propertyIsEnumerable", $propertyIsEnumerable, { unsafe: true });
                }
              }
            }
            $({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
              Symbol: $Symbol
            });
            $forEach(objectKeys(WellKnownSymbolsStore), function(name) {
              defineWellKnownSymbol(name);
            });
            $({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {
              useSetter: function() {
                USE_SETTER = true;
              },
              useSimple: function() {
                USE_SETTER = false;
              }
            });
            $({ target: "Object", stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {
              create: $create,
              defineProperty: $defineProperty,
              defineProperties: $defineProperties,
              getOwnPropertyDescriptor: $getOwnPropertyDescriptor
            });
            $({ target: "Object", stat: true, forced: !NATIVE_SYMBOL }, {
              getOwnPropertyNames: $getOwnPropertyNames
            });
            defineSymbolToPrimitive();
            setToStringTag($Symbol, SYMBOL);
            hiddenKeys[HIDDEN] = true;
          },
          634: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var DESCRIPTORS = __webpack_require__2(7400);
            var global2 = __webpack_require__2(9859);
            var uncurryThis = __webpack_require__2(5968);
            var hasOwn = __webpack_require__2(8270);
            var isCallable = __webpack_require__2(6733);
            var isPrototypeOf = __webpack_require__2(1321);
            var toString = __webpack_require__2(3326);
            var defineProperty = __webpack_require__2(1787).f;
            var copyConstructorProperties = __webpack_require__2(7081);
            var NativeSymbol = global2.Symbol;
            var SymbolPrototype = NativeSymbol && NativeSymbol.prototype;
            if (DESCRIPTORS && isCallable(NativeSymbol) && (!("description" in SymbolPrototype) || NativeSymbol().description !== void 0)) {
              var EmptyStringDescriptionStore = {};
              var SymbolWrapper = function Symbol2() {
                var description = arguments.length < 1 || arguments[0] === void 0 ? void 0 : toString(arguments[0]);
                var result = isPrototypeOf(SymbolPrototype, this) ? new NativeSymbol(description) : description === void 0 ? NativeSymbol() : NativeSymbol(description);
                if (description === "")
                  EmptyStringDescriptionStore[result] = true;
                return result;
              };
              copyConstructorProperties(SymbolWrapper, NativeSymbol);
              SymbolWrapper.prototype = SymbolPrototype;
              SymbolPrototype.constructor = SymbolWrapper;
              var NATIVE_SYMBOL = String(NativeSymbol("test")) == "Symbol(test)";
              var symbolToString = uncurryThis(SymbolPrototype.toString);
              var symbolValueOf = uncurryThis(SymbolPrototype.valueOf);
              var regexp = /^Symbol\((.*)\)[^)]+$/;
              var replace = uncurryThis("".replace);
              var stringSlice = uncurryThis("".slice);
              defineProperty(SymbolPrototype, "description", {
                configurable: true,
                get: function description() {
                  var symbol = symbolValueOf(this);
                  var string = symbolToString(symbol);
                  if (hasOwn(EmptyStringDescriptionStore, symbol))
                    return "";
                  var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, "$1");
                  return desc === "" ? void 0 : desc;
                }
              });
              $({ global: true, constructor: true, forced: true }, {
                Symbol: SymbolWrapper
              });
            }
          },
          3352: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var getBuiltIn = __webpack_require__2(1333);
            var hasOwn = __webpack_require__2(8270);
            var toString = __webpack_require__2(3326);
            var shared = __webpack_require__2(3036);
            var NATIVE_SYMBOL_REGISTRY = __webpack_require__2(5506);
            var StringToSymbolRegistry = shared("string-to-symbol-registry");
            var SymbolToStringRegistry = shared("symbol-to-string-registry");
            $({ target: "Symbol", stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {
              "for": function(key) {
                var string = toString(key);
                if (hasOwn(StringToSymbolRegistry, string))
                  return StringToSymbolRegistry[string];
                var symbol = getBuiltIn("Symbol")(string);
                StringToSymbolRegistry[string] = symbol;
                SymbolToStringRegistry[symbol] = string;
                return symbol;
              }
            });
          },
          796: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var defineWellKnownSymbol = __webpack_require__2(8423);
            defineWellKnownSymbol("iterator");
          },
          4115: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            __webpack_require__2(9956);
            __webpack_require__2(3352);
            __webpack_require__2(9717);
            __webpack_require__2(6710);
            __webpack_require__2(2067);
          },
          9717: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var $ = __webpack_require__2(3103);
            var hasOwn = __webpack_require__2(8270);
            var isSymbol = __webpack_require__2(9395);
            var tryToString = __webpack_require__2(9821);
            var shared = __webpack_require__2(3036);
            var NATIVE_SYMBOL_REGISTRY = __webpack_require__2(5506);
            var SymbolToStringRegistry = shared("symbol-to-string-registry");
            $({ target: "Symbol", stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {
              keyFor: function keyFor(sym) {
                if (!isSymbol(sym))
                  throw TypeError(tryToString(sym) + " is not a symbol");
                if (hasOwn(SymbolToStringRegistry, sym))
                  return SymbolToStringRegistry[sym];
              }
            });
          },
          1939: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            var DOMIterables = __webpack_require__2(5694);
            var DOMTokenListPrototype = __webpack_require__2(8865);
            var forEach = __webpack_require__2(6570);
            var createNonEnumerableProperty = __webpack_require__2(5762);
            var handlePrototype = function(CollectionPrototype) {
              if (CollectionPrototype && CollectionPrototype.forEach !== forEach)
                try {
                  createNonEnumerableProperty(CollectionPrototype, "forEach", forEach);
                } catch (error) {
                  CollectionPrototype.forEach = forEach;
                }
            };
            for (var COLLECTION_NAME in DOMIterables) {
              if (DOMIterables[COLLECTION_NAME]) {
                handlePrototype(global2[COLLECTION_NAME] && global2[COLLECTION_NAME].prototype);
              }
            }
            handlePrototype(DOMTokenListPrototype);
          },
          6886: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__2) {
            var global2 = __webpack_require__2(9859);
            var DOMIterables = __webpack_require__2(5694);
            var DOMTokenListPrototype = __webpack_require__2(8865);
            var ArrayIteratorMethods = __webpack_require__2(5735);
            var createNonEnumerableProperty = __webpack_require__2(5762);
            var wellKnownSymbol = __webpack_require__2(95);
            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 (var COLLECTION_NAME in DOMIterables) {
              handlePrototype(global2[COLLECTION_NAME] && global2[COLLECTION_NAME].prototype, COLLECTION_NAME);
            }
            handlePrototype(DOMTokenListPrototype, "DOMTokenList");
          },
          5368: function(module3) {
            /*! @license DOMPurify 2.3.8 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.8/LICENSE */
            (function(global2, factory) {
              module3.exports = factory();
            })(this, function() {
              function _typeof(obj) {
                "@babel/helpers - typeof";
                return _typeof = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(obj2) {
                  return typeof obj2;
                } : function(obj2) {
                  return obj2 && typeof Symbol == "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
                }, _typeof(obj);
              }
              function _setPrototypeOf(o, p) {
                _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf2(o2, p2) {
                  o2.__proto__ = p2;
                  return o2;
                };
                return _setPrototypeOf(o, p);
              }
              function _isNativeReflectConstruct() {
                if (typeof Reflect === "undefined" || !Reflect.construct)
                  return false;
                if (Reflect.construct.sham)
                  return false;
                if (typeof Proxy === "function")
                  return true;
                try {
                  Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
                  }));
                  return true;
                } catch (e) {
                  return false;
                }
              }
              function _construct(Parent, args, Class) {
                if (_isNativeReflectConstruct()) {
                  _construct = Reflect.construct;
                } else {
                  _construct = function _construct2(Parent2, args2, Class2) {
                    var a = [null];
                    a.push.apply(a, args2);
                    var Constructor = Function.bind.apply(Parent2, a);
                    var instance = new Constructor();
                    if (Class2)
                      _setPrototypeOf(instance, Class2.prototype);
                    return instance;
                  };
                }
                return _construct.apply(null, arguments);
              }
              function _toConsumableArray(arr) {
                return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
              }
              function _arrayWithoutHoles(arr) {
                if (Array.isArray(arr))
                  return _arrayLikeToArray(arr);
              }
              function _iterableToArray(iter) {
                if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
                  return Array.from(iter);
              }
              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 _nonIterableSpread() {
                throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
              }
              var hasOwnProperty = Object.hasOwnProperty, setPrototypeOf = Object.setPrototypeOf, isFrozen = Object.isFrozen, getPrototypeOf = Object.getPrototypeOf, getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
              var freeze = Object.freeze, seal = Object.seal, create = Object.create;
              var _ref = typeof Reflect !== "undefined" && Reflect, apply = _ref.apply, construct = _ref.construct;
              if (!apply) {
                apply = function apply2(fun, thisValue, args) {
                  return fun.apply(thisValue, args);
                };
              }
              if (!freeze) {
                freeze = function freeze2(x) {
                  return x;
                };
              }
              if (!seal) {
                seal = function seal2(x) {
                  return x;
                };
              }
              if (!construct) {
                construct = function construct2(Func, args) {
                  return _construct(Func, _toConsumableArray(args));
                };
              }
              var arrayForEach = unapply(Array.prototype.forEach);
              var arrayPop = unapply(Array.prototype.pop);
              var arrayPush = unapply(Array.prototype.push);
              var stringToLowerCase = unapply(String.prototype.toLowerCase);
              var stringMatch = unapply(String.prototype.match);
              var stringReplace = unapply(String.prototype.replace);
              var stringIndexOf = unapply(String.prototype.indexOf);
              var stringTrim = unapply(String.prototype.trim);
              var regExpTest = unapply(RegExp.prototype.test);
              var typeErrorCreate = unconstruct(TypeError);
              function unapply(func) {
                return function(thisArg) {
                  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
                    args[_key - 1] = arguments[_key];
                  }
                  return apply(func, thisArg, args);
                };
              }
              function unconstruct(func) {
                return function() {
                  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
                    args[_key2] = arguments[_key2];
                  }
                  return construct(func, args);
                };
              }
              function addToSet(set, array) {
                if (setPrototypeOf) {
                  setPrototypeOf(set, null);
                }
                var l = array.length;
                while (l--) {
                  var element = array[l];
                  if (typeof element === "string") {
                    var lcElement = stringToLowerCase(element);
                    if (lcElement !== element) {
                      if (!isFrozen(array)) {
                        array[l] = lcElement;
                      }
                      element = lcElement;
                    }
                  }
                  set[element] = true;
                }
                return set;
              }
              function clone(object) {
                var newObject = create(null);
                var property;
                for (property in object) {
                  if (apply(hasOwnProperty, object, [property])) {
                    newObject[property] = object[property];
                  }
                }
                return newObject;
              }
              function lookupGetter(object, prop) {
                while (object !== null) {
                  var desc = getOwnPropertyDescriptor(object, prop);
                  if (desc) {
                    if (desc.get) {
                      return unapply(desc.get);
                    }
                    if (typeof desc.value === "function") {
                      return unapply(desc.value);
                    }
                  }
                  object = getPrototypeOf(object);
                }
                function fallbackValue(element) {
                  console.warn("fallback value for", element);
                  return null;
                }
                return fallbackValue;
              }
              var html$1 = freeze(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "shadow", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]);
              var svg$1 = freeze(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]);
              var svgFilters = freeze(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]);
              var svgDisallowed = freeze(["animate", "color-profile", "cursor", "discard", "fedropshadow", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]);
              var mathMl$1 = freeze(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover"]);
              var mathMlDisallowed = freeze(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]);
              var text = freeze(["#text"]);
              var html = freeze(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "pattern", "placeholder", "playsinline", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "xmlns", "slot"]);
              var svg = freeze(["accent-height", "accumulate", "additive", "alignment-baseline", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]);
              var mathMl = freeze(["accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]);
              var xml = freeze(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]);
              var MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm);
              var ERB_EXPR = seal(/<%[\w\W]*|[\w\W]*%>/gm);
              var DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]/);
              var ARIA_ATTR = seal(/^aria-[\-\w]+$/);
              var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i);
              var IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
              var ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g);
              var DOCTYPE_NAME = seal(/^html$/i);
              var getGlobal = function getGlobal2() {
                return typeof window === "undefined" ? null : window;
              };
              var _createTrustedTypesPolicy = function _createTrustedTypesPolicy2(trustedTypes, document2) {
                if (_typeof(trustedTypes) !== "object" || typeof trustedTypes.createPolicy !== "function") {
                  return null;
                }
                var suffix = null;
                var ATTR_NAME = "data-tt-policy-suffix";
                if (document2.currentScript && document2.currentScript.hasAttribute(ATTR_NAME)) {
                  suffix = document2.currentScript.getAttribute(ATTR_NAME);
                }
                var policyName = "dompurify" + (suffix ? "#" + suffix : "");
                try {
                  return trustedTypes.createPolicy(policyName, {
                    createHTML: function createHTML(html2) {
                      return html2;
                    }
                  });
                } catch (_) {
                  console.warn("TrustedTypes policy " + policyName + " could not be created.");
                  return null;
                }
              };
              function createDOMPurify() {
                var window2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();
                var DOMPurify = function DOMPurify2(root) {
                  return createDOMPurify(root);
                };
                DOMPurify.version = "2.3.8";
                DOMPurify.removed = [];
                if (!window2 || !window2.document || window2.document.nodeType !== 9) {
                  DOMPurify.isSupported = false;
                  return DOMPurify;
                }
                var originalDocument = window2.document;
                var document2 = window2.document;
                var DocumentFragment = window2.DocumentFragment, HTMLTemplateElement = window2.HTMLTemplateElement, Node = window2.Node, Element2 = window2.Element, NodeFilter = window2.NodeFilter, _window$NamedNodeMap = window2.NamedNodeMap, NamedNodeMap = _window$NamedNodeMap === void 0 ? window2.NamedNodeMap || window2.MozNamedAttrMap : _window$NamedNodeMap, HTMLFormElement = window2.HTMLFormElement, DOMParser = window2.DOMParser, trustedTypes = window2.trustedTypes;
                var ElementPrototype = Element2.prototype;
                var cloneNode = lookupGetter(ElementPrototype, "cloneNode");
                var getNextSibling = lookupGetter(ElementPrototype, "nextSibling");
                var getChildNodes = lookupGetter(ElementPrototype, "childNodes");
                var getParentNode = lookupGetter(ElementPrototype, "parentNode");
                if (typeof HTMLTemplateElement === "function") {
                  var template = document2.createElement("template");
                  if (template.content && template.content.ownerDocument) {
                    document2 = template.content.ownerDocument;
                  }
                }
                var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);
                var emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML("") : "";
                var _document = document2, implementation = _document.implementation, createNodeIterator = _document.createNodeIterator, createDocumentFragment = _document.createDocumentFragment, getElementsByTagName = _document.getElementsByTagName;
                var importNode = originalDocument.importNode;
                var documentMode = {};
                try {
                  documentMode = clone(document2).documentMode ? document2.documentMode : {};
                } catch (_) {
                }
                var hooks = {};
                DOMPurify.isSupported = typeof getParentNode === "function" && implementation && typeof implementation.createHTMLDocument !== "undefined" && documentMode !== 9;
                var MUSTACHE_EXPR$1 = MUSTACHE_EXPR, ERB_EXPR$1 = ERB_EXPR, DATA_ATTR$1 = DATA_ATTR, ARIA_ATTR$1 = ARIA_ATTR, IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA, ATTR_WHITESPACE$1 = ATTR_WHITESPACE;
                var IS_ALLOWED_URI$1 = IS_ALLOWED_URI;
                var ALLOWED_TAGS = null;
                var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray(html$1), _toConsumableArray(svg$1), _toConsumableArray(svgFilters), _toConsumableArray(mathMl$1), _toConsumableArray(text)));
                var ALLOWED_ATTR = null;
                var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray(html), _toConsumableArray(svg), _toConsumableArray(mathMl), _toConsumableArray(xml)));
                var CUSTOM_ELEMENT_HANDLING = Object.seal(Object.create(null, {
                  tagNameCheck: {
                    writable: true,
                    configurable: false,
                    enumerable: true,
                    value: null
                  },
                  attributeNameCheck: {
                    writable: true,
                    configurable: false,
                    enumerable: true,
                    value: null
                  },
                  allowCustomizedBuiltInElements: {
                    writable: true,
                    configurable: false,
                    enumerable: true,
                    value: false
                  }
                }));
                var FORBID_TAGS = null;
                var FORBID_ATTR = null;
                var ALLOW_ARIA_ATTR = true;
                var ALLOW_DATA_ATTR = true;
                var ALLOW_UNKNOWN_PROTOCOLS = false;
                var SAFE_FOR_TEMPLATES = false;
                var WHOLE_DOCUMENT = false;
                var SET_CONFIG = false;
                var FORCE_BODY = false;
                var RETURN_DOM = false;
                var RETURN_DOM_FRAGMENT = false;
                var RETURN_TRUSTED_TYPE = false;
                var SANITIZE_DOM = true;
                var KEEP_CONTENT = true;
                var IN_PLACE = false;
                var USE_PROFILES = {};
                var FORBID_CONTENTS = null;
                var DEFAULT_FORBID_CONTENTS = addToSet({}, ["annotation-xml", "audio", "colgroup", "desc", "foreignobject", "head", "iframe", "math", "mi", "mn", "mo", "ms", "mtext", "noembed", "noframes", "noscript", "plaintext", "script", "style", "svg", "template", "thead", "title", "video", "xmp"]);
                var DATA_URI_TAGS = null;
                var DEFAULT_DATA_URI_TAGS = addToSet({}, ["audio", "video", "img", "source", "image", "track"]);
                var URI_SAFE_ATTRIBUTES = null;
                var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]);
                var MATHML_NAMESPACE = "http://www.w3.org/1998/Math/MathML";
                var SVG_NAMESPACE = "http://www.w3.org/2000/svg";
                var HTML_NAMESPACE = "http://www.w3.org/1999/xhtml";
                var NAMESPACE = HTML_NAMESPACE;
                var IS_EMPTY_INPUT = false;
                var PARSER_MEDIA_TYPE;
                var SUPPORTED_PARSER_MEDIA_TYPES = ["application/xhtml+xml", "text/html"];
                var DEFAULT_PARSER_MEDIA_TYPE = "text/html";
                var transformCaseFunc;
                var CONFIG = null;
                var formElement = document2.createElement("form");
                var isRegexOrFunction = function isRegexOrFunction2(testValue) {
                  return testValue instanceof RegExp || testValue instanceof Function;
                };
                var _parseConfig = function _parseConfig2(cfg) {
                  if (CONFIG && CONFIG === cfg) {
                    return;
                  }
                  if (!cfg || _typeof(cfg) !== "object") {
                    cfg = {};
                  }
                  cfg = clone(cfg);
                  ALLOWED_TAGS = "ALLOWED_TAGS" in cfg ? addToSet({}, cfg.ALLOWED_TAGS) : DEFAULT_ALLOWED_TAGS;
                  ALLOWED_ATTR = "ALLOWED_ATTR" in cfg ? addToSet({}, cfg.ALLOWED_ATTR) : DEFAULT_ALLOWED_ATTR;
                  URI_SAFE_ATTRIBUTES = "ADD_URI_SAFE_ATTR" in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR) : DEFAULT_URI_SAFE_ATTRIBUTES;
                  DATA_URI_TAGS = "ADD_DATA_URI_TAGS" in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS) : DEFAULT_DATA_URI_TAGS;
                  FORBID_CONTENTS = "FORBID_CONTENTS" in cfg ? addToSet({}, cfg.FORBID_CONTENTS) : DEFAULT_FORBID_CONTENTS;
                  FORBID_TAGS = "FORBID_TAGS" in cfg ? addToSet({}, cfg.FORBID_TAGS) : {};
                  FORBID_ATTR = "FORBID_ATTR" in cfg ? addToSet({}, cfg.FORBID_ATTR) : {};
                  USE_PROFILES = "USE_PROFILES" in cfg ? cfg.USE_PROFILES : false;
                  ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;
                  ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;
                  ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false;
                  SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false;
                  WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false;
                  RETURN_DOM = cfg.RETURN_DOM || false;
                  RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false;
                  RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false;
                  FORCE_BODY = cfg.FORCE_BODY || false;
                  SANITIZE_DOM = cfg.SANITIZE_DOM !== false;
                  KEEP_CONTENT = cfg.KEEP_CONTENT !== false;
                  IN_PLACE = cfg.IN_PLACE || false;
                  IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$1;
                  NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;
                  if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {
                    CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;
                  }
                  if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {
                    CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;
                  }
                  if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === "boolean") {
                    CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;
                  }
                  PARSER_MEDIA_TYPE = SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE;
                  transformCaseFunc = PARSER_MEDIA_TYPE === "application/xhtml+xml" ? function(x) {
                    return x;
                  } : stringToLowerCase;
                  if (SAFE_FOR_TEMPLATES) {
                    ALLOW_DATA_ATTR = false;
                  }
                  if (RETURN_DOM_FRAGMENT) {
                    RETURN_DOM = true;
                  }
                  if (USE_PROFILES) {
                    ALLOWED_TAGS = addToSet({}, _toConsumableArray(text));
                    ALLOWED_ATTR = [];
                    if (USE_PROFILES.html === true) {
                      addToSet(ALLOWED_TAGS, html$1);
                      addToSet(ALLOWED_ATTR, html);
                    }
                    if (USE_PROFILES.svg === true) {
                      addToSet(ALLOWED_TAGS, svg$1);
                      addToSet(ALLOWED_ATTR, svg);
                      addToSet(ALLOWED_ATTR, xml);
                    }
                    if (USE_PROFILES.svgFilters === true) {
                      addToSet(ALLOWED_TAGS, svgFilters);
                      addToSet(ALLOWED_ATTR, svg);
                      addToSet(ALLOWED_ATTR, xml);
                    }
                    if (USE_PROFILES.mathMl === true) {
                      addToSet(ALLOWED_TAGS, mathMl$1);
                      addToSet(ALLOWED_ATTR, mathMl);
                      addToSet(ALLOWED_ATTR, xml);
                    }
                  }
                  if (cfg.ADD_TAGS) {
                    if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
                      ALLOWED_TAGS = clone(ALLOWED_TAGS);
                    }
                    addToSet(ALLOWED_TAGS, cfg.ADD_TAGS);
                  }
                  if (cfg.ADD_ATTR) {
                    if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
                      ALLOWED_ATTR = clone(ALLOWED_ATTR);
                    }
                    addToSet(ALLOWED_ATTR, cfg.ADD_ATTR);
                  }
                  if (cfg.ADD_URI_SAFE_ATTR) {
                    addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR);
                  }
                  if (cfg.FORBID_CONTENTS) {
                    if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
                      FORBID_CONTENTS = clone(FORBID_CONTENTS);
                    }
                    addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS);
                  }
                  if (KEEP_CONTENT) {
                    ALLOWED_TAGS["#text"] = true;
                  }
                  if (WHOLE_DOCUMENT) {
                    addToSet(ALLOWED_TAGS, ["html", "head", "body"]);
                  }
                  if (ALLOWED_TAGS.table) {
                    addToSet(ALLOWED_TAGS, ["tbody"]);
                    delete FORBID_TAGS.tbody;
                  }
                  if (freeze) {
                    freeze(cfg);
                  }
                  CONFIG = cfg;
                };
                var MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ["mi", "mo", "mn", "ms", "mtext"]);
                var HTML_INTEGRATION_POINTS = addToSet({}, ["foreignobject", "desc", "title", "annotation-xml"]);
                var COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ["title", "style", "font", "a", "script"]);
                var ALL_SVG_TAGS = addToSet({}, svg$1);
                addToSet(ALL_SVG_TAGS, svgFilters);
                addToSet(ALL_SVG_TAGS, svgDisallowed);
                var ALL_MATHML_TAGS = addToSet({}, mathMl$1);
                addToSet(ALL_MATHML_TAGS, mathMlDisallowed);
                var _checkValidNamespace = function _checkValidNamespace2(element) {
                  var parent = getParentNode(element);
                  if (!parent || !parent.tagName) {
                    parent = {
                      namespaceURI: HTML_NAMESPACE,
                      tagName: "template"
                    };
                  }
                  var tagName = stringToLowerCase(element.tagName);
                  var parentTagName = stringToLowerCase(parent.tagName);
                  if (element.namespaceURI === SVG_NAMESPACE) {
                    if (parent.namespaceURI === HTML_NAMESPACE) {
                      return tagName === "svg";
                    }
                    if (parent.namespaceURI === MATHML_NAMESPACE) {
                      return tagName === "svg" && (parentTagName === "annotation-xml" || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);
                    }
                    return Boolean(ALL_SVG_TAGS[tagName]);
                  }
                  if (element.namespaceURI === MATHML_NAMESPACE) {
                    if (parent.namespaceURI === HTML_NAMESPACE) {
                      return tagName === "math";
                    }
                    if (parent.namespaceURI === SVG_NAMESPACE) {
                      return tagName === "math" && HTML_INTEGRATION_POINTS[parentTagName];
                    }
                    return Boolean(ALL_MATHML_TAGS[tagName]);
                  }
                  if (element.namespaceURI === HTML_NAMESPACE) {
                    if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {
                      return false;
                    }
                    if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {
                      return false;
                    }
                    return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);
                  }
                  return false;
                };
                var _forceRemove = function _forceRemove2(node) {
                  arrayPush(DOMPurify.removed, {
                    element: node
                  });
                  try {
                    node.parentNode.removeChild(node);
                  } catch (_) {
                    try {
                      node.outerHTML = emptyHTML;
                    } catch (_2) {
                      node.remove();
                    }
                  }
                };
                var _removeAttribute = function _removeAttribute2(name, node) {
                  try {
                    arrayPush(DOMPurify.removed, {
                      attribute: node.getAttributeNode(name),
                      from: node
                    });
                  } catch (_) {
                    arrayPush(DOMPurify.removed, {
                      attribute: null,
                      from: node
                    });
                  }
                  node.removeAttribute(name);
                  if (name === "is" && !ALLOWED_ATTR[name]) {
                    if (RETURN_DOM || RETURN_DOM_FRAGMENT) {
                      try {
                        _forceRemove(node);
                      } catch (_) {
                      }
                    } else {
                      try {
                        node.setAttribute(name, "");
                      } catch (_) {
                      }
                    }
                  }
                };
                var _initDocument = function _initDocument2(dirty) {
                  var doc;
                  var leadingWhitespace;
                  if (FORCE_BODY) {
                    dirty = "<remove></remove>" + dirty;
                  } else {
                    var matches = stringMatch(dirty, /^[\r\n\t ]+/);
                    leadingWhitespace = matches && matches[0];
                  }
                  if (PARSER_MEDIA_TYPE === "application/xhtml+xml") {
                    dirty = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + dirty + "</body></html>";
                  }
                  var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;
                  if (NAMESPACE === HTML_NAMESPACE) {
                    try {
                      doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);
                    } catch (_) {
                    }
                  }
                  if (!doc || !doc.documentElement) {
                    doc = implementation.createDocument(NAMESPACE, "template", null);
                    try {
                      doc.documentElement.innerHTML = IS_EMPTY_INPUT ? "" : dirtyPayload;
                    } catch (_) {
                    }
                  }
                  var body = doc.body || doc.documentElement;
                  if (dirty && leadingWhitespace) {
                    body.insertBefore(document2.createTextNode(leadingWhitespace), body.childNodes[0] || null);
                  }
                  if (NAMESPACE === HTML_NAMESPACE) {
                    return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? "html" : "body")[0];
                  }
                  return WHOLE_DOCUMENT ? doc.documentElement : body;
                };
                var _createIterator = function _createIterator2(root) {
                  return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);
                };
                var _isClobbered = function _isClobbered2(elm) {
                  return elm instanceof HTMLFormElement && (typeof elm.nodeName !== "string" || typeof elm.textContent !== "string" || typeof elm.removeChild !== "function" || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== "function" || typeof elm.setAttribute !== "function" || typeof elm.namespaceURI !== "string" || typeof elm.insertBefore !== "function");
                };
                var _isNode = function _isNode2(object) {
                  return _typeof(Node) === "object" ? object instanceof Node : object && _typeof(object) === "object" && typeof object.nodeType === "number" && typeof object.nodeName === "string";
                };
                var _executeHook = function _executeHook2(entryPoint, currentNode, data) {
                  if (!hooks[entryPoint]) {
                    return;
                  }
                  arrayForEach(hooks[entryPoint], function(hook) {
                    hook.call(DOMPurify, currentNode, data, CONFIG);
                  });
                };
                var _sanitizeElements = function _sanitizeElements2(currentNode) {
                  var content;
                  _executeHook("beforeSanitizeElements", currentNode, null);
                  if (_isClobbered(currentNode)) {
                    _forceRemove(currentNode);
                    return true;
                  }
                  if (regExpTest(/[\u0080-\uFFFF]/, currentNode.nodeName)) {
                    _forceRemove(currentNode);
                    return true;
                  }
                  var tagName = transformCaseFunc(currentNode.nodeName);
                  _executeHook("uponSanitizeElement", currentNode, {
                    tagName,
                    allowedTags: ALLOWED_TAGS
                  });
                  if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\w]/g, currentNode.innerHTML) && regExpTest(/<[/\w]/g, currentNode.textContent)) {
                    _forceRemove(currentNode);
                    return true;
                  }
                  if (tagName === "select" && regExpTest(/<template/i, currentNode.innerHTML)) {
                    _forceRemove(currentNode);
                    return true;
                  }
                  if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
                    if (!FORBID_TAGS[tagName] && _basicCustomElementTest(tagName)) {
                      if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName))
                        return false;
                      if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName))
                        return false;
                    }
                    if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {
                      var parentNode = getParentNode(currentNode) || currentNode.parentNode;
                      var childNodes = getChildNodes(currentNode) || currentNode.childNodes;
                      if (childNodes && parentNode) {
                        var childCount = childNodes.length;
                        for (var i = childCount - 1; i >= 0; --i) {
                          parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode));
                        }
                      }
                    }
                    _forceRemove(currentNode);
                    return true;
                  }
                  if (currentNode instanceof Element2 && !_checkValidNamespace(currentNode)) {
                    _forceRemove(currentNode);
                    return true;
                  }
                  if ((tagName === "noscript" || tagName === "noembed") && regExpTest(/<\/no(script|embed)/i, currentNode.innerHTML)) {
                    _forceRemove(currentNode);
                    return true;
                  }
                  if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {
                    content = currentNode.textContent;
                    content = stringReplace(content, MUSTACHE_EXPR$1, " ");
                    content = stringReplace(content, ERB_EXPR$1, " ");
                    if (currentNode.textContent !== content) {
                      arrayPush(DOMPurify.removed, {
                        element: currentNode.cloneNode()
                      });
                      currentNode.textContent = content;
                    }
                  }
                  _executeHook("afterSanitizeElements", currentNode, null);
                  return false;
                };
                var _isValidAttribute = function _isValidAttribute2(lcTag, lcName, value) {
                  if (SANITIZE_DOM && (lcName === "id" || lcName === "name") && (value in document2 || value in formElement)) {
                    return false;
                  }
                  if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR$1, lcName))
                    ;
                  else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName))
                    ;
                  else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
                    if (_basicCustomElementTest(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || lcName === "is" && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value)))
                      ;
                    else {
                      return false;
                    }
                  } else if (URI_SAFE_ATTRIBUTES[lcName])
                    ;
                  else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE$1, "")))
                    ;
                  else if ((lcName === "src" || lcName === "xlink:href" || lcName === "href") && lcTag !== "script" && stringIndexOf(value, "data:") === 0 && DATA_URI_TAGS[lcTag])
                    ;
                  else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$1, stringReplace(value, ATTR_WHITESPACE$1, "")))
                    ;
                  else if (!value)
                    ;
                  else {
                    return false;
                  }
                  return true;
                };
                var _basicCustomElementTest = function _basicCustomElementTest2(tagName) {
                  return tagName.indexOf("-") > 0;
                };
                var _sanitizeAttributes = function _sanitizeAttributes2(currentNode) {
                  var attr;
                  var value;
                  var lcName;
                  var l;
                  _executeHook("beforeSanitizeAttributes", currentNode, null);
                  var attributes = currentNode.attributes;
                  if (!attributes) {
                    return;
                  }
                  var hookEvent = {
                    attrName: "",
                    attrValue: "",
                    keepAttr: true,
                    allowedAttributes: ALLOWED_ATTR
                  };
                  l = attributes.length;
                  while (l--) {
                    attr = attributes[l];
                    var _attr = attr, name = _attr.name, namespaceURI = _attr.namespaceURI;
                    value = name === "value" ? attr.value : stringTrim(attr.value);
                    lcName = transformCaseFunc(name);
                    hookEvent.attrName = lcName;
                    hookEvent.attrValue = value;
                    hookEvent.keepAttr = true;
                    hookEvent.forceKeepAttr = void 0;
                    _executeHook("uponSanitizeAttribute", currentNode, hookEvent);
                    value = hookEvent.attrValue;
                    if (hookEvent.forceKeepAttr) {
                      continue;
                    }
                    _removeAttribute(name, currentNode);
                    if (!hookEvent.keepAttr) {
                      continue;
                    }
                    if (regExpTest(/\/>/i, value)) {
                      _removeAttribute(name, currentNode);
                      continue;
                    }
                    if (SAFE_FOR_TEMPLATES) {
                      value = stringReplace(value, MUSTACHE_EXPR$1, " ");
                      value = stringReplace(value, ERB_EXPR$1, " ");
                    }
                    var lcTag = transformCaseFunc(currentNode.nodeName);
                    if (!_isValidAttribute(lcTag, lcName, value)) {
                      continue;
                    }
                    try {
                      if (namespaceURI) {
                        currentNode.setAttributeNS(namespaceURI, name, value);
                      } else {
                        currentNode.setAttribute(name, value);
                      }
                      arrayPop(DOMPurify.removed);
                    } catch (_) {
                    }
                  }
                  _executeHook("afterSanitizeAttributes", currentNode, null);
                };
                var _sanitizeShadowDOM = function _sanitizeShadowDOM2(fragment) {
                  var shadowNode;
                  var shadowIterator = _createIterator(fragment);
                  _executeHook("beforeSanitizeShadowDOM", fragment, null);
                  while (shadowNode = shadowIterator.nextNode()) {
                    _executeHook("uponSanitizeShadowNode", shadowNode, null);
                    if (_sanitizeElements(shadowNode)) {
                      continue;
                    }
                    if (shadowNode.content instanceof DocumentFragment) {
                      _sanitizeShadowDOM2(shadowNode.content);
                    }
                    _sanitizeAttributes(shadowNode);
                  }
                  _executeHook("afterSanitizeShadowDOM", fragment, null);
                };
                DOMPurify.sanitize = function(dirty, cfg) {
                  var body;
                  var importedNode;
                  var currentNode;
                  var oldNode;
                  var returnNode;
                  IS_EMPTY_INPUT = !dirty;
                  if (IS_EMPTY_INPUT) {
                    dirty = "<!-->";
                  }
                  if (typeof dirty !== "string" && !_isNode(dirty)) {
                    if (typeof dirty.toString !== "function") {
                      throw typeErrorCreate("toString is not a function");
                    } else {
                      dirty = dirty.toString();
                      if (typeof dirty !== "string") {
                        throw typeErrorCreate("dirty is not a string, aborting");
                      }
                    }
                  }
                  if (!DOMPurify.isSupported) {
                    if (_typeof(window2.toStaticHTML) === "object" || typeof window2.toStaticHTML === "function") {
                      if (typeof dirty === "string") {
                        return window2.toStaticHTML(dirty);
                      }
                      if (_isNode(dirty)) {
                        return window2.toStaticHTML(dirty.outerHTML);
                      }
                    }
                    return dirty;
                  }
                  if (!SET_CONFIG) {
                    _parseConfig(cfg);
                  }
                  DOMPurify.removed = [];
                  if (typeof dirty === "string") {
                    IN_PLACE = false;
                  }
                  if (IN_PLACE) {
                    if (dirty.nodeName) {
                      var tagName = transformCaseFunc(dirty.nodeName);
                      if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
                        throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place");
                      }
                    }
                  } else if (dirty instanceof Node) {
                    body = _initDocument("<!---->");
                    importedNode = body.ownerDocument.importNode(dirty, true);
                    if (importedNode.nodeType === 1 && importedNode.nodeName === "BODY") {
                      body = importedNode;
                    } else if (importedNode.nodeName === "HTML") {
                      body = importedNode;
                    } else {
                      body.appendChild(importedNode);
                    }
                  } else {
                    if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && dirty.indexOf("<") === -1) {
                      return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;
                    }
                    body = _initDocument(dirty);
                    if (!body) {
                      return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : "";
                    }
                  }
                  if (body && FORCE_BODY) {
                    _forceRemove(body.firstChild);
                  }
                  var nodeIterator = _createIterator(IN_PLACE ? dirty : body);
                  while (currentNode = nodeIterator.nextNode()) {
                    if (currentNode.nodeType === 3 && currentNode === oldNode) {
                      continue;
                    }
                    if (_sanitizeElements(currentNode)) {
                      continue;
                    }
                    if (currentNode.content instanceof DocumentFragment) {
                      _sanitizeShadowDOM(currentNode.content);
                    }
                    _sanitizeAttributes(currentNode);
                    oldNode = currentNode;
                  }
                  oldNode = null;
                  if (IN_PLACE) {
                    return dirty;
                  }
                  if (RETURN_DOM) {
                    if (RETURN_DOM_FRAGMENT) {
                      returnNode = createDocumentFragment.call(body.ownerDocument);
                      while (body.firstChild) {
                        returnNode.appendChild(body.firstChild);
                      }
                    } else {
                      returnNode = body;
                    }
                    if (ALLOWED_ATTR.shadowroot) {
                      returnNode = importNode.call(originalDocument, returnNode, true);
                    }
                    return returnNode;
                  }
                  var serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;
                  if (WHOLE_DOCUMENT && ALLOWED_TAGS["!doctype"] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {
                    serializedHTML = "<!DOCTYPE " + body.ownerDocument.doctype.name + ">\n" + serializedHTML;
                  }
                  if (SAFE_FOR_TEMPLATES) {
                    serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR$1, " ");
                    serializedHTML = stringReplace(serializedHTML, ERB_EXPR$1, " ");
                  }
                  return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;
                };
                DOMPurify.setConfig = function(cfg) {
                  _parseConfig(cfg);
                  SET_CONFIG = true;
                };
                DOMPurify.clearConfig = function() {
                  CONFIG = null;
                  SET_CONFIG = false;
                };
                DOMPurify.isValidAttribute = function(tag, attr, value) {
                  if (!CONFIG) {
                    _parseConfig({});
                  }
                  var lcTag = transformCaseFunc(tag);
                  var lcName = transformCaseFunc(attr);
                  return _isValidAttribute(lcTag, lcName, value);
                };
                DOMPurify.addHook = function(entryPoint, hookFunction) {
                  if (typeof hookFunction !== "function") {
                    return;
                  }
                  hooks[entryPoint] = hooks[entryPoint] || [];
                  arrayPush(hooks[entryPoint], hookFunction);
                };
                DOMPurify.removeHook = function(entryPoint) {
                  if (hooks[entryPoint]) {
                    return arrayPop(hooks[entryPoint]);
                  }
                };
                DOMPurify.removeHooks = function(entryPoint) {
                  if (hooks[entryPoint]) {
                    hooks[entryPoint] = [];
                  }
                };
                DOMPurify.removeAllHooks = function() {
                  hooks = {};
                };
                return DOMPurify;
              }
              var purify = createDOMPurify();
              return purify;
            });
          },
          4304: function(module3, __unused_webpack_exports, __webpack_require__2) {
            module3.exports = window.DOMPurify || (window.DOMPurify = __webpack_require__2(5368)["default"] || __webpack_require__2(5368));
          },
          7386: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isUndefined = __webpack_require__2(3929);
            function range(start, stop, step) {
              var arr = [];
              var flag;
              if (isUndefined(stop)) {
                stop = start || 0;
                start = 0;
              }
              step = step || 1;
              flag = step < 0 ? -1 : 1;
              stop *= flag;
              for (; start * flag < stop; start += step) {
                arr.push(start);
              }
              return arr;
            }
            module3.exports = range;
          },
          1690: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isArray = __webpack_require__2(7322);
            var forEachArray = __webpack_require__2(893);
            var forEachOwnProperties = __webpack_require__2(6956);
            function forEach(obj, iteratee, context) {
              if (isArray(obj)) {
                forEachArray(obj, iteratee, context);
              } else {
                forEachOwnProperties(obj, iteratee, context);
              }
            }
            module3.exports = forEach;
          },
          893: function(module3) {
            function forEachArray(arr, iteratee, context) {
              var index = 0;
              var len = arr.length;
              context = context || null;
              for (; index < len; index += 1) {
                if (iteratee.call(context, arr[index], index, arr) === false) {
                  break;
                }
              }
            }
            module3.exports = forEachArray;
          },
          6956: function(module3) {
            function forEachOwnProperties(obj, iteratee, context) {
              var key;
              context = context || null;
              for (key in obj) {
                if (obj.hasOwnProperty(key)) {
                  if (iteratee.call(context, obj[key], key, obj) === false) {
                    break;
                  }
                }
              }
            }
            module3.exports = forEachOwnProperties;
          },
          2278: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var extend = __webpack_require__2(7969);
            var isExisty = __webpack_require__2(6648);
            var isString = __webpack_require__2(758);
            var isObject = __webpack_require__2(5758);
            var isArray = __webpack_require__2(7322);
            var isFunction = __webpack_require__2(4294);
            var forEach = __webpack_require__2(1690);
            var R_EVENTNAME_SPLIT = /\s+/g;
            function CustomEvents() {
              this.events = null;
              this.contexts = null;
            }
            CustomEvents.mixin = function(func) {
              extend(func.prototype, CustomEvents.prototype);
            };
            CustomEvents.prototype._getHandlerItem = function(handler, context) {
              var item = { handler };
              if (context) {
                item.context = context;
              }
              return item;
            };
            CustomEvents.prototype._safeEvent = function(eventName) {
              var events = this.events;
              var byName;
              if (!events) {
                events = this.events = {};
              }
              if (eventName) {
                byName = events[eventName];
                if (!byName) {
                  byName = [];
                  events[eventName] = byName;
                }
                events = byName;
              }
              return events;
            };
            CustomEvents.prototype._safeContext = function() {
              var context = this.contexts;
              if (!context) {
                context = this.contexts = [];
              }
              return context;
            };
            CustomEvents.prototype._indexOfContext = function(ctx) {
              var context = this._safeContext();
              var index = 0;
              while (context[index]) {
                if (ctx === context[index][0]) {
                  return index;
                }
                index += 1;
              }
              return -1;
            };
            CustomEvents.prototype._memorizeContext = function(ctx) {
              var context, index;
              if (!isExisty(ctx)) {
                return;
              }
              context = this._safeContext();
              index = this._indexOfContext(ctx);
              if (index > -1) {
                context[index][1] += 1;
              } else {
                context.push([ctx, 1]);
              }
            };
            CustomEvents.prototype._forgetContext = function(ctx) {
              var context, contextIndex;
              if (!isExisty(ctx)) {
                return;
              }
              context = this._safeContext();
              contextIndex = this._indexOfContext(ctx);
              if (contextIndex > -1) {
                context[contextIndex][1] -= 1;
                if (context[contextIndex][1] <= 0) {
                  context.splice(contextIndex, 1);
                }
              }
            };
            CustomEvents.prototype._bindEvent = function(eventName, handler, context) {
              var events = this._safeEvent(eventName);
              this._memorizeContext(context);
              events.push(this._getHandlerItem(handler, context));
            };
            CustomEvents.prototype.on = function(eventName, handler, context) {
              var self2 = this;
              if (isString(eventName)) {
                eventName = eventName.split(R_EVENTNAME_SPLIT);
                forEach(eventName, function(name) {
                  self2._bindEvent(name, handler, context);
                });
              } else if (isObject(eventName)) {
                context = handler;
                forEach(eventName, function(func, name) {
                  self2.on(name, func, context);
                });
              }
            };
            CustomEvents.prototype.once = function(eventName, handler, context) {
              var self2 = this;
              if (isObject(eventName)) {
                context = handler;
                forEach(eventName, function(func, name) {
                  self2.once(name, func, context);
                });
                return;
              }
              function onceHandler() {
                handler.apply(context, arguments);
                self2.off(eventName, onceHandler, context);
              }
              this.on(eventName, onceHandler, context);
            };
            CustomEvents.prototype._spliceMatches = function(arr, predicate) {
              var i = 0;
              var len;
              if (!isArray(arr)) {
                return;
              }
              for (len = arr.length; i < len; i += 1) {
                if (predicate(arr[i]) === true) {
                  arr.splice(i, 1);
                  len -= 1;
                  i -= 1;
                }
              }
            };
            CustomEvents.prototype._matchHandler = function(handler) {
              var self2 = this;
              return function(item) {
                var needRemove = handler === item.handler;
                if (needRemove) {
                  self2._forgetContext(item.context);
                }
                return needRemove;
              };
            };
            CustomEvents.prototype._matchContext = function(context) {
              var self2 = this;
              return function(item) {
                var needRemove = context === item.context;
                if (needRemove) {
                  self2._forgetContext(item.context);
                }
                return needRemove;
              };
            };
            CustomEvents.prototype._matchHandlerAndContext = function(handler, context) {
              var self2 = this;
              return function(item) {
                var matchHandler = handler === item.handler;
                var matchContext = context === item.context;
                var needRemove = matchHandler && matchContext;
                if (needRemove) {
                  self2._forgetContext(item.context);
                }
                return needRemove;
              };
            };
            CustomEvents.prototype._offByEventName = function(eventName, handler) {
              var self2 = this;
              var andByHandler = isFunction(handler);
              var matchHandler = self2._matchHandler(handler);
              eventName = eventName.split(R_EVENTNAME_SPLIT);
              forEach(eventName, function(name) {
                var handlerItems = self2._safeEvent(name);
                if (andByHandler) {
                  self2._spliceMatches(handlerItems, matchHandler);
                } else {
                  forEach(handlerItems, function(item) {
                    self2._forgetContext(item.context);
                  });
                  self2.events[name] = [];
                }
              });
            };
            CustomEvents.prototype._offByHandler = function(handler) {
              var self2 = this;
              var matchHandler = this._matchHandler(handler);
              forEach(this._safeEvent(), function(handlerItems) {
                self2._spliceMatches(handlerItems, matchHandler);
              });
            };
            CustomEvents.prototype._offByObject = function(obj, handler) {
              var self2 = this;
              var matchFunc;
              if (this._indexOfContext(obj) < 0) {
                forEach(obj, function(func, name) {
                  self2.off(name, func);
                });
              } else if (isString(handler)) {
                matchFunc = this._matchContext(obj);
                self2._spliceMatches(this._safeEvent(handler), matchFunc);
              } else if (isFunction(handler)) {
                matchFunc = this._matchHandlerAndContext(handler, obj);
                forEach(this._safeEvent(), function(handlerItems) {
                  self2._spliceMatches(handlerItems, matchFunc);
                });
              } else {
                matchFunc = this._matchContext(obj);
                forEach(this._safeEvent(), function(handlerItems) {
                  self2._spliceMatches(handlerItems, matchFunc);
                });
              }
            };
            CustomEvents.prototype.off = function(eventName, handler) {
              if (isString(eventName)) {
                this._offByEventName(eventName, handler);
              } else if (!arguments.length) {
                this.events = {};
                this.contexts = [];
              } else if (isFunction(eventName)) {
                this._offByHandler(eventName);
              } else if (isObject(eventName)) {
                this._offByObject(eventName, handler);
              }
            };
            CustomEvents.prototype.fire = function(eventName) {
              this.invoke.apply(this, arguments);
            };
            CustomEvents.prototype.invoke = function(eventName) {
              var events, args, index, item;
              if (!this.hasListener(eventName)) {
                return true;
              }
              events = this._safeEvent(eventName);
              args = Array.prototype.slice.call(arguments, 1);
              index = 0;
              while (events[index]) {
                item = events[index];
                if (item.handler.apply(item.context, args) === false) {
                  return false;
                }
                index += 1;
              }
              return true;
            };
            CustomEvents.prototype.hasListener = function(eventName) {
              return this.getListenerLength(eventName) > 0;
            };
            CustomEvents.prototype.getListenerLength = function(eventName) {
              var events = this._safeEvent(eventName);
              return events.length;
            };
            module3.exports = CustomEvents;
          },
          7969: function(module3) {
            function extend(target, objects) {
              var hasOwnProp = Object.prototype.hasOwnProperty;
              var source, prop, i, len;
              for (i = 1, len = arguments.length; i < len; i += 1) {
                source = arguments[i];
                for (prop in source) {
                  if (hasOwnProp.call(source, prop)) {
                    target[prop] = source[prop];
                  }
                }
              }
              return target;
            }
            module3.exports = extend;
          },
          4254: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var forEachOwnProperties = __webpack_require__2(6956);
            function imagePing(url, trackingInfo) {
              var trackingElement = document.createElement("img");
              var queryString = "";
              forEachOwnProperties(trackingInfo, function(value, key) {
                queryString += "&" + key + "=" + value;
              });
              queryString = queryString.substring(1);
              trackingElement.src = url + "?" + queryString;
              trackingElement.style.display = "none";
              document.body.appendChild(trackingElement);
              document.body.removeChild(trackingElement);
              return trackingElement;
            }
            module3.exports = imagePing;
          },
          1391: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isUndefined = __webpack_require__2(3929);
            var imagePing = __webpack_require__2(4254);
            var ms7days = 7 * 24 * 60 * 60 * 1e3;
            function isExpired(date) {
              var now = new Date().getTime();
              return now - date > ms7days;
            }
            function sendHostname(appName, trackingId) {
              var url = "https://www.google-analytics.com/collect";
              var hostname = location.hostname;
              var hitType = "event";
              var eventCategory = "use";
              var applicationKeyForStorage = "TOAST UI " + appName + " for " + hostname + ": Statistics";
              var date = window.localStorage.getItem(applicationKeyForStorage);
              if (!isUndefined(window.tui) && window.tui.usageStatistics === false) {
                return;
              }
              if (date && !isExpired(date)) {
                return;
              }
              window.localStorage.setItem(applicationKeyForStorage, new Date().getTime());
              setTimeout(function() {
                if (document.readyState === "interactive" || document.readyState === "complete") {
                  imagePing(url, {
                    v: 1,
                    t: hitType,
                    tid: trackingId,
                    cid: hostname,
                    dp: hostname,
                    dh: appName,
                    el: appName,
                    ec: eventCategory
                  });
                }
              }, 1e3);
            }
            module3.exports = sendHostname;
          },
          7322: function(module3) {
            function isArray(obj) {
              return obj instanceof Array;
            }
            module3.exports = isArray;
          },
          1326: function(module3) {
            function isBoolean(obj) {
              return typeof obj === "boolean" || obj instanceof Boolean;
            }
            module3.exports = isBoolean;
          },
          6648: function(module3, __unused_webpack_exports, __webpack_require__2) {
            var isUndefined = __webpack_require__2(3929);
            var isNull = __webpack_require__2(2934);
            function isExisty(param) {
              return !isUndefined(param) && !isNull(param);
            }
            module3.exports = isExisty;
          },
          4294: function(module3) {
            function isFunction(obj) {
              return obj instanceof Function;
            }
            module3.exports = isFunction;
          },
          2934: function(module3) {
            function isNull(obj) {
              return obj === null;
            }
            module3.exports = isNull;
          },
          321: function(module3) {
            function isNumber(obj) {
              return typeof obj === "number" || obj instanceof Number;
            }
            module3.exports = isNumber;
          },
          5758: function(module3) {
            function isObject(obj) {
              return obj === Object(obj);
            }
            module3.exports = isObject;
          },
          758: function(module3) {
            function isString(obj) {
              return typeof obj === "string" || obj instanceof String;
            }
            module3.exports = isString;
          },
          3929: function(module3) {
            function isUndefined(obj) {
              return obj === void 0;
            }
            module3.exports = isUndefined;
          },
          4268: function(module3) {
            module3.exports = __WEBPACK_EXTERNAL_MODULE__4268__;
          },
          6665: function(__unused_webpack___webpack_module__, __webpack_exports__2, __webpack_require__2) {
            __webpack_require__2.d(__webpack_exports__2, {
              "pV": function() {
                return N;
              }
            });
            function n(n2) {
              for (var r2 = arguments.length, t2 = Array(r2 > 1 ? r2 - 1 : 0), e = 1; e < r2; e++)
                t2[e - 1] = arguments[e];
              throw Error("[Immer] minified error nr: " + n2 + (t2.length ? " " + t2.map(function(n3) {
                return "'" + n3 + "'";
              }).join(",") : "") + ". Find the full error at: https://bit.ly/3cXEKWf");
            }
            function r(n2) {
              return !!n2 && !!n2[Q];
            }
            function t(n2) {
              return !!n2 && (function(n3) {
                if (!n3 || typeof n3 != "object")
                  return false;
                var r2 = Object.getPrototypeOf(n3);
                if (r2 === null)
                  return true;
                var t2 = Object.hasOwnProperty.call(r2, "constructor") && r2.constructor;
                return t2 === Object || typeof t2 == "function" && Function.toString.call(t2) === Z;
              }(n2) || Array.isArray(n2) || !!n2[L] || !!n2.constructor[L] || s(n2) || v(n2));
            }
            function i(n2, r2, t2) {
              t2 === void 0 && (t2 = false), o(n2) === 0 ? (t2 ? Object.keys : nn)(n2).forEach(function(e) {
                t2 && typeof e == "symbol" || r2(e, n2[e], n2);
              }) : n2.forEach(function(t3, e) {
                return r2(e, t3, n2);
              });
            }
            function o(n2) {
              var r2 = n2[Q];
              return r2 ? r2.i > 3 ? r2.i - 4 : r2.i : Array.isArray(n2) ? 1 : s(n2) ? 2 : v(n2) ? 3 : 0;
            }
            function u(n2, r2) {
              return o(n2) === 2 ? n2.has(r2) : Object.prototype.hasOwnProperty.call(n2, r2);
            }
            function a(n2, r2) {
              return o(n2) === 2 ? n2.get(r2) : n2[r2];
            }
            function f(n2, r2, t2) {
              var e = o(n2);
              e === 2 ? n2.set(r2, t2) : e === 3 ? (n2.delete(r2), n2.add(t2)) : n2[r2] = t2;
            }
            function c(n2, r2) {
              return n2 === r2 ? n2 !== 0 || 1 / n2 == 1 / r2 : n2 != n2 && r2 != r2;
            }
            function s(n2) {
              return X && n2 instanceof Map;
            }
            function v(n2) {
              return q && n2 instanceof Set;
            }
            function p(n2) {
              return n2.o || n2.t;
            }
            function l(n2) {
              if (Array.isArray(n2))
                return Array.prototype.slice.call(n2);
              var r2 = rn(n2);
              delete r2[Q];
              for (var t2 = nn(r2), e = 0; e < t2.length; e++) {
                var i2 = t2[e], o2 = r2[i2];
                o2.writable === false && (o2.writable = true, o2.configurable = true), (o2.get || o2.set) && (r2[i2] = { configurable: true, writable: true, enumerable: o2.enumerable, value: n2[i2] });
              }
              return Object.create(Object.getPrototypeOf(n2), r2);
            }
            function d(n2, e) {
              return e === void 0 && (e = false), y(n2) || r(n2) || !t(n2) ? n2 : (o(n2) > 1 && (n2.set = n2.add = n2.clear = n2.delete = h), Object.freeze(n2), e && i(n2, function(n3, r2) {
                return d(r2, true);
              }, true), n2);
            }
            function h() {
              n(2);
            }
            function y(n2) {
              return n2 == null || typeof n2 != "object" || Object.isFrozen(n2);
            }
            function b(r2) {
              var t2 = tn[r2];
              return t2 || n(18, r2), t2;
            }
            function m(n2, r2) {
              tn[n2] || (tn[n2] = r2);
            }
            function _() {
              return U;
            }
            function j(n2, r2) {
              r2 && (b("Patches"), n2.u = [], n2.s = [], n2.v = r2);
            }
            function O(n2) {
              g(n2), n2.p.forEach(S), n2.p = null;
            }
            function g(n2) {
              n2 === U && (U = n2.l);
            }
            function w(n2) {
              return U = { p: [], l: U, h: n2, m: true, _: 0 };
            }
            function S(n2) {
              var r2 = n2[Q];
              r2.i === 0 || r2.i === 1 ? r2.j() : r2.O = true;
            }
            function P(r2, e) {
              e._ = e.p.length;
              var i2 = e.p[0], o2 = r2 !== void 0 && r2 !== i2;
              return e.h.g || b("ES5").S(e, r2, o2), o2 ? (i2[Q].P && (O(e), n(4)), t(r2) && (r2 = M(e, r2), e.l || x(e, r2)), e.u && b("Patches").M(i2[Q].t, r2, e.u, e.s)) : r2 = M(e, i2, []), O(e), e.u && e.v(e.u, e.s), r2 !== H ? r2 : void 0;
            }
            function M(n2, r2, t2) {
              if (y(r2))
                return r2;
              var e = r2[Q];
              if (!e)
                return i(r2, function(i2, o3) {
                  return A(n2, e, r2, i2, o3, t2);
                }, true), r2;
              if (e.A !== n2)
                return r2;
              if (!e.P)
                return x(n2, e.t, true), e.t;
              if (!e.I) {
                e.I = true, e.A._--;
                var o2 = e.i === 4 || e.i === 5 ? e.o = l(e.k) : e.o;
                i(e.i === 3 ? new Set(o2) : o2, function(r3, i2) {
                  return A(n2, e, o2, r3, i2, t2);
                }), x(n2, o2, false), t2 && n2.u && b("Patches").R(e, t2, n2.u, n2.s);
              }
              return e.o;
            }
            function A(e, i2, o2, a2, c2, s2) {
              if (r(c2)) {
                var v2 = M(e, c2, s2 && i2 && i2.i !== 3 && !u(i2.D, a2) ? s2.concat(a2) : void 0);
                if (f(o2, a2, v2), !r(v2))
                  return;
                e.m = false;
              }
              if (t(c2) && !y(c2)) {
                if (!e.h.F && e._ < 1)
                  return;
                M(e, c2), i2 && i2.A.l || x(e, c2);
              }
            }
            function x(n2, r2, t2) {
              t2 === void 0 && (t2 = false), n2.h.F && n2.m && d(r2, t2);
            }
            function z(n2, r2) {
              var t2 = n2[Q];
              return (t2 ? p(t2) : n2)[r2];
            }
            function I(n2, r2) {
              if (r2 in n2)
                for (var t2 = Object.getPrototypeOf(n2); t2; ) {
                  var e = Object.getOwnPropertyDescriptor(t2, r2);
                  if (e)
                    return e;
                  t2 = Object.getPrototypeOf(t2);
                }
            }
            function k(n2) {
              n2.P || (n2.P = true, n2.l && k(n2.l));
            }
            function E(n2) {
              n2.o || (n2.o = l(n2.t));
            }
            function R(n2, r2, t2) {
              var e = s(r2) ? b("MapSet").N(r2, t2) : v(r2) ? b("MapSet").T(r2, t2) : n2.g ? function(n3, r3) {
                var t3 = Array.isArray(n3), e2 = { i: t3 ? 1 : 0, A: r3 ? r3.A : _(), P: false, I: false, D: {}, l: r3, t: n3, k: null, o: null, j: null, C: false }, i2 = e2, o2 = en;
                t3 && (i2 = [e2], o2 = on);
                var u2 = Proxy.revocable(i2, o2), a2 = u2.revoke, f2 = u2.proxy;
                return e2.k = f2, e2.j = a2, f2;
              }(r2, t2) : b("ES5").J(r2, t2);
              return (t2 ? t2.A : _()).p.push(e), e;
            }
            function D(e) {
              return r(e) || n(22, e), function n2(r2) {
                if (!t(r2))
                  return r2;
                var e2, u2 = r2[Q], c2 = o(r2);
                if (u2) {
                  if (!u2.P && (u2.i < 4 || !b("ES5").K(u2)))
                    return u2.t;
                  u2.I = true, e2 = F(r2, c2), u2.I = false;
                } else
                  e2 = F(r2, c2);
                return i(e2, function(r3, t2) {
                  u2 && a(u2.t, r3) === t2 || f(e2, r3, n2(t2));
                }), c2 === 3 ? new Set(e2) : e2;
              }(e);
            }
            function F(n2, r2) {
              switch (r2) {
                case 2:
                  return new Map(n2);
                case 3:
                  return Array.from(n2);
              }
              return l(n2);
            }
            function N() {
              function t2(n2, r2) {
                var t3 = s2[n2];
                return t3 ? t3.enumerable = r2 : s2[n2] = t3 = { configurable: true, enumerable: r2, get: function() {
                  var r3 = this[Q];
                  return en.get(r3, n2);
                }, set: function(r3) {
                  var t4 = this[Q];
                  en.set(t4, n2, r3);
                } }, t3;
              }
              function e(n2) {
                for (var r2 = n2.length - 1; r2 >= 0; r2--) {
                  var t3 = n2[r2][Q];
                  if (!t3.P)
                    switch (t3.i) {
                      case 5:
                        a2(t3) && k(t3);
                        break;
                      case 4:
                        o2(t3) && k(t3);
                    }
                }
              }
              function o2(n2) {
                for (var r2 = n2.t, t3 = n2.k, e2 = nn(t3), i2 = e2.length - 1; i2 >= 0; i2--) {
                  var o3 = e2[i2];
                  if (o3 !== Q) {
                    var a3 = r2[o3];
                    if (a3 === void 0 && !u(r2, o3))
                      return true;
                    var f2 = t3[o3], s3 = f2 && f2[Q];
                    if (s3 ? s3.t !== a3 : !c(f2, a3))
                      return true;
                  }
                }
                var v2 = !!r2[Q];
                return e2.length !== nn(r2).length + (v2 ? 0 : 1);
              }
              function a2(n2) {
                var r2 = n2.k;
                if (r2.length !== n2.t.length)
                  return true;
                var t3 = Object.getOwnPropertyDescriptor(r2, r2.length - 1);
                if (t3 && !t3.get)
                  return true;
                for (var e2 = 0; e2 < r2.length; e2++)
                  if (!r2.hasOwnProperty(e2))
                    return true;
                return false;
              }
              var s2 = {};
              m("ES5", { J: function(n2, r2) {
                var e2 = Array.isArray(n2), i2 = function(n3, r3) {
                  if (n3) {
                    for (var e3 = Array(r3.length), i3 = 0; i3 < r3.length; i3++)
                      Object.defineProperty(e3, "" + i3, t2(i3, true));
                    return e3;
                  }
                  var o4 = rn(r3);
                  delete o4[Q];
                  for (var u2 = nn(o4), a3 = 0; a3 < u2.length; a3++) {
                    var f2 = u2[a3];
                    o4[f2] = t2(f2, n3 || !!o4[f2].enumerable);
                  }
                  return Object.create(Object.getPrototypeOf(r3), o4);
                }(e2, n2), o3 = { i: e2 ? 5 : 4, A: r2 ? r2.A : _(), P: false, I: false, D: {}, l: r2, t: n2, k: i2, o: null, O: false, C: false };
                return Object.defineProperty(i2, Q, { value: o3, writable: true }), i2;
              }, S: function(n2, t3, o3) {
                o3 ? r(t3) && t3[Q].A === n2 && e(n2.p) : (n2.u && function n3(r2) {
                  if (r2 && typeof r2 == "object") {
                    var t4 = r2[Q];
                    if (t4) {
                      var e2 = t4.t, o4 = t4.k, f2 = t4.D, c2 = t4.i;
                      if (c2 === 4)
                        i(o4, function(r3) {
                          r3 !== Q && (e2[r3] !== void 0 || u(e2, r3) ? f2[r3] || n3(o4[r3]) : (f2[r3] = true, k(t4)));
                        }), i(e2, function(n4) {
                          o4[n4] !== void 0 || u(o4, n4) || (f2[n4] = false, k(t4));
                        });
                      else if (c2 === 5) {
                        if (a2(t4) && (k(t4), f2.length = true), o4.length < e2.length)
                          for (var s3 = o4.length; s3 < e2.length; s3++)
                            f2[s3] = false;
                        else
                          for (var v2 = e2.length; v2 < o4.length; v2++)
                            f2[v2] = true;
                        for (var p2 = Math.min(o4.length, e2.length), l2 = 0; l2 < p2; l2++)
                          o4.hasOwnProperty(l2) || (f2[l2] = true), f2[l2] === void 0 && n3(o4[l2]);
                      }
                    }
                  }
                }(n2.p[0]), e(n2.p));
              }, K: function(n2) {
                return n2.i === 4 ? o2(n2) : a2(n2);
              } });
            }
            var G, U, W = typeof Symbol != "undefined" && typeof Symbol("x") == "symbol", X = typeof Map != "undefined", q = typeof Set != "undefined", B = typeof Proxy != "undefined" && Proxy.revocable !== void 0 && typeof Reflect != "undefined", H = W ? Symbol.for("immer-nothing") : ((G = {})["immer-nothing"] = true, G), L = W ? Symbol.for("immer-draftable") : "__$immer_draftable", Q = W ? Symbol.for("immer-state") : "__$immer_state", Z = "" + Object.prototype.constructor, nn = typeof Reflect != "undefined" && Reflect.ownKeys ? Reflect.ownKeys : Object.getOwnPropertySymbols !== void 0 ? function(n2) {
              return Object.getOwnPropertyNames(n2).concat(Object.getOwnPropertySymbols(n2));
            } : Object.getOwnPropertyNames, rn = Object.getOwnPropertyDescriptors || function(n2) {
              var r2 = {};
              return nn(n2).forEach(function(t2) {
                r2[t2] = Object.getOwnPropertyDescriptor(n2, t2);
              }), r2;
            }, tn = {}, en = { get: function(n2, r2) {
              if (r2 === Q)
                return n2;
              var e = p(n2);
              if (!u(e, r2))
                return function(n3, r3, t2) {
                  var e2, i3 = I(r3, t2);
                  return i3 ? "value" in i3 ? i3.value : (e2 = i3.get) === null || e2 === void 0 ? void 0 : e2.call(n3.k) : void 0;
                }(n2, e, r2);
              var i2 = e[r2];
              return n2.I || !t(i2) ? i2 : i2 === z(n2.t, r2) ? (E(n2), n2.o[r2] = R(n2.A.h, i2, n2)) : i2;
            }, has: function(n2, r2) {
              return r2 in p(n2);
            }, ownKeys: function(n2) {
              return Reflect.ownKeys(p(n2));
            }, set: function(n2, r2, t2) {
              var e = I(p(n2), r2);
              if (e == null ? void 0 : e.set)
                return e.set.call(n2.k, t2), true;
              if (!n2.P) {
                var i2 = z(p(n2), r2), o2 = i2 == null ? void 0 : i2[Q];
                if (o2 && o2.t === t2)
                  return n2.o[r2] = t2, n2.D[r2] = false, true;
                if (c(t2, i2) && (t2 !== void 0 || u(n2.t, r2)))
                  return true;
                E(n2), k(n2);
              }
              return n2.o[r2] === t2 && typeof t2 != "number" && (t2 !== void 0 || r2 in n2.o) || (n2.o[r2] = t2, n2.D[r2] = true, true);
            }, deleteProperty: function(n2, r2) {
              return z(n2.t, r2) !== void 0 || r2 in n2.t ? (n2.D[r2] = false, E(n2), k(n2)) : delete n2.D[r2], n2.o && delete n2.o[r2], true;
            }, getOwnPropertyDescriptor: function(n2, r2) {
              var t2 = p(n2), e = Reflect.getOwnPropertyDescriptor(t2, r2);
              return e ? { writable: true, configurable: n2.i !== 1 || r2 !== "length", enumerable: e.enumerable, value: t2[r2] } : e;
            }, defineProperty: function() {
              n(11);
            }, getPrototypeOf: function(n2) {
              return Object.getPrototypeOf(n2.t);
            }, setPrototypeOf: function() {
              n(12);
            } }, on = {};
            i(en, function(n2, r2) {
              on[n2] = function() {
                return arguments[0] = arguments[0][0], r2.apply(this, arguments);
              };
            }), on.deleteProperty = function(r2, t2) {
              return on.set.call(this, r2, t2, void 0);
            }, on.set = function(r2, t2, e) {
              return en.set.call(this, r2[0], t2, e, r2[0]);
            };
            var un = function() {
              function e(r2) {
                var e2 = this;
                this.g = B, this.F = true, this.produce = function(r3, i3, o2) {
                  if (typeof r3 == "function" && typeof i3 != "function") {
                    var u2 = i3;
                    i3 = r3;
                    var a2 = e2;
                    return function(n2) {
                      var r4 = this;
                      n2 === void 0 && (n2 = u2);
                      for (var t2 = arguments.length, e3 = Array(t2 > 1 ? t2 - 1 : 0), o3 = 1; o3 < t2; o3++)
                        e3[o3 - 1] = arguments[o3];
                      return a2.produce(n2, function(n3) {
                        var t3;
                        return (t3 = i3).call.apply(t3, [r4, n3].concat(e3));
                      });
                    };
                  }
                  var f2;
                  if (typeof i3 != "function" && n(6), o2 !== void 0 && typeof o2 != "function" && n(7), t(r3)) {
                    var c2 = w(e2), s2 = R(e2, r3, void 0), v2 = true;
                    try {
                      f2 = i3(s2), v2 = false;
                    } finally {
                      v2 ? O(c2) : g(c2);
                    }
                    return typeof Promise != "undefined" && f2 instanceof Promise ? f2.then(function(n2) {
                      return j(c2, o2), P(n2, c2);
                    }, function(n2) {
                      throw O(c2), n2;
                    }) : (j(c2, o2), P(f2, c2));
                  }
                  if (!r3 || typeof r3 != "object") {
                    if ((f2 = i3(r3)) === void 0 && (f2 = r3), f2 === H && (f2 = void 0), e2.F && d(f2, true), o2) {
                      var p2 = [], l2 = [];
                      b("Patches").M(r3, f2, p2, l2), o2(p2, l2);
                    }
                    return f2;
                  }
                  n(21, r3);
                }, this.produceWithPatches = function(n2, r3) {
                  if (typeof n2 == "function")
                    return function(r4) {
                      for (var t3 = arguments.length, i4 = Array(t3 > 1 ? t3 - 1 : 0), o3 = 1; o3 < t3; o3++)
                        i4[o3 - 1] = arguments[o3];
                      return e2.produceWithPatches(r4, function(r5) {
                        return n2.apply(void 0, [r5].concat(i4));
                      });
                    };
                  var t2, i3, o2 = e2.produce(n2, r3, function(n3, r4) {
                    t2 = n3, i3 = r4;
                  });
                  return typeof Promise != "undefined" && o2 instanceof Promise ? o2.then(function(n3) {
                    return [n3, t2, i3];
                  }) : [o2, t2, i3];
                }, typeof (r2 == null ? void 0 : r2.useProxies) == "boolean" && this.setUseProxies(r2.useProxies), typeof (r2 == null ? void 0 : r2.autoFreeze) == "boolean" && this.setAutoFreeze(r2.autoFreeze);
              }
              var i2 = e.prototype;
              return i2.createDraft = function(e2) {
                t(e2) || n(8), r(e2) && (e2 = D(e2));
                var i3 = w(this), o2 = R(this, e2, void 0);
                return o2[Q].C = true, g(i3), o2;
              }, i2.finishDraft = function(r2, t2) {
                var e2 = r2 && r2[Q];
                var i3 = e2.A;
                return j(i3, t2), P(void 0, i3);
              }, i2.setAutoFreeze = function(n2) {
                this.F = n2;
              }, i2.setUseProxies = function(r2) {
                r2 && !B && n(20), this.g = r2;
              }, i2.applyPatches = function(n2, t2) {
                var e2;
                for (e2 = t2.length - 1; e2 >= 0; e2--) {
                  var i3 = t2[e2];
                  if (i3.path.length === 0 && i3.op === "replace") {
                    n2 = i3.value;
                    break;
                  }
                }
                e2 > -1 && (t2 = t2.slice(e2 + 1));
                var o2 = b("Patches").$;
                return r(n2) ? o2(n2, t2) : this.produce(n2, function(n3) {
                  return o2(n3, t2);
                });
              }, e;
            }(), an = new un(), fn = an.produce;
            an.produceWithPatches.bind(an);
            an.setAutoFreeze.bind(an);
            an.setUseProxies.bind(an);
            an.applyPatches.bind(an);
            an.createDraft.bind(an);
            an.finishDraft.bind(an);
            __webpack_exports__2["ZP"] = fn;
          }
        };
        var __webpack_module_cache__ = {};
        function __webpack_require__(moduleId) {
          var cachedModule = __webpack_module_cache__[moduleId];
          if (cachedModule !== void 0) {
            return cachedModule.exports;
          }
          var module3 = __webpack_module_cache__[moduleId] = {
            exports: {}
          };
          __webpack_modules__[moduleId].call(module3.exports, module3, module3.exports, __webpack_require__);
          return module3.exports;
        }
        !function() {
          __webpack_require__.n = function(module3) {
            var getter = module3 && module3.__esModule ? function() {
              return module3["default"];
            } : function() {
              return module3;
            };
            __webpack_require__.d(getter, { a: getter });
            return getter;
          };
        }();
        !function() {
          __webpack_require__.d = function(exports3, definition) {
            for (var key in definition) {
              if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports3, key)) {
                Object.defineProperty(exports3, key, { enumerable: true, get: definition[key] });
              }
            }
          };
        }();
        !function() {
          __webpack_require__.g = function() {
            if (typeof globalThis === "object")
              return globalThis;
            try {
              return this || new Function("return this")();
            } catch (e) {
              if (typeof window === "object")
                return window;
            }
          }();
        }();
        !function() {
          __webpack_require__.o = function(obj, prop) {
            return Object.prototype.hasOwnProperty.call(obj, prop);
          };
        }();
        var __webpack_exports__ = {};
        !function() {
          var immer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6665);
          (0, immer__WEBPACK_IMPORTED_MODULE_0__.pV)();
        }();
        !function() {
          __webpack_require__.d(__webpack_exports__, {
            "default": function() {
              return src_0;
            }
          });
          __webpack_require__(9228);
          __webpack_require__(8188);
          __webpack_require__(7890);
          __webpack_require__(6928);
          __webpack_require__(2215);
          __webpack_require__(1229);
          __webpack_require__(1372);
          __webpack_require__(4115);
          __webpack_require__(634);
          __webpack_require__(796);
          __webpack_require__(5735);
          __webpack_require__(8673);
          __webpack_require__(6886);
          var n, preact_module_l, u, t, o, r, f = {}, e = [], c = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;
          function s(n2, l2) {
            for (var u2 in l2)
              n2[u2] = l2[u2];
            return n2;
          }
          function a(n2) {
            var l2 = n2.parentNode;
            l2 && l2.removeChild(n2);
          }
          function h(l2, u2, i) {
            var t2, o2, r2, f2 = {};
            for (r2 in u2)
              r2 == "key" ? t2 = u2[r2] : r2 == "ref" ? o2 = u2[r2] : f2[r2] = u2[r2];
            if (arguments.length > 2 && (f2.children = arguments.length > 3 ? n.call(arguments, 2) : i), typeof l2 == "function" && l2.defaultProps != null)
              for (r2 in l2.defaultProps)
                f2[r2] === void 0 && (f2[r2] = l2.defaultProps[r2]);
            return v(l2, f2, t2, o2, null);
          }
          function v(n2, i, t2, o2, r2) {
            var f2 = { type: n2, props: i, key: t2, ref: o2, __k: null, __: null, __b: 0, __e: null, __d: void 0, __c: null, __h: null, constructor: void 0, __v: r2 == null ? ++u : r2 };
            return r2 == null && preact_module_l.vnode != null && preact_module_l.vnode(f2), f2;
          }
          function p(n2) {
            return n2.children;
          }
          function d(n2, l2) {
            this.props = n2, this.context = l2;
          }
          function _(n2, l2) {
            if (l2 == null)
              return n2.__ ? _(n2.__, n2.__.__k.indexOf(n2) + 1) : null;
            for (var u2; l2 < n2.__k.length; l2++)
              if ((u2 = n2.__k[l2]) != null && u2.__e != null)
                return u2.__e;
            return typeof n2.type == "function" ? _(n2) : null;
          }
          function k(n2) {
            var l2, u2;
            if ((n2 = n2.__) != null && n2.__c != null) {
              for (n2.__e = n2.__c.base = null, l2 = 0; l2 < n2.__k.length; l2++)
                if ((u2 = n2.__k[l2]) != null && u2.__e != null) {
                  n2.__e = n2.__c.base = u2.__e;
                  break;
                }
              return k(n2);
            }
          }
          function b(n2) {
            (!n2.__d && (n2.__d = true) && t.push(n2) && !g.__r++ || o !== preact_module_l.debounceRendering) && ((o = preact_module_l.debounceRendering) || setTimeout)(g);
          }
          function g() {
            for (var n2; g.__r = t.length; )
              n2 = t.sort(function(n3, l2) {
                return n3.__v.__b - l2.__v.__b;
              }), t = [], n2.some(function(n3) {
                var l2, u2, i, t2, o2, r2;
                n3.__d && (o2 = (t2 = (l2 = n3).__v).__e, (r2 = l2.__P) && (u2 = [], (i = s({}, t2)).__v = t2.__v + 1, j(r2, t2, i, l2.__n, r2.ownerSVGElement !== void 0, t2.__h != null ? [o2] : null, u2, o2 == null ? _(t2) : o2, t2.__h), z(u2, t2), t2.__e != o2 && k(t2)));
              });
          }
          function w(n2, l2, u2, i, t2, o2, r2, c2, s2, a2) {
            var h2, y, d2, k2, b2, g2, w2, x2 = i && i.__k || e, C2 = x2.length;
            for (u2.__k = [], h2 = 0; h2 < l2.length; h2++)
              if ((k2 = u2.__k[h2] = (k2 = l2[h2]) == null || typeof k2 == "boolean" ? null : typeof k2 == "string" || typeof k2 == "number" || typeof k2 == "bigint" ? v(null, k2, null, null, k2) : Array.isArray(k2) ? v(p, { children: k2 }, null, null, null) : k2.__b > 0 ? v(k2.type, k2.props, k2.key, null, k2.__v) : k2) != null) {
                if (k2.__ = u2, k2.__b = u2.__b + 1, (d2 = x2[h2]) === null || d2 && k2.key == d2.key && k2.type === d2.type)
                  x2[h2] = void 0;
                else
                  for (y = 0; y < C2; y++) {
                    if ((d2 = x2[y]) && k2.key == d2.key && k2.type === d2.type) {
                      x2[y] = void 0;
                      break;
                    }
                    d2 = null;
                  }
                j(n2, k2, d2 = d2 || f, t2, o2, r2, c2, s2, a2), b2 = k2.__e, (y = k2.ref) && d2.ref != y && (w2 || (w2 = []), d2.ref && w2.push(d2.ref, null, k2), w2.push(y, k2.__c || b2, k2)), b2 != null ? (g2 == null && (g2 = b2), typeof k2.type == "function" && k2.__k === d2.__k ? k2.__d = s2 = m(k2, s2, n2) : s2 = A(n2, k2, d2, x2, b2, s2), typeof u2.type == "function" && (u2.__d = s2)) : s2 && d2.__e == s2 && s2.parentNode != n2 && (s2 = _(d2));
              }
            for (u2.__e = g2, h2 = C2; h2--; )
              x2[h2] != null && (typeof u2.type == "function" && x2[h2].__e != null && x2[h2].__e == u2.__d && (u2.__d = _(i, h2 + 1)), N(x2[h2], x2[h2]));
            if (w2)
              for (h2 = 0; h2 < w2.length; h2++)
                M(w2[h2], w2[++h2], w2[++h2]);
          }
          function m(n2, l2, u2) {
            for (var i, t2 = n2.__k, o2 = 0; t2 && o2 < t2.length; o2++)
              (i = t2[o2]) && (i.__ = n2, l2 = typeof i.type == "function" ? m(i, l2, u2) : A(u2, i, i, t2, i.__e, l2));
            return l2;
          }
          function x(n2, l2) {
            return l2 = l2 || [], n2 == null || typeof n2 == "boolean" || (Array.isArray(n2) ? n2.some(function(n3) {
              x(n3, l2);
            }) : l2.push(n2)), l2;
          }
          function A(n2, l2, u2, i, t2, o2) {
            var r2, f2, e2;
            if (l2.__d !== void 0)
              r2 = l2.__d, l2.__d = void 0;
            else if (u2 == null || t2 != o2 || t2.parentNode == null)
              n:
                if (o2 == null || o2.parentNode !== n2)
                  n2.appendChild(t2), r2 = null;
                else {
                  for (f2 = o2, e2 = 0; (f2 = f2.nextSibling) && e2 < i.length; e2 += 2)
                    if (f2 == t2)
                      break n;
                  n2.insertBefore(t2, o2), r2 = o2;
                }
            return r2 !== void 0 ? r2 : t2.nextSibling;
          }
          function C(n2, l2, u2, i, t2) {
            var o2;
            for (o2 in u2)
              o2 === "children" || o2 === "key" || o2 in l2 || H(n2, o2, null, u2[o2], i);
            for (o2 in l2)
              t2 && typeof l2[o2] != "function" || o2 === "children" || o2 === "key" || o2 === "value" || o2 === "checked" || u2[o2] === l2[o2] || H(n2, o2, l2[o2], u2[o2], i);
          }
          function $(n2, l2, u2) {
            l2[0] === "-" ? n2.setProperty(l2, u2) : n2[l2] = u2 == null ? "" : typeof u2 != "number" || c.test(l2) ? u2 : u2 + "px";
          }
          function H(n2, l2, u2, i, t2) {
            var o2;
            n:
              if (l2 === "style")
                if (typeof u2 == "string")
                  n2.style.cssText = u2;
                else {
                  if (typeof i == "string" && (n2.style.cssText = i = ""), i)
                    for (l2 in i)
                      u2 && l2 in u2 || $(n2.style, l2, "");
                  if (u2)
                    for (l2 in u2)
                      i && u2[l2] === i[l2] || $(n2.style, l2, u2[l2]);
                }
              else if (l2[0] === "o" && l2[1] === "n")
                o2 = l2 !== (l2 = l2.replace(/Capture$/, "")), l2 = l2.toLowerCase() in n2 ? l2.toLowerCase().slice(2) : l2.slice(2), n2.l || (n2.l = {}), n2.l[l2 + o2] = u2, u2 ? i || n2.addEventListener(l2, o2 ? T : I, o2) : n2.removeEventListener(l2, o2 ? T : I, o2);
              else if (l2 !== "dangerouslySetInnerHTML") {
                if (t2)
                  l2 = l2.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s");
                else if (l2 !== "href" && l2 !== "list" && l2 !== "form" && l2 !== "tabIndex" && l2 !== "download" && l2 in n2)
                  try {
                    n2[l2] = u2 == null ? "" : u2;
                    break n;
                  } catch (n3) {
                  }
                typeof u2 == "function" || (u2 != null && (u2 !== false || l2[0] === "a" && l2[1] === "r") ? n2.setAttribute(l2, u2) : n2.removeAttribute(l2));
              }
          }
          function I(n2) {
            this.l[n2.type + false](preact_module_l.event ? preact_module_l.event(n2) : n2);
          }
          function T(n2) {
            this.l[n2.type + true](preact_module_l.event ? preact_module_l.event(n2) : n2);
          }
          function j(n2, u2, i, t2, o2, r2, f2, e2, c2) {
            var a2, h2, v2, y, _2, k2, b2, g2, m2, x2, A2, C2, $2, H2 = u2.type;
            if (u2.constructor !== void 0)
              return null;
            i.__h != null && (c2 = i.__h, e2 = u2.__e = i.__e, u2.__h = null, r2 = [e2]), (a2 = preact_module_l.__b) && a2(u2);
            try {
              n:
                if (typeof H2 == "function") {
                  if (g2 = u2.props, m2 = (a2 = H2.contextType) && t2[a2.__c], x2 = a2 ? m2 ? m2.props.value : a2.__ : t2, i.__c ? b2 = (h2 = u2.__c = i.__c).__ = h2.__E : ("prototype" in H2 && H2.prototype.render ? u2.__c = h2 = new H2(g2, x2) : (u2.__c = h2 = new d(g2, x2), h2.constructor = H2, h2.render = O), m2 && m2.sub(h2), h2.props = g2, h2.state || (h2.state = {}), h2.context = x2, h2.__n = t2, v2 = h2.__d = true, h2.__h = []), h2.__s == null && (h2.__s = h2.state), H2.getDerivedStateFromProps != null && (h2.__s == h2.state && (h2.__s = s({}, h2.__s)), s(h2.__s, H2.getDerivedStateFromProps(g2, h2.__s))), y = h2.props, _2 = h2.state, v2)
                    H2.getDerivedStateFromProps == null && h2.componentWillMount != null && h2.componentWillMount(), h2.componentDidMount != null && h2.__h.push(h2.componentDidMount);
                  else {
                    if (H2.getDerivedStateFromProps == null && g2 !== y && h2.componentWillReceiveProps != null && h2.componentWillReceiveProps(g2, x2), !h2.__e && h2.shouldComponentUpdate != null && h2.shouldComponentUpdate(g2, h2.__s, x2) === false || u2.__v === i.__v) {
                      h2.props = g2, h2.state = h2.__s, u2.__v !== i.__v && (h2.__d = false), h2.__v = u2, u2.__e = i.__e, u2.__k = i.__k, u2.__k.forEach(function(n3) {
                        n3 && (n3.__ = u2);
                      }), h2.__h.length && f2.push(h2);
                      break n;
                    }
                    h2.componentWillUpdate != null && h2.componentWillUpdate(g2, h2.__s, x2), h2.componentDidUpdate != null && h2.__h.push(function() {
                      h2.componentDidUpdate(y, _2, k2);
                    });
                  }
                  if (h2.context = x2, h2.props = g2, h2.__v = u2, h2.__P = n2, A2 = preact_module_l.__r, C2 = 0, "prototype" in H2 && H2.prototype.render)
                    h2.state = h2.__s, h2.__d = false, A2 && A2(u2), a2 = h2.render(h2.props, h2.state, h2.context);
                  else
                    do {
                      h2.__d = false, A2 && A2(u2), a2 = h2.render(h2.props, h2.state, h2.context), h2.state = h2.__s;
                    } while (h2.__d && ++C2 < 25);
                  h2.state = h2.__s, h2.getChildContext != null && (t2 = s(s({}, t2), h2.getChildContext())), v2 || h2.getSnapshotBeforeUpdate == null || (k2 = h2.getSnapshotBeforeUpdate(y, _2)), $2 = a2 != null && a2.type === p && a2.key == null ? a2.props.children : a2, w(n2, Array.isArray($2) ? $2 : [$2], u2, i, t2, o2, r2, f2, e2, c2), h2.base = u2.__e, u2.__h = null, h2.__h.length && f2.push(h2), b2 && (h2.__E = h2.__ = null), h2.__e = false;
                } else
                  r2 == null && u2.__v === i.__v ? (u2.__k = i.__k, u2.__e = i.__e) : u2.__e = L(i.__e, u2, i, t2, o2, r2, f2, c2);
              (a2 = preact_module_l.diffed) && a2(u2);
            } catch (n3) {
              u2.__v = null, (c2 || r2 != null) && (u2.__e = e2, u2.__h = !!c2, r2[r2.indexOf(e2)] = null), preact_module_l.__e(n3, u2, i);
            }
          }
          function z(n2, u2) {
            preact_module_l.__c && preact_module_l.__c(u2, n2), n2.some(function(u3) {
              try {
                n2 = u3.__h, u3.__h = [], n2.some(function(n3) {
                  n3.call(u3);
                });
              } catch (n3) {
                preact_module_l.__e(n3, u3.__v);
              }
            });
          }
          function L(l2, u2, i, t2, o2, r2, e2, c2) {
            var s2, h2, v2, y = i.props, p2 = u2.props, d2 = u2.type, k2 = 0;
            if (d2 === "svg" && (o2 = true), r2 != null) {
              for (; k2 < r2.length; k2++)
                if ((s2 = r2[k2]) && "setAttribute" in s2 == !!d2 && (d2 ? s2.localName === d2 : s2.nodeType === 3)) {
                  l2 = s2, r2[k2] = null;
                  break;
                }
            }
            if (l2 == null) {
              if (d2 === null)
                return document.createTextNode(p2);
              l2 = o2 ? document.createElementNS("http://www.w3.org/2000/svg", d2) : document.createElement(d2, p2.is && p2), r2 = null, c2 = false;
            }
            if (d2 === null)
              y === p2 || c2 && l2.data === p2 || (l2.data = p2);
            else {
              if (r2 = r2 && n.call(l2.childNodes), h2 = (y = i.props || f).dangerouslySetInnerHTML, v2 = p2.dangerouslySetInnerHTML, !c2) {
                if (r2 != null)
                  for (y = {}, k2 = 0; k2 < l2.attributes.length; k2++)
                    y[l2.attributes[k2].name] = l2.attributes[k2].value;
                (v2 || h2) && (v2 && (h2 && v2.__html == h2.__html || v2.__html === l2.innerHTML) || (l2.innerHTML = v2 && v2.__html || ""));
              }
              if (C(l2, p2, y, o2, c2), v2)
                u2.__k = [];
              else if (k2 = u2.props.children, w(l2, Array.isArray(k2) ? k2 : [k2], u2, i, t2, o2 && d2 !== "foreignObject", r2, e2, r2 ? r2[0] : i.__k && _(i, 0), c2), r2 != null)
                for (k2 = r2.length; k2--; )
                  r2[k2] != null && a(r2[k2]);
              c2 || ("value" in p2 && (k2 = p2.value) !== void 0 && (k2 !== l2.value || d2 === "progress" && !k2 || d2 === "option" && k2 !== y.value) && H(l2, "value", k2, y.value, false), "checked" in p2 && (k2 = p2.checked) !== void 0 && k2 !== l2.checked && H(l2, "checked", k2, y.checked, false));
            }
            return l2;
          }
          function M(n2, u2, i) {
            try {
              typeof n2 == "function" ? n2(u2) : n2.current = u2;
            } catch (n3) {
              preact_module_l.__e(n3, i);
            }
          }
          function N(n2, u2, i) {
            var t2, o2;
            if (preact_module_l.unmount && preact_module_l.unmount(n2), (t2 = n2.ref) && (t2.current && t2.current !== n2.__e || M(t2, null, u2)), (t2 = n2.__c) != null) {
              if (t2.componentWillUnmount)
                try {
                  t2.componentWillUnmount();
                } catch (n3) {
                  preact_module_l.__e(n3, u2);
                }
              t2.base = t2.__P = null;
            }
            if (t2 = n2.__k)
              for (o2 = 0; o2 < t2.length; o2++)
                t2[o2] && N(t2[o2], u2, typeof n2.type != "function");
            i || n2.__e == null || a(n2.__e), n2.__e = n2.__d = void 0;
          }
          function O(n2, l2, u2) {
            return this.constructor(n2, u2);
          }
          function P(u2, i, t2) {
            var o2, r2, e2;
            preact_module_l.__ && preact_module_l.__(u2, i), r2 = (o2 = typeof t2 == "function") ? null : t2 && t2.__k || i.__k, e2 = [], j(i, u2 = (!o2 && t2 || i).__k = h(p, null, [u2]), r2 || f, f, i.ownerSVGElement !== void 0, !o2 && t2 ? [t2] : r2 ? null : i.firstChild ? n.call(i.childNodes) : null, e2, !o2 && t2 ? t2 : r2 ? r2.__e : i.firstChild, o2), z(e2, u2);
          }
          function q(l2, u2, i) {
            var t2, o2, r2, f2 = s({}, l2.props);
            for (r2 in u2)
              r2 == "key" ? t2 = u2[r2] : r2 == "ref" ? o2 = u2[r2] : f2[r2] = u2[r2];
            return arguments.length > 2 && (f2.children = arguments.length > 3 ? n.call(arguments, 2) : i), v(l2.type, f2, t2 || l2.key, o2 || l2.ref, null);
          }
          function B(n2, l2) {
            var u2 = { __c: l2 = "__cC" + r++, __: n2, Consumer: function(n3, l3) {
              return n3.children(l3);
            }, Provider: function(n3) {
              var u3, i;
              return this.getChildContext || (u3 = [], (i = {})[l2] = this, this.getChildContext = function() {
                return i;
              }, this.shouldComponentUpdate = function(n4) {
                this.props.value !== n4.value && u3.some(b);
              }, this.sub = function(n4) {
                u3.push(n4);
                var l3 = n4.componentWillUnmount;
                n4.componentWillUnmount = function() {
                  u3.splice(u3.indexOf(n4), 1), l3 && l3.call(n4);
                };
              }), n3.children;
            } };
            return u2.Provider.__ = u2.Consumer.contextType = u2;
          }
          n = e.slice, preact_module_l = { __e: function(n2, l2, u2, i) {
            for (var t2, o2, r2; l2 = l2.__; )
              if ((t2 = l2.__c) && !t2.__)
                try {
                  if ((o2 = t2.constructor) && o2.getDerivedStateFromError != null && (t2.setState(o2.getDerivedStateFromError(n2)), r2 = t2.__d), t2.componentDidCatch != null && (t2.componentDidCatch(n2, i || {}), r2 = t2.__d), r2)
                    return t2.__E = t2;
                } catch (l3) {
                  n2 = l3;
                }
            throw n2;
          } }, u = 0, d.prototype.setState = function(n2, l2) {
            var u2;
            u2 = this.__s != null && this.__s !== this.state ? this.__s : this.__s = s({}, this.state), typeof n2 == "function" && (n2 = n2(s({}, u2), this.props)), n2 && s(u2, n2), n2 != null && this.__v && (l2 && this.__h.push(l2), b(this));
          }, d.prototype.forceUpdate = function(n2) {
            this.__v && (this.__e = true, n2 && this.__h.push(n2), b(this));
          }, d.prototype.render = p, t = [], g.__r = 0, r = 0;
          var hooks_module_t, hooks_module_u, hooks_module_r, hooks_module_o, hooks_module_i = 0, hooks_module_c = [], hooks_module_f = [], hooks_module_e = preact_module_l.__b, hooks_module_a = preact_module_l.__r, hooks_module_v = preact_module_l.diffed, l = preact_module_l.__c, hooks_module_m = preact_module_l.unmount;
          function hooks_module_p(t2, r2) {
            preact_module_l.__h && preact_module_l.__h(hooks_module_u, t2, hooks_module_i || r2), hooks_module_i = 0;
            var o2 = hooks_module_u.__H || (hooks_module_u.__H = { __: [], __h: [] });
            return t2 >= o2.__.length && o2.__.push({ __V: hooks_module_f }), o2.__[t2];
          }
          function hooks_module_y(n2) {
            return hooks_module_i = 1, hooks_module_d(hooks_module_z, n2);
          }
          function hooks_module_d(n2, r2, o2) {
            var i = hooks_module_p(hooks_module_t++, 2);
            return i.t = n2, i.__c || (i.__ = [o2 ? o2(r2) : hooks_module_z(void 0, r2), function(n3) {
              var t2 = i.t(i.__[0], n3);
              i.__[0] !== t2 && (i.__ = [t2, i.__[1]], i.__c.setState({}));
            }], i.__c = hooks_module_u), i.__;
          }
          function hooks_module_(r2, o2) {
            var i = hooks_module_p(hooks_module_t++, 3);
            !preact_module_l.__s && hooks_module_w(i.__H, o2) && (i.__ = r2, i.u = o2, hooks_module_u.__H.__h.push(i));
          }
          function hooks_module_h(r2, o2) {
            var i = hooks_module_p(hooks_module_t++, 4);
            !preact_module_l.__s && hooks_module_w(i.__H, o2) && (i.__ = r2, i.u = o2, hooks_module_u.__h.push(i));
          }
          function hooks_module_s(n2) {
            return hooks_module_i = 5, F(function() {
              return { current: n2 };
            }, []);
          }
          function F(n2, u2) {
            var r2 = hooks_module_p(hooks_module_t++, 7);
            return hooks_module_w(r2.__H, u2) ? (r2.__V = n2(), r2.u = u2, r2.__h = n2, r2.__V) : r2.__;
          }
          function hooks_module_T(n2, t2) {
            return hooks_module_i = 8, F(function() {
              return n2;
            }, t2);
          }
          function hooks_module_q(n2) {
            var r2 = hooks_module_u.context[n2.__c], o2 = hooks_module_p(hooks_module_t++, 9);
            return o2.c = n2, r2 ? (o2.__ == null && (o2.__ = true, r2.sub(hooks_module_u)), r2.props.value) : n2.__;
          }
          function hooks_module_b() {
            for (var t2; t2 = hooks_module_c.shift(); )
              if (t2.__P)
                try {
                  t2.__H.__h.forEach(hooks_module_j), t2.__H.__h.forEach(hooks_module_k), t2.__H.__h = [];
                } catch (u2) {
                  t2.__H.__h = [], preact_module_l.__e(u2, t2.__v);
                }
          }
          preact_module_l.__b = function(n2) {
            hooks_module_u = null, hooks_module_e && hooks_module_e(n2);
          }, preact_module_l.__r = function(n2) {
            hooks_module_a && hooks_module_a(n2), hooks_module_t = 0;
            var o2 = (hooks_module_u = n2.__c).__H;
            o2 && (hooks_module_r === hooks_module_u ? (o2.__h = [], hooks_module_u.__h = [], o2.__.forEach(function(n3) {
              n3.__V = hooks_module_f, n3.u = void 0;
            })) : (o2.__h.forEach(hooks_module_j), o2.__h.forEach(hooks_module_k), o2.__h = [])), hooks_module_r = hooks_module_u;
          }, preact_module_l.diffed = function(t2) {
            hooks_module_v && hooks_module_v(t2);
            var i = t2.__c;
            i && i.__H && (i.__H.__h.length && (hooks_module_c.push(i) !== 1 && hooks_module_o === preact_module_l.requestAnimationFrame || ((hooks_module_o = preact_module_l.requestAnimationFrame) || function(n2) {
              var t3, u2 = function() {
                clearTimeout(r2), hooks_module_g && cancelAnimationFrame(t3), setTimeout(n2);
              }, r2 = setTimeout(u2, 100);
              hooks_module_g && (t3 = requestAnimationFrame(u2));
            })(hooks_module_b)), i.__H.__.forEach(function(n2) {
              n2.u && (n2.__H = n2.u), n2.__V !== hooks_module_f && (n2.__ = n2.__V), n2.u = void 0, n2.__V = hooks_module_f;
            })), hooks_module_r = hooks_module_u = null;
          }, preact_module_l.__c = function(t2, u2) {
            u2.some(function(t3) {
              try {
                t3.__h.forEach(hooks_module_j), t3.__h = t3.__h.filter(function(n2) {
                  return !n2.__ || hooks_module_k(n2);
                });
              } catch (r2) {
                u2.some(function(n2) {
                  n2.__h && (n2.__h = []);
                }), u2 = [], preact_module_l.__e(r2, t3.__v);
              }
            }), l && l(t2, u2);
          }, preact_module_l.unmount = function(t2) {
            hooks_module_m && hooks_module_m(t2);
            var u2, r2 = t2.__c;
            r2 && r2.__H && (r2.__H.__.forEach(function(n2) {
              try {
                hooks_module_j(n2);
              } catch (n3) {
                u2 = n3;
              }
            }), u2 && preact_module_l.__e(u2, r2.__v));
          };
          var hooks_module_g = typeof requestAnimationFrame == "function";
          function hooks_module_j(n2) {
            var t2 = hooks_module_u, r2 = n2.__c;
            typeof r2 == "function" && (n2.__c = void 0, r2()), hooks_module_u = t2;
          }
          function hooks_module_k(n2) {
            var t2 = hooks_module_u;
            n2.__c = n2.__(), hooks_module_u = t2;
          }
          function hooks_module_w(n2, t2) {
            return !n2 || n2.length !== t2.length || t2.some(function(t3, u2) {
              return t3 !== n2[u2];
            });
          }
          function hooks_module_z(n2, t2) {
            return typeof t2 == "function" ? t2(n2) : t2;
          }
          __webpack_require__(3450);
          __webpack_require__(9529);
          __webpack_require__(1235);
          __webpack_require__(2501);
          __webpack_require__(6936);
          __webpack_require__(7233);
          __webpack_require__(7950);
          __webpack_require__(1850);
          __webpack_require__(4769);
          __webpack_require__(8178);
          __webpack_require__(5342);
          __webpack_require__(8625);
          __webpack_require__(1939);
          __webpack_require__(2775);
          __webpack_require__(3439);
          var immer_esm = __webpack_require__(6665);
          __webpack_require__(1245);
          __webpack_require__(9805);
          __webpack_require__(6781);
          __webpack_require__(5883);
          __webpack_require__(5940);
          __webpack_require__(4069);
          __webpack_require__(8319);
          var range = __webpack_require__(7386);
          var range_default = /* @__PURE__ */ __webpack_require__.n(range);
          var DEFAULT_DAY_NAME_MARGIN_LEFT = "0";
          var MONTH_EVENT_HEIGHT = 24;
          var MONTH_EVENT_MARGIN_TOP = 2;
          var MONTH_CELL_PADDING_TOP = 3;
          var MONTH_CELL_BAR_HEIGHT = 27;
          var MONTH_MORE_VIEW_PADDING = 5;
          var MONTH_MORE_VIEW_MIN_WIDTH = 280;
          var MONTH_MORE_VIEW_HEADER_HEIGHT = 44;
          var MONTH_MORE_VIEW_HEADER_MARGIN_BOTTOM = 12;
          var MONTH_MORE_VIEW_HEADER_PADDING_TOP = 12;
          var MONTH_MORE_VIEW_HEADER_PADDING = "12px 17px 0";
          var WEEK_DAY_NAME_HEIGHT = 42;
          var WEEK_DAY_NAME_BORDER = 1;
          var WEEK_EVENT_MARGIN_TOP = 2;
          var DEFAULT_PANEL_HEIGHT = 72;
          var DEFAULT_EVENT_COLORS = {
            color: "#000",
            backgroundColor: "#a1b56c",
            dragBackgroundColor: "#a1b56c",
            borderColor: "#000"
          };
          var TIME_EVENT_CONTAINER_MARGIN_LEFT = 2;
          var COLLAPSED_DUPLICATE_EVENT_WIDTH_PX = 9;
          var isString = __webpack_require__(758);
          var isString_default = /* @__PURE__ */ __webpack_require__.n(isString);
          var CSS_PREFIX = "toastui-calendar-";
          function cls() {
            var result = [];
            for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {
              args[_key2] = arguments[_key2];
            }
            args.forEach(function(arg) {
              if (!arg) {
                return;
              }
              if (isString_default()(arg)) {
                result.push(arg);
              } else {
                Object.keys(arg).forEach(function(className2) {
                  if (arg[className2]) {
                    result.push(className2);
                  }
                });
              }
            });
            return result.map(function(str) {
              return "".concat(CSS_PREFIX).concat(str);
            }).join(" ");
          }
          function toPercent(value) {
            return "".concat(value, "%");
          }
          function toPx(value) {
            return "".concat(value, "px");
          }
          function extractPercentPx(value) {
            var percentRegexp = /(\d+)%/;
            var percentResult = value.match(percentRegexp);
            var pxRegexp = /(-?)\s?(\d+)px/;
            var pxResult = value.match(pxRegexp);
            return {
              percent: percentResult ? parseInt(percentResult[1], 10) : 0,
              px: pxResult ? parseInt("".concat(pxResult[1]).concat(pxResult[2]), 10) : 0
            };
          }
          function getEventColors(uiModel, calendarColor) {
            var eventColors = uiModel.model.getColors();
            return Object.keys(DEFAULT_EVENT_COLORS).reduce(function(colors, _key) {
              var _ref, _eventColors$key;
              var key = _key;
              colors[key] = (_ref = (_eventColors$key = eventColors[key]) !== null && _eventColors$key !== void 0 ? _eventColors$key : calendarColor[key]) !== null && _ref !== void 0 ? _ref : DEFAULT_EVENT_COLORS[key];
              return colors;
            }, {});
          }
          __webpack_require__(8233);
          function _construct(Parent, args, Class) {
            if (_isNativeReflectConstruct()) {
              _construct = Reflect.construct.bind();
            } else {
              _construct = function _construct2(Parent2, args2, Class2) {
                var a2 = [null];
                a2.push.apply(a2, args2);
                var Constructor2 = Function.bind.apply(Parent2, a2);
                var instance = new Constructor2();
                if (Class2)
                  _setPrototypeOf(instance, Class2.prototype);
                return instance;
              };
            }
            return _construct.apply(null, arguments);
          }
          function _isNativeReflectConstruct() {
            if (typeof Reflect === "undefined" || !Reflect.construct)
              return false;
            if (Reflect.construct.sham)
              return false;
            if (typeof Proxy === "function")
              return true;
            try {
              Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
              }));
              return true;
            } catch (e2) {
              return false;
            }
          }
          function _setPrototypeOf(o2, p2) {
            _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf2(o3, p3) {
              o3.__proto__ = p3;
              return o3;
            };
            return _setPrototypeOf(o2, p2);
          }
          function _classCallCheck(instance, Constructor2) {
            if (!(instance instanceof Constructor2)) {
              throw new TypeError("Cannot call a class as a function");
            }
          }
          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(Constructor2, protoProps, staticProps) {
            if (protoProps)
              _defineProperties(Constructor2.prototype, protoProps);
            if (staticProps)
              _defineProperties(Constructor2, staticProps);
            Object.defineProperty(Constructor2, "prototype", { writable: false });
            return Constructor2;
          }
          function _slicedToArray(arr, i) {
            return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
          }
          function _nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function _unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return _arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return _arrayLikeToArray(o2, 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 _iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function _arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var rISO8601 = /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\.)?([0-9]+)?([+-]\d\d(?::?\d\d)?|\s*Z)?$/;
          function throwNotSupported() {
            throw new Error("This operation is not supported.");
          }
          function getDateTime(dateString) {
            var match = rISO8601.exec(dateString);
            if (match) {
              var _match = _slicedToArray(match, 10), y = _match[1], M2 = _match[2], d2 = _match[3], h2 = _match[4], m2 = _match[5], s2 = _match[6], ms = _match[8], zoneInfo = _match[9];
              return {
                y: Number(y),
                M: Number(M2) - 1,
                d: Number(d2),
                h: Number(h2),
                m: Number(m2),
                s: Number(s2),
                ms: Number(ms) || 0,
                zoneInfo
              };
            }
            return null;
          }
          function createFromDateString(dateString) {
            var info = getDateTime(dateString);
            if (info && !info.zoneInfo) {
              var y = info.y, M2 = info.M, d2 = info.d, h2 = info.h, m2 = info.m, s2 = info.s, ms = info.ms;
              return new Date(y, M2, d2, h2, m2, s2, ms);
            }
            return null;
          }
          var LocalDate = /* @__PURE__ */ function() {
            function LocalDate2() {
              _classCallCheck(this, LocalDate2);
              for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
                args[_key] = arguments[_key];
              }
              var firstArg = args[0];
              if (firstArg instanceof Date) {
                this.d = new Date(firstArg.getTime());
              } else if (isString_default()(firstArg) && args.length === 1) {
                this.d = createFromDateString(firstArg);
              }
              if (!this.d) {
                this.d = _construct(Date, args);
              }
            }
            _createClass(LocalDate2, [{
              key: "setTimezoneOffset",
              value: function setTimezoneOffset() {
                throwNotSupported();
              }
            }, {
              key: "setTimezoneName",
              value: function setTimezoneName() {
                throwNotSupported();
              }
            }, {
              key: "clone",
              value: function clone() {
                return new LocalDate2(this.d);
              }
            }, {
              key: "toDate",
              value: function toDate() {
                return new Date(this.d.getTime());
              }
            }, {
              key: "toString",
              value: function toString() {
                return this.d.toString();
              }
            }]);
            return LocalDate2;
          }();
          var getterMethods = ["getTime", "getTimezoneOffset", "getFullYear", "getMonth", "getDate", "getHours", "getMinutes", "getSeconds", "getMilliseconds", "getDay"];
          var setterMethods = ["setTime", "setFullYear", "setMonth", "setDate", "setHours", "setMinutes", "setSeconds", "setMilliseconds"];
          getterMethods.forEach(function(methodName) {
            LocalDate.prototype[methodName] = function() {
              var _this$d;
              return (_this$d = this.d)[methodName].apply(_this$d, arguments);
            };
          });
          setterMethods.forEach(function(methodName) {
            LocalDate.prototype[methodName] = function() {
              var _this$d2;
              return (_this$d2 = this.d)[methodName].apply(_this$d2, arguments);
            };
          });
          __webpack_require__(9321);
          var INVALID_DATETIME_FORMAT = "Invalid DateTime Format";
          var INVALID_TIMEZONE_NAME = "Invalid IANA Timezone Name";
          var INVALID_VIEW_TYPE = "Invalid View Type";
          var MESSAGE_PREFIX = "@toast-ui/calendar: ";
          function error_typeof(obj) {
            "@babel/helpers - typeof";
            return error_typeof = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(obj2) {
              return typeof obj2;
            } : function(obj2) {
              return obj2 && typeof Symbol == "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
            }, error_typeof(obj);
          }
          function error_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 error_createClass(Constructor2, protoProps, staticProps) {
            if (protoProps)
              error_defineProperties(Constructor2.prototype, protoProps);
            if (staticProps)
              error_defineProperties(Constructor2, staticProps);
            Object.defineProperty(Constructor2, "prototype", { writable: false });
            return Constructor2;
          }
          function error_classCallCheck(instance, Constructor2) {
            if (!(instance instanceof Constructor2)) {
              throw new TypeError("Cannot call a class as a function");
            }
          }
          function error_inherits(subClass, superClass) {
            if (typeof superClass !== "function" && superClass !== null) {
              throw new TypeError("Super expression must either be null or a function");
            }
            subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });
            Object.defineProperty(subClass, "prototype", { writable: false });
            if (superClass)
              error_setPrototypeOf(subClass, superClass);
          }
          function error_createSuper(Derived) {
            var hasNativeReflectConstruct = error_isNativeReflectConstruct();
            return function _createSuperInternal() {
              var Super = error_getPrototypeOf(Derived), result;
              if (hasNativeReflectConstruct) {
                var NewTarget = error_getPrototypeOf(this).constructor;
                result = Reflect.construct(Super, arguments, NewTarget);
              } else {
                result = Super.apply(this, arguments);
              }
              return error_possibleConstructorReturn(this, result);
            };
          }
          function error_possibleConstructorReturn(self2, call) {
            if (call && (error_typeof(call) === "object" || typeof call === "function")) {
              return call;
            } else if (call !== void 0) {
              throw new TypeError("Derived constructors may only return object or undefined");
            }
            return error_assertThisInitialized(self2);
          }
          function error_assertThisInitialized(self2) {
            if (self2 === void 0) {
              throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
            }
            return self2;
          }
          function _wrapNativeSuper(Class) {
            var _cache = typeof Map === "function" ? /* @__PURE__ */ new Map() : void 0;
            _wrapNativeSuper = function _wrapNativeSuper2(Class2) {
              if (Class2 === null || !_isNativeFunction(Class2))
                return Class2;
              if (typeof Class2 !== "function") {
                throw new TypeError("Super expression must either be null or a function");
              }
              if (typeof _cache !== "undefined") {
                if (_cache.has(Class2))
                  return _cache.get(Class2);
                _cache.set(Class2, Wrapper);
              }
              function Wrapper() {
                return error_construct(Class2, arguments, error_getPrototypeOf(this).constructor);
              }
              Wrapper.prototype = Object.create(Class2.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } });
              return error_setPrototypeOf(Wrapper, Class2);
            };
            return _wrapNativeSuper(Class);
          }
          function error_construct(Parent, args, Class) {
            if (error_isNativeReflectConstruct()) {
              error_construct = Reflect.construct.bind();
            } else {
              error_construct = function _construct2(Parent2, args2, Class2) {
                var a2 = [null];
                a2.push.apply(a2, args2);
                var Constructor2 = Function.bind.apply(Parent2, a2);
                var instance = new Constructor2();
                if (Class2)
                  error_setPrototypeOf(instance, Class2.prototype);
                return instance;
              };
            }
            return error_construct.apply(null, arguments);
          }
          function error_isNativeReflectConstruct() {
            if (typeof Reflect === "undefined" || !Reflect.construct)
              return false;
            if (Reflect.construct.sham)
              return false;
            if (typeof Proxy === "function")
              return true;
            try {
              Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
              }));
              return true;
            } catch (e2) {
              return false;
            }
          }
          function _isNativeFunction(fn) {
            return Function.toString.call(fn).indexOf("[native code]") !== -1;
          }
          function error_setPrototypeOf(o2, p2) {
            error_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf2(o3, p3) {
              o3.__proto__ = p3;
              return o3;
            };
            return error_setPrototypeOf(o2, p2);
          }
          function error_getPrototypeOf(o2) {
            error_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o3) {
              return o3.__proto__ || Object.getPrototypeOf(o3);
            };
            return error_getPrototypeOf(o2);
          }
          var InvalidTimezoneNameError = /* @__PURE__ */ function(_Error) {
            error_inherits(InvalidTimezoneNameError2, _Error);
            var _super = error_createSuper(InvalidTimezoneNameError2);
            function InvalidTimezoneNameError2(timezoneName) {
              var _this;
              error_classCallCheck(this, InvalidTimezoneNameError2);
              _this = _super.call(this, "".concat(MESSAGE_PREFIX).concat(INVALID_TIMEZONE_NAME, " - ").concat(timezoneName));
              _this.name = "InvalidTimezoneNameError";
              return _this;
            }
            return error_createClass(InvalidTimezoneNameError2);
          }(/* @__PURE__ */ _wrapNativeSuper(Error));
          var InvalidDateTimeFormatError = /* @__PURE__ */ function(_Error2) {
            error_inherits(InvalidDateTimeFormatError2, _Error2);
            var _super2 = error_createSuper(InvalidDateTimeFormatError2);
            function InvalidDateTimeFormatError2(dateTimeString) {
              var _this2;
              error_classCallCheck(this, InvalidDateTimeFormatError2);
              _this2 = _super2.call(this, "".concat(MESSAGE_PREFIX).concat(INVALID_DATETIME_FORMAT, " - ").concat(dateTimeString));
              _this2.name = "InvalidDateTimeFormatError";
              return _this2;
            }
            return error_createClass(InvalidDateTimeFormatError2);
          }(/* @__PURE__ */ _wrapNativeSuper(Error));
          var InvalidViewTypeError = /* @__PURE__ */ function(_Error3) {
            error_inherits(InvalidViewTypeError2, _Error3);
            var _super3 = error_createSuper(InvalidViewTypeError2);
            function InvalidViewTypeError2(viewType) {
              var _this3;
              error_classCallCheck(this, InvalidViewTypeError2);
              _this3 = _super3.call(this, "".concat(MESSAGE_PREFIX).concat(INVALID_VIEW_TYPE, " - ").concat(viewType));
              _this3.name = "InvalidViewTypeError";
              return _this3;
            }
            return error_createClass(InvalidViewTypeError2);
          }(/* @__PURE__ */ _wrapNativeSuper(Error));
          var logger = {
            error: function error(firstArg) {
              var _console;
              for (var _len = arguments.length, restArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
                restArgs[_key - 1] = arguments[_key];
              }
              (_console = console).error.apply(_console, ["".concat(MESSAGE_PREFIX).concat(firstArg)].concat(restArgs));
            },
            warn: function warn(firstArg) {
              var _console2;
              for (var _len2 = arguments.length, restArgs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
                restArgs[_key2 - 1] = arguments[_key2];
              }
              (_console2 = console).warn.apply(_console2, ["".concat(MESSAGE_PREFIX).concat(firstArg)].concat(restArgs));
            }
          };
          var isUndefined = __webpack_require__(3929);
          var isUndefined_default = /* @__PURE__ */ __webpack_require__.n(isUndefined);
          var isBoolean = __webpack_require__(1326);
          var isBoolean_default = /* @__PURE__ */ __webpack_require__.n(isBoolean);
          var isNumber = __webpack_require__(321);
          var isNumber_default = /* @__PURE__ */ __webpack_require__.n(isNumber);
          var isObject = __webpack_require__(5758);
          var isObject_default = /* @__PURE__ */ __webpack_require__.n(isObject);
          function type_isNil(value) {
            return isUndefined_default()(value) || value === null;
          }
          function isPresent(value) {
            return !type_isNil(value);
          }
          function isFunction(value) {
            return typeof value === "function";
          }
          function timezone_slicedToArray(arr, i) {
            return timezone_arrayWithHoles(arr) || timezone_iterableToArrayLimit(arr, i) || timezone_unsupportedIterableToArray(arr, i) || timezone_nonIterableRest();
          }
          function timezone_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function timezone_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return timezone_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return timezone_arrayLikeToArray(o2, minLen);
          }
          function timezone_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 timezone_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function timezone_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function timezone_construct(Parent, args, Class) {
            if (timezone_isNativeReflectConstruct()) {
              timezone_construct = Reflect.construct.bind();
            } else {
              timezone_construct = function _construct2(Parent2, args2, Class2) {
                var a2 = [null];
                a2.push.apply(a2, args2);
                var Constructor2 = Function.bind.apply(Parent2, a2);
                var instance = new Constructor2();
                if (Class2)
                  timezone_setPrototypeOf(instance, Class2.prototype);
                return instance;
              };
            }
            return timezone_construct.apply(null, arguments);
          }
          function timezone_isNativeReflectConstruct() {
            if (typeof Reflect === "undefined" || !Reflect.construct)
              return false;
            if (Reflect.construct.sham)
              return false;
            if (typeof Proxy === "function")
              return true;
            try {
              Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
              }));
              return true;
            } catch (e2) {
              return false;
            }
          }
          function timezone_setPrototypeOf(o2, p2) {
            timezone_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf2(o3, p3) {
              o3.__proto__ = p3;
              return o3;
            };
            return timezone_setPrototypeOf(o2, p2);
          }
          var Constructor = LocalDate;
          function date() {
            for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
              args[_key] = arguments[_key];
            }
            return timezone_construct(Constructor, args);
          }
          function getLocalTimezoneOffset() {
            return -new Date().getTimezoneOffset();
          }
          function calculateTimezoneOffset(timezoneName) {
            var targetDate = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : new date_TZDate();
            if (!isIntlDateTimeFormatSupported()) {
              logger.warn("Intl.DateTimeFormat is not fully supported. So It will return the local timezone offset only.\nYou can use a polyfill to fix this issue.");
              return -targetDate.toDate().getTimezoneOffset();
            }
            validateIANATimezoneName(timezoneName);
            var token = tokenizeTZDate(targetDate, timezoneName);
            var utcDate = tokenToUtcDate(token);
            return Math.round((utcDate.getTime() - targetDate.getTime()) / 60 / 1e3);
          }
          function isUsingDST(targetDate, timezoneName) {
            if (timezoneName) {
              validateIANATimezoneName(timezoneName);
            }
            var jan = new date_TZDate(targetDate.getFullYear(), 0, 1);
            var jul = new date_TZDate(targetDate.getFullYear(), 6, 1);
            if (timezoneName) {
              return Math.max(-calculateTimezoneOffset(timezoneName, jan), -calculateTimezoneOffset(timezoneName, jul)) !== -calculateTimezoneOffset(timezoneName, targetDate);
            }
            return Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset()) !== targetDate.toDate().getTimezoneOffset();
          }
          var dtfCache = {};
          var timezoneNameValidationCache = {};
          function isIntlDateTimeFormatSupported() {
            var _Intl, _Intl$DateTimeFormat, _Intl$DateTimeFormat$;
            return isFunction((_Intl = Intl) === null || _Intl === void 0 ? void 0 : (_Intl$DateTimeFormat = _Intl.DateTimeFormat) === null || _Intl$DateTimeFormat === void 0 ? void 0 : (_Intl$DateTimeFormat$ = _Intl$DateTimeFormat.prototype) === null || _Intl$DateTimeFormat$ === void 0 ? void 0 : _Intl$DateTimeFormat$.formatToParts);
          }
          function validateIANATimezoneName(timezoneName) {
            if (timezoneNameValidationCache[timezoneName]) {
              return true;
            }
            try {
              Intl.DateTimeFormat("en-US", {
                timeZone: timezoneName
              });
              timezoneNameValidationCache[timezoneName] = true;
              return true;
            } catch (_unused) {
              throw new InvalidTimezoneNameError(timezoneName);
            }
          }
          function getDateTimeFormat(timezoneName) {
            if (dtfCache[timezoneName]) {
              return dtfCache[timezoneName];
            }
            var dtf = new Intl.DateTimeFormat("en-US", {
              timeZone: timezoneName,
              hourCycle: "h23",
              hour12: false,
              year: "numeric",
              month: "numeric",
              day: "numeric",
              hour: "numeric",
              minute: "numeric",
              second: "numeric"
            });
            dtfCache[timezoneName] = dtf;
            return dtf;
          }
          var typeToPos = {
            year: 0,
            month: 1,
            day: 2,
            hour: 3,
            minute: 4,
            second: 5
          };
          function tokenizeTZDate(tzDate, timezoneName) {
            var dtf = getDateTimeFormat(timezoneName);
            var formatted = dtf.formatToParts(tzDate.toDate());
            return formatted.reduce(function(result, cur) {
              var pos = typeToPos[cur.type];
              if (isPresent(pos)) {
                result[pos] = parseInt(cur.value, 10);
              }
              return result;
            }, []);
          }
          function tokenToUtcDate(token) {
            var _token = timezone_slicedToArray(token, 6), year = _token[0], monthPlusOne = _token[1], day = _token[2], hour = _token[3], minute = _token[4], second = _token[5];
            var month = monthPlusOne - 1;
            return new Date(Date.UTC(year, month, day, hour % 24, minute, second));
          }
          function date_classCallCheck(instance, Constructor2) {
            if (!(instance instanceof Constructor2)) {
              throw new TypeError("Cannot call a class as a function");
            }
          }
          function date_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 date_createClass(Constructor2, protoProps, staticProps) {
            if (protoProps)
              date_defineProperties(Constructor2.prototype, protoProps);
            if (staticProps)
              date_defineProperties(Constructor2, staticProps);
            Object.defineProperty(Constructor2, "prototype", { writable: false });
            return Constructor2;
          }
          function _defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function getTZOffsetMSDifference(offset) {
            return (getLocalTimezoneOffset() - offset) * MS_PER_MINUTES;
          }
          var date_TZDate = /* @__PURE__ */ function() {
            function TZDate() {
              date_classCallCheck(this, TZDate);
              _defineProperty(this, "tzOffset", null);
              for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
                args[_key] = arguments[_key];
              }
              if (args[0] instanceof TZDate) {
                this.d = date(args[0].getTime());
              } else {
                this.d = date.apply(void 0, args);
              }
            }
            date_createClass(TZDate, [{
              key: "toString",
              value: function toString() {
                return this.d.toString();
              }
            }, {
              key: "addFullYear",
              value: function addFullYear(y) {
                this.setFullYear(this.getFullYear() + y);
                return this;
              }
            }, {
              key: "addMonth",
              value: function addMonth(m2) {
                this.setMonth(this.getMonth() + m2);
                return this;
              }
            }, {
              key: "addDate",
              value: function addDate2(d2) {
                this.setDate(this.getDate() + d2);
                return this;
              }
            }, {
              key: "addHours",
              value: function addHours(h2) {
                this.setHours(this.getHours() + h2);
                return this;
              }
            }, {
              key: "addMinutes",
              value: function addMinutes2(M2) {
                this.setMinutes(this.getMinutes() + M2);
                return this;
              }
            }, {
              key: "addSeconds",
              value: function addSeconds(s2) {
                this.setSeconds(this.getSeconds() + s2);
                return this;
              }
            }, {
              key: "addMilliseconds",
              value: function addMilliseconds2(ms) {
                this.setMilliseconds(this.getMilliseconds() + ms);
                return this;
              }
            }, {
              key: "setWithRaw",
              value: function setWithRaw(y, m2, d2, h2, M2, s2, ms) {
                this.setFullYear(y, m2, d2);
                this.setHours(h2, M2, s2, ms);
                return this;
              }
            }, {
              key: "toDate",
              value: function toDate() {
                return this.d.toDate();
              }
            }, {
              key: "valueOf",
              value: function valueOf() {
                return this.getTime();
              }
            }, {
              key: "getTimezoneOffset",
              value: function getTimezoneOffset() {
                var _this$tzOffset;
                return (_this$tzOffset = this.tzOffset) !== null && _this$tzOffset !== void 0 ? _this$tzOffset : this.d.getTimezoneOffset();
              }
            }, {
              key: "getTime",
              value: function getTime() {
                return this.d.getTime();
              }
            }, {
              key: "getFullYear",
              value: function getFullYear() {
                return this.d.getFullYear();
              }
            }, {
              key: "getMonth",
              value: function getMonth() {
                return this.d.getMonth();
              }
            }, {
              key: "getDate",
              value: function getDate() {
                return this.d.getDate();
              }
            }, {
              key: "getHours",
              value: function getHours() {
                return this.d.getHours();
              }
            }, {
              key: "getMinutes",
              value: function getMinutes() {
                return this.d.getMinutes();
              }
            }, {
              key: "getSeconds",
              value: function getSeconds() {
                return this.d.getSeconds();
              }
            }, {
              key: "getMilliseconds",
              value: function getMilliseconds() {
                return this.d.getMilliseconds();
              }
            }, {
              key: "getDay",
              value: function getDay() {
                return this.d.getDay();
              }
            }, {
              key: "setTime",
              value: function setTime(t2) {
                return this.d.setTime(t2);
              }
            }, {
              key: "setFullYear",
              value: function setFullYear(y) {
                var m2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.getMonth();
                var d2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : this.getDate();
                return this.d.setFullYear(y, m2, d2);
              }
            }, {
              key: "setMonth",
              value: function setMonth(m2) {
                var d2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.getDate();
                return this.d.setMonth(m2, d2);
              }
            }, {
              key: "setDate",
              value: function setDate(d2) {
                return this.d.setDate(d2);
              }
            }, {
              key: "setHours",
              value: function setHours(h2) {
                var M2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.getMinutes();
                var s2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : this.getSeconds();
                var ms = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : this.getMilliseconds();
                return this.d.setHours(h2, M2, s2, ms);
              }
            }, {
              key: "setMinutes",
              value: function setMinutes(M2) {
                var s2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.getSeconds();
                var ms = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : this.getMilliseconds();
                return this.d.setMinutes(M2, s2, ms);
              }
            }, {
              key: "setSeconds",
              value: function setSeconds(s2) {
                var ms = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.getMilliseconds();
                return this.d.setSeconds(s2, ms);
              }
            }, {
              key: "setMilliseconds",
              value: function setMilliseconds(ms) {
                return this.d.setMilliseconds(ms);
              }
            }, {
              key: "tz",
              value: function tz(tzValue) {
                if (tzValue === "Local") {
                  return new TZDate(this.getTime());
                }
                var tzOffset = isString_default()(tzValue) ? calculateTimezoneOffset(tzValue, this) : tzValue;
                var newTZDate = new TZDate(this.getTime() - getTZOffsetMSDifference(tzOffset));
                newTZDate.tzOffset = tzOffset;
                return newTZDate;
              }
            }, {
              key: "local",
              value: function local(tzValue) {
                if (isPresent(tzValue)) {
                  var tzOffset = isString_default()(tzValue) ? calculateTimezoneOffset(tzValue, this) : tzValue;
                  return new TZDate(this.getTime() + getTZOffsetMSDifference(tzOffset));
                }
                return new TZDate(this.getTime() + (isPresent(this.tzOffset) ? getTZOffsetMSDifference(this.tzOffset) : 0));
              }
            }]);
            return TZDate;
          }();
          __webpack_require__(3105);
          function pick(obj) {
            for (var _len = arguments.length, propNames = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
              propNames[_key - 1] = arguments[_key];
            }
            return propNames.reduce(function(acc, key) {
              if (obj.hasOwnProperty(key)) {
                acc[key] = obj[key];
              }
              return acc;
            }, {});
          }
          function object_clone(source) {
            return Object.assign(Object.create(Object.getPrototypeOf(source)), source);
          }
          function mergeObject(target) {
            var source = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
            if (!isObject_default()(source)) {
              return target;
            }
            Object.keys(source).forEach(function(k2) {
              var targetKey = k2;
              var sourceKey = k2;
              if (!Array.isArray(source[sourceKey]) && isObject_default()(target[targetKey]) && isObject_default()(source[sourceKey]) && !(source[sourceKey] instanceof date_TZDate)) {
                target[targetKey] = mergeObject(target[targetKey], source[sourceKey]);
              } else {
                target[targetKey] = source[sourceKey];
              }
            });
            return target;
          }
          function eventUIModel_classCallCheck(instance, Constructor2) {
            if (!(instance instanceof Constructor2)) {
              throw new TypeError("Cannot call a class as a function");
            }
          }
          function eventUIModel_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 eventUIModel_createClass(Constructor2, protoProps, staticProps) {
            if (protoProps)
              eventUIModel_defineProperties(Constructor2.prototype, protoProps);
            if (staticProps)
              eventUIModel_defineProperties(Constructor2, staticProps);
            Object.defineProperty(Constructor2, "prototype", { writable: false });
            return Constructor2;
          }
          function eventUIModel_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          var eventUIPropsKey = ["top", "left", "width", "height", "exceedLeft", "exceedRight", "croppedStart", "croppedEnd", "goingDurationHeight", "modelDurationHeight", "comingDurationHeight", "duplicateEvents", "duplicateEventIndex", "duplicateStarts", "duplicateEnds", "duplicateLeft", "duplicateWidth", "collapse", "isMain"];
          var EventUIModel = /* @__PURE__ */ function() {
            function EventUIModel2(event) {
              eventUIModel_classCallCheck(this, EventUIModel2);
              eventUIModel_defineProperty(this, "top", 0);
              eventUIModel_defineProperty(this, "left", 0);
              eventUIModel_defineProperty(this, "width", 0);
              eventUIModel_defineProperty(this, "height", 0);
              eventUIModel_defineProperty(this, "exceedLeft", false);
              eventUIModel_defineProperty(this, "exceedRight", false);
              eventUIModel_defineProperty(this, "croppedStart", false);
              eventUIModel_defineProperty(this, "croppedEnd", false);
              eventUIModel_defineProperty(this, "goingDurationHeight", 0);
              eventUIModel_defineProperty(this, "modelDurationHeight", 100);
              eventUIModel_defineProperty(this, "comingDurationHeight", 0);
              eventUIModel_defineProperty(this, "duplicateEvents", []);
              eventUIModel_defineProperty(this, "duplicateEventIndex", -1);
              eventUIModel_defineProperty(this, "duplicateLeft", "");
              eventUIModel_defineProperty(this, "duplicateWidth", "");
              eventUIModel_defineProperty(this, "collapse", false);
              eventUIModel_defineProperty(this, "isMain", false);
              this.model = event;
            }
            eventUIModel_createClass(EventUIModel2, [{
              key: "getUIProps",
              value: function getUIProps() {
                return pick.apply(void 0, [this].concat(eventUIPropsKey));
              }
            }, {
              key: "setUIProps",
              value: function setUIProps(props) {
                Object.assign(this, props);
              }
            }, {
              key: "getStarts",
              value: function getStarts() {
                if (this.renderStarts) {
                  return this.renderStarts;
                }
                return this.model.getStarts();
              }
            }, {
              key: "getEnds",
              value: function getEnds() {
                if (this.renderEnds) {
                  return this.renderEnds;
                }
                return this.model.getEnds();
              }
            }, {
              key: "cid",
              value: function cid() {
                return this.model.cid();
              }
            }, {
              key: "valueOf",
              value: function valueOf() {
                return this.model;
              }
            }, {
              key: "duration",
              value: function duration() {
                return this.model.duration();
              }
            }, {
              key: "collidesWith",
              value: function collidesWith(uiModel) {
                var usingTravelTime = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
                var infos = [];
                [this, uiModel].forEach(function(event) {
                  var isDuplicateEvent = event instanceof EventUIModel2 && event.duplicateEvents.length > 0;
                  if (isDuplicateEvent) {
                    infos.push({
                      start: event.duplicateStarts,
                      end: event.duplicateEnds,
                      goingDuration: 0,
                      comingDuration: 0
                    });
                  } else {
                    infos.push({
                      start: event.getStarts(),
                      end: event.getEnds(),
                      goingDuration: event.valueOf().goingDuration,
                      comingDuration: event.valueOf().comingDuration
                    });
                  }
                });
                var thisInfo = infos[0], targetInfo = infos[1];
                return events_collidesWith({
                  start: thisInfo.start.getTime(),
                  end: thisInfo.end.getTime(),
                  targetStart: targetInfo.start.getTime(),
                  targetEnd: targetInfo.end.getTime(),
                  goingDuration: thisInfo.goingDuration,
                  comingDuration: thisInfo.comingDuration,
                  targetGoingDuration: targetInfo.goingDuration,
                  targetComingDuration: targetInfo.comingDuration,
                  usingTravelTime
                });
              }
            }, {
              key: "clone",
              value: function clone() {
                var eventUIModelProps = this.getUIProps();
                var clonedEventUIModel = new EventUIModel2(this.model);
                clonedEventUIModel.setUIProps(eventUIModelProps);
                if (this.renderStarts) {
                  clonedEventUIModel.renderStarts = new date_TZDate(this.renderStarts);
                }
                if (this.renderEnds) {
                  clonedEventUIModel.renderEnds = new date_TZDate(this.renderEnds);
                }
                return clonedEventUIModel;
              }
            }]);
            return EventUIModel2;
          }();
          function compareBooleansASC(a2, b2) {
            if (a2 !== b2) {
              return a2 ? -1 : 1;
            }
            return 0;
          }
          function compareNumbersASC(a2, b2) {
            return Number(a2) - Number(b2);
          }
          function compareStringsASC(_a, _b) {
            var a2 = String(_a);
            var b2 = String(_b);
            if (a2 === b2) {
              return 0;
            }
            return a2 > b2 ? 1 : -1;
          }
          function compareEventsASC(a2, b2) {
            var modelA = a2 instanceof EventUIModel ? a2.model : a2;
            var modelB = b2 instanceof EventUIModel ? b2.model : b2;
            var alldayCompare = compareBooleansASC(modelA.isAllday || modelA.hasMultiDates, modelB.isAllday || modelB.hasMultiDates);
            if (alldayCompare) {
              return alldayCompare;
            }
            var startsCompare = compare(a2.getStarts(), b2.getStarts());
            if (startsCompare) {
              return startsCompare;
            }
            var durationA = a2.duration();
            var durationB = b2.duration();
            if (durationA < durationB) {
              return 1;
            }
            if (durationA > durationB) {
              return -1;
            }
            return modelA.cid() - modelB.cid();
          }
          function bsearch(arr, search, fn, compareFn) {
            var minIndex = 0;
            var maxIndex = arr.length - 1;
            var currentIndex;
            var value;
            var comp;
            compareFn = compareFn || compareStringsASC;
            while (minIndex <= maxIndex) {
              currentIndex = (minIndex + maxIndex) / 2 | 0;
              value = fn ? fn(arr[currentIndex]) : arr[currentIndex];
              comp = compareFn(value, search);
              if (comp < 0) {
                minIndex = currentIndex + 1;
              } else if (comp > 0) {
                maxIndex = currentIndex - 1;
              } else {
                return currentIndex;
              }
            }
            return ~maxIndex;
          }
          var array = {
            bsearch,
            compare: {
              event: {
                asc: compareEventsASC
              },
              num: {
                asc: compareNumbersASC
              }
            }
          };
          function first(array2) {
            return array2[0];
          }
          function last(array2) {
            return array2[array2.length - 1];
          }
          function findLastIndex(array2, predicate) {
            for (var i = array2.length - 1; i >= 0; i -= 1) {
              if (predicate(array2[i])) {
                return i;
              }
            }
            return -1;
          }
          function fill(length, value) {
            if (length > 0) {
              return Array.from({
                length
              }, function() {
                if (Array.isArray(value)) {
                  return value.slice();
                }
                return value;
              });
            }
            return [];
          }
          function _toConsumableArray(arr) {
            return _arrayWithoutHoles(arr) || _iterableToArray(arr) || datetime_unsupportedIterableToArray(arr) || _nonIterableSpread();
          }
          function _nonIterableSpread() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function _iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function _arrayWithoutHoles(arr) {
            if (Array.isArray(arr))
              return datetime_arrayLikeToArray(arr);
          }
          function datetime_slicedToArray(arr, i) {
            return datetime_arrayWithHoles(arr) || datetime_iterableToArrayLimit(arr, i) || datetime_unsupportedIterableToArray(arr, i) || datetime_nonIterableRest();
          }
          function datetime_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function datetime_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return datetime_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return datetime_arrayLikeToArray(o2, minLen);
          }
          function datetime_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 datetime_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function datetime_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var Day;
          (function(Day2) {
            Day2[Day2["SUN"] = 0] = "SUN";
            Day2[Day2["MON"] = 1] = "MON";
            Day2[Day2["TUE"] = 2] = "TUE";
            Day2[Day2["WED"] = 3] = "WED";
            Day2[Day2["THU"] = 4] = "THU";
            Day2[Day2["FRI"] = 5] = "FRI";
            Day2[Day2["SAT"] = 6] = "SAT";
          })(Day || (Day = {}));
          var WEEK_DAYS = 7;
          var dateFormatRx = /^(\d{4}[-|/]*\d{2}[-|/]*\d{2})\s?(\d{2}:\d{2}:\d{2})?$/;
          var memo = {
            millisecondsTo: {},
            millisecondsFrom: {}
          };
          var convByTimeUnit = [24, 60, 60, 1e3];
          function leadingZero(number, length) {
            var zero = "";
            var i = 0;
            if (String(number).length > length) {
              return String(number);
            }
            for (; i < length - 1; i += 1) {
              zero += "0";
            }
            return (zero + number).slice(length * -1);
          }
          function getHourForMeridiem(date2) {
            var hour = date2.getHours();
            if (hour === 0) {
              hour = 12;
            }
            if (hour > 12) {
              hour = hour % 12;
            }
            return hour;
          }
          var tokenFunc = {
            YYYYMMDD: function YYYYMMDD(date2) {
              return [date2.getFullYear(), leadingZero(date2.getMonth() + 1, 2), leadingZero(date2.getDate(), 2)].join("");
            },
            YYYY: function YYYY(date2) {
              return String(date2.getFullYear());
            },
            MM: function MM(date2) {
              return leadingZero(date2.getMonth() + 1, 2);
            },
            DD: function DD(date2) {
              return leadingZero(date2.getDate(), 2);
            },
            "HH:mm": function HHMm(date2) {
              var hour = date2.getHours();
              var minutes = date2.getMinutes();
              return "".concat(leadingZero(hour, 2), ":").concat(leadingZero(minutes, 2));
            },
            "hh:mm": function hhMm(date2) {
              var hour = getHourForMeridiem(date2);
              var minutes = date2.getMinutes();
              return "".concat(leadingZero(hour, 2), ":").concat(leadingZero(minutes, 2));
            },
            hh: function hh(date2) {
              var hour = getHourForMeridiem(date2);
              return String(hour);
            },
            tt: function tt(date2) {
              var hour = date2.getHours();
              return hour < 12 ? "am" : "pm";
            }
          };
          var MS_PER_DAY = 864e5;
          var MS_PER_MINUTES = 6e4;
          var MS_EVENT_MIN_DURATION = 20 * MS_PER_MINUTES;
          var MS_PER_THIRTY_MINUTES = 30 * 60 * 1e3;
          function datetime_toFormat(date2, strFormat) {
            var result = strFormat;
            Object.entries(tokenFunc).forEach(function(_ref) {
              var _ref2 = datetime_slicedToArray(_ref, 2), token = _ref2[0], converter = _ref2[1];
              result = result.replace(token, converter(date2));
            });
            return result;
          }
          function convMilliseconds(type, value, iteratee) {
            var index = {
              date: 0,
              hour: 1,
              minute: 2,
              second: 3
            };
            if (!(type in index) || isNaN(value)) {
              return 0;
            }
            return [value].concat(convByTimeUnit.slice(index[type])).reduce(iteratee);
          }
          function millisecondsFrom(type, value) {
            var cache = memo.millisecondsFrom;
            var key = type + value;
            if (cache[key]) {
              return cache[key];
            }
            var result = convMilliseconds(type, value, function(m2, v2) {
              return m2 * v2;
            });
            if (!result) {
              return 0;
            }
            cache[key] = result;
            return cache[key];
          }
          function toStartOfDay(date2) {
            var d2 = date2 ? new date_TZDate(date2) : new date_TZDate();
            d2.setHours(0, 0, 0, 0);
            return d2;
          }
          function makeDateRange(startDate, endDate, step) {
            var startTime = startDate.getTime();
            var endTime = endDate.getTime();
            var date2 = new date_TZDate(startDate);
            var result = [];
            var cursor = startTime;
            while (cursor <= endTime && endTime >= date2.getTime()) {
              result.push(new date_TZDate(date2));
              cursor = cursor + step;
              date2.addMilliseconds(step);
            }
            return result;
          }
          function datetime_clone(date2) {
            return new date_TZDate(date2);
          }
          function compare(d1, d2) {
            var _d1 = d1.getTime();
            var _d2 = d2.getTime();
            if (_d1 < _d2) {
              return -1;
            }
            if (_d1 > _d2) {
              return 1;
            }
            return 0;
          }
          function isSameYear(d1, d2) {
            return d1.getFullYear() === d2.getFullYear();
          }
          function isSameMonth(d1, d2) {
            return isSameYear(d1, d2) && d1.getMonth() === d2.getMonth();
          }
          function isSameDate(d1, d2) {
            return isSameMonth(d1, d2) && d1.getDate() === d2.getDate();
          }
          function max(d1, d2) {
            return compare(d1, d2) === 1 ? d1 : d2;
          }
          function min(d1, d2) {
            return compare(d1, d2) === -1 ? d1 : d2;
          }
          function parse(str) {
            var fixMonth = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1;
            var matches = str.match(dateFormatRx);
            var separator;
            var ymd;
            var hms;
            if (!matches) {
              throw new InvalidDateTimeFormatError(str);
            }
            if (str.length > 8) {
              separator = ~str.indexOf("/") ? "/" : "-";
              var result = matches.splice(1);
              ymd = result[0].split(separator);
              hms = result[1] ? result[1].split(":") : [0, 0, 0];
            } else {
              var _matches = datetime_slicedToArray(matches, 1), _result = _matches[0];
              ymd = [_result.substr(0, 4), _result.substr(4, 2), _result.substr(6, 2)];
              hms = [0, 0, 0];
            }
            return new date_TZDate().setWithRaw(Number(ymd[0]), Number(ymd[1]) + fixMonth, Number(ymd[2]), Number(hms[0]), Number(hms[1]), Number(hms[2]), 0);
          }
          function toEndOfDay(date2) {
            var d2 = date2 ? new date_TZDate(date2) : new date_TZDate();
            d2.setHours(23, 59, 59, 999);
            return d2;
          }
          function isWeekend(day) {
            return day === Day.SUN || day === Day.SAT;
          }
          function isSunday(day) {
            return day === Day.SUN;
          }
          function isSaturday(day) {
            return day === Day.SAT;
          }
          function toStartOfMonth(date2) {
            var startDate = new date_TZDate(date2);
            startDate.setDate(1);
            startDate.setHours(0, 0, 0, 0);
            return startDate;
          }
          function toEndOfMonth(date2) {
            var endDate = toStartOfMonth(date2);
            endDate.setMonth(endDate.getMonth() + 1);
            endDate.setDate(endDate.getDate() - 1);
            endDate.setHours(23, 59, 59, 999);
            return endDate;
          }
          function getRowStyleInfo(days, narrowWeekend, startDayOfWeek, workweek) {
            var limitDaysToApplyNarrowWeekend = 5;
            var uniformWidth = 100 / days;
            var wideWidth = days > limitDaysToApplyNarrowWeekend ? 100 / (days - 1) : uniformWidth;
            var accumulatedWidth = 0;
            var dates = range_default()(startDayOfWeek, WEEK_DAYS).concat(range_default()(days)).slice(0, WEEK_DAYS);
            narrowWeekend = workweek ? false : narrowWeekend;
            var rowStyleInfo = dates.map(function(day) {
              var width = narrowWeekend ? wideWidth : uniformWidth;
              if (days > limitDaysToApplyNarrowWeekend && narrowWeekend && isWeekend(day)) {
                width = wideWidth / 2;
              }
              var model = {
                width,
                left: accumulatedWidth
              };
              accumulatedWidth += width;
              return model;
            });
            var length = rowStyleInfo.length;
            var cellWidthMap = fill(length, fill(length, 0));
            rowStyleInfo.forEach(function(_ref3, index) {
              var width = _ref3.width;
              for (var i = 0; i <= index; i += 1) {
                for (var j2 = index; j2 < length; j2 += 1) {
                  cellWidthMap[i][j2] += width;
                }
              }
            });
            cellWidthMap[0][length - 1] = 100;
            return {
              rowStyleInfo,
              cellWidthMap: cellWidthMap.map(function(widthList) {
                return widthList.map(toPercent);
              })
            };
          }
          function addMilliseconds(d2, step) {
            var date2 = datetime_clone(d2);
            date2.setMilliseconds(d2.getMilliseconds() + step);
            return date2;
          }
          function addMinutes(d2, step) {
            var date2 = datetime_clone(d2);
            date2.setMinutes(d2.getMinutes() + step);
            return date2;
          }
          function setTimeStrToDate(d2, timeStr) {
            var date2 = datetime_clone(d2);
            date2.setHours.apply(date2, _toConsumableArray(timeStr.split(":").map(Number)));
            return date2;
          }
          function addDate(d2, step) {
            var date2 = datetime_clone(d2);
            date2.setDate(d2.getDate() + step);
            return date2;
          }
          function subtractDate(d2, steps) {
            var date2 = datetime_clone(d2);
            date2.setDate(d2.getDate() - steps);
            return date2;
          }
          function addMonths(d2) {
            var step = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
            var date2 = datetime_clone(d2);
            if (step !== 0) {
              var dayOfMonth = date2.getDate();
              var endOfDesiredMonth = new date_TZDate(date2.getTime());
              endOfDesiredMonth.setMonth(date2.getMonth() + step + 1, 0);
              var daysInMonth = endOfDesiredMonth.getDate();
              if (dayOfMonth >= daysInMonth) {
                return endOfDesiredMonth;
              }
              date2.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth);
            }
            return date2;
          }
          function getDateDifference(d1, d2) {
            var _d1 = new date_TZDate(d1.getFullYear(), d1.getMonth(), d1.getDate()).getTime();
            var _d2 = new date_TZDate(d2.getFullYear(), d2.getMonth(), d2.getDate()).getTime();
            return Math.round((_d1 - _d2) / MS_PER_DAY);
          }
          function hasCollision(start, end, targetStart, targetEnd) {
            return targetStart > start && targetStart < end || targetEnd > start && targetEnd < end || targetStart <= start && targetEnd >= end;
          }
          function events_collidesWith(_ref) {
            var start = _ref.start, end = _ref.end, targetStart = _ref.targetStart, targetEnd = _ref.targetEnd, goingDuration = _ref.goingDuration, comingDuration = _ref.comingDuration, targetGoingDuration = _ref.targetGoingDuration, targetComingDuration = _ref.targetComingDuration, usingTravelTime = _ref.usingTravelTime;
            if (Math.abs(end - start) < MS_EVENT_MIN_DURATION) {
              end += MS_EVENT_MIN_DURATION;
            }
            if (Math.abs(end - start) < MS_EVENT_MIN_DURATION) {
              end += MS_EVENT_MIN_DURATION;
            }
            if (usingTravelTime) {
              start -= millisecondsFrom("minute", goingDuration);
              end += millisecondsFrom("minute", comingDuration);
              targetStart -= millisecondsFrom("minute", targetGoingDuration);
              targetEnd += millisecondsFrom("minute", targetComingDuration);
            }
            return hasCollision(start, end, targetStart, targetEnd);
          }
          function isSameEvent(event, eventId, calendarId) {
            return event.id === eventId && event.calendarId === calendarId;
          }
          function idGenerator() {
            var id = 0;
            return {
              next: function next() {
                id += 1;
                return id;
              }
            };
          }
          var getId = function() {
            var generator = idGenerator();
            return function() {
              return generator.next();
            };
          }();
          function stamp(obj) {
            if (!obj.__fe_id) {
              obj.__fe_id = getId();
            }
            return obj.__fe_id;
          }
          function eventModel_classCallCheck(instance, Constructor2) {
            if (!(instance instanceof Constructor2)) {
              throw new TypeError("Cannot call a class as a function");
            }
          }
          function eventModel_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 eventModel_createClass(Constructor2, protoProps, staticProps) {
            if (protoProps)
              eventModel_defineProperties(Constructor2.prototype, protoProps);
            if (staticProps)
              eventModel_defineProperties(Constructor2, staticProps);
            Object.defineProperty(Constructor2, "prototype", { writable: false });
            return Constructor2;
          }
          function eventModel_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          var EventModel = /* @__PURE__ */ function() {
            function EventModel2() {
              var event = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
              eventModel_classCallCheck(this, EventModel2);
              eventModel_defineProperty(this, "id", "");
              eventModel_defineProperty(this, "calendarId", "");
              eventModel_defineProperty(this, "title", "");
              eventModel_defineProperty(this, "body", "");
              eventModel_defineProperty(this, "isAllday", false);
              eventModel_defineProperty(this, "start", new date_TZDate());
              eventModel_defineProperty(this, "end", new date_TZDate());
              eventModel_defineProperty(this, "goingDuration", 0);
              eventModel_defineProperty(this, "comingDuration", 0);
              eventModel_defineProperty(this, "location", "");
              eventModel_defineProperty(this, "attendees", []);
              eventModel_defineProperty(this, "category", "time");
              eventModel_defineProperty(this, "dueDateClass", "");
              eventModel_defineProperty(this, "recurrenceRule", "");
              eventModel_defineProperty(this, "state", "Busy");
              eventModel_defineProperty(this, "isVisible", true);
              eventModel_defineProperty(this, "isPending", false);
              eventModel_defineProperty(this, "isFocused", false);
              eventModel_defineProperty(this, "isReadOnly", false);
              eventModel_defineProperty(this, "isPrivate", false);
              eventModel_defineProperty(this, "customStyle", {});
              eventModel_defineProperty(this, "raw", null);
              eventModel_defineProperty(this, "hasMultiDates", false);
              stamp(this);
              this.init(event);
            }
            eventModel_createClass(EventModel2, [{
              key: "init",
              value: function init() {
                var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, _ref$id = _ref.id, id = _ref$id === void 0 ? "" : _ref$id, _ref$calendarId = _ref.calendarId, calendarId = _ref$calendarId === void 0 ? "" : _ref$calendarId, _ref$title = _ref.title, title = _ref$title === void 0 ? "" : _ref$title, _ref$body = _ref.body, body = _ref$body === void 0 ? "" : _ref$body, _ref$isAllday = _ref.isAllday, isAllday2 = _ref$isAllday === void 0 ? false : _ref$isAllday, _ref$start = _ref.start, start = _ref$start === void 0 ? new date_TZDate() : _ref$start, _ref$end = _ref.end, end = _ref$end === void 0 ? new date_TZDate() : _ref$end, _ref$goingDuration = _ref.goingDuration, goingDuration = _ref$goingDuration === void 0 ? 0 : _ref$goingDuration, _ref$comingDuration = _ref.comingDuration, comingDuration = _ref$comingDuration === void 0 ? 0 : _ref$comingDuration, _ref$location = _ref.location, location2 = _ref$location === void 0 ? "" : _ref$location, _ref$attendees = _ref.attendees, attendees = _ref$attendees === void 0 ? [] : _ref$attendees, _ref$category = _ref.category, category = _ref$category === void 0 ? "time" : _ref$category, _ref$dueDateClass = _ref.dueDateClass, dueDateClass = _ref$dueDateClass === void 0 ? "" : _ref$dueDateClass, _ref$recurrenceRule = _ref.recurrenceRule, recurrenceRule = _ref$recurrenceRule === void 0 ? "" : _ref$recurrenceRule, _ref$state = _ref.state, state = _ref$state === void 0 ? "Busy" : _ref$state, _ref$isVisible = _ref.isVisible, isVisible = _ref$isVisible === void 0 ? true : _ref$isVisible, _ref$isPending = _ref.isPending, isPending = _ref$isPending === void 0 ? false : _ref$isPending, _ref$isFocused = _ref.isFocused, isFocused = _ref$isFocused === void 0 ? false : _ref$isFocused, _ref$isReadOnly = _ref.isReadOnly, isReadOnly = _ref$isReadOnly === void 0 ? false : _ref$isReadOnly, _ref$isPrivate = _ref.isPrivate, isPrivate = _ref$isPrivate === void 0 ? false : _ref$isPrivate, color = _ref.color, backgroundColor = _ref.backgroundColor, dragBackgroundColor = _ref.dragBackgroundColor, borderColor = _ref.borderColor, _ref$customStyle = _ref.customStyle, customStyle = _ref$customStyle === void 0 ? {} : _ref$customStyle, _ref$raw = _ref.raw, raw = _ref$raw === void 0 ? null : _ref$raw;
                this.id = id;
                this.calendarId = calendarId;
                this.title = title;
                this.body = body;
                this.isAllday = category === "allday" ? true : isAllday2;
                this.goingDuration = goingDuration;
                this.comingDuration = comingDuration;
                this.location = location2;
                this.attendees = attendees;
                this.category = category;
                this.dueDateClass = dueDateClass;
                this.recurrenceRule = recurrenceRule;
                this.state = state;
                this.isVisible = isVisible;
                this.isPending = isPending;
                this.isFocused = isFocused;
                this.isReadOnly = isReadOnly;
                this.isPrivate = isPrivate;
                this.color = color;
                this.backgroundColor = backgroundColor;
                this.dragBackgroundColor = dragBackgroundColor;
                this.borderColor = borderColor;
                this.customStyle = customStyle;
                this.raw = raw;
                if (this.isAllday) {
                  this.setAlldayPeriod(start, end);
                } else {
                  this.setTimePeriod(start, end);
                }
                if (category === "milestone" || category === "task") {
                  this.start = new date_TZDate(this.end);
                }
              }
            }, {
              key: "setAlldayPeriod",
              value: function setAlldayPeriod(start, end) {
                var startedAt;
                var endedAt;
                if (isString_default()(start)) {
                  startedAt = parse(start.substring(0, 10));
                } else {
                  startedAt = new date_TZDate(start || Date.now());
                }
                if (isString_default()(end)) {
                  endedAt = parse(end.substring(0, 10));
                } else {
                  endedAt = new date_TZDate(end || this.start);
                }
                this.start = startedAt;
                this.start.setHours(0, 0, 0);
                this.end = endedAt || new date_TZDate(this.start);
                this.end.setHours(23, 59, 59);
              }
            }, {
              key: "setTimePeriod",
              value: function setTimePeriod(start, end) {
                this.start = new date_TZDate(start || Date.now());
                this.end = new date_TZDate(end || this.start);
                if (!end) {
                  this.end.setMinutes(this.end.getMinutes() + 30);
                }
                this.hasMultiDates = this.end.getTime() - this.start.getTime() > MS_PER_DAY;
              }
            }, {
              key: "getStarts",
              value: function getStarts() {
                return this.start;
              }
            }, {
              key: "getEnds",
              value: function getEnds() {
                return this.end;
              }
            }, {
              key: "cid",
              value: function cid() {
                return stamp(this);
              }
            }, {
              key: "equals",
              value: function equals(event) {
                if (this.id !== event.id) {
                  return false;
                }
                if (this.title !== event.title) {
                  return false;
                }
                if (this.body !== event.body) {
                  return false;
                }
                if (this.isAllday !== event.isAllday) {
                  return false;
                }
                if (compare(this.getStarts(), event.getStarts()) !== 0) {
                  return false;
                }
                if (compare(this.getEnds(), event.getEnds()) !== 0) {
                  return false;
                }
                if (this.color !== event.color) {
                  return false;
                }
                if (this.backgroundColor !== event.backgroundColor) {
                  return false;
                }
                if (this.dragBackgroundColor !== event.dragBackgroundColor) {
                  return false;
                }
                if (this.borderColor !== event.borderColor) {
                  return false;
                }
                return true;
              }
            }, {
              key: "duration",
              value: function duration() {
                var start = Number(this.getStarts());
                var end = Number(this.getEnds());
                var duration2;
                if (this.isAllday) {
                  duration2 = Number(toEndOfDay(end)) - Number(toStartOfDay(start));
                } else {
                  duration2 = end - start;
                }
                return duration2;
              }
            }, {
              key: "valueOf",
              value: function valueOf() {
                return this;
              }
            }, {
              key: "collidesWith",
              value: function collidesWith(event) {
                var usingTravelTime = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
                event = event instanceof EventUIModel ? event.model : event;
                return events_collidesWith({
                  start: Number(this.getStarts()),
                  end: Number(this.getEnds()),
                  targetStart: Number(event.getStarts()),
                  targetEnd: Number(event.getEnds()),
                  goingDuration: this.goingDuration,
                  comingDuration: this.comingDuration,
                  targetGoingDuration: event.goingDuration,
                  targetComingDuration: event.comingDuration,
                  usingTravelTime
                });
              }
            }, {
              key: "toEventObject",
              value: function toEventObject() {
                return {
                  id: this.id,
                  calendarId: this.calendarId,
                  __cid: this.cid(),
                  title: this.title,
                  body: this.body,
                  isAllday: this.isAllday,
                  start: this.start,
                  end: this.end,
                  goingDuration: this.goingDuration,
                  comingDuration: this.comingDuration,
                  location: this.location,
                  attendees: this.attendees,
                  category: this.category,
                  dueDateClass: this.dueDateClass,
                  recurrenceRule: this.recurrenceRule,
                  state: this.state,
                  isVisible: this.isVisible,
                  isPending: this.isPending,
                  isFocused: this.isFocused,
                  isReadOnly: this.isReadOnly,
                  isPrivate: this.isPrivate,
                  color: this.color,
                  backgroundColor: this.backgroundColor,
                  dragBackgroundColor: this.dragBackgroundColor,
                  borderColor: this.borderColor,
                  customStyle: this.customStyle,
                  raw: this.raw
                };
              }
            }, {
              key: "getColors",
              value: function getColors() {
                return {
                  color: this.color,
                  backgroundColor: this.backgroundColor,
                  dragBackgroundColor: this.dragBackgroundColor,
                  borderColor: this.borderColor
                };
              }
            }]);
            return EventModel2;
          }();
          eventModel_defineProperty(EventModel, "schema", {
            required: ["title"],
            dateRange: ["start", "end"]
          });
          function isTimeEvent(_ref2) {
            var model = _ref2.model;
            var category = model.category, isAllday2 = model.isAllday, hasMultiDates = model.hasMultiDates;
            return category === "time" && !isAllday2 && !hasMultiDates;
          }
          __webpack_require__(3430);
          function collection_slicedToArray(arr, i) {
            return collection_arrayWithHoles(arr) || collection_iterableToArrayLimit(arr, i) || collection_unsupportedIterableToArray(arr, i) || collection_nonIterableRest();
          }
          function collection_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function collection_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return collection_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return collection_arrayLikeToArray(o2, minLen);
          }
          function collection_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 collection_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function collection_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function collection_classCallCheck(instance, Constructor2) {
            if (!(instance instanceof Constructor2)) {
              throw new TypeError("Cannot call a class as a function");
            }
          }
          function collection_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 collection_createClass(Constructor2, protoProps, staticProps) {
            if (protoProps)
              collection_defineProperties(Constructor2.prototype, protoProps);
            if (staticProps)
              collection_defineProperties(Constructor2, staticProps);
            Object.defineProperty(Constructor2, "prototype", { writable: false });
            return Constructor2;
          }
          function collection_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          var Collection = /* @__PURE__ */ function() {
            function Collection2(getItemIDFn) {
              collection_classCallCheck(this, Collection2);
              collection_defineProperty(this, "internalMap", /* @__PURE__ */ new Map());
              if (isFunction(getItemIDFn)) {
                this.getItemID = getItemIDFn;
              }
            }
            collection_createClass(Collection2, [{
              key: "getItemID",
              value: function getItemID(item) {
                var _item$_id;
                return (_item$_id = item === null || item === void 0 ? void 0 : item._id) !== null && _item$_id !== void 0 ? _item$_id : "";
              }
            }, {
              key: "getFirstItem",
              value: function getFirstItem() {
                var iterator = this.internalMap.values();
                return iterator.next().value;
              }
            }, {
              key: "add",
              value: function add() {
                var _this = this;
                for (var _len = arguments.length, items = new Array(_len), _key = 0; _key < _len; _key++) {
                  items[_key] = arguments[_key];
                }
                items.forEach(function(item) {
                  var id = _this.getItemID(item);
                  _this.internalMap.set(id, item);
                });
                return this;
              }
            }, {
              key: "remove",
              value: function remove() {
                var _this2 = this;
                var removeResult = [];
                for (var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
                  items[_key2] = arguments[_key2];
                }
                items.forEach(function(item) {
                  var id = isString_default()(item) || isNumber_default()(item) ? item : _this2.getItemID(item);
                  if (!_this2.internalMap.has(id)) {
                    return;
                  }
                  removeResult.push(_this2.internalMap.get(id));
                  _this2.internalMap["delete"](id);
                });
                return removeResult.length === 1 ? removeResult[0] : removeResult;
              }
            }, {
              key: "has",
              value: function has(item) {
                var id = isString_default()(item) || isNumber_default()(item) ? item : this.getItemID(item);
                return this.internalMap.has(id);
              }
            }, {
              key: "get",
              value: function get(item) {
                var _this$internalMap$get;
                var id = isString_default()(item) || isNumber_default()(item) ? item : this.getItemID(item);
                return (_this$internalMap$get = this.internalMap.get(id)) !== null && _this$internalMap$get !== void 0 ? _this$internalMap$get : null;
              }
            }, {
              key: "doWhenHas",
              value: function doWhenHas(id, callback) {
                var item = this.internalMap.get(id);
                if (type_isNil(item)) {
                  return;
                }
                callback(item);
              }
            }, {
              key: "filter",
              value: function filter(filterFn) {
                var result = new Collection2();
                if (this.hasOwnProperty("getItemID")) {
                  result.getItemID = this.getItemID;
                }
                this.internalMap.forEach(function(item) {
                  if (filterFn(item) === true) {
                    result.add(item);
                  }
                });
                return result;
              }
            }, {
              key: "groupBy",
              value: function groupBy(groupByFn) {
                var _this3 = this;
                var result = {};
                this.internalMap.forEach(function(item) {
                  var _key3, _result$_key;
                  var key = isFunction(groupByFn) ? groupByFn(item) : item[groupByFn];
                  if (isFunction(key)) {
                    key = key.call(item);
                  }
                  (_result$_key = result[_key3 = key]) !== null && _result$_key !== void 0 ? _result$_key : result[_key3] = new Collection2(_this3.getItemID);
                  result[key].add(item);
                });
                return result;
              }
            }, {
              key: "find",
              value: function find(findFn) {
                var result = null;
                var items = this.internalMap.values();
                var next = items.next();
                while (next.done === false) {
                  if (findFn(next.value)) {
                    result = next.value;
                    break;
                  }
                  next = items.next();
                }
                return result;
              }
            }, {
              key: "sort",
              value: function sort(compareFn) {
                return this.toArray().sort(compareFn);
              }
            }, {
              key: "each",
              value: function each(iteratee) {
                var entries = this.internalMap.entries();
                var next = entries.next();
                while (next.done === false) {
                  var _next$value = collection_slicedToArray(next.value, 2), _key4 = _next$value[0], value = _next$value[1];
                  if (iteratee(value, _key4) === false) {
                    break;
                  }
                  next = entries.next();
                }
              }
            }, {
              key: "clear",
              value: function clear() {
                this.internalMap.clear();
              }
            }, {
              key: "toArray",
              value: function toArray() {
                return Array.from(this.internalMap.values());
              }
            }, {
              key: "size",
              get: function get() {
                return this.internalMap.size;
              }
            }], [{
              key: "and",
              value: function and() {
                for (var _len3 = arguments.length, filterFns = new Array(_len3), _key5 = 0; _key5 < _len3; _key5++) {
                  filterFns[_key5] = arguments[_key5];
                }
                var length = filterFns.length;
                return function(item) {
                  for (var i = 0; i < length; i += 1) {
                    if (!filterFns[i].call(null, item)) {
                      return false;
                    }
                  }
                  return true;
                };
              }
            }, {
              key: "or",
              value: function or() {
                for (var _len4 = arguments.length, filterFns = new Array(_len4), _key6 = 0; _key6 < _len4; _key6++) {
                  filterFns[_key6] = arguments[_key6];
                }
                var length = filterFns.length;
                if (!length) {
                  return function() {
                    return false;
                  };
                }
                return function(item) {
                  var result = filterFns[0].call(null, item);
                  for (var i = 1; i < length; i += 1) {
                    result = result || filterFns[i].call(null, item);
                  }
                  return result;
                };
              }
            }]);
            return Collection2;
          }();
          function ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function _objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? ownKeys(Object(source), true).forEach(function(key) {
                base_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function base_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function createEventCollection() {
            var collection = new Collection(function(event) {
              return event.cid();
            });
            if (arguments.length) {
              collection.add.apply(collection, arguments);
            }
            return collection;
          }
          function getDateRange(start, end) {
            return makeDateRange(toStartOfDay(start), toEndOfDay(end), MS_PER_DAY);
          }
          function isAllday(event) {
            return event.isAllday || event.category === "time" && Number(event.end) - Number(event.start) > MS_PER_DAY;
          }
          function filterByCategory(uiModel) {
            var model = uiModel.model;
            if (isAllday(model)) {
              return "allday";
            }
            return model.category;
          }
          function addToMatrix(idsOfDay, event) {
            var containDates = getDateRange(event.getStarts(), event.getEnds());
            containDates.forEach(function(date2) {
              var ymd = datetime_toFormat(date2, "YYYYMMDD");
              var matrix = idsOfDay[ymd] = idsOfDay[ymd] || [];
              matrix.push(event.cid());
            });
          }
          function removeFromMatrix(idsOfDay, event) {
            var modelID = event.cid();
            Object.values(idsOfDay).forEach(function(ids) {
              var index = ids.indexOf(modelID);
              if (~index) {
                ids.splice(index, 1);
              }
            });
          }
          function addEvent(calendarData, event) {
            calendarData.events.add(event);
            addToMatrix(calendarData.idsOfDay, event);
            return event;
          }
          function createEvent(calendarData, eventData) {
            var event = new EventModel(eventData);
            return addEvent(calendarData, event);
          }
          function base_createEvents(calendarData) {
            var events = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
            return events.map(function(eventData) {
              return createEvent(calendarData, eventData);
            });
          }
          function base_updateEvent(calendarData, eventId, calendarId, eventData) {
            var idsOfDay = calendarData.idsOfDay;
            var event = calendarData.events.find(function(item) {
              return isSameEvent(item, eventId, calendarId);
            });
            if (!event) {
              return false;
            }
            event.init(_objectSpread(_objectSpread({}, event), eventData));
            removeFromMatrix(idsOfDay, event);
            addToMatrix(idsOfDay, event);
            return true;
          }
          function base_deleteEvent(calendarData, event) {
            removeFromMatrix(calendarData.idsOfDay, event);
            calendarData.events.remove(event);
            return event;
          }
          function base_clearEvents(calendarData) {
            calendarData.idsOfDay = {};
            calendarData.events.clear();
          }
          function calendar_toConsumableArray(arr) {
            return calendar_arrayWithoutHoles(arr) || calendar_iterableToArray(arr) || calendar_unsupportedIterableToArray(arr) || calendar_nonIterableSpread();
          }
          function calendar_nonIterableSpread() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function calendar_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return calendar_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return calendar_arrayLikeToArray(o2, minLen);
          }
          function calendar_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function calendar_arrayWithoutHoles(arr) {
            if (Array.isArray(arr))
              return calendar_arrayLikeToArray(arr);
          }
          function calendar_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 calendar_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function calendar_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? calendar_ownKeys(Object(source), true).forEach(function(key) {
                calendar_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : calendar_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function calendar_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function createCalendarSlice() {
            var calendars = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
            return {
              calendar: {
                calendars,
                events: createEventCollection(),
                idsOfDay: {}
              }
            };
          }
          function createCalendarDispatchers(set) {
            return {
              createEvents: function createEvents(events) {
                return set((0, immer_esm.ZP)(function(state) {
                  base_createEvents(state.calendar, events);
                }));
              },
              updateEvent: function updateEvent(_ref) {
                var event = _ref.event, eventData = _ref.eventData;
                return set((0, immer_esm.ZP)(function(state) {
                  base_updateEvent(state.calendar, event.id, event.calendarId, eventData);
                }));
              },
              deleteEvent: function deleteEvent(event) {
                return set((0, immer_esm.ZP)(function(state) {
                  base_deleteEvent(state.calendar, event);
                }));
              },
              clearEvents: function clearEvents() {
                return set((0, immer_esm.ZP)(function(state) {
                  base_clearEvents(state.calendar);
                }));
              },
              setCalendars: function setCalendars(calendars) {
                return set((0, immer_esm.ZP)(function(state) {
                  state.calendar.calendars = calendars;
                }));
              },
              setCalendarColor: function setCalendarColor(calendarId, colorOptions) {
                return set((0, immer_esm.ZP)(function(state) {
                  var calendars = state.calendar.calendars.map(function(calendar) {
                    if (calendar.id === calendarId) {
                      return calendar_objectSpread(calendar_objectSpread({}, calendar), colorOptions);
                    }
                    return calendar;
                  });
                  var events = state.calendar.events.toArray().map(function(event) {
                    if (event.calendarId === calendarId) {
                      var _colorOptions$color, _colorOptions$backgro, _colorOptions$borderC, _colorOptions$dragBac;
                      event.color = (_colorOptions$color = colorOptions.color) !== null && _colorOptions$color !== void 0 ? _colorOptions$color : event.color;
                      event.backgroundColor = (_colorOptions$backgro = colorOptions.backgroundColor) !== null && _colorOptions$backgro !== void 0 ? _colorOptions$backgro : event.backgroundColor;
                      event.borderColor = (_colorOptions$borderC = colorOptions.borderColor) !== null && _colorOptions$borderC !== void 0 ? _colorOptions$borderC : event.borderColor;
                      event.dragBackgroundColor = (_colorOptions$dragBac = colorOptions.dragBackgroundColor) !== null && _colorOptions$dragBac !== void 0 ? _colorOptions$dragBac : event.dragBackgroundColor;
                    }
                    return event;
                  });
                  var collection = createEventCollection.apply(void 0, calendar_toConsumableArray(events));
                  state.calendar.calendars = calendars;
                  state.calendar.events = collection;
                }));
              },
              setCalendarVisibility: function setCalendarVisibility(calendarIds, isVisible) {
                return set((0, immer_esm.ZP)(function(state) {
                  var events = state.calendar.events.toArray();
                  state.calendar.events = createEventCollection.apply(void 0, calendar_toConsumableArray(events.map(function(event) {
                    if (calendarIds.includes(event.calendarId)) {
                      event.isVisible = isVisible;
                    }
                    return event;
                  })));
                }));
              }
            };
          }
          function dnd_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function dnd_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? dnd_ownKeys(Object(source), true).forEach(function(key) {
                dnd_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : dnd_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function dnd_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          var DraggingState;
          (function(DraggingState2) {
            DraggingState2[DraggingState2["IDLE"] = 0] = "IDLE";
            DraggingState2[DraggingState2["INIT"] = 1] = "INIT";
            DraggingState2[DraggingState2["DRAGGING"] = 2] = "DRAGGING";
            DraggingState2[DraggingState2["CANCELED"] = 3] = "CANCELED";
          })(DraggingState || (DraggingState = {}));
          function createDndSlice() {
            return {
              dnd: {
                draggingItemType: null,
                draggingState: DraggingState.IDLE,
                initX: null,
                initY: null,
                x: null,
                y: null,
                draggingEventUIModel: null
              }
            };
          }
          function createDndDispatchers(set) {
            return {
              initDrag: function initDrag(initState) {
                set((0, immer_esm.ZP)(function(state) {
                  state.dnd = dnd_objectSpread(dnd_objectSpread(dnd_objectSpread({}, state.dnd), initState), {}, {
                    draggingState: DraggingState.INIT
                  });
                }));
              },
              setDragging: function setDragging(newState) {
                set((0, immer_esm.ZP)(function(state) {
                  state.dnd = dnd_objectSpread(dnd_objectSpread(dnd_objectSpread({}, state.dnd), newState), {}, {
                    draggingState: DraggingState.DRAGGING
                  });
                }));
              },
              cancelDrag: function cancelDrag() {
                set((0, immer_esm.ZP)(function(state) {
                  state.dnd = createDndSlice().dnd;
                  state.dnd.draggingState = DraggingState.CANCELED;
                }));
              },
              reset: function reset() {
                set((0, immer_esm.ZP)(function(state) {
                  state.dnd = createDndSlice().dnd;
                }));
              },
              setDraggingEventUIModel: function setDraggingEventUIModel(eventUIModel) {
                set((0, immer_esm.ZP)(function(state) {
                  var _eventUIModel$clone;
                  state.dnd.draggingEventUIModel = (_eventUIModel$clone = eventUIModel === null || eventUIModel === void 0 ? void 0 : eventUIModel.clone()) !== null && _eventUIModel$clone !== void 0 ? _eventUIModel$clone : null;
                }));
              }
            };
          }
          function gridSelection_toConsumableArray(arr) {
            return gridSelection_arrayWithoutHoles(arr) || gridSelection_iterableToArray(arr) || gridSelection_unsupportedIterableToArray(arr) || gridSelection_nonIterableSpread();
          }
          function gridSelection_nonIterableSpread() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function gridSelection_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return gridSelection_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return gridSelection_arrayLikeToArray(o2, minLen);
          }
          function gridSelection_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function gridSelection_arrayWithoutHoles(arr) {
            if (Array.isArray(arr))
              return gridSelection_arrayLikeToArray(arr);
          }
          function gridSelection_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 createGridSelectionSlice() {
            return {
              gridSelection: {
                dayGridMonth: null,
                dayGridWeek: null,
                timeGrid: null,
                accumulated: {
                  dayGridMonth: []
                }
              }
            };
          }
          function createGridSelectionDispatchers(set) {
            return {
              setGridSelection: function setGridSelection(type, gridSelection) {
                set((0, immer_esm.ZP)(function(state) {
                  state.gridSelection[type] = gridSelection;
                }));
              },
              addGridSelection: function addGridSelection(type, gridSelection) {
                set((0, immer_esm.ZP)(function(state) {
                  if (type === "dayGridMonth" && gridSelection) {
                    state.gridSelection.accumulated[type] = [].concat(gridSelection_toConsumableArray(state.gridSelection.accumulated[type]), [gridSelection]);
                    state.gridSelection.dayGridMonth = null;
                  }
                }));
              },
              clearAll: function clearAll() {
                return set((0, immer_esm.ZP)(function(state) {
                  state.gridSelection = createGridSelectionSlice().gridSelection;
                }));
              }
            };
          }
          var DEFAULT_RESIZER_LENGTH = 3;
          var DEFAULT_DUPLICATE_EVENT_CID = -1;
          function getRestPanelHeight(dayGridRowsState, lastPanelType, initHeight) {
            return Object.keys(dayGridRowsState).reduce(function(acc, rowName) {
              if (rowName === lastPanelType) {
                return acc;
              }
              return acc - dayGridRowsState[rowName].height - DEFAULT_RESIZER_LENGTH;
            }, initHeight);
          }
          function createWeekViewLayoutSlice() {
            return {
              layout: 500,
              weekViewLayout: {
                lastPanelType: null,
                dayGridRows: {},
                selectedDuplicateEventCid: DEFAULT_DUPLICATE_EVENT_CID
              }
            };
          }
          function createWeekViewLayoutDispatchers(set) {
            return {
              setLastPanelType: function setLastPanelType(type) {
                set((0, immer_esm.ZP)(function(state) {
                  state.weekViewLayout.lastPanelType = type;
                  if (type) {
                    state.weekViewLayout.dayGridRows[type].height = getRestPanelHeight(state.weekViewLayout.dayGridRows, type, state.layout);
                  }
                }));
              },
              updateLayoutHeight: function updateLayoutHeight(height) {
                return set((0, immer_esm.ZP)(function(state) {
                  var lastPanelType = state.weekViewLayout.lastPanelType;
                  state.layout = height;
                  if (lastPanelType) {
                    state.weekViewLayout.dayGridRows[lastPanelType].height = getRestPanelHeight(state.weekViewLayout.dayGridRows, lastPanelType, height);
                  }
                }));
              },
              updateDayGridRowHeight: function updateDayGridRowHeight(_ref) {
                var rowName = _ref.rowName, height = _ref.height;
                return set((0, immer_esm.ZP)(function(state) {
                  var lastPanelType = state.weekViewLayout.lastPanelType;
                  state.weekViewLayout.dayGridRows[rowName] = {
                    height
                  };
                  if (lastPanelType) {
                    state.weekViewLayout.dayGridRows[lastPanelType].height = getRestPanelHeight(state.weekViewLayout.dayGridRows, lastPanelType, state.layout);
                  }
                }));
              },
              updateDayGridRowHeightByDiff: function updateDayGridRowHeightByDiff(_ref2) {
                var rowName = _ref2.rowName, diff = _ref2.diff;
                return set((0, immer_esm.ZP)(function(state) {
                  var _state$weekViewLayout, _state$weekViewLayout2, _state$weekViewLayout3;
                  var lastPanelType = state.weekViewLayout.lastPanelType;
                  var height = (_state$weekViewLayout = (_state$weekViewLayout2 = state.weekViewLayout.dayGridRows) === null || _state$weekViewLayout2 === void 0 ? void 0 : (_state$weekViewLayout3 = _state$weekViewLayout2[rowName]) === null || _state$weekViewLayout3 === void 0 ? void 0 : _state$weekViewLayout3.height) !== null && _state$weekViewLayout !== void 0 ? _state$weekViewLayout : DEFAULT_PANEL_HEIGHT;
                  state.weekViewLayout.dayGridRows[rowName] = {
                    height: height + diff
                  };
                  if (lastPanelType) {
                    state.weekViewLayout.dayGridRows[lastPanelType].height = getRestPanelHeight(state.weekViewLayout.dayGridRows, lastPanelType, state.layout);
                  }
                }));
              },
              setSelectedDuplicateEventCid: function setSelectedDuplicateEventCid(cid) {
                return set((0, immer_esm.ZP)(function(state) {
                  state.weekViewLayout.selectedDuplicateEventCid = cid !== null && cid !== void 0 ? cid : DEFAULT_DUPLICATE_EVENT_CID;
                }));
              }
            };
          }
          function capitalize(str) {
            return str.charAt(0).toUpperCase() + str.slice(1);
          }
          var DEFAULT_DAY_NAMES = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
          var getDayName = function getDayName2(dayIndex) {
            return DEFAULT_DAY_NAMES[dayIndex];
          };
          function getDayNames(days, weekDayNamesOption) {
            return days.map(function(day) {
              var dayIndex = day.getDay();
              var dayName = weekDayNamesOption.length > 0 ? weekDayNamesOption[dayIndex] : capitalize(getDayName(dayIndex));
              return {
                date: day.getDate(),
                day: day.getDay(),
                dayName,
                isToday: true,
                renderDate: "date",
                dateInstance: day
              };
            });
          }
          function options_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function options_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? options_ownKeys(Object(source), true).forEach(function(key) {
                options_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : options_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function options_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function initializeCollapseDuplicateEvents(options) {
            if (!options) {
              return false;
            }
            var initialCollapseDuplicateEvents = {
              getDuplicateEvents: function getDuplicateEvents(targetEvent, events) {
                return events.filter(function(event) {
                  return event.title === targetEvent.title && compare(event.start, targetEvent.start) === 0 && compare(event.end, targetEvent.end) === 0;
                }).sort(function(a2, b2) {
                  return a2.calendarId > b2.calendarId ? 1 : -1;
                });
              },
              getMainEvent: function getMainEvent(events) {
                return last(events);
              }
            };
            if (isBoolean_default()(options)) {
              return initialCollapseDuplicateEvents;
            }
            return options_objectSpread(options_objectSpread({}, initialCollapseDuplicateEvents), options);
          }
          function initializeWeekOptions() {
            var weekOptions = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
            var week = options_objectSpread({
              startDayOfWeek: Day.SUN,
              dayNames: [],
              narrowWeekend: false,
              workweek: false,
              showNowIndicator: true,
              showTimezoneCollapseButton: false,
              timezonesCollapsed: false,
              hourStart: 0,
              hourEnd: 24,
              eventView: true,
              taskView: true,
              collapseDuplicateEvents: false
            }, weekOptions);
            week.collapseDuplicateEvents = initializeCollapseDuplicateEvents(week.collapseDuplicateEvents);
            return week;
          }
          function initializeTimezoneOptions() {
            var timezoneOptions = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
            return options_objectSpread({
              zones: []
            }, timezoneOptions);
          }
          function initializeMonthOptions() {
            var monthOptions = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
            var month = options_objectSpread({
              dayNames: [],
              visibleWeeksCount: 0,
              workweek: false,
              narrowWeekend: false,
              startDayOfWeek: Day.SUN,
              isAlways6Weeks: true,
              visibleEventCount: 6
            }, monthOptions);
            if (month.dayNames.length === 0) {
              month.dayNames = DEFAULT_DAY_NAMES.slice();
            }
            return month;
          }
          function initializeGridSelectionOptions(options) {
            if (isBoolean_default()(options)) {
              return {
                enableDblClick: options,
                enableClick: options
              };
            }
            return options_objectSpread({
              enableDblClick: true,
              enableClick: true
            }, options);
          }
          var initialEventFilter = function initialEventFilter2(event) {
            return !!event.isVisible;
          };
          function createOptionsSlice() {
            var _options$defaultView, _options$useFormPopup, _options$useDetailPop, _options$isReadOnly, _options$usageStatist, _options$eventFilter;
            var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
            return {
              options: {
                defaultView: (_options$defaultView = options.defaultView) !== null && _options$defaultView !== void 0 ? _options$defaultView : "week",
                useFormPopup: (_options$useFormPopup = options.useFormPopup) !== null && _options$useFormPopup !== void 0 ? _options$useFormPopup : false,
                useDetailPopup: (_options$useDetailPop = options.useDetailPopup) !== null && _options$useDetailPop !== void 0 ? _options$useDetailPop : false,
                isReadOnly: (_options$isReadOnly = options.isReadOnly) !== null && _options$isReadOnly !== void 0 ? _options$isReadOnly : false,
                week: initializeWeekOptions(options.week),
                month: initializeMonthOptions(options.month),
                gridSelection: initializeGridSelectionOptions(options.gridSelection),
                usageStatistics: (_options$usageStatist = options.usageStatistics) !== null && _options$usageStatist !== void 0 ? _options$usageStatist : true,
                eventFilter: (_options$eventFilter = options.eventFilter) !== null && _options$eventFilter !== void 0 ? _options$eventFilter : initialEventFilter,
                timezone: initializeTimezoneOptions(options.timezone)
              }
            };
          }
          function createOptionsDispatchers(set) {
            return {
              setOptions: function setOptions() {
                var newOptions = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
                return set((0, immer_esm.ZP)(function(state) {
                  var _newOptions$week;
                  if (newOptions.gridSelection) {
                    newOptions.gridSelection = initializeGridSelectionOptions(newOptions.gridSelection);
                  }
                  if ((_newOptions$week = newOptions.week) !== null && _newOptions$week !== void 0 && _newOptions$week.collapseDuplicateEvents) {
                    newOptions.week.collapseDuplicateEvents = initializeCollapseDuplicateEvents(newOptions.week.collapseDuplicateEvents);
                  }
                  mergeObject(state.options, newOptions);
                }));
              }
            };
          }
          function popup_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          var PopupType;
          (function(PopupType2) {
            PopupType2["SeeMore"] = "seeMore";
            PopupType2["Form"] = "form";
            PopupType2["Detail"] = "detail";
          })(PopupType || (PopupType = {}));
          function createPopupSlice() {
            var _popup;
            return {
              popup: (_popup = {}, popup_defineProperty(_popup, PopupType.SeeMore, null), popup_defineProperty(_popup, PopupType.Form, null), popup_defineProperty(_popup, PopupType.Detail, null), _popup)
            };
          }
          function createPopupDispatchers(set) {
            return {
              showSeeMorePopup: function showSeeMorePopup(param) {
                return set((0, immer_esm.ZP)(function(state) {
                  state.popup[PopupType.SeeMore] = param;
                  state.popup[PopupType.Form] = null;
                  state.popup[PopupType.Detail] = null;
                }));
              },
              showFormPopup: function showFormPopup(param) {
                return set((0, immer_esm.ZP)(function(state) {
                  state.popup[PopupType.Form] = param;
                  state.popup[PopupType.SeeMore] = null;
                  state.popup[PopupType.Detail] = null;
                }));
              },
              showDetailPopup: function showDetailPopup(param, isOpenedInSeeMorePopup) {
                return set((0, immer_esm.ZP)(function(state) {
                  state.popup[PopupType.Detail] = param;
                  state.popup[PopupType.Form] = null;
                  if (!isOpenedInSeeMorePopup) {
                    state.popup[PopupType.SeeMore] = null;
                  }
                }));
              },
              hideSeeMorePopup: function hideSeeMorePopup() {
                return set((0, immer_esm.ZP)(function(state) {
                  state.popup[PopupType.SeeMore] = null;
                }));
              },
              hideFormPopup: function hideFormPopup() {
                return set((0, immer_esm.ZP)(function(state) {
                  state.popup[PopupType.Form] = null;
                }));
              },
              hideDetailPopup: function hideDetailPopup() {
                return set((0, immer_esm.ZP)(function(state) {
                  state.popup[PopupType.Detail] = null;
                }));
              },
              hideAllPopup: function hideAllPopup() {
                return set((0, immer_esm.ZP)(function(state) {
                  state.popup[PopupType.SeeMore] = null;
                  state.popup[PopupType.Form] = null;
                  state.popup[PopupType.Detail] = null;
                }));
              }
            };
          }
          var noop = function noop2() {
          };
          var CSS_AUTO_REGEX = /^auto$|^$|%/;
          function getStyle(el, style) {
            var value = el.style[style];
            if ((!value || value === "auto") && document.defaultView) {
              var css = document.defaultView.getComputedStyle(el, null);
              value = css ? css[style] : null;
            }
            return value === "auto" ? null : value;
          }
          function invalidateSizeValue(value) {
            if (isString_default()(value)) {
              return CSS_AUTO_REGEX.test(value);
            }
            return value === null;
          }
          function getSize(el) {
            var w2 = getStyle(el, "width");
            var h2 = getStyle(el, "height");
            if ((invalidateSizeValue(w2) || invalidateSizeValue(h2)) && el.getBoundingClientRect) {
              var _el$getBoundingClient2 = el.getBoundingClientRect(), width = _el$getBoundingClient2.width, height = _el$getBoundingClient2.height;
              return {
                width: width || el.offsetWidth,
                height: height || el.offsetHeight
              };
            }
            return {
              width: parseFloat(w2 !== null && w2 !== void 0 ? w2 : "0"),
              height: parseFloat(h2 !== null && h2 !== void 0 ? h2 : "0")
            };
          }
          var ElementClass = typeof Element === "undefined" ? noop : Element;
          var elProto = ElementClass.prototype;
          elProto.matches || elProto.webkitMatchesSelector || elProto.msMatchesSelector || function(selector) {
            return Array.from(document.querySelectorAll(selector)).includes(this);
          };
          function stripTags(str) {
            return str.replace(/<([^>]+)>/gi, "");
          }
          var SIXTY_MINUTES = 60;
          var templates = {
            milestone: function milestone(model) {
              var classNames2 = cls("icon", "ic-milestone");
              return h(p, null, h("span", {
                className: classNames2
              }), h("span", {
                style: {
                  backgroundColor: model.backgroundColor
                }
              }, stripTags(model.title)));
            },
            milestoneTitle: function milestoneTitle() {
              return h("span", {
                className: cls("left-content")
              }, "Milestone");
            },
            task: function task(model) {
              return "#".concat(model.title);
            },
            taskTitle: function taskTitle() {
              return h("span", {
                className: cls("left-content")
              }, "Task");
            },
            alldayTitle: function alldayTitle() {
              return h("span", {
                className: cls("left-content")
              }, "All Day");
            },
            allday: function allday(model) {
              return stripTags(model.title);
            },
            time: function time(model) {
              var start = model.start, title = model.title;
              if (start) {
                return h("span", null, h("strong", null, datetime_toFormat(start, "HH:mm")), "\xA0", h("span", null, stripTags(title)));
              }
              return stripTags(title);
            },
            goingDuration: function goingDuration(model) {
              var goingDuration2 = model.goingDuration;
              var hour = Math.floor(goingDuration2 / SIXTY_MINUTES);
              var minutes = goingDuration2 % SIXTY_MINUTES;
              return "GoingTime ".concat(leadingZero(hour, 2), ":").concat(leadingZero(minutes, 2));
            },
            comingDuration: function comingDuration(model) {
              var comingDuration2 = model.comingDuration;
              var hour = Math.floor(comingDuration2 / SIXTY_MINUTES);
              var minutes = comingDuration2 % SIXTY_MINUTES;
              return "ComingTime ".concat(leadingZero(hour, 2), ":").concat(leadingZero(minutes, 2));
            },
            monthMoreTitleDate: function monthMoreTitleDate(moreTitle) {
              var date2 = moreTitle.date, day = moreTitle.day;
              var classNameDay = cls("more-title-date");
              var classNameDayLabel = cls("more-title-day");
              var dayName = capitalize(getDayName(day));
              return h(p, null, h("span", {
                className: classNameDay
              }, date2), h("span", {
                className: classNameDayLabel
              }, dayName));
            },
            monthMoreClose: function monthMoreClose() {
              return "";
            },
            monthGridHeader: function monthGridHeader(model) {
              var date2 = parseInt(model.date.split("-")[2], 10);
              var classNames2 = cls("weekday-grid-date", {
                "weekday-grid-date-decorator": model.isToday
              });
              return h("span", {
                className: classNames2
              }, date2);
            },
            monthGridHeaderExceed: function monthGridHeaderExceed(hiddenEvents) {
              var className2 = cls("weekday-grid-more-events");
              return h("span", {
                className: className2
              }, hiddenEvents, " more");
            },
            monthGridFooter: function monthGridFooter(_model) {
              return "";
            },
            monthGridFooterExceed: function monthGridFooterExceed(_hiddenEvents) {
              return "";
            },
            monthDayName: function monthDayName(model) {
              return model.label;
            },
            weekDayName: function weekDayName(model) {
              var classDate = cls("day-name__date");
              var className2 = cls("day-name__name");
              return h(p, null, h("span", {
                className: classDate
              }, model.date), "\xA0\xA0", h("span", {
                className: className2
              }, model.dayName));
            },
            weekGridFooterExceed: function weekGridFooterExceed(hiddenEvents) {
              return "+".concat(hiddenEvents);
            },
            collapseBtnTitle: function collapseBtnTitle() {
              var className2 = cls("collapse-btn-icon");
              return h("span", {
                className: className2
              });
            },
            timezoneDisplayLabel: function timezoneDisplayLabel(_ref) {
              var displayLabel = _ref.displayLabel, timezoneOffset = _ref.timezoneOffset;
              if (type_isNil(displayLabel) && isPresent(timezoneOffset)) {
                var sign = timezoneOffset < 0 ? "-" : "+";
                var hours = Math.abs(timezoneOffset / SIXTY_MINUTES);
                var minutes = Math.abs(timezoneOffset % SIXTY_MINUTES);
                return "GMT".concat(sign).concat(leadingZero(hours, 2), ":").concat(leadingZero(minutes, 2));
              }
              return displayLabel;
            },
            timegridDisplayPrimaryTime: function timegridDisplayPrimaryTime(props) {
              var time = props.time;
              return datetime_toFormat(time, "hh tt");
            },
            timegridDisplayTime: function timegridDisplayTime(props) {
              var time = props.time;
              return datetime_toFormat(time, "HH:mm");
            },
            timegridNowIndicatorLabel: function timegridNowIndicatorLabel(timezone) {
              var time = timezone.time, _timezone$format = timezone.format, format = _timezone$format === void 0 ? "HH:mm" : _timezone$format;
              return datetime_toFormat(time, format);
            },
            popupIsAllday: function popupIsAllday() {
              return "All day";
            },
            popupStateFree: function popupStateFree() {
              return "Free";
            },
            popupStateBusy: function popupStateBusy() {
              return "Busy";
            },
            titlePlaceholder: function titlePlaceholder() {
              return "Subject";
            },
            locationPlaceholder: function locationPlaceholder() {
              return "Location";
            },
            startDatePlaceholder: function startDatePlaceholder() {
              return "Start date";
            },
            endDatePlaceholder: function endDatePlaceholder() {
              return "End date";
            },
            popupSave: function popupSave() {
              return "Save";
            },
            popupUpdate: function popupUpdate() {
              return "Update";
            },
            popupEdit: function popupEdit() {
              return "Edit";
            },
            popupDelete: function popupDelete() {
              return "Delete";
            },
            popupDetailTitle: function popupDetailTitle(_ref2) {
              var title = _ref2.title;
              return title;
            },
            popupDetailDate: function popupDetailDate(_ref3) {
              var isAllday2 = _ref3.isAllday, start = _ref3.start, end = _ref3.end;
              var dayFormat = "YYYY.MM.DD";
              var timeFormat = "hh:mm tt";
              var detailFormat = "".concat(dayFormat, " ").concat(timeFormat);
              var startDate = datetime_toFormat(start, isAllday2 ? dayFormat : timeFormat);
              var endDateFormat = isSameDate(start, end) ? timeFormat : detailFormat;
              if (isAllday2) {
                return "".concat(startDate).concat(isSameDate(start, end) ? "" : " - ".concat(datetime_toFormat(end, dayFormat)));
              }
              return "".concat(datetime_toFormat(start, detailFormat), " - ").concat(datetime_toFormat(end, endDateFormat));
            },
            popupDetailLocation: function popupDetailLocation(_ref4) {
              var location2 = _ref4.location;
              return location2;
            },
            popupDetailAttendees: function popupDetailAttendees(_ref5) {
              var _ref5$attendees = _ref5.attendees, attendees = _ref5$attendees === void 0 ? [] : _ref5$attendees;
              return attendees.join(", ");
            },
            popupDetailState: function popupDetailState(_ref6) {
              var state = _ref6.state;
              return state || "Busy";
            },
            popupDetailRecurrenceRule: function popupDetailRecurrenceRule(_ref7) {
              var recurrenceRule = _ref7.recurrenceRule;
              return recurrenceRule;
            },
            popupDetailBody: function popupDetailBody(_ref8) {
              var body = _ref8.body;
              return body;
            }
          };
          function template_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function template_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? template_ownKeys(Object(source), true).forEach(function(key) {
                template_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : template_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function template_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function createTemplateSlice() {
            var templateConfig = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
            return {
              template: template_objectSpread(template_objectSpread({}, templates), templateConfig)
            };
          }
          function createTemplateDispatchers(set) {
            return {
              setTemplate: function setTemplate(template) {
                return set((0, immer_esm.ZP)(function(state) {
                  state.template = template_objectSpread(template_objectSpread({}, state.template), template);
                }));
              }
            };
          }
          function createViewSlice() {
            var initialView = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "week";
            var renderDate = new date_TZDate();
            renderDate.setHours(0, 0, 0, 0);
            return {
              view: {
                currentView: initialView,
                renderDate
              }
            };
          }
          function createViewDispatchers(set) {
            return {
              changeView: function changeView(nextView) {
                return set((0, immer_esm.ZP)(function(state) {
                  state.view.currentView = nextView;
                }));
              },
              setRenderDate: function setRenderDate(date2) {
                return set((0, immer_esm.ZP)(function(state) {
                  state.view.renderDate = toStartOfDay(date2);
                }));
              }
            };
          }
          __webpack_require__(9170);
          function store_slicedToArray(arr, i) {
            return store_arrayWithHoles(arr) || store_iterableToArrayLimit(arr, i) || store_unsupportedIterableToArray(arr, i) || store_nonIterableRest();
          }
          function store_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function store_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return store_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return store_arrayLikeToArray(o2, minLen);
          }
          function store_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 store_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function store_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var isSSR = isUndefined_default()(window) || !window.navigator;
          var useIsomorphicLayoutEffect = isSSR ? hooks_module_ : hooks_module_h;
          function createStoreContext() {
            var StoreContext = B(null);
            function StoreProvider2(_ref) {
              var children = _ref.children, store = _ref.store;
              return h(StoreContext.Provider, {
                value: store,
                children
              });
            }
            var useStore2 = function useStore3(selector) {
              var equalityFn = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Object.is;
              var storeCtx = hooks_module_q(StoreContext);
              if (type_isNil(storeCtx)) {
                throw new Error("StoreProvider is not found");
              }
              var _ref2 = hooks_module_d(function(notifyCount) {
                return notifyCount + 1;
              }, 0), _ref3 = store_slicedToArray(_ref2, 2), notify = _ref3[1];
              var state = storeCtx.getState();
              var stateRef = hooks_module_s(state);
              var selectorRef = hooks_module_s(selector);
              var equalityFnRef = hooks_module_s(equalityFn);
              var hasErrorRef = hooks_module_s(false);
              var currentSliceRef = hooks_module_s();
              if (isUndefined_default()(currentSliceRef.current)) {
                currentSliceRef.current = selector(state);
              }
              var newStateSlice;
              var hasNewStateSlice = false;
              var shouldGetNewSlice = stateRef.current !== state || selectorRef.current !== selector || equalityFnRef.current !== equalityFn || hasErrorRef.current;
              if (shouldGetNewSlice) {
                newStateSlice = selector(state);
                hasNewStateSlice = !equalityFn(currentSliceRef.current, newStateSlice);
              }
              useIsomorphicLayoutEffect(function() {
                if (hasNewStateSlice) {
                  currentSliceRef.current = newStateSlice;
                }
                stateRef.current = state;
                selectorRef.current = selector;
                equalityFnRef.current = equalityFn;
                hasErrorRef.current = false;
              });
              var stateBeforeSubscriptionRef = hooks_module_s(state);
              useIsomorphicLayoutEffect(function() {
                var listener = function listener2() {
                  try {
                    var nextState = storeCtx.getState();
                    var nextStateSlice = selectorRef.current(nextState);
                    var shouldUpdateState = !equalityFnRef.current(currentSliceRef.current, nextStateSlice);
                    if (shouldUpdateState) {
                      stateRef.current = nextState;
                      currentSliceRef.current = newStateSlice;
                      notify();
                    }
                  } catch (e2) {
                    console.error("[toastui-calendar] failed to update state", e2 === null || e2 === void 0 ? void 0 : e2.message);
                    hasErrorRef.current = true;
                    notify();
                  }
                };
                var unsubscribe = storeCtx.subscribe(listener);
                if (storeCtx.getState() !== stateBeforeSubscriptionRef.current) {
                  listener();
                }
                return unsubscribe;
              }, []);
              return hasNewStateSlice ? newStateSlice : currentSliceRef.current;
            };
            var useInternalStore2 = function useInternalStore3() {
              var storeCtx = hooks_module_q(StoreContext);
              if (type_isNil(storeCtx)) {
                throw new Error("StoreProvider is not found");
              }
              return F(function() {
                return storeCtx;
              }, [storeCtx]);
            };
            return {
              StoreProvider: StoreProvider2,
              useStore: useStore2,
              useInternalStore: useInternalStore2
            };
          }
          __webpack_require__(3244);
          function internal_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function internal_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? internal_ownKeys(Object(source), true).forEach(function(key) {
                internal_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : internal_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function internal_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function createStore(storeCreator2) {
            var state;
            var listeners = /* @__PURE__ */ new Set();
            var setState = function setState2(partialStateCreator) {
              var nextState = partialStateCreator(state);
              if (nextState !== state) {
                var previousState = state;
                state = internal_objectSpread(internal_objectSpread({}, state), nextState);
                listeners.forEach(function(listener) {
                  return listener(state, previousState);
                });
              }
            };
            var getState = function getState2() {
              return state;
            };
            var subscribe = function subscribe2(listener, selector, equalityFn) {
              var _listener = listener;
              if (selector) {
                var currentSlice = selector(state);
                var _equalityFn = equalityFn !== null && equalityFn !== void 0 ? equalityFn : Object.is;
                _listener = function _listener2() {
                  var nextSlice = selector(state);
                  if (!_equalityFn(currentSlice, nextSlice)) {
                    var previousSlice = currentSlice;
                    currentSlice = nextSlice;
                    listener(currentSlice, previousSlice);
                  }
                };
              }
              listeners.add(_listener);
              return function() {
                return listeners.delete(_listener);
              };
            };
            var clearListeners = function clearListeners2() {
              return listeners.clear();
            };
            var internal = {
              setState,
              getState,
              subscribe,
              clearListeners
            };
            state = storeCreator2(setState, getState, internal);
            return internal;
          }
          function calendarStore_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function calendarStore_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? calendarStore_ownKeys(Object(source), true).forEach(function(key) {
                calendarStore_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : calendarStore_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function calendarStore_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          var storeCreator = function storeCreator2(options) {
            return function(set) {
              return calendarStore_objectSpread(calendarStore_objectSpread(calendarStore_objectSpread(calendarStore_objectSpread(calendarStore_objectSpread(calendarStore_objectSpread(calendarStore_objectSpread(calendarStore_objectSpread(calendarStore_objectSpread({}, createOptionsSlice(options)), createTemplateSlice(options.template)), createPopupSlice()), createWeekViewLayoutSlice()), createCalendarSlice(options.calendars)), createViewSlice(options.defaultView)), createDndSlice()), createGridSelectionSlice()), {}, {
                dispatch: {
                  options: createOptionsDispatchers(set),
                  popup: createPopupDispatchers(set),
                  weekViewLayout: createWeekViewLayoutDispatchers(set),
                  calendar: createCalendarDispatchers(set),
                  view: createViewDispatchers(set),
                  dnd: createDndDispatchers(set),
                  gridSelection: createGridSelectionDispatchers(set),
                  template: createTemplateDispatchers(set)
                }
              });
            };
          };
          var initCalendarStore = function initCalendarStore2() {
            var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
            return createStore(storeCreator(options));
          };
          var _createStoreContext = createStoreContext(), StoreProvider = _createStoreContext.StoreProvider, useStore = _createStoreContext.useStore, useInternalStore = _createStoreContext.useInternalStore;
          function useDispatch(group) {
            return useStore(hooks_module_T(function(state) {
              if (!group) {
                return state.dispatch;
              }
              return state.dispatch[group];
            }, [group]));
          }
          function topLevelStateSelector(group) {
            return function(state) {
              return state[group];
            };
          }
          var calendarSelector = topLevelStateSelector("calendar");
          var weekViewLayoutSelector = topLevelStateSelector("weekViewLayout");
          var templateSelector = topLevelStateSelector("template");
          var viewSelector = topLevelStateSelector("view");
          var optionsSelector = topLevelStateSelector("options");
          var dndSelector = topLevelStateSelector("dnd");
          var browser = __webpack_require__(4304);
          var browser_default = /* @__PURE__ */ __webpack_require__.n(browser);
          var TEMP_TARGET_ATTRIBUTE = "data-target-temp";
          function addAttributeHooks() {
            browser_default().addHook("beforeSanitizeAttributes", function(node) {
              if (node.tagName === "A") {
                var targetValue = node.getAttribute("target");
                if (targetValue) {
                  node.setAttribute(TEMP_TARGET_ATTRIBUTE, targetValue);
                } else {
                  node.setAttribute("target", "_self");
                }
              }
            });
            browser_default().addHook("afterSanitizeAttributes", function(node) {
              if (node.tagName === "A" && node.hasAttribute(TEMP_TARGET_ATTRIBUTE)) {
                node.setAttribute("target", node.getAttribute(TEMP_TARGET_ATTRIBUTE));
                node.removeAttribute(TEMP_TARGET_ATTRIBUTE);
                if (node.getAttribute("target") === "_blank") {
                  node.setAttribute("rel", "noopener");
                }
              }
            });
          }
          function removeAttributeHooks() {
            browser_default().removeAllHooks();
          }
          function sanitize(str) {
            return browser_default().sanitize(str);
          }
          function Template(_ref) {
            var _htmlOrVnode$props$cl;
            var template = _ref.template, param = _ref.param, _ref$as = _ref.as, tagName = _ref$as === void 0 ? "div" : _ref$as;
            var templates2 = useStore(templateSelector);
            var templateFunc = templates2[template];
            if (type_isNil(templateFunc)) {
              return null;
            }
            var htmlOrVnode = templateFunc(param);
            return isString_default()(htmlOrVnode) ? h(tagName, {
              className: cls("template-".concat(template)),
              dangerouslySetInnerHTML: {
                __html: sanitize(htmlOrVnode)
              }
            }) : q(htmlOrVnode, {
              className: "".concat((_htmlOrVnode$props$cl = htmlOrVnode.props.className) !== null && _htmlOrVnode$props$cl !== void 0 ? _htmlOrVnode$props$cl : "", " ").concat(cls("template-".concat(template)))
            });
          }
          var EventBusContext = B(null);
          var EventBusProvider = EventBusContext.Provider;
          var useEventBus = function useEventBus2() {
            var eventBus = hooks_module_q(EventBusContext);
            if (!eventBus) {
              throw new Error("useEventBus must be used within a EventBusProvider");
            }
            return eventBus;
          };
          var primaryTimezoneSelector = function primaryTimezoneSelector2(state) {
            var _state$options$timezo, _state$options, _state$options$timezo2, _state$options$timezo3, _state$options$timezo4;
            return (_state$options$timezo = (_state$options = state.options) === null || _state$options === void 0 ? void 0 : (_state$options$timezo2 = _state$options.timezone) === null || _state$options$timezo2 === void 0 ? void 0 : (_state$options$timezo3 = _state$options$timezo2.zones) === null || _state$options$timezo3 === void 0 ? void 0 : (_state$options$timezo4 = _state$options$timezo3[0]) === null || _state$options$timezo4 === void 0 ? void 0 : _state$options$timezo4.timezoneName) !== null && _state$options$timezo !== void 0 ? _state$options$timezo : "Local";
          };
          var customOffsetCalculatorSelector = function customOffsetCalculatorSelector2(state) {
            var _state$options2, _state$options2$timez;
            return (_state$options2 = state.options) === null || _state$options2 === void 0 ? void 0 : (_state$options2$timez = _state$options2.timezone) === null || _state$options2$timez === void 0 ? void 0 : _state$options2$timez.customOffsetCalculator;
          };
          var timezonesSelector = function timezonesSelector2(state) {
            var _state$options$timezo5;
            return (_state$options$timezo5 = state.options.timezone.zones) !== null && _state$options$timezo5 !== void 0 ? _state$options$timezo5 : [];
          };
          function useTZConverter() {
            var customOffsetCalculator = useStore(customOffsetCalculatorSelector);
            var hasCustomOffsetCalculator = isPresent(customOffsetCalculator);
            return hooks_module_T(function(timezoneName) {
              var tzDate = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : new date_TZDate();
              return tzDate.tz(hasCustomOffsetCalculator ? customOffsetCalculator(timezoneName, tzDate.getTime()) : timezoneName);
            }, [customOffsetCalculator, hasCustomOffsetCalculator]);
          }
          function usePrimaryTimezone() {
            var primaryTimezoneName = useStore(primaryTimezoneSelector);
            var tzConverter = useTZConverter();
            var getNow = hooks_module_T(function() {
              return tzConverter(primaryTimezoneName);
            }, [primaryTimezoneName, tzConverter]);
            return [primaryTimezoneName, getNow];
          }
          function dayName_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function dayName_slicedToArray(arr, i) {
            return dayName_arrayWithHoles(arr) || dayName_iterableToArrayLimit(arr, i) || dayName_unsupportedIterableToArray(arr, i) || dayName_nonIterableRest();
          }
          function dayName_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function dayName_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return dayName_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return dayName_arrayLikeToArray(o2, minLen);
          }
          function dayName_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 dayName_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function dayName_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function isWeekDayName(type, dayName) {
            return type === "week";
          }
          function getWeekDayNameColor(_ref) {
            var dayName = _ref.dayName, theme = _ref.theme, today = _ref.today;
            var day = dayName.day, dateInstance = dayName.dateInstance;
            var isToday = isSameDate(today, dateInstance);
            var isPastDay = !isToday && dateInstance < today;
            if (isSunday(day)) {
              return theme.common.holiday.color;
            }
            if (isPastDay) {
              var _theme$week;
              return (_theme$week = theme.week) === null || _theme$week === void 0 ? void 0 : _theme$week.pastDay.color;
            }
            if (isSaturday(day)) {
              return theme.common.saturday.color;
            }
            if (isToday) {
              var _theme$week2;
              return (_theme$week2 = theme.week) === null || _theme$week2 === void 0 ? void 0 : _theme$week2.today.color;
            }
            return theme.common.dayName.color;
          }
          function getMonthDayNameColor(_ref2) {
            var dayName = _ref2.dayName, theme = _ref2.theme;
            var day = dayName.day;
            if (isSunday(day)) {
              return theme.common.holiday.color;
            }
            if (isSaturday(day)) {
              return theme.common.saturday.color;
            }
            return theme.common.dayName.color;
          }
          function DayName(_ref3) {
            var dayName = _ref3.dayName, style = _ref3.style, type = _ref3.type, theme = _ref3.theme;
            var eventBus = useEventBus();
            var _usePrimaryTimezone = usePrimaryTimezone(), _usePrimaryTimezone2 = dayName_slicedToArray(_usePrimaryTimezone, 2), getNow = _usePrimaryTimezone2[1];
            var today = getNow();
            var day = dayName.day;
            var color = type === "week" ? getWeekDayNameColor({
              dayName,
              theme,
              today
            }) : getMonthDayNameColor({
              dayName,
              theme
            });
            var templateType = "".concat(type, "DayName");
            var handleClick = function handleClick2() {
              if (isWeekDayName(type)) {
                eventBus.fire("clickDayName", {
                  date: datetime_toFormat(dayName.dateInstance, "YYYY-MM-DD")
                });
              }
            };
            return h("div", {
              className: cls("day-name-item", type),
              style
            }, h("span", {
              className: cls(dayName_defineProperty({}, "holiday-".concat(getDayName(day)), isWeekend(day))),
              style: {
                color
              },
              onClick: handleClick,
              "data-testid": "dayName-".concat(type, "-").concat(getDayName(day))
            }, h(Template, {
              template: templateType,
              param: dayName
            })));
          }
          var commonThemeSelector = topLevelStateSelector("common");
          var monthThemeSelector = topLevelStateSelector("month");
          var weekDayGridLeftSelector = function weekDayGridLeftSelector2(theme) {
            return theme.week.dayGridLeft;
          };
          var weekTimeGridLeftSelector = function weekTimeGridLeftSelector2(theme) {
            return theme.week.timeGridLeft;
          };
          var monthMoreViewSelector = function monthMoreViewSelector2(theme) {
            return theme.month.moreView;
          };
          var monthGridCellSelector = function monthGridCellSelector2(theme) {
            return theme.month.gridCell;
          };
          var DEFAULT_COMMON_THEME = {
            border: "1px solid #e5e5e5",
            backgroundColor: "white",
            holiday: {
              color: "#ff4040"
            },
            saturday: {
              color: "#333"
            },
            dayName: {
              color: "#333"
            },
            today: {
              color: "#fff"
            },
            gridSelection: {
              backgroundColor: "rgba(81, 92, 230, 0.05)",
              border: "1px solid #515ce6"
            }
          };
          var DEFAULT_WEEK_THEME = {
            dayName: {
              borderLeft: "none",
              borderTop: "1px solid #e5e5e5",
              borderBottom: "1px solid #e5e5e5",
              backgroundColor: "inherit"
            },
            weekend: {
              backgroundColor: "inherit"
            },
            today: {
              color: "inherit",
              backgroundColor: "rgba(81, 92, 230, 0.05)"
            },
            pastDay: {
              color: "#bbb"
            },
            panelResizer: {
              border: "1px solid #e5e5e5"
            },
            dayGrid: {
              borderRight: "1px solid #e5e5e5",
              backgroundColor: "inherit"
            },
            dayGridLeft: {
              borderRight: "1px solid #e5e5e5",
              backgroundColor: "inherit",
              width: "72px"
            },
            timeGrid: {
              borderRight: "1px solid #e5e5e5"
            },
            timeGridLeft: {
              backgroundColor: "inherit",
              borderRight: "1px solid #e5e5e5",
              width: "72px"
            },
            timeGridLeftAdditionalTimezone: {
              backgroundColor: "white"
            },
            timeGridHalfHourLine: {
              borderBottom: "none"
            },
            timeGridHourLine: {
              borderBottom: "1px solid #e5e5e5"
            },
            nowIndicatorLabel: {
              color: "#515ce6"
            },
            nowIndicatorPast: {
              border: "1px dashed #515ce6"
            },
            nowIndicatorBullet: {
              backgroundColor: "#515ce6"
            },
            nowIndicatorToday: {
              border: "1px solid #515ce6"
            },
            nowIndicatorFuture: {
              border: "none"
            },
            pastTime: {
              color: "#bbb"
            },
            futureTime: {
              color: "#333"
            },
            gridSelection: {
              color: "#515ce6"
            }
          };
          var DEFAULT_MONTH_THEME = {
            dayName: {
              borderLeft: "none",
              backgroundColor: "inherit"
            },
            holidayExceptThisMonth: {
              color: "rgba(255, 64, 64, 0.4)"
            },
            dayExceptThisMonth: {
              color: "rgba(51, 51, 51, 0.4)"
            },
            weekend: {
              backgroundColor: "inherit"
            },
            moreView: {
              border: "1px solid #d5d5d5",
              boxShadow: "0 2px 6px 0 rgba(0, 0, 0, 0.1)",
              backgroundColor: "white",
              width: null,
              height: null
            },
            gridCell: {
              headerHeight: 31,
              footerHeight: null
            },
            moreViewTitle: {
              backgroundColor: "inherit"
            }
          };
          function createCommonTheme() {
            var commonTheme = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
            return {
              common: mergeObject(DEFAULT_COMMON_THEME, commonTheme)
            };
          }
          function createThemeDispatch(set) {
            return {
              setTheme: function setTheme(theme) {
                set((0, immer_esm.ZP)(function(state) {
                  state.common = mergeObject(state.common, theme.common);
                  state.week = mergeObject(state.week, theme.week);
                  state.month = mergeObject(state.month, theme.month);
                }));
              },
              setCommonTheme: function setCommonTheme(commonTheme) {
                set((0, immer_esm.ZP)(function(state) {
                  state.common = mergeObject(state.common, commonTheme);
                }));
              },
              setWeekTheme: function setWeekTheme(weekTheme) {
                set((0, immer_esm.ZP)(function(state) {
                  state.week = mergeObject(state.week, weekTheme);
                }));
              },
              setMonthTheme: function setMonthTheme(monthTheme) {
                set((0, immer_esm.ZP)(function(state) {
                  state.month = mergeObject(state.month, monthTheme);
                }));
              }
            };
          }
          function createMonthTheme() {
            var monthTheme = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
            return {
              month: mergeObject(DEFAULT_MONTH_THEME, monthTheme)
            };
          }
          function createWeekTheme() {
            var weekTheme = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
            return {
              week: mergeObject(DEFAULT_WEEK_THEME, weekTheme)
            };
          }
          function themeStore_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function themeStore_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? themeStore_ownKeys(Object(source), true).forEach(function(key) {
                themeStore_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : themeStore_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function themeStore_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          var themeStoreCreator = function themeStoreCreator2() {
            var themeOptions = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
            return function(set) {
              return themeStore_objectSpread(themeStore_objectSpread(themeStore_objectSpread(themeStore_objectSpread({}, createCommonTheme(themeOptions === null || themeOptions === void 0 ? void 0 : themeOptions.common)), createWeekTheme(themeOptions === null || themeOptions === void 0 ? void 0 : themeOptions.week)), createMonthTheme(themeOptions === null || themeOptions === void 0 ? void 0 : themeOptions.month)), {}, {
                dispatch: themeStore_objectSpread({}, createThemeDispatch(set))
              });
            };
          };
          var initThemeStore = function initThemeStore2() {
            var themeOptions = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
            return createStore(themeStoreCreator(themeOptions));
          };
          var themeStore_createStoreContext = createStoreContext(), ThemeProvider = themeStore_createStoreContext.StoreProvider, useTheme = themeStore_createStoreContext.useStore;
          function useCommonTheme() {
            return useTheme(commonThemeSelector);
          }
          function useMonthTheme() {
            return useTheme(monthThemeSelector);
          }
          var _excluded = ["backgroundColor", "borderLeft"];
          function _objectWithoutProperties(source, excluded) {
            if (source == null)
              return {};
            var target = _objectWithoutPropertiesLoose(source, excluded);
            var key, i;
            if (Object.getOwnPropertySymbols) {
              var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
              for (i = 0; i < sourceSymbolKeys.length; i++) {
                key = sourceSymbolKeys[i];
                if (excluded.indexOf(key) >= 0)
                  continue;
                if (!Object.prototype.propertyIsEnumerable.call(source, key))
                  continue;
                target[key] = source[key];
              }
            }
            return target;
          }
          function _objectWithoutPropertiesLoose(source, excluded) {
            if (source == null)
              return {};
            var target = {};
            var sourceKeys = Object.keys(source);
            var key, i;
            for (i = 0; i < sourceKeys.length; i++) {
              key = sourceKeys[i];
              if (excluded.indexOf(key) >= 0)
                continue;
              target[key] = source[key];
            }
            return target;
          }
          function weekDayNameSelector(theme) {
            return {
              common: {
                saturday: theme.common.saturday,
                holiday: theme.common.holiday,
                today: theme.common.today,
                dayName: theme.common.dayName
              },
              week: {
                pastDay: theme.week.pastDay,
                today: theme.week.today,
                dayName: theme.week.dayName
              }
            };
          }
          function monthDayNameSelector(theme) {
            return {
              common: {
                saturday: theme.common.saturday,
                holiday: theme.common.holiday,
                today: theme.common.today,
                dayName: theme.common.dayName
              },
              month: {
                dayName: theme.month.dayName
              }
            };
          }
          function GridHeader(_ref) {
            var _theme$type$dayName, _theme$type;
            var dayNames = _ref.dayNames, _ref$marginLeft = _ref.marginLeft, marginLeft = _ref$marginLeft === void 0 ? DEFAULT_DAY_NAME_MARGIN_LEFT : _ref$marginLeft, rowStyleInfo = _ref.rowStyleInfo, _ref$type = _ref.type, type = _ref$type === void 0 ? "month" : _ref$type;
            var theme = useTheme(type === "month" ? monthDayNameSelector : weekDayNameSelector);
            var _ref2 = (_theme$type$dayName = (_theme$type = theme[type]) === null || _theme$type === void 0 ? void 0 : _theme$type.dayName) !== null && _theme$type$dayName !== void 0 ? _theme$type$dayName : {}, _ref2$backgroundColor = _ref2.backgroundColor, backgroundColor = _ref2$backgroundColor === void 0 ? "white" : _ref2$backgroundColor, _ref2$borderLeft = _ref2.borderLeft, borderLeft = _ref2$borderLeft === void 0 ? null : _ref2$borderLeft, rest = _objectWithoutProperties(_ref2, _excluded);
            var _ref3 = rest, _ref3$borderTop = _ref3.borderTop, borderTop = _ref3$borderTop === void 0 ? null : _ref3$borderTop, _ref3$borderBottom = _ref3.borderBottom, borderBottom = _ref3$borderBottom === void 0 ? null : _ref3$borderBottom;
            return h("div", {
              "data-testid": "grid-header-".concat(type),
              className: cls("day-names", type),
              style: {
                backgroundColor,
                borderTop,
                borderBottom
              }
            }, h("div", {
              className: cls("day-name-container"),
              style: {
                marginLeft
              }
            }, dayNames.map(function(dayName, index) {
              return h(DayName, {
                type,
                key: "dayNames-".concat(dayName.day),
                dayName,
                style: {
                  width: toPercent(rowStyleInfo[index].width),
                  left: toPercent(rowStyleInfo[index].left),
                  borderLeft
                },
                theme
              });
            })));
          }
          __webpack_require__(9949);
          __webpack_require__(4870);
          __webpack_require__(3985);
          __webpack_require__(5734);
          var DEFAULT_VISIBLE_WEEKS = 6;
          var CellBarType;
          (function(CellBarType2) {
            CellBarType2["header"] = "header";
            CellBarType2["footer"] = "footer";
          })(CellBarType || (CellBarType = {}));
          function getCollisionGroup(events) {
            var usingTravelTime = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
            var collisionGroups = [];
            var previousEventList;
            if (!events.length) {
              return collisionGroups;
            }
            collisionGroups[0] = [events[0].cid()];
            events.slice(1).forEach(function(event, index) {
              previousEventList = events.slice(0, index + 1).reverse();
              var found = previousEventList.find(function(previous) {
                return event.collidesWith(previous, usingTravelTime);
              });
              if (!found) {
                collisionGroups.push([event.cid()]);
              } else {
                collisionGroups.slice().reverse().some(function(group) {
                  if (~group.indexOf(found.cid())) {
                    group.push(event.cid());
                    return true;
                  }
                  return false;
                });
              }
            });
            return collisionGroups;
          }
          function getLastRowInColumn(matrix, col) {
            var row = matrix.length;
            while (row > 0) {
              row -= 1;
              if (!isUndefined_default()(matrix[row][col])) {
                return row;
              }
            }
            return -1;
          }
          function getMatrices(collection, collisionGroups) {
            var usingTravelTime = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
            var result = [];
            collisionGroups.forEach(function(group) {
              var matrix = [[]];
              group.forEach(function(eventID) {
                var event = collection.get(eventID);
                var col = 0;
                var found = false;
                var nextRow;
                var lastRowInColumn;
                while (!found) {
                  lastRowInColumn = getLastRowInColumn(matrix, col);
                  if (lastRowInColumn === -1) {
                    matrix[0].push(event);
                    found = true;
                  } else if (!event.collidesWith(matrix[lastRowInColumn][col], usingTravelTime)) {
                    nextRow = lastRowInColumn + 1;
                    if (isUndefined_default()(matrix[nextRow])) {
                      matrix[nextRow] = [];
                    }
                    matrix[nextRow][col] = event;
                    found = true;
                  }
                  col += 1;
                }
              });
              result.push(matrix);
            });
            return result;
          }
          function getEventInDateRangeFilter(start, end) {
            return function(model) {
              var ownStarts = model.getStarts();
              var ownEnds = model.getEnds();
              return !(ownEnds < start || ownStarts > end);
            };
          }
          function positionUIModels(start, end, matrices, iteratee) {
            var ymdListToRender = makeDateRange(start, end, MS_PER_DAY).map(function(date2) {
              return datetime_toFormat(date2, "YYYYMMDD");
            });
            matrices.forEach(function(matrix) {
              matrix.forEach(function(column) {
                column.forEach(function(uiModel, index) {
                  if (!uiModel) {
                    return;
                  }
                  var ymd = datetime_toFormat(uiModel.getStarts(), "YYYYMMDD");
                  var dateLength = makeDateRange(toStartOfDay(uiModel.getStarts()), toEndOfDay(uiModel.getEnds()), MS_PER_DAY).length;
                  uiModel.top = index;
                  uiModel.left = ymdListToRender.indexOf(ymd);
                  uiModel.width = dateLength;
                  iteratee === null || iteratee === void 0 ? void 0 : iteratee(uiModel);
                });
              });
            });
          }
          function limit(start, end, uiModel) {
            if (uiModel.getStarts() < start) {
              uiModel.exceedLeft = true;
              uiModel.renderStarts = new date_TZDate(start);
            }
            if (uiModel.getEnds() > end) {
              uiModel.exceedRight = true;
              uiModel.renderEnds = new date_TZDate(end);
            }
            return uiModel;
          }
          function limitRenderRange(start, end, uiModelColl) {
            if (uiModelColl instanceof Collection) {
              uiModelColl.each(function(uiModel) {
                limit(start, end, uiModel);
                return true;
              });
              return null;
            }
            return limit(start, end, uiModelColl);
          }
          function convertToUIModel(eventCollection) {
            var uiModelColl = new Collection(function(uiModel) {
              return uiModel.cid();
            });
            eventCollection.each(function(event) {
              uiModelColl.add(new EventUIModel(event));
            });
            return uiModelColl;
          }
          function month_toConsumableArray(arr) {
            return month_arrayWithoutHoles(arr) || month_iterableToArray(arr) || month_unsupportedIterableToArray(arr) || month_nonIterableSpread();
          }
          function month_nonIterableSpread() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function month_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return month_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return month_arrayLikeToArray(o2, minLen);
          }
          function month_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function month_arrayWithoutHoles(arr) {
            if (Array.isArray(arr))
              return month_arrayLikeToArray(arr);
          }
          function month_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 _isAllday(_ref) {
            var model = _ref.model;
            return model.isAllday || model.hasMultiDates;
          }
          function _isNotAllday(uiModel) {
            return !_isAllday(uiModel);
          }
          function _weightTopValue(uiModel) {
            uiModel.top = uiModel.top || 0;
            uiModel.top += 1;
          }
          function _adjustRenderRange(start, end, uiModelColl) {
            uiModelColl.each(function(uiModel) {
              if (uiModel.model.isAllday || uiModel.model.hasMultiDates) {
                limitRenderRange(toStartOfDay(start), toEndOfDay(end), uiModel);
              }
            });
          }
          function _getAlldayMaxTopIndexAtYMD(idsOfDay, ymd, uiModelAlldayColl) {
            var topIndexesInDate = [];
            idsOfDay[ymd].forEach(function(cid) {
              uiModelAlldayColl.doWhenHas(cid, function(uiModel) {
                topIndexesInDate.push(uiModel.top);
              });
            });
            if (topIndexesInDate.length > 0) {
              return Math.max.apply(Math, topIndexesInDate);
            }
            return 0;
          }
          function _adjustTimeTopIndex(idsOfDay, uiModelColl) {
            var vAlldayColl = uiModelColl.filter(_isAllday);
            var sortedTimeEvents = uiModelColl.filter(_isNotAllday).sort(array.compare.event.asc);
            var maxIndexInYMD = {};
            sortedTimeEvents.forEach(function(timeUIModel) {
              var eventYMD = datetime_toFormat(timeUIModel.getStarts(), "YYYYMMDD");
              var alldayMaxTopInYMD = maxIndexInYMD[eventYMD];
              if (isUndefined_default()(alldayMaxTopInYMD)) {
                alldayMaxTopInYMD = maxIndexInYMD[eventYMD] = _getAlldayMaxTopIndexAtYMD(idsOfDay, eventYMD, vAlldayColl);
              }
              maxIndexInYMD[eventYMD] = timeUIModel.top = alldayMaxTopInYMD + 1;
            });
          }
          function _stackTimeFromTop(idsOfDay, uiModelColl) {
            var uiModelAlldayColl = uiModelColl.filter(_isAllday);
            var sortedTimeEvents = uiModelColl.filter(_isNotAllday).sort(array.compare.event.asc);
            var indiceInYMD = {};
            sortedTimeEvents.forEach(function(timeUIModel) {
              var eventYMD = datetime_toFormat(timeUIModel.getStarts(), "YYYYMMDD");
              var topArrayInYMD = indiceInYMD[eventYMD];
              if (isUndefined_default()(topArrayInYMD)) {
                topArrayInYMD = indiceInYMD[eventYMD] = [];
                idsOfDay[eventYMD].forEach(function(cid) {
                  uiModelAlldayColl.doWhenHas(cid, function(uiModel) {
                    topArrayInYMD.push(uiModel.top);
                  });
                });
              }
              if (topArrayInYMD.indexOf(timeUIModel.top) >= 0) {
                var maxTopInYMD = Math.max.apply(Math, month_toConsumableArray(topArrayInYMD)) + 1;
                for (var i = 1; i <= maxTopInYMD; i += 1) {
                  timeUIModel.top = i;
                  if (topArrayInYMD.indexOf(timeUIModel.top) < 0) {
                    break;
                  }
                }
              }
              topArrayInYMD.push(timeUIModel.top);
            });
          }
          function _addMultiDatesInfo(uiModelColl) {
            uiModelColl.each(function(uiModel) {
              var model = uiModel.model;
              var start = model.getStarts();
              var end = model.getEnds();
              model.hasMultiDates = !isSameDate(start, end);
              if (!model.isAllday && model.hasMultiDates) {
                uiModel.renderStarts = toStartOfDay(start);
                uiModel.renderEnds = toEndOfDay(end);
              }
            });
          }
          function month_findByDateRange(calendarData, condition) {
            var start = condition.start, end = condition.end, _condition$andFilters = condition.andFilters, andFilters = _condition$andFilters === void 0 ? [] : _condition$andFilters, _condition$alldayFirs = condition.alldayFirstMode, alldayFirstMode = _condition$alldayFirs === void 0 ? false : _condition$alldayFirs;
            var events = calendarData.events, idsOfDay = calendarData.idsOfDay;
            var filterFn = Collection.and.apply(Collection, month_toConsumableArray([getEventInDateRangeFilter(start, end)].concat(andFilters)));
            var coll = events.filter(filterFn);
            var uiModelColl = convertToUIModel(coll);
            _addMultiDatesInfo(uiModelColl);
            _adjustRenderRange(start, end, uiModelColl);
            var vList = uiModelColl.sort(array.compare.event.asc);
            var usingTravelTime = false;
            var collisionGroup = getCollisionGroup(vList, usingTravelTime);
            var matrices = getMatrices(uiModelColl, collisionGroup, usingTravelTime);
            positionUIModels(start, end, matrices, _weightTopValue);
            if (alldayFirstMode) {
              _adjustTimeTopIndex(idsOfDay, uiModelColl);
            } else {
              _stackTimeFromTop(idsOfDay, uiModelColl);
            }
            return matrices;
          }
          function week_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function week_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? week_ownKeys(Object(source), true).forEach(function(key) {
                week_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : week_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function week_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function week_toConsumableArray(arr) {
            return week_arrayWithoutHoles(arr) || week_iterableToArray(arr) || week_unsupportedIterableToArray(arr) || week_nonIterableSpread();
          }
          function week_nonIterableSpread() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function week_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function week_arrayWithoutHoles(arr) {
            if (Array.isArray(arr))
              return week_arrayLikeToArray(arr);
          }
          function week_slicedToArray(arr, i) {
            return week_arrayWithHoles(arr) || week_iterableToArrayLimit(arr, i) || week_unsupportedIterableToArray(arr, i) || week_nonIterableRest();
          }
          function week_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function week_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return week_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return week_arrayLikeToArray(o2, minLen);
          }
          function week_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 week_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function week_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function _makeHourRangeFilter(hStart, hEnd) {
            return function(uiModel) {
              var ownHourStart = uiModel.getStarts();
              var ownHourEnd = uiModel.getEnds();
              var ownHourStartTime = ownHourStart.getTime();
              var ownHourEndTime = ownHourEnd.getTime();
              var yyyy = ownHourStart.getFullYear();
              var mm = ownHourStart.getMonth();
              var dd = ownHourStart.getDate();
              var hourStart = new date_TZDate(yyyy, mm, dd).setHours(hStart);
              var hourEnd = new date_TZDate(yyyy, mm, dd).setHours(hEnd);
              return ownHourStartTime >= hourStart && ownHourStartTime < hourEnd || ownHourEndTime > hourStart && ownHourEndTime <= hourEnd || ownHourStartTime < hourStart && ownHourEndTime > hourStart || ownHourEndTime > hourEnd && ownHourStartTime < hourEnd;
            };
          }
          function _makeGetUIModelFuncForTimeView(hourStart, hourEnd) {
            if (hourStart === 0 && hourEnd === 24) {
              return function(uiModelColl) {
                return uiModelColl.sort(array.compare.event.asc);
              };
            }
            return function(uiModelColl) {
              return uiModelColl.filter(_makeHourRangeFilter(hourStart, hourEnd)).sort(array.compare.event.asc);
            };
          }
          function splitEventByDateRange(idsOfDay, start, end, uiModelColl) {
            var result = {};
            var range2 = getDateRange(start, end);
            range2.forEach(function(date2) {
              var ymd = datetime_toFormat(date2, "YYYYMMDD");
              var ids = idsOfDay[ymd];
              var collection = result[ymd] = new Collection(function(event) {
                return event.cid();
              });
              if (ids && ids.length) {
                ids.forEach(function(id) {
                  uiModelColl.doWhenHas(id, function(event) {
                    collection.add(event);
                  });
                });
              }
            }, {});
            return result;
          }
          function getUIModelForTimeView(idsOfDay, condition) {
            var start = condition.start, end = condition.end, uiModelTimeColl = condition.uiModelTimeColl, hourStart = condition.hourStart, hourEnd = condition.hourEnd;
            var ymdSplitted = splitEventByDateRange(idsOfDay, start, end, uiModelTimeColl);
            var result = {};
            var _getUIModel = _makeGetUIModelFuncForTimeView(hourStart, hourEnd);
            var usingTravelTime = true;
            Object.entries(ymdSplitted).forEach(function(_ref) {
              var _ref2 = week_slicedToArray(_ref, 2), ymd = _ref2[0], uiModelColl = _ref2[1];
              var uiModels = _getUIModel(uiModelColl);
              var collisionGroups = getCollisionGroup(uiModels, usingTravelTime);
              var matrices = getMatrices(uiModelColl, collisionGroups, usingTravelTime);
              result[ymd] = matrices;
            });
            return result;
          }
          function week_addMultiDatesInfo(uiModelColl) {
            uiModelColl.each(function(uiModel) {
              var model = uiModel.model;
              model.hasMultiDates = true;
              uiModel.renderStarts = toStartOfDay(model.getStarts());
              uiModel.renderEnds = toEndOfDay(model.getEnds());
            });
          }
          function getUIModelForAlldayView(start, end, uiModelColl) {
            if (!uiModelColl || !uiModelColl.size) {
              return [];
            }
            week_addMultiDatesInfo(uiModelColl);
            limitRenderRange(start, end, uiModelColl);
            var uiModels = uiModelColl.sort(array.compare.event.asc);
            var usingTravelTime = true;
            var collisionGroups = getCollisionGroup(uiModels, usingTravelTime);
            var matrices = getMatrices(uiModelColl, collisionGroups, usingTravelTime);
            positionUIModels(start, end, matrices);
            return matrices;
          }
          function week_findByDateRange(calendarData, condition) {
            var _options$hourStart, _options$hourEnd;
            var start = condition.start, end = condition.end, panels = condition.panels, _condition$andFilters = condition.andFilters, andFilters = _condition$andFilters === void 0 ? [] : _condition$andFilters, options = condition.options;
            var events = calendarData.events, idsOfDay = calendarData.idsOfDay;
            var hourStart = (_options$hourStart = options === null || options === void 0 ? void 0 : options.hourStart) !== null && _options$hourStart !== void 0 ? _options$hourStart : 0;
            var hourEnd = (_options$hourEnd = options === null || options === void 0 ? void 0 : options.hourEnd) !== null && _options$hourEnd !== void 0 ? _options$hourEnd : 24;
            var filterFn = Collection.and.apply(Collection, week_toConsumableArray([getEventInDateRangeFilter(start, end)].concat(andFilters)));
            var uiModelColl = convertToUIModel(events.filter(filterFn));
            var group = uiModelColl.groupBy(filterByCategory);
            return panels.reduce(function(acc, cur) {
              var name = cur.name, type = cur.type;
              if (type_isNil(group[name])) {
                return acc;
              }
              return week_objectSpread(week_objectSpread({}, acc), {}, week_defineProperty({}, name, type === "daygrid" ? getUIModelForAlldayView(start, end, group[name]) : getUIModelForTimeView(idsOfDay, {
                start,
                end,
                uiModelTimeColl: group[name],
                hourStart,
                hourEnd
              })));
            }, {
              milestone: [],
              task: [],
              allday: [],
              time: {}
            });
          }
          function math_toConsumableArray(arr) {
            return math_arrayWithoutHoles(arr) || math_iterableToArray(arr) || math_unsupportedIterableToArray(arr) || math_nonIterableSpread();
          }
          function math_nonIterableSpread() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function math_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return math_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return math_arrayLikeToArray(o2, minLen);
          }
          function math_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function math_arrayWithoutHoles(arr) {
            if (Array.isArray(arr))
              return math_arrayLikeToArray(arr);
          }
          function math_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 math_limit(value, minArr, maxArr) {
            var v2 = Math.max.apply(Math, [value].concat(math_toConsumableArray(minArr)));
            return Math.min.apply(Math, [v2].concat(math_toConsumableArray(maxArr)));
          }
          function ratio(a2, b2, y) {
            return b2 * y / a2;
          }
          function isBetween(value, min2, max2) {
            return min2 <= value && value <= max2;
          }
          function grid_slicedToArray(arr, i) {
            return grid_arrayWithHoles(arr) || grid_iterableToArrayLimit(arr, i) || grid_unsupportedIterableToArray(arr, i) || grid_nonIterableRest();
          }
          function grid_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function grid_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function grid_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function grid_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function grid_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? grid_ownKeys(Object(source), true).forEach(function(key) {
                grid_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : grid_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function grid_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function grid_toConsumableArray(arr) {
            return grid_arrayWithoutHoles(arr) || grid_iterableToArray(arr) || grid_unsupportedIterableToArray(arr) || grid_nonIterableSpread();
          }
          function grid_nonIterableSpread() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function grid_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return grid_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return grid_arrayLikeToArray(o2, minLen);
          }
          function grid_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function grid_arrayWithoutHoles(arr) {
            if (Array.isArray(arr))
              return grid_arrayLikeToArray(arr);
          }
          function grid_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;
          }
          var EVENT_HEIGHT = 22;
          var TOTAL_WIDTH = 100;
          function forEachMatrix3d(matrices, iteratee) {
            matrices.forEach(function(matrix) {
              matrix.forEach(function(row) {
                row.forEach(function(value, index) {
                  iteratee(value, index);
                });
              });
            });
          }
          function isWithinHeight(containerHeight, eventHeight) {
            return function(_ref) {
              var top = _ref.top;
              return containerHeight >= top * eventHeight;
            };
          }
          function isExceededHeight(containerHeight, eventHeight) {
            return function(_ref2) {
              var top = _ref2.top;
              return containerHeight < top * eventHeight;
            };
          }
          function getExceedCount(uiModel, containerHeight, eventHeight) {
            return uiModel.filter(isExceededHeight(containerHeight, eventHeight)).length;
          }
          var getWeekendCount = function getWeekendCount2(row) {
            return row.filter(function(cell) {
              return isWeekend(cell.getDay());
            }).length;
          };
          function getGridWidthAndLeftPercentValues(row, narrowWeekend, totalWidth) {
            var weekendCount = getWeekendCount(row);
            var gridCellCount = row.length;
            var isAllWeekend = weekendCount === gridCellCount;
            var widthPerDay = totalWidth / (narrowWeekend && !isAllWeekend ? gridCellCount * 2 - weekendCount : gridCellCount);
            var widthList = row.map(function(cell) {
              var day = cell.getDay();
              if (!narrowWeekend || isAllWeekend) {
                return widthPerDay;
              }
              return isWeekend(day) ? widthPerDay : widthPerDay * 2;
            });
            var leftList = widthList.reduce(function(acc, _2, index) {
              return index ? [].concat(grid_toConsumableArray(acc), [acc[index - 1] + widthList[index - 1]]) : [0];
            }, []);
            return {
              widthList,
              leftList
            };
          }
          function getWidth(widthList, start, end) {
            return widthList.reduce(function(acc, width, index) {
              if (start <= index && index <= end) {
                return acc + width;
              }
              return acc;
            }, 0);
          }
          var isInGrid = function isInGrid2(gridDate) {
            return function(uiModel) {
              var eventStart = toStartOfDay(uiModel.getStarts());
              var eventEnd = toStartOfDay(uiModel.getEnds());
              return eventStart <= gridDate && gridDate <= eventEnd;
            };
          };
          function getGridDateIndex(date2, row) {
            return row.findIndex(function(cell) {
              return date2 >= toStartOfDay(cell) && date2 <= toEndOfDay(cell);
            });
          }
          var getLeftAndWidth = function getLeftAndWidth2(startIndex, endIndex, row, narrowWeekend) {
            var _getGridWidthAndLeftP = getGridWidthAndLeftPercentValues(row, narrowWeekend, TOTAL_WIDTH), widthList = _getGridWidthAndLeftP.widthList;
            return {
              left: !startIndex ? 0 : getWidth(widthList, 0, startIndex - 1),
              width: getWidth(widthList, startIndex !== null && startIndex !== void 0 ? startIndex : 0, endIndex < 0 ? row.length - 1 : endIndex)
            };
          };
          var getEventLeftAndWidth = function getEventLeftAndWidth2(start, end, row, narrowWeekend) {
            var _getGridWidthAndLeftP2 = getGridWidthAndLeftPercentValues(row, narrowWeekend, TOTAL_WIDTH), widthList = _getGridWidthAndLeftP2.widthList;
            var gridStartIndex = 0;
            var gridEndIndex = row.length - 1;
            row.forEach(function(cell, index) {
              if (cell <= start) {
                gridStartIndex = index;
              }
              if (cell <= end) {
                gridEndIndex = index;
              }
            });
            return {
              width: getWidth(widthList, gridStartIndex, gridEndIndex),
              left: !gridStartIndex ? 0 : getWidth(widthList, 0, gridStartIndex - 1)
            };
          };
          function getEventUIModelWithPosition(uiModel, row) {
            var narrowWeekend = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
            var modelStart = uiModel.getStarts();
            var modelEnd = uiModel.getEnds();
            var _getEventLeftAndWidth = getEventLeftAndWidth(modelStart, modelEnd, row, narrowWeekend), width = _getEventLeftAndWidth.width, left = _getEventLeftAndWidth.left;
            uiModel.width = width;
            uiModel.left = left;
            return uiModel;
          }
          function getRenderedEventUIModels(row, calendarData, narrowWeekend) {
            var idsOfDay = calendarData.idsOfDay;
            var eventUIModels = month_findByDateRange(calendarData, {
              start: row[0],
              end: toEndOfDay(row[row.length - 1])
            });
            var idEventModelMap = [];
            forEachMatrix3d(eventUIModels, function(uiModel) {
              var cid = uiModel.model.cid();
              idEventModelMap[cid] = getEventUIModelWithPosition(uiModel, row, narrowWeekend);
            });
            var gridDateEventModelMap = Object.keys(idsOfDay).reduce(function(acc, ymd) {
              var ids = idsOfDay[ymd];
              acc[ymd] = ids.map(function(cid) {
                return idEventModelMap[cid];
              }).filter(function(vm) {
                return !!vm;
              });
              return acc;
            }, {});
            return {
              uiModels: Object.values(idEventModelMap),
              gridDateEventModelMap
            };
          }
          var getDayGridEventModels = function getDayGridEventModels2(eventModels, row) {
            var narrowWeekend = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
            forEachMatrix3d(eventModels, function(uiModel) {
              var modelStart = uiModel.getStarts();
              var modelEnd = uiModel.getEnds();
              var _getEventLeftAndWidth2 = getEventLeftAndWidth(modelStart, modelEnd, row, narrowWeekend), width = _getEventLeftAndWidth2.width, left = _getEventLeftAndWidth2.left;
              uiModel.width = width;
              uiModel.left = left;
              uiModel.top += 1;
            });
            return flattenMatrix3d(eventModels);
          };
          var getModels = function getModels2(models) {
            return models.filter(function(model) {
              return !!model;
            });
          };
          function flattenMatrix3d(matrices) {
            return matrices.flatMap(function(matrix) {
              return matrix.flatMap(function(models) {
                return getModels(models);
              });
            });
          }
          var getTimeGridEventModels = function getTimeGridEventModels2(eventMatrix) {
            return Array.from(new Set(Object.values(eventMatrix).reduce(function(result, matrix3d) {
              return result.concat.apply(result, grid_toConsumableArray(flattenMatrix3d(matrix3d)));
            }, [])));
          };
          var getWeekViewEvents = function getWeekViewEvents2(row, calendarData, _ref3) {
            var narrowWeekend = _ref3.narrowWeekend, hourStart = _ref3.hourStart, hourEnd = _ref3.hourEnd, weekStartDate = _ref3.weekStartDate, weekEndDate = _ref3.weekEndDate;
            var panels = [{
              name: "milestone",
              type: "daygrid",
              show: true
            }, {
              name: "task",
              type: "daygrid",
              show: true
            }, {
              name: "allday",
              type: "daygrid",
              show: true
            }, {
              name: "time",
              type: "timegrid",
              show: true
            }];
            var eventModels = week_findByDateRange(calendarData, {
              start: weekStartDate,
              end: weekEndDate,
              panels,
              andFilters: [],
              options: {
                hourStart,
                hourEnd
              }
            });
            return Object.keys(eventModels).reduce(function(acc, cur) {
              var events = eventModels[cur];
              return grid_objectSpread(grid_objectSpread({}, acc), {}, grid_defineProperty({}, cur, Array.isArray(events) ? getDayGridEventModels(events, row, narrowWeekend) : getTimeGridEventModels(events)));
            }, {
              milestone: [],
              allday: [],
              task: [],
              time: []
            });
          };
          function createDateMatrixOfMonth(renderTargetDate, _ref4) {
            var _ref4$workweek = _ref4.workweek, workweek = _ref4$workweek === void 0 ? false : _ref4$workweek, _ref4$visibleWeeksCou = _ref4.visibleWeeksCount, visibleWeeksCount = _ref4$visibleWeeksCou === void 0 ? 0 : _ref4$visibleWeeksCou, _ref4$startDayOfWeek = _ref4.startDayOfWeek, startDayOfWeek = _ref4$startDayOfWeek === void 0 ? 0 : _ref4$startDayOfWeek, _ref4$isAlways6Weeks = _ref4.isAlways6Weeks, isAlways6Weeks = _ref4$isAlways6Weeks === void 0 ? true : _ref4$isAlways6Weeks;
            var targetDate = new date_TZDate(renderTargetDate);
            var shouldApplyVisibleWeeksCount = visibleWeeksCount > 0;
            var baseDate = shouldApplyVisibleWeeksCount ? targetDate : toStartOfMonth(targetDate);
            var firstDateOfMatrix = subtractDate(baseDate, baseDate.getDay() - startDayOfWeek + (baseDate.getDay() < startDayOfWeek ? WEEK_DAYS : 0));
            var dayOfFirstDateOfMatrix = firstDateOfMatrix.getDay();
            var totalDatesCountOfMonth = toEndOfMonth(targetDate).getDate();
            var initialDifference = getDateDifference(firstDateOfMatrix, baseDate);
            var totalDatesOfMatrix = totalDatesCountOfMonth + Math.abs(initialDifference);
            var totalWeeksOfMatrix = DEFAULT_VISIBLE_WEEKS;
            if (shouldApplyVisibleWeeksCount) {
              totalWeeksOfMatrix = visibleWeeksCount;
            } else if (isAlways6Weeks === false) {
              totalWeeksOfMatrix = Math.ceil(totalDatesOfMatrix / WEEK_DAYS);
            }
            return range_default()(0, totalWeeksOfMatrix).map(function(weekIndex) {
              return range_default()(0, WEEK_DAYS).reduce(function(weekRow, dayOfWeek) {
                var steps = weekIndex * WEEK_DAYS + dayOfWeek;
                var currentDay = (steps + dayOfFirstDateOfMatrix) % WEEK_DAYS;
                if (!workweek || workweek && !isWeekend(currentDay)) {
                  var date2 = addDate(firstDateOfMatrix, steps);
                  weekRow.push(date2);
                }
                return weekRow;
              }, []);
            });
          }
          function getWeekDates(renderDate, _ref5) {
            var _ref5$startDayOfWeek = _ref5.startDayOfWeek, startDayOfWeek = _ref5$startDayOfWeek === void 0 ? Day.SUN : _ref5$startDayOfWeek, workweek = _ref5.workweek;
            var now = toStartOfDay(renderDate);
            var nowDay = now.getDay();
            var prevDateCount = nowDay - startDayOfWeek;
            var weekDayList = prevDateCount >= 0 ? range_default()(-prevDateCount, WEEK_DAYS - prevDateCount) : range_default()(-WEEK_DAYS - prevDateCount, -prevDateCount);
            return weekDayList.reduce(function(acc, day) {
              var date2 = addDate(now, day);
              if (workweek && isWeekend(date2.getDay())) {
                return acc;
              }
              acc.push(date2);
              return acc;
            }, []);
          }
          function getColumnsData(datesOfWeek) {
            var narrowWeekend = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
            var datesCount = datesOfWeek.length;
            var shouldApplyNarrowWeekend = datesCount > 5 && narrowWeekend;
            var defaultWidthByColumns = shouldApplyNarrowWeekend ? 100 / (datesCount - 1) : 100 / datesCount;
            return datesOfWeek.map(function(date2) {
              var width = shouldApplyNarrowWeekend && isWeekend(date2.getDay()) ? defaultWidthByColumns / 2 : defaultWidthByColumns;
              return {
                date: date2,
                width
              };
            }).reduce(function(result, currentDateAndWidth, index) {
              var prev = result[index - 1];
              result.push(grid_objectSpread(grid_objectSpread({}, currentDateAndWidth), {}, {
                left: index === 0 ? 0 : prev.left + prev.width
              }));
              return result;
            }, []);
          }
          function createTimeGridData(datesOfWeek, options) {
            var _options$narrowWeeken;
            var columns = getColumnsData(datesOfWeek, (_options$narrowWeeken = options.narrowWeekend) !== null && _options$narrowWeeken !== void 0 ? _options$narrowWeeken : false);
            var steps = (options.hourEnd - options.hourStart) * 2;
            var baseHeight = 100 / steps;
            var rows = range_default()(steps).map(function(step, index) {
              var isOdd = index % 2 === 1;
              var hour = options.hourStart + Math.floor(step / 2);
              var startTime = "".concat(hour, ":").concat(isOdd ? "30" : "00").padStart(5, "0");
              var endTime = (isOdd ? "".concat(hour + 1, ":00") : "".concat(hour, ":30")).padStart(5, "0");
              return {
                top: baseHeight * index,
                height: baseHeight,
                startTime,
                endTime
              };
            });
            return {
              columns,
              rows
            };
          }
          function getRelativeMousePosition(_ref6, _ref7) {
            var clientX = _ref6.clientX, clientY = _ref6.clientY;
            var left = _ref7.left, top = _ref7.top, clientLeft = _ref7.clientLeft, clientTop = _ref7.clientTop;
            return [clientX - left - clientLeft, clientY - top - clientTop];
          }
          function getIndexFromPosition(arrayLength, maxRange, currentPosition) {
            var calculatedIndex = Math.floor(ratio(maxRange, arrayLength, currentPosition));
            return math_limit(calculatedIndex, [0], [arrayLength - 1]);
          }
          function createGridPositionFinder(_ref8) {
            var rowsCount = _ref8.rowsCount, columnsCount = _ref8.columnsCount, container = _ref8.container, _ref8$narrowWeekend = _ref8.narrowWeekend, narrowWeekend = _ref8$narrowWeekend === void 0 ? false : _ref8$narrowWeekend, _ref8$startDayOfWeek = _ref8.startDayOfWeek, startDayOfWeek = _ref8$startDayOfWeek === void 0 ? Day.SUN : _ref8$startDayOfWeek;
            if (type_isNil(container)) {
              return function() {
                return null;
              };
            }
            var dayRange = range_default()(startDayOfWeek, startDayOfWeek + columnsCount).map(function(day) {
              return day % WEEK_DAYS;
            });
            var narrowColumnCount = narrowWeekend ? dayRange.filter(function(day) {
              return isWeekend(day);
            }).length : 0;
            return function gridPositionFinder(mousePosition) {
              var _container$getBoundin = container.getBoundingClientRect(), containerLeft = _container$getBoundin.left, containerTop = _container$getBoundin.top, containerWidth = _container$getBoundin.width, containerHeight = _container$getBoundin.height;
              var _getRelativeMousePosi = getRelativeMousePosition(mousePosition, {
                left: containerLeft,
                top: containerTop,
                clientLeft: container.clientLeft,
                clientTop: container.clientTop
              }), _getRelativeMousePosi2 = grid_slicedToArray(_getRelativeMousePosi, 2), left = _getRelativeMousePosi2[0], top = _getRelativeMousePosi2[1];
              if (left < 0 || top < 0 || left > containerWidth || top > containerHeight) {
                return null;
              }
              var unitWidth = narrowWeekend ? containerWidth / (columnsCount - narrowColumnCount + 1) : containerWidth / columnsCount;
              var columnWidthList = dayRange.map(function(dayOfWeek) {
                return narrowWeekend && isWeekend(dayOfWeek) ? unitWidth / 2 : unitWidth;
              });
              var columnLeftList = [];
              columnWidthList.forEach(function(width, index) {
                if (index === 0) {
                  columnLeftList.push(0);
                } else {
                  columnLeftList.push(columnLeftList[index - 1] + columnWidthList[index - 1]);
                }
              });
              var columnIndex = findLastIndex(columnLeftList, function(columnLeft) {
                return left >= columnLeft;
              });
              return {
                columnIndex,
                rowIndex: getIndexFromPosition(rowsCount, containerHeight, top)
              };
            };
          }
          function commonGridSelectionSelector(theme) {
            return theme.common.gridSelection;
          }
          function GridSelection(_ref) {
            var type = _ref.type, gridSelectionData = _ref.gridSelectionData, weekDates = _ref.weekDates, narrowWeekend = _ref.narrowWeekend;
            var _useTheme = useTheme(commonGridSelectionSelector), backgroundColor = _useTheme.backgroundColor, border = _useTheme.border;
            var startCellIndex = gridSelectionData.startCellIndex, endCellIndex = gridSelectionData.endCellIndex;
            var _getLeftAndWidth = getLeftAndWidth(Math.min(startCellIndex, endCellIndex), Math.max(startCellIndex, endCellIndex), weekDates, narrowWeekend), left = _getLeftAndWidth.left, width = _getLeftAndWidth.width;
            var style = {
              left: toPercent(left),
              width: toPercent(width),
              height: toPercent(100),
              backgroundColor,
              border
            };
            return width > 0 ? h("div", {
              className: cls(type, "grid-selection"),
              style
            }) : null;
          }
          function createSortedGridSelection(initPos, currentPos, isReversed) {
            return {
              startColumnIndex: isReversed ? currentPos.columnIndex : initPos.columnIndex,
              startRowIndex: isReversed ? currentPos.rowIndex : initPos.rowIndex,
              endColumnIndex: isReversed ? initPos.columnIndex : currentPos.columnIndex,
              endRowIndex: isReversed ? initPos.rowIndex : currentPos.rowIndex
            };
          }
          function calculateTimeGridSelectionByCurrentIndex(timeGridSelection, columnIndex, maxRowIndex) {
            if (type_isNil(timeGridSelection)) {
              return null;
            }
            var startColumnIndex = timeGridSelection.startColumnIndex, endColumnIndex = timeGridSelection.endColumnIndex, endRowIndex = timeGridSelection.endRowIndex, startRowIndex = timeGridSelection.startRowIndex;
            if (!isBetween(columnIndex, startColumnIndex, endColumnIndex)) {
              return null;
            }
            var hasMultipleColumns = startColumnIndex !== endColumnIndex;
            var isStartingColumn = columnIndex === startColumnIndex;
            var resultGridSelection = {
              startRowIndex,
              endRowIndex,
              isSelectingMultipleColumns: hasMultipleColumns,
              isStartingColumn
            };
            if (startColumnIndex < columnIndex && columnIndex < endColumnIndex) {
              resultGridSelection.startRowIndex = 0;
              resultGridSelection.endRowIndex = maxRowIndex;
            } else if (startColumnIndex !== endColumnIndex) {
              if (startColumnIndex === columnIndex) {
                resultGridSelection.endRowIndex = maxRowIndex;
              } else if (endColumnIndex === columnIndex) {
                resultGridSelection.startRowIndex = 0;
              }
            }
            return resultGridSelection;
          }
          var timeGridSelectionHelper = {
            sortSelection: function sortSelection(initPos, currentPos) {
              var isReversed = initPos.columnIndex > currentPos.columnIndex || initPos.columnIndex === currentPos.columnIndex && initPos.rowIndex > currentPos.rowIndex;
              return createSortedGridSelection(initPos, currentPos, isReversed);
            },
            getDateFromCollection: function getDateFromCollection(dateCollection, gridSelection) {
              var timeGridData = dateCollection;
              var startDate = setTimeStrToDate(timeGridData.columns[gridSelection.startColumnIndex].date, timeGridData.rows[gridSelection.startRowIndex].startTime);
              var endDate = setTimeStrToDate(timeGridData.columns[gridSelection.endColumnIndex].date, timeGridData.rows[gridSelection.endRowIndex].endTime);
              return [startDate, endDate];
            },
            calculateSelection: calculateTimeGridSelectionByCurrentIndex
          };
          function calculateDayGridMonthSelectionByCurrentIndex(gridSelection, currentIndex, weekLength) {
            if (!(isPresent(gridSelection) && isPresent(currentIndex) && isPresent(weekLength))) {
              return null;
            }
            var startRowIndex = gridSelection.startRowIndex, startColumnIndex = gridSelection.startColumnIndex, endRowIndex = gridSelection.endRowIndex, endColumnIndex = gridSelection.endColumnIndex;
            if (!isBetween(currentIndex, Math.min(startRowIndex, endRowIndex), Math.max(startRowIndex, endRowIndex))) {
              return null;
            }
            var startCellIndex = startColumnIndex;
            var endCellIndex = endColumnIndex;
            if (startRowIndex < currentIndex) {
              startCellIndex = 0;
            }
            if (endRowIndex > currentIndex) {
              endCellIndex = weekLength - 1;
            }
            return {
              startCellIndex,
              endCellIndex
            };
          }
          var dayGridMonthSelectionHelper = {
            sortSelection: function sortSelection(initPos, currentPos) {
              var isReversed = initPos.rowIndex > currentPos.rowIndex || initPos.rowIndex === currentPos.rowIndex && initPos.columnIndex > currentPos.columnIndex;
              return createSortedGridSelection(initPos, currentPos, isReversed);
            },
            getDateFromCollection: function getDateFromCollection(dateCollection, gridSelection) {
              var dateMatrix = dateCollection;
              return [dateMatrix[gridSelection.startRowIndex][gridSelection.startColumnIndex], dateMatrix[gridSelection.endRowIndex][gridSelection.endColumnIndex]];
            },
            calculateSelection: calculateDayGridMonthSelectionByCurrentIndex
          };
          function calculateAlldayGridRowSelectionByCurrentIndex(gridSelection) {
            return isPresent(gridSelection) ? {
              startCellIndex: gridSelection.startColumnIndex,
              endCellIndex: gridSelection.endColumnIndex
            } : null;
          }
          var alldayGridRowSelectionHelper = {
            sortSelection: function sortSelection(initPos, currentPos) {
              var isReversed = initPos.columnIndex > currentPos.columnIndex;
              return createSortedGridSelection(initPos, currentPos, isReversed);
            },
            getDateFromCollection: function getDateFromCollection(dateCollection, gridSelection) {
              var weekDates = dateCollection;
              return [weekDates[gridSelection.startColumnIndex], weekDates[gridSelection.endColumnIndex]];
            },
            calculateSelection: calculateAlldayGridRowSelectionByCurrentIndex
          };
          function dayGridWeekSelectionSelector(state) {
            return alldayGridRowSelectionHelper.calculateSelection(state.gridSelection.dayGridWeek);
          }
          function AlldayGridSelection(_ref) {
            var weekDates = _ref.weekDates, narrowWeekend = _ref.narrowWeekend;
            var calculatedGridSelection = useStore(dayGridWeekSelectionSelector);
            if (type_isNil(calculatedGridSelection)) {
              return null;
            }
            return h(GridSelection, {
              type: "allday",
              gridSelectionData: calculatedGridSelection,
              weekDates,
              narrowWeekend
            });
          }
          function compat_module_S(n2, t2) {
            for (var e2 in t2)
              n2[e2] = t2[e2];
            return n2;
          }
          function compat_module_C(n2, t2) {
            for (var e2 in n2)
              if (e2 !== "__source" && !(e2 in t2))
                return true;
            for (var r2 in t2)
              if (r2 !== "__source" && n2[r2] !== t2[r2])
                return true;
            return false;
          }
          function E(n2) {
            this.props = n2;
          }
          function compat_module_g(n2, t2) {
            function e2(n3) {
              var e3 = this.props.ref, r3 = e3 == n3.ref;
              return !r3 && e3 && (e3.call ? e3(null) : e3.current = null), t2 ? !t2(this.props, n3) || !r3 : compat_module_C(this.props, n3);
            }
            function r2(t3) {
              return this.shouldComponentUpdate = e2, h(n2, t3);
            }
            return r2.displayName = "Memo(" + (n2.displayName || n2.name) + ")", r2.prototype.isReactComponent = true, r2.__f = true, r2;
          }
          (E.prototype = new d()).isPureReactComponent = true, E.prototype.shouldComponentUpdate = function(n2, t2) {
            return compat_module_C(this.props, n2) || compat_module_C(this.state, t2);
          };
          var compat_module_w = preact_module_l.__b;
          preact_module_l.__b = function(n2) {
            n2.type && n2.type.__f && n2.ref && (n2.props.ref = n2.ref, n2.ref = null), compat_module_w && compat_module_w(n2);
          };
          var compat_module_x = typeof Symbol != "undefined" && Symbol.for && Symbol.for("react.forward_ref") || 3911;
          function R(n2) {
            function t2(t3) {
              var e2 = compat_module_S({}, t3);
              return delete e2.ref, n2(e2, t3.ref || null);
            }
            return t2.$$typeof = compat_module_x, t2.render = t2, t2.prototype.isReactComponent = t2.__f = true, t2.displayName = "ForwardRef(" + (n2.displayName || n2.name) + ")", t2;
          }
          var compat_module_A = preact_module_l.__e;
          preact_module_l.__e = function(n2, t2, e2, r2) {
            if (n2.then) {
              for (var u2, o2 = t2; o2 = o2.__; )
                if ((u2 = o2.__c) && u2.__c)
                  return t2.__e == null && (t2.__e = e2.__e, t2.__k = e2.__k), u2.__c(n2, t2);
            }
            compat_module_A(n2, t2, e2, r2);
          };
          var compat_module_O = preact_module_l.unmount;
          function compat_module_T() {
            this.__u = 0, this.t = null, this.__b = null;
          }
          function compat_module_L(n2) {
            var t2 = n2.__.__c;
            return t2 && t2.__a && t2.__a(n2);
          }
          function D() {
            this.u = null, this.o = null;
          }
          preact_module_l.unmount = function(n2) {
            var t2 = n2.__c;
            t2 && t2.__R && t2.__R(), t2 && n2.__h === true && (n2.type = null), compat_module_O && compat_module_O(n2);
          }, (compat_module_T.prototype = new d()).__c = function(n2, t2) {
            var e2 = t2.__c, r2 = this;
            r2.t == null && (r2.t = []), r2.t.push(e2);
            var u2 = compat_module_L(r2.__v), o2 = false, i = function() {
              o2 || (o2 = true, e2.__R = null, u2 ? u2(l2) : l2());
            };
            e2.__R = i;
            var l2 = function() {
              if (!--r2.__u) {
                if (r2.state.__a) {
                  var n3 = r2.state.__a;
                  r2.__v.__k[0] = function n4(t4, e3, r3) {
                    return t4 && (t4.__v = null, t4.__k = t4.__k && t4.__k.map(function(t5) {
                      return n4(t5, e3, r3);
                    }), t4.__c && t4.__c.__P === e3 && (t4.__e && r3.insertBefore(t4.__e, t4.__d), t4.__c.__e = true, t4.__c.__P = r3)), t4;
                  }(n3, n3.__c.__P, n3.__c.__O);
                }
                var t3;
                for (r2.setState({ __a: r2.__b = null }); t3 = r2.t.pop(); )
                  t3.forceUpdate();
              }
            }, f2 = t2.__h === true;
            r2.__u++ || f2 || r2.setState({ __a: r2.__b = r2.__v.__k[0] }), n2.then(i, i);
          }, compat_module_T.prototype.componentWillUnmount = function() {
            this.t = [];
          }, compat_module_T.prototype.render = function(n2, t2) {
            if (this.__b) {
              if (this.__v.__k) {
                var e2 = document.createElement("div"), r2 = this.__v.__k[0].__c;
                this.__v.__k[0] = function n3(t3, e3, r3) {
                  return t3 && (t3.__c && t3.__c.__H && (t3.__c.__H.__.forEach(function(n4) {
                    typeof n4.__c == "function" && n4.__c();
                  }), t3.__c.__H = null), (t3 = compat_module_S({}, t3)).__c != null && (t3.__c.__P === r3 && (t3.__c.__P = e3), t3.__c = null), t3.__k = t3.__k && t3.__k.map(function(t4) {
                    return n3(t4, e3, r3);
                  })), t3;
                }(this.__b, e2, r2.__O = r2.__P);
              }
              this.__b = null;
            }
            var u2 = t2.__a && h(p, null, n2.fallback);
            return u2 && (u2.__h = null), [h(p, null, t2.__a ? null : n2.children), u2];
          };
          var compat_module_F = function(n2, t2, e2) {
            if (++e2[1] === e2[0] && n2.o.delete(t2), n2.props.revealOrder && (n2.props.revealOrder[0] !== "t" || !n2.o.size))
              for (e2 = n2.u; e2; ) {
                for (; e2.length > 3; )
                  e2.pop()();
                if (e2[1] < e2[0])
                  break;
                n2.u = e2 = e2[2];
              }
          };
          function compat_module_I(n2) {
            return this.getChildContext = function() {
              return n2.context;
            }, n2.children;
          }
          function compat_module_M(n2) {
            var t2 = this, e2 = n2.i;
            t2.componentWillUnmount = function() {
              P(null, t2.l), t2.l = null, t2.i = null;
            }, t2.i && t2.i !== e2 && t2.componentWillUnmount(), n2.__v ? (t2.l || (t2.i = e2, t2.l = { nodeType: 1, parentNode: e2, childNodes: [], appendChild: function(n3) {
              this.childNodes.push(n3), t2.i.appendChild(n3);
            }, insertBefore: function(n3, e3) {
              this.childNodes.push(n3), t2.i.appendChild(n3);
            }, removeChild: function(n3) {
              this.childNodes.splice(this.childNodes.indexOf(n3) >>> 1, 1), t2.i.removeChild(n3);
            } }), P(h(compat_module_I, { context: t2.context }, n2.__v), t2.l)) : t2.l && t2.componentWillUnmount();
          }
          function compat_module_V(n2, t2) {
            var e2 = h(compat_module_M, { __v: n2, i: t2 });
            return e2.containerInfo = t2, e2;
          }
          (D.prototype = new d()).__a = function(n2) {
            var t2 = this, e2 = compat_module_L(t2.__v), r2 = t2.o.get(n2);
            return r2[0]++, function(u2) {
              var o2 = function() {
                t2.props.revealOrder ? (r2.push(u2), compat_module_F(t2, n2, r2)) : u2();
              };
              e2 ? e2(o2) : o2();
            };
          }, D.prototype.render = function(n2) {
            this.u = null, this.o = /* @__PURE__ */ new Map();
            var t2 = x(n2.children);
            n2.revealOrder && n2.revealOrder[0] === "b" && t2.reverse();
            for (var e2 = t2.length; e2--; )
              this.o.set(t2[e2], this.u = [1, 0, this.u]);
            return n2.children;
          }, D.prototype.componentDidUpdate = D.prototype.componentDidMount = function() {
            var n2 = this;
            this.o.forEach(function(t2, e2) {
              compat_module_F(n2, e2, t2);
            });
          };
          var W = typeof Symbol != "undefined" && Symbol.for && Symbol.for("react.element") || 60103, compat_module_P = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|shape|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, compat_module_$ = typeof document != "undefined", compat_module_j = function(n2) {
            return (typeof Symbol != "undefined" && typeof Symbol() == "symbol" ? /fil|che|rad/i : /fil|che|ra/i).test(n2);
          };
          d.prototype.isReactComponent = {}, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function(n2) {
            Object.defineProperty(d.prototype, n2, { configurable: true, get: function() {
              return this["UNSAFE_" + n2];
            }, set: function(t2) {
              Object.defineProperty(this, n2, { configurable: true, writable: true, value: t2 });
            } });
          });
          var compat_module_H = preact_module_l.event;
          function Z() {
          }
          function Y() {
            return this.cancelBubble;
          }
          function compat_module_q() {
            return this.defaultPrevented;
          }
          preact_module_l.event = function(n2) {
            return compat_module_H && (n2 = compat_module_H(n2)), n2.persist = Z, n2.isPropagationStopped = Y, n2.isDefaultPrevented = compat_module_q, n2.nativeEvent = n2;
          };
          var J = { configurable: true, get: function() {
            return this.class;
          } }, K = preact_module_l.vnode;
          preact_module_l.vnode = function(n2) {
            var t2 = n2.type, e2 = n2.props, r2 = e2;
            if (typeof t2 == "string") {
              var u2 = t2.indexOf("-") === -1;
              for (var o2 in r2 = {}, e2) {
                var i = e2[o2];
                compat_module_$ && o2 === "children" && t2 === "noscript" || o2 === "value" && "defaultValue" in e2 && i == null || (o2 === "defaultValue" && "value" in e2 && e2.value == null ? o2 = "value" : o2 === "download" && i === true ? i = "" : /ondoubleclick/i.test(o2) ? o2 = "ondblclick" : /^onchange(textarea|input)/i.test(o2 + t2) && !compat_module_j(e2.type) ? o2 = "oninput" : /^onfocus$/i.test(o2) ? o2 = "onfocusin" : /^onblur$/i.test(o2) ? o2 = "onfocusout" : /^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(o2) ? o2 = o2.toLowerCase() : u2 && compat_module_P.test(o2) ? o2 = o2.replace(/[A-Z0-9]/, "-$&").toLowerCase() : i === null && (i = void 0), /^oninput$/i.test(o2) && (o2 = o2.toLowerCase(), r2[o2] && (o2 = "oninputCapture")), r2[o2] = i);
              }
              t2 == "select" && r2.multiple && Array.isArray(r2.value) && (r2.value = x(e2.children).forEach(function(n3) {
                n3.props.selected = r2.value.indexOf(n3.props.value) != -1;
              })), t2 == "select" && r2.defaultValue != null && (r2.value = x(e2.children).forEach(function(n3) {
                n3.props.selected = r2.multiple ? r2.defaultValue.indexOf(n3.props.value) != -1 : r2.defaultValue == n3.props.value;
              })), n2.props = r2, e2.class != e2.className && (J.enumerable = "className" in e2, e2.className != null && (r2.class = e2.className), Object.defineProperty(r2, "className", J));
            }
            n2.$$typeof = W, K && K(n2);
          };
          var Q = preact_module_l.__r;
          preact_module_l.__r = function(n2) {
            Q && Q(n2), n2.__c;
          };
          function un(n2) {
            return !!n2.__k && (P(null, n2), true);
          }
          function ExceedCount(_ref) {
            var index = _ref.index, exceedCount = _ref.exceedCount, isClicked = _ref.isClicked, onClickExceedCount = _ref.onClickExceedCount;
            var clickExceedCount = function clickExceedCount2() {
              return onClickExceedCount(index);
            };
            var style = {
              display: isClicked ? "none" : ""
            };
            return exceedCount && !isClicked ? h("span", {
              className: cls("weekday-exceed-in-week"),
              onClick: clickExceedCount,
              style
            }, h(Template, {
              template: "weekGridFooterExceed",
              param: exceedCount
            })) : null;
          }
          function CollapseButton(_ref2) {
            var isClicked = _ref2.isClicked, isClickedIndex = _ref2.isClickedIndex, onClickCollapseButton = _ref2.onClickCollapseButton;
            return isClicked && isClickedIndex ? h("span", {
              className: cls("weekday-exceed-in-week"),
              onClick: onClickCollapseButton
            }, h(Template, {
              template: "collapseBtnTitle"
            })) : null;
          }
          function GridCell(_ref3) {
            var width = _ref3.width, left = _ref3.left, index = _ref3.index, exceedCount = _ref3.exceedCount, isClicked = _ref3.isClicked, onClickExceedCount = _ref3.onClickExceedCount, isClickedIndex = _ref3.isClickedIndex, onClickCollapseButton = _ref3.onClickCollapseButton, isLastCell = _ref3.isLastCell;
            var _useTheme = useTheme(hooks_module_T(function(theme) {
              return theme.week.dayGrid;
            }, [])), borderRight = _useTheme.borderRight, backgroundColor = _useTheme.backgroundColor;
            var style = {
              width,
              left,
              borderRight: isLastCell ? "none" : borderRight,
              backgroundColor
            };
            return h("div", {
              className: cls("panel-grid"),
              style
            }, h(ExceedCount, {
              index,
              exceedCount,
              isClicked,
              onClickExceedCount
            }), h(CollapseButton, {
              isClickedIndex,
              isClicked,
              onClickCollapseButton
            }));
          }
          var GridCells = compat_module_g(function GridCells2(_ref) {
            var uiModels = _ref.uiModels, weekDates = _ref.weekDates, narrowWeekend = _ref.narrowWeekend, height = _ref.height, clickedIndex = _ref.clickedIndex, isClickedCount = _ref.isClickedCount, onClickExceedCount = _ref.onClickExceedCount, onClickCollapseButton = _ref.onClickCollapseButton;
            var eventTopMargin = 2;
            var _getGridWidthAndLeftP = getGridWidthAndLeftPercentValues(weekDates, narrowWeekend, TOTAL_WIDTH), widthList = _getGridWidthAndLeftP.widthList, leftList = _getGridWidthAndLeftP.leftList;
            var lastCellIndex = weekDates.length - 1;
            return h(p, null, weekDates.map(function(cell, index) {
              var width = toPercent(widthList[index]);
              var left = toPercent(leftList[index]);
              var uiModelsInCell = uiModels.filter(isInGrid(cell));
              var exceedCount = getExceedCount(uiModelsInCell, height, EVENT_HEIGHT + eventTopMargin);
              var isClickedIndex = index === clickedIndex;
              var isLastCell = index === lastCellIndex;
              return h(GridCell, {
                key: "panel-grid-".concat(cell.getDate()),
                width,
                left,
                index,
                exceedCount,
                isClicked: isClickedCount,
                onClickExceedCount,
                isClickedIndex,
                onClickCollapseButton,
                isLastCell
              });
            }));
          });
          __webpack_require__(7072);
          __webpack_require__(7694);
          function HorizontalEventResizeIcon(_ref) {
            var onMouseDown = _ref.onMouseDown;
            return h("span", {
              className: "".concat(cls("weekday-resize-handle"), " ").concat(cls("handle-y")),
              onMouseDown,
              "data-testid": "horizontal-event-resize-icon"
            }, h("i", {
              className: "".concat(cls("icon"), " ").concat(cls("ic-handle-y"))
            }));
          }
          var LayoutContainerContext = B(null);
          var LayoutContainerProvider = LayoutContainerContext.Provider;
          var useLayoutContainer = function useLayoutContainer2() {
            var ref = hooks_module_q(LayoutContainerContext);
            if (isUndefined_default()(ref)) {
              throw new Error("LayoutContainerProvider is not found");
            }
            return ref;
          };
          var DRAGGING_TYPE_CONSTANTS = {
            panelResizer: "panelResizer"
          };
          var DRAGGING_TYPE_CREATORS = {
            resizeEvent: function resizeEvent(area, id) {
              return "event/".concat(area, "/resize/").concat(id);
            },
            moveEvent: function moveEvent(area, id) {
              return "event/".concat(area, "/move/").concat(id);
            },
            gridSelection: function gridSelection(type) {
              return "gridSelection/".concat(type);
            }
          };
          function useCalendarById(calendarId) {
            return useStore(hooks_module_T(function(state) {
              return state.calendar.calendars.find(function(cal) {
                return cal.id === calendarId;
              });
            }, [calendarId]));
          }
          function useCalendarColor(model) {
            var _model$calendarId;
            var calendar = useCalendarById((_model$calendarId = model === null || model === void 0 ? void 0 : model.calendarId) !== null && _model$calendarId !== void 0 ? _model$calendarId : null);
            return F(function() {
              return {
                color: calendar === null || calendar === void 0 ? void 0 : calendar.color,
                borderColor: calendar === null || calendar === void 0 ? void 0 : calendar.borderColor,
                backgroundColor: calendar === null || calendar === void 0 ? void 0 : calendar.backgroundColor,
                dragBackgroundColor: calendar === null || calendar === void 0 ? void 0 : calendar.dragBackgroundColor
              };
            }, [calendar]);
          }
          function keyboard_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          var KEY;
          (function(KEY2) {
            KEY2["ESCAPE"] = "Escape";
          })(KEY || (KEY = {}));
          var KEYCODE = keyboard_defineProperty({}, KEY.ESCAPE, 27);
          var MINIMUM_DRAG_MOUSE_DISTANCE = 3;
          function useTransientUpdate(selector, subscriber) {
            var store = useInternalStore();
            var selectorRef = hooks_module_s(selector);
            var subscriberRef = hooks_module_s(subscriber);
            hooks_module_(function() {
              selectorRef.current = selector;
              subscriberRef.current = subscriber;
            }, [selector, subscriber]);
            hooks_module_(function() {
              return store.subscribe(function(slice) {
                return subscriberRef.current(slice);
              }, function(state) {
                return selectorRef.current(state);
              });
            }, [selector, store]);
          }
          function isKeyPressed(e2, key) {
            return e2.key ? e2.key === key : e2.keyCode === KEYCODE[key];
          }
          function useDrag_slicedToArray(arr, i) {
            return useDrag_arrayWithHoles(arr) || useDrag_iterableToArrayLimit(arr, i) || useDrag_unsupportedIterableToArray(arr, i) || useDrag_nonIterableRest();
          }
          function useDrag_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useDrag_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return useDrag_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return useDrag_arrayLikeToArray(o2, minLen);
          }
          function useDrag_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 useDrag_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function useDrag_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function isLeftClick(buttonNum) {
            return buttonNum === 0;
          }
          function isMouseMoved(initX, initY, x2, y) {
            return Math.abs(initX - x2) >= MINIMUM_DRAG_MOUSE_DISTANCE || Math.abs(initY - y) >= MINIMUM_DRAG_MOUSE_DISTANCE;
          }
          function useDrag(draggingItemType) {
            var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, onInit = _ref.onInit, onDragStart = _ref.onDragStart, onDrag = _ref.onDrag, onMouseUp = _ref.onMouseUp, onPressESCKey = _ref.onPressESCKey;
            var _useDispatch = useDispatch("dnd"), initDrag = _useDispatch.initDrag, setDragging = _useDispatch.setDragging, cancelDrag = _useDispatch.cancelDrag, reset = _useDispatch.reset;
            var store = useInternalStore();
            var dndSliceRef = hooks_module_s(store.getState().dnd);
            useTransientUpdate(dndSelector, function(dndState) {
              dndSliceRef.current = dndState;
            });
            var _useState = hooks_module_y(false), _useState2 = useDrag_slicedToArray(_useState, 2), isStarted = _useState2[0], setStarted = _useState2[1];
            var handleMouseMoveRef = hooks_module_s(null);
            var handleMouseUpRef = hooks_module_s(null);
            var handleKeyDownRef = hooks_module_s(null);
            var handleMouseDown = hooks_module_T(function(e2) {
              if (!isLeftClick(e2.button)) {
                return;
              }
              if (e2.currentTarget) {
                e2.currentTarget.ondragstart = function() {
                  return false;
                };
              }
              e2.preventDefault();
              setStarted(true);
              initDrag({
                draggingItemType,
                initX: e2.clientX,
                initY: e2.clientY
              });
              onInit === null || onInit === void 0 ? void 0 : onInit(e2, dndSliceRef.current);
            }, [onInit, draggingItemType, initDrag]);
            var handleMouseMove = hooks_module_T(function(e2) {
              var _dndSliceRef$current = dndSliceRef.current, initX = _dndSliceRef$current.initX, initY = _dndSliceRef$current.initY, draggingState = _dndSliceRef$current.draggingState, currentDraggingItemType = _dndSliceRef$current.draggingItemType;
              if (currentDraggingItemType !== draggingItemType) {
                setStarted(false);
                reset();
                return;
              }
              if (isPresent(initX) && isPresent(initY) && !isMouseMoved(initX, initY, e2.clientX, e2.clientY)) {
                return;
              }
              if (draggingState <= DraggingState.INIT) {
                setDragging({
                  x: e2.clientX,
                  y: e2.clientY
                });
                onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(e2, dndSliceRef.current);
                return;
              }
              setDragging({
                x: e2.clientX,
                y: e2.clientY
              });
              onDrag === null || onDrag === void 0 ? void 0 : onDrag(e2, dndSliceRef.current);
            }, [draggingItemType, onDrag, onDragStart, setDragging, reset]);
            var handleMouseUp = hooks_module_T(function(e2) {
              e2.stopPropagation();
              if (isStarted) {
                onMouseUp === null || onMouseUp === void 0 ? void 0 : onMouseUp(e2, dndSliceRef.current);
                setStarted(false);
                reset();
              }
            }, [isStarted, onMouseUp, reset]);
            var handleKeyDown = hooks_module_T(function(e2) {
              if (isKeyPressed(e2, KEY.ESCAPE)) {
                setStarted(false);
                cancelDrag();
                onPressESCKey === null || onPressESCKey === void 0 ? void 0 : onPressESCKey(e2, dndSliceRef.current);
              }
            }, [onPressESCKey, cancelDrag]);
            hooks_module_(function() {
              handleMouseMoveRef.current = handleMouseMove;
              handleMouseUpRef.current = handleMouseUp;
              handleKeyDownRef.current = handleKeyDown;
            }, [handleKeyDown, handleMouseMove, handleMouseUp]);
            hooks_module_(function() {
              var wrappedHandleMouseMove = function wrappedHandleMouseMove2(e2) {
                var _handleMouseMoveRef$c;
                return (_handleMouseMoveRef$c = handleMouseMoveRef.current) === null || _handleMouseMoveRef$c === void 0 ? void 0 : _handleMouseMoveRef$c.call(handleMouseMoveRef, e2);
              };
              var wrappedHandleMouseUp = function wrappedHandleMouseUp2(e2) {
                var _handleMouseUpRef$cur;
                return (_handleMouseUpRef$cur = handleMouseUpRef.current) === null || _handleMouseUpRef$cur === void 0 ? void 0 : _handleMouseUpRef$cur.call(handleMouseUpRef, e2);
              };
              var wrappedHandleKeyDown = function wrappedHandleKeyDown2(e2) {
                var _handleKeyDownRef$cur;
                return (_handleKeyDownRef$cur = handleKeyDownRef.current) === null || _handleKeyDownRef$cur === void 0 ? void 0 : _handleKeyDownRef$cur.call(handleKeyDownRef, e2);
              };
              if (isStarted) {
                document.addEventListener("mousemove", wrappedHandleMouseMove);
                document.addEventListener("mouseup", wrappedHandleMouseUp);
                document.addEventListener("keydown", wrappedHandleKeyDown);
                return function() {
                  document.removeEventListener("mousemove", wrappedHandleMouseMove);
                  document.removeEventListener("mouseup", wrappedHandleMouseUp);
                  document.removeEventListener("keydown", wrappedHandleKeyDown);
                };
              }
              return noop;
            }, [isStarted, reset]);
            return handleMouseDown;
          }
          function passConditionalProp(condition, prop) {
            return condition ? prop : void 0;
          }
          function horizontalEvent_slicedToArray(arr, i) {
            return horizontalEvent_arrayWithHoles(arr) || horizontalEvent_iterableToArrayLimit(arr, i) || horizontalEvent_unsupportedIterableToArray(arr, i) || horizontalEvent_nonIterableRest();
          }
          function horizontalEvent_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function horizontalEvent_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return horizontalEvent_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return horizontalEvent_arrayLikeToArray(o2, minLen);
          }
          function horizontalEvent_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 horizontalEvent_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function horizontalEvent_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function horizontalEvent_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function horizontalEvent_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? horizontalEvent_ownKeys(Object(source), true).forEach(function(key) {
                horizontalEvent_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : horizontalEvent_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function horizontalEvent_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function getMargins(flat) {
            return {
              vertical: flat ? 5 : 2,
              horizontal: 8
            };
          }
          function getBorderRadius(exceedLeft, exceedRight) {
            var leftBorderRadius = exceedLeft ? 0 : "2px";
            var rightBorderRadius = exceedRight ? 0 : "2px";
            return "".concat(leftBorderRadius, " ").concat(rightBorderRadius, " ").concat(rightBorderRadius, " ").concat(leftBorderRadius);
          }
          function getEventItemStyle(_ref) {
            var uiModel = _ref.uiModel, flat = _ref.flat, eventHeight = _ref.eventHeight, isDraggingTarget = _ref.isDraggingTarget, calendarColor = _ref.calendarColor;
            var exceedLeft = uiModel.exceedLeft, exceedRight = uiModel.exceedRight;
            var _getEventColors = getEventColors(uiModel, calendarColor), color = _getEventColors.color, backgroundColor = _getEventColors.backgroundColor, dragBackgroundColor = _getEventColors.dragBackgroundColor, borderColor = _getEventColors.borderColor;
            var defaultItemStyle = {
              color,
              backgroundColor: isDraggingTarget ? dragBackgroundColor : backgroundColor,
              borderLeft: exceedLeft ? "none" : "3px solid ".concat(borderColor),
              borderRadius: getBorderRadius(exceedLeft, exceedRight),
              overflow: "hidden",
              height: eventHeight,
              lineHeight: toPx(eventHeight),
              opacity: isDraggingTarget ? 0.5 : 1
            };
            var margins = getMargins(flat);
            return flat ? horizontalEvent_objectSpread({
              marginTop: margins.vertical
            }, defaultItemStyle) : horizontalEvent_objectSpread({
              marginLeft: exceedLeft ? 0 : margins.horizontal,
              marginRight: exceedRight ? 0 : margins.horizontal
            }, defaultItemStyle);
          }
          function getContainerStyle(_ref2) {
            var flat = _ref2.flat, uiModel = _ref2.uiModel, resizingWidth = _ref2.resizingWidth, movingLeft = _ref2.movingLeft, eventHeight = _ref2.eventHeight, headerHeight = _ref2.headerHeight;
            var top = uiModel.top, left = uiModel.left, width = uiModel.width, model = uiModel.model;
            var margins = getMargins(flat);
            var baseStyle = flat ? {} : {
              width: resizingWidth || toPercent(width),
              left: toPercent(movingLeft !== null && movingLeft !== void 0 ? movingLeft : left),
              top: (top - 1) * (eventHeight + margins.vertical) + headerHeight,
              position: "absolute"
            };
            return Object.assign(baseStyle, model.customStyle);
          }
          function getTestId(_ref3) {
            var model = _ref3.model;
            var calendarId = model.calendarId ? "".concat(model.calendarId, "-") : "";
            var id = model.id ? "".concat(model.id, "-") : "";
            return "".concat(calendarId).concat(id).concat(model.title);
          }
          var classNames = {
            eventBody: cls("weekday-event"),
            eventTitle: cls("weekday-event-title"),
            eventDot: cls("weekday-event-dot"),
            moveEvent: cls("dragging--move-event"),
            resizeEvent: cls("dragging--resize-horizontal-event")
          };
          function HorizontalEvent(_ref4) {
            var _ref4$flat = _ref4.flat, flat = _ref4$flat === void 0 ? false : _ref4$flat, uiModel = _ref4.uiModel, eventHeight = _ref4.eventHeight, headerHeight = _ref4.headerHeight, _ref4$resizingWidth = _ref4.resizingWidth, resizingWidth = _ref4$resizingWidth === void 0 ? null : _ref4$resizingWidth, _ref4$movingLeft = _ref4.movingLeft, movingLeft = _ref4$movingLeft === void 0 ? null : _ref4$movingLeft;
            var _useStore = useStore(viewSelector), currentView = _useStore.currentView;
            var _useStore2 = useStore(optionsSelector), useDetailPopup = _useStore2.useDetailPopup, isReadOnlyCalendar = _useStore2.isReadOnly;
            var _useDispatch = useDispatch("dnd"), setDraggingEventUIModel = _useDispatch.setDraggingEventUIModel;
            var _useDispatch2 = useDispatch("popup"), showDetailPopup = _useDispatch2.showDetailPopup;
            var layoutContainer = useLayoutContainer();
            var eventBus = useEventBus();
            var calendarColor = useCalendarColor(uiModel.model);
            var _useState = hooks_module_y(false), _useState2 = horizontalEvent_slicedToArray(_useState, 2), isDraggingTarget = _useState2[0], setIsDraggingTarget = _useState2[1];
            var eventContainerRef = hooks_module_s(null);
            var _uiModel$model = uiModel.model, isReadOnly = _uiModel$model.isReadOnly, id = _uiModel$model.id, calendarId = _uiModel$model.calendarId;
            var isDraggableEvent2 = !isReadOnlyCalendar && !isReadOnly && type_isNil(resizingWidth) && type_isNil(movingLeft);
            var startDragEvent = function startDragEvent2(className2) {
              setDraggingEventUIModel(uiModel);
              layoutContainer === null || layoutContainer === void 0 ? void 0 : layoutContainer.classList.add(className2);
            };
            var endDragEvent = function endDragEvent2(className2) {
              setIsDraggingTarget(false);
              layoutContainer === null || layoutContainer === void 0 ? void 0 : layoutContainer.classList.remove(className2);
            };
            useTransientUpdate(dndSelector, function(_ref5) {
              var draggingEventUIModel = _ref5.draggingEventUIModel, draggingState = _ref5.draggingState;
              if (draggingState === DraggingState.DRAGGING && (draggingEventUIModel === null || draggingEventUIModel === void 0 ? void 0 : draggingEventUIModel.cid()) === uiModel.cid() && type_isNil(resizingWidth) && type_isNil(movingLeft)) {
                setIsDraggingTarget(true);
              } else {
                setIsDraggingTarget(false);
              }
            });
            hooks_module_(function() {
              if (isDraggableEvent2) {
                eventBus.fire("afterRenderEvent", uiModel.model.toEventObject());
              }
            }, []);
            var onResizeStart = useDrag(DRAGGING_TYPE_CREATORS.resizeEvent("dayGrid", "".concat(uiModel.cid())), {
              onDragStart: function onDragStart() {
                return startDragEvent(classNames.resizeEvent);
              },
              onMouseUp: function onMouseUp() {
                return endDragEvent(classNames.resizeEvent);
              },
              onPressESCKey: function onPressESCKey() {
                return endDragEvent(classNames.resizeEvent);
              }
            });
            var onMoveStart = useDrag(DRAGGING_TYPE_CREATORS.moveEvent("dayGrid", "".concat(uiModel.cid())), {
              onDragStart: function onDragStart() {
                if (isDraggableEvent2) {
                  startDragEvent(classNames.moveEvent);
                }
              },
              onMouseUp: function onMouseUp(e2, _ref6) {
                var draggingState = _ref6.draggingState;
                endDragEvent(classNames.moveEvent);
                var isClick = draggingState <= DraggingState.INIT;
                if (isClick && useDetailPopup && eventContainerRef.current) {
                  showDetailPopup({
                    event: uiModel.model,
                    eventRect: eventContainerRef.current.getBoundingClientRect()
                  }, flat);
                }
                if (isClick) {
                  eventBus.fire("clickEvent", {
                    event: uiModel.model.toEventObject(),
                    nativeEvent: e2
                  });
                }
              },
              onPressESCKey: function onPressESCKey() {
                return endDragEvent(classNames.moveEvent);
              }
            });
            var handleResizeStart = function handleResizeStart2(e2) {
              e2.stopPropagation();
              if (isDraggableEvent2) {
                onResizeStart(e2);
              }
            };
            var handleMoveStart = function handleMoveStart2(e2) {
              e2.stopPropagation();
              onMoveStart(e2);
            };
            var isDotEvent = !isDraggingTarget && currentView === "month" && uiModel.model.category === "time" && isSameDate(uiModel.model.start, uiModel.model.end);
            var shouldHideResizeHandler = !isDraggableEvent2 || flat || isDraggingTarget || uiModel.exceedRight;
            var containerStyle = getContainerStyle({
              uiModel,
              eventHeight,
              headerHeight,
              flat,
              movingLeft,
              resizingWidth
            });
            var eventItemStyle = getEventItemStyle({
              uiModel,
              flat,
              eventHeight,
              isDraggingTarget,
              calendarColor
            });
            return h("div", {
              className: cls("weekday-event-block", {
                "weekday-exceed-left": uiModel.exceedLeft,
                "weekday-exceed-right": uiModel.exceedRight
              }),
              style: containerStyle,
              "data-testid": passConditionalProp(isDraggableEvent2, getTestId(uiModel)),
              "data-calendar-id": calendarId,
              "data-event-id": id,
              ref: eventContainerRef
            }, h("div", {
              className: classNames.eventBody,
              style: horizontalEvent_objectSpread(horizontalEvent_objectSpread({}, eventItemStyle), {}, {
                backgroundColor: isDotEvent ? null : eventItemStyle.backgroundColor,
                borderLeft: isDotEvent ? null : eventItemStyle.borderLeft
              }),
              onMouseDown: handleMoveStart
            }, isDotEvent ? h("span", {
              className: classNames.eventDot,
              style: {
                backgroundColor: eventItemStyle.backgroundColor
              }
            }) : null, h("span", {
              className: classNames.eventTitle
            }, h(Template, {
              template: uiModel.model.category,
              param: uiModel.model
            })), !shouldHideResizeHandler ? h(HorizontalEventResizeIcon, {
              onMouseDown: handleResizeStart
            }) : null));
          }
          function useWhen(callback, condition) {
            var callbackRef = hooks_module_s(callback);
            hooks_module_(function() {
              callbackRef.current = callback;
            }, [callback]);
            hooks_module_(function() {
              var invoke = function invoke2() {
                return callbackRef.current();
              };
              if (condition) {
                invoke();
              }
            }, [condition]);
          }
          function useCurrentPointerPositionInGrid_slicedToArray(arr, i) {
            return useCurrentPointerPositionInGrid_arrayWithHoles(arr) || useCurrentPointerPositionInGrid_iterableToArrayLimit(arr, i) || useCurrentPointerPositionInGrid_unsupportedIterableToArray(arr, i) || useCurrentPointerPositionInGrid_nonIterableRest();
          }
          function useCurrentPointerPositionInGrid_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useCurrentPointerPositionInGrid_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return useCurrentPointerPositionInGrid_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return useCurrentPointerPositionInGrid_arrayLikeToArray(o2, minLen);
          }
          function useCurrentPointerPositionInGrid_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 useCurrentPointerPositionInGrid_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function useCurrentPointerPositionInGrid_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function useCurrentPointerPositionInGrid(gridPositionFinder) {
            var _useState = hooks_module_y(null), _useState2 = useCurrentPointerPositionInGrid_slicedToArray(_useState, 2), currentGridPos = _useState2[0], setCurrentGridPos = _useState2[1];
            useTransientUpdate(dndSelector, function(dndState) {
              if (isPresent(dndState.x) && isPresent(dndState.y)) {
                var gridPosition = gridPositionFinder({
                  clientX: dndState.x,
                  clientY: dndState.y
                });
                if (gridPosition) {
                  setCurrentGridPos(gridPosition);
                }
              }
            });
            var clearCurrentGridPos = hooks_module_T(function() {
              return setCurrentGridPos(null);
            }, []);
            return [currentGridPos, clearCurrentGridPos];
          }
          __webpack_require__(7368);
          __webpack_require__(4471);
          __webpack_require__(1172);
          function useDraggingEvent_slicedToArray(arr, i) {
            return useDraggingEvent_arrayWithHoles(arr) || useDraggingEvent_iterableToArrayLimit(arr, i) || useDraggingEvent_unsupportedIterableToArray(arr, i) || useDraggingEvent_nonIterableRest();
          }
          function useDraggingEvent_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useDraggingEvent_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return useDraggingEvent_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return useDraggingEvent_arrayLikeToArray(o2, minLen);
          }
          function useDraggingEvent_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 useDraggingEvent_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function useDraggingEvent_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var getTargetEventId = function getTargetEventId2(itemType, area, behavior) {
            function isEventDraggingType(_itemType) {
              return new RegExp("^event/".concat(area, "/").concat(behavior, "/\\d+$")).test(_itemType);
            }
            if (type_isNil(itemType)) {
              return null;
            }
            return isEventDraggingType(itemType) ? last(itemType.split("/")) : null;
          };
          function useDraggingEvent(area, behavior) {
            var _useState = hooks_module_y(false), _useState2 = useDraggingEvent_slicedToArray(_useState, 2), isDraggingEnd = _useState2[0], setIsDraggingEnd = _useState2[1];
            var _useState3 = hooks_module_y(false), _useState4 = useDraggingEvent_slicedToArray(_useState3, 2), isDraggingCanceled = _useState4[0], setIsDraggingCanceled = _useState4[1];
            var _useState5 = hooks_module_y(null), _useState6 = useDraggingEvent_slicedToArray(_useState5, 2), draggingEvent = _useState6[0], setDraggingEvent = _useState6[1];
            useTransientUpdate(dndSelector, function(_ref) {
              var draggingItemType = _ref.draggingItemType, draggingEventUIModel = _ref.draggingEventUIModel, draggingState = _ref.draggingState;
              var targetEventId = getTargetEventId(draggingItemType, area, behavior);
              var hasMatchingTargetEvent = Number(targetEventId) === (draggingEventUIModel === null || draggingEventUIModel === void 0 ? void 0 : draggingEventUIModel.cid());
              var isIdle = draggingState === DraggingState.IDLE;
              var isCanceled = draggingState === DraggingState.CANCELED;
              if (type_isNil(draggingEvent) && hasMatchingTargetEvent) {
                setDraggingEvent(draggingEventUIModel);
              }
              if (isPresent(draggingEvent) && (isIdle || isCanceled)) {
                setIsDraggingEnd(true);
                setIsDraggingCanceled(isCanceled);
              }
            });
            var clearDraggingEvent = function clearDraggingEvent2() {
              setDraggingEvent(null);
              setIsDraggingEnd(false);
              setIsDraggingCanceled(false);
            };
            return {
              isDraggingEnd,
              isDraggingCanceled,
              draggingEvent,
              clearDraggingEvent
            };
          }
          function useAlldayGridRowEventMove_slicedToArray(arr, i) {
            return useAlldayGridRowEventMove_arrayWithHoles(arr) || useAlldayGridRowEventMove_iterableToArrayLimit(arr, i) || useAlldayGridRowEventMove_unsupportedIterableToArray(arr, i) || useAlldayGridRowEventMove_nonIterableRest();
          }
          function useAlldayGridRowEventMove_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useAlldayGridRowEventMove_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return useAlldayGridRowEventMove_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return useAlldayGridRowEventMove_arrayLikeToArray(o2, minLen);
          }
          function useAlldayGridRowEventMove_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 useAlldayGridRowEventMove_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function useAlldayGridRowEventMove_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function useAlldayGridRowEventMove(_ref) {
            var rowStyleInfo = _ref.rowStyleInfo, gridPositionFinder = _ref.gridPositionFinder;
            var eventBus = useEventBus();
            var _useDraggingEvent = useDraggingEvent("dayGrid", "move"), isDraggingEnd = _useDraggingEvent.isDraggingEnd, isDraggingCanceled = _useDraggingEvent.isDraggingCanceled, movingEvent = _useDraggingEvent.draggingEvent, clearDraggingEvent = _useDraggingEvent.clearDraggingEvent;
            var startGridXRef = hooks_module_s(null);
            var _useCurrentPointerPos = useCurrentPointerPositionInGrid(gridPositionFinder), _useCurrentPointerPos2 = useAlldayGridRowEventMove_slicedToArray(_useCurrentPointerPos, 2), currentGridPos = _useCurrentPointerPos2[0], clearCurrentGridPos = _useCurrentPointerPos2[1];
            var _ref2 = currentGridPos !== null && currentGridPos !== void 0 ? currentGridPos : {}, columnIndex = _ref2.columnIndex;
            var targetEventStartGridX = F(function() {
              return type_isNil(movingEvent) ? null : rowStyleInfo.findIndex(function(_ref3) {
                var left = _ref3.left;
                return left === movingEvent.left;
              });
            }, [rowStyleInfo, movingEvent]);
            var currentMovingLeft = F(function() {
              if (type_isNil(columnIndex) || type_isNil(startGridXRef.current) || type_isNil(targetEventStartGridX)) {
                return null;
              }
              var newColumnIndex = targetEventStartGridX + columnIndex - startGridXRef.current;
              return newColumnIndex < 0 ? -rowStyleInfo[-newColumnIndex].left : rowStyleInfo[newColumnIndex].left;
            }, [columnIndex, rowStyleInfo, targetEventStartGridX]);
            hooks_module_(function() {
              if (type_isNil(startGridXRef.current) && isPresent(columnIndex)) {
                startGridXRef.current = columnIndex;
              }
            }, [columnIndex]);
            useWhen(function() {
              var shouldUpdate = !isDraggingCanceled && isPresent(movingEvent) && isPresent(columnIndex) && isPresent(currentMovingLeft) && columnIndex !== startGridXRef.current;
              if (shouldUpdate && isPresent(startGridXRef.current)) {
                var dateOffset = columnIndex - startGridXRef.current;
                var newStartDate = new date_TZDate(movingEvent.model.getStarts());
                var newEndDate = new date_TZDate(movingEvent.model.getEnds());
                newStartDate.addDate(dateOffset);
                newEndDate.addDate(dateOffset);
                eventBus.fire("beforeUpdateEvent", {
                  event: movingEvent.model.toEventObject(),
                  changes: {
                    start: newStartDate,
                    end: newEndDate
                  }
                });
              }
              clearDraggingEvent();
              clearCurrentGridPos();
              startGridXRef.current = null;
            }, isDraggingEnd);
            return F(function() {
              return {
                movingEvent,
                movingLeft: currentMovingLeft
              };
            }, [currentMovingLeft, movingEvent]);
          }
          function MovingEventShadow(_ref) {
            var rowStyleInfo = _ref.rowStyleInfo, gridPositionFinder = _ref.gridPositionFinder;
            var _useAlldayGridRowEven = useAlldayGridRowEventMove({
              rowStyleInfo,
              gridPositionFinder
            }), movingEvent = _useAlldayGridRowEven.movingEvent, movingLeft = _useAlldayGridRowEven.movingLeft;
            if (type_isNil(movingEvent)) {
              return null;
            }
            return h(HorizontalEvent, {
              uiModel: movingEvent,
              eventHeight: EVENT_HEIGHT,
              headerHeight: 0,
              movingLeft
            });
          }
          function useAlldayGridRowEventResize_slicedToArray(arr, i) {
            return useAlldayGridRowEventResize_arrayWithHoles(arr) || useAlldayGridRowEventResize_iterableToArrayLimit(arr, i) || useAlldayGridRowEventResize_unsupportedIterableToArray(arr, i) || useAlldayGridRowEventResize_nonIterableRest();
          }
          function useAlldayGridRowEventResize_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useAlldayGridRowEventResize_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return useAlldayGridRowEventResize_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return useAlldayGridRowEventResize_arrayLikeToArray(o2, minLen);
          }
          function useAlldayGridRowEventResize_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 useAlldayGridRowEventResize_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function useAlldayGridRowEventResize_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function getEventColIndex(uiModel, row) {
            var start = getGridDateIndex(uiModel.getStarts(), row);
            var end = getGridDateIndex(uiModel.getEnds(), row);
            return {
              start,
              end
            };
          }
          function useAlldayGridRowEventResize(_ref) {
            var weekDates = _ref.weekDates, gridColWidthMap = _ref.gridColWidthMap, gridPositionFinder = _ref.gridPositionFinder;
            var eventBus = useEventBus();
            var _useDraggingEvent = useDraggingEvent("dayGrid", "resize"), isDraggingEnd = _useDraggingEvent.isDraggingEnd, isDraggingCanceled = _useDraggingEvent.isDraggingCanceled, resizingEvent = _useDraggingEvent.draggingEvent, clearDraggingEvent = _useDraggingEvent.clearDraggingEvent;
            var _useCurrentPointerPos = useCurrentPointerPositionInGrid(gridPositionFinder), _useCurrentPointerPos2 = useAlldayGridRowEventResize_slicedToArray(_useCurrentPointerPos, 2), currentGridPos = _useCurrentPointerPos2[0], clearCurrentGridPos = _useCurrentPointerPos2[1];
            var _ref2 = currentGridPos !== null && currentGridPos !== void 0 ? currentGridPos : {}, columnIndex = _ref2.columnIndex;
            var targetEventGridIndices = F(function() {
              if (resizingEvent) {
                return getEventColIndex(resizingEvent, weekDates);
              }
              return {
                start: -1,
                end: -1
              };
            }, [weekDates, resizingEvent]);
            var resizingWidth = F(function() {
              if (targetEventGridIndices.start > -1 && isPresent(columnIndex)) {
                return gridColWidthMap[targetEventGridIndices.start][columnIndex];
              }
              return null;
            }, [columnIndex, gridColWidthMap, targetEventGridIndices.start]);
            useWhen(function() {
              var shouldUpdateEvent = !isDraggingCanceled && isPresent(resizingEvent) && isPresent(columnIndex) && targetEventGridIndices.start <= columnIndex && targetEventGridIndices.end !== columnIndex;
              if (shouldUpdateEvent) {
                var targetDate = weekDates[columnIndex];
                eventBus.fire("beforeUpdateEvent", {
                  event: resizingEvent.model.toEventObject(),
                  changes: {
                    end: targetDate
                  }
                });
              }
              clearCurrentGridPos();
              clearDraggingEvent();
            }, isDraggingEnd);
            return F(function() {
              return {
                resizingEvent,
                resizingWidth
              };
            }, [resizingWidth, resizingEvent]);
          }
          function ResizingEventShadow(_ref) {
            var weekDates = _ref.weekDates, gridColWidthMap = _ref.gridColWidthMap, gridPositionFinder = _ref.gridPositionFinder;
            var _useAlldayGridRowEven = useAlldayGridRowEventResize({
              weekDates,
              gridColWidthMap,
              gridPositionFinder
            }), resizingEvent = _useAlldayGridRowEven.resizingEvent, resizingWidth = _useAlldayGridRowEven.resizingWidth;
            if (type_isNil(resizingEvent)) {
              return null;
            }
            return h(HorizontalEvent, {
              uiModel: resizingEvent,
              eventHeight: EVENT_HEIGHT,
              headerHeight: 0,
              resizingWidth
            });
          }
          function useDOMNode_slicedToArray(arr, i) {
            return useDOMNode_arrayWithHoles(arr) || useDOMNode_iterableToArrayLimit(arr, i) || useDOMNode_unsupportedIterableToArray(arr, i) || useDOMNode_nonIterableRest();
          }
          function useDOMNode_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useDOMNode_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return useDOMNode_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return useDOMNode_arrayLikeToArray(o2, minLen);
          }
          function useDOMNode_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 useDOMNode_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function useDOMNode_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function useDOMNode() {
            var _useState = hooks_module_y(null), _useState2 = useDOMNode_slicedToArray(_useState, 2), node = _useState2[0], setNode = _useState2[1];
            var setNodeRef = hooks_module_T(function(ref) {
              if (ref) {
                setNode(ref);
              }
            }, []);
            return [node, setNodeRef];
          }
          function useGridRowHeightController_slicedToArray(arr, i) {
            return useGridRowHeightController_arrayWithHoles(arr) || useGridRowHeightController_iterableToArrayLimit(arr, i) || useGridRowHeightController_unsupportedIterableToArray(arr, i) || useGridRowHeightController_nonIterableRest();
          }
          function useGridRowHeightController_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useGridRowHeightController_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return useGridRowHeightController_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return useGridRowHeightController_arrayLikeToArray(o2, minLen);
          }
          function useGridRowHeightController_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 useGridRowHeightController_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function useGridRowHeightController_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function useGridRowHeightController(maxTop, category) {
            var _useState = hooks_module_y(0), _useState2 = useGridRowHeightController_slicedToArray(_useState, 2), clickedIndex = _useState2[0], setClickedIndex = _useState2[1];
            var _useState3 = hooks_module_y(false), _useState4 = useGridRowHeightController_slicedToArray(_useState3, 2), isClickedCount = _useState4[0], setClickedCount = _useState4[1];
            var _useDispatch = useDispatch("weekViewLayout"), updateDayGridRowHeight = _useDispatch.updateDayGridRowHeight;
            var onClickExceedCount = hooks_module_T(function(index) {
              setClickedCount(true);
              setClickedIndex(index);
              updateDayGridRowHeight({
                rowName: category,
                height: (maxTop + 1) * EVENT_HEIGHT
              });
            }, [category, maxTop, updateDayGridRowHeight]);
            var onClickCollapseButton = hooks_module_T(function() {
              setClickedCount(false);
              updateDayGridRowHeight({
                rowName: category,
                height: DEFAULT_PANEL_HEIGHT
              });
            }, [category, updateDayGridRowHeight]);
            return {
              clickedIndex,
              isClickedCount,
              onClickExceedCount,
              onClickCollapseButton
            };
          }
          function requestTimeout(fn, delay, registerCancel) {
            var start;
            var loop = function loop2(timestamp) {
              if (!start) {
                start = timestamp;
              }
              var elapsed = timestamp - start;
              if (elapsed >= delay) {
                fn();
                registerCancel(noop);
                return;
              }
              var raf2 = requestAnimationFrame(loop2);
              registerCancel(function() {
                return cancelAnimationFrame(raf2);
              });
            };
            var raf = requestAnimationFrame(loop);
            registerCancel(function() {
              return cancelAnimationFrame(raf);
            });
          }
          function useClickPrevention(_ref) {
            var onClick = _ref.onClick, onDblClick = _ref.onDblClick, _ref$delay = _ref.delay, delay = _ref$delay === void 0 ? 300 : _ref$delay;
            var cancelCallback = hooks_module_s(noop);
            var registerCancel = function registerCancel2(fn) {
              cancelCallback.current = fn;
            };
            var cancelScheduledWork = function cancelScheduledWork2() {
              cancelCallback.current();
            };
            hooks_module_(function() {
              return cancelScheduledWork;
            }, []);
            var handleClick = function handleClick2(e2) {
              cancelScheduledWork();
              requestTimeout(onClick.bind(null, e2), delay, registerCancel);
            };
            var handleDblClick = function handleDblClick2(e2) {
              cancelScheduledWork();
              onDblClick(e2);
            };
            return [handleClick, handleDblClick];
          }
          function useGridSelection_toConsumableArray(arr) {
            return useGridSelection_arrayWithoutHoles(arr) || useGridSelection_iterableToArray(arr) || useGridSelection_unsupportedIterableToArray(arr) || useGridSelection_nonIterableSpread();
          }
          function useGridSelection_nonIterableSpread() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useGridSelection_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function useGridSelection_arrayWithoutHoles(arr) {
            if (Array.isArray(arr))
              return useGridSelection_arrayLikeToArray(arr);
          }
          function useGridSelection_slicedToArray(arr, i) {
            return useGridSelection_arrayWithHoles(arr) || useGridSelection_iterableToArrayLimit(arr, i) || useGridSelection_unsupportedIterableToArray(arr, i) || useGridSelection_nonIterableRest();
          }
          function useGridSelection_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useGridSelection_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return useGridSelection_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return useGridSelection_arrayLikeToArray(o2, minLen);
          }
          function useGridSelection_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 useGridSelection_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function useGridSelection_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var GRID_SELECTION_TYPE_MAP = {
            dayGridMonth: "month",
            dayGridWeek: "allday",
            timeGrid: "time"
          };
          function sortDates(a2, b2) {
            var isIncreased = a2 < b2;
            return isIncreased ? [a2, b2] : [b2, a2];
          }
          function useGridSelection(_ref) {
            var type = _ref.type, selectionSorter = _ref.selectionSorter, dateGetter = _ref.dateGetter, dateCollection = _ref.dateCollection, gridPositionFinder = _ref.gridPositionFinder;
            var _useStore = useStore(optionsSelector), useFormPopup = _useStore.useFormPopup, gridSelectionOptions = _useStore.gridSelection;
            var enableDblClick = gridSelectionOptions.enableDblClick, enableClick = gridSelectionOptions.enableClick;
            var _useDispatch = useDispatch("gridSelection"), setGridSelection = _useDispatch.setGridSelection, addGridSelection = _useDispatch.addGridSelection, clearAll = _useDispatch.clearAll;
            var _useDispatch2 = useDispatch("popup"), hideAllPopup = _useDispatch2.hideAllPopup, showFormPopup = _useDispatch2.showFormPopup;
            var eventBus = useEventBus();
            var layoutContainer = useLayoutContainer();
            var _useState = hooks_module_y(null), _useState2 = useGridSelection_slicedToArray(_useState, 2), initMousePosition = _useState2[0], setInitMousePosition = _useState2[1];
            var _useState3 = hooks_module_y(null), _useState4 = useGridSelection_slicedToArray(_useState3, 2), initGridPosition = _useState4[0], setInitGridPosition = _useState4[1];
            var isSelectingGridRef = hooks_module_s(false);
            var gridSelectionRef = hooks_module_s(null);
            useTransientUpdate(hooks_module_T(function(state) {
              return state.gridSelection[type];
            }, [type]), function(gridSelection) {
              gridSelectionRef.current = gridSelection;
            });
            useTransientUpdate(dndSelector, function(_ref2) {
              var draggingState = _ref2.draggingState, draggingItemType = _ref2.draggingItemType;
              isSelectingGridRef.current = draggingItemType === currentGridSelectionType && draggingState >= DraggingState.INIT;
            });
            var currentGridSelectionType = DRAGGING_TYPE_CREATORS.gridSelection(type);
            var setGridSelectionByPosition = function setGridSelectionByPosition2(e2) {
              var gridPosition = gridPositionFinder(e2);
              if (isPresent(initGridPosition) && isPresent(gridPosition)) {
                setGridSelection(type, selectionSorter(initGridPosition, gridPosition));
              }
            };
            var _useClickPrevention = useClickPrevention({
              onClick: function onClick(e2) {
                if (enableClick) {
                  onMouseUp(e2, true);
                }
              },
              onDblClick: function onDblClick(e2) {
                if (enableDblClick) {
                  onMouseUp(e2, true);
                }
              },
              delay: 250
            }), _useClickPrevention2 = useGridSelection_slicedToArray(_useClickPrevention, 2), handleClickWithDebounce = _useClickPrevention2[0], handleDblClickPreventingClick = _useClickPrevention2[1];
            var onMouseUpWithClick = function onMouseUpWithClick2(e2) {
              var isClick = e2.detail <= 1;
              if (!enableClick && (!enableDblClick || isClick)) {
                return;
              }
              if (enableClick) {
                if (isClick) {
                  handleClickWithDebounce(e2);
                } else {
                  handleDblClickPreventingClick(e2);
                }
                return;
              }
              onMouseUp(e2, true);
            };
            var onMouseUp = function onMouseUp2(e2, isClickEvent) {
              if (isClickEvent) {
                setGridSelectionByPosition(e2);
              }
              if (isPresent(gridSelectionRef.current)) {
                var _layoutContainer$quer;
                var _sortDates = sortDates.apply(void 0, useGridSelection_toConsumableArray(dateGetter(dateCollection, gridSelectionRef.current))), _sortDates2 = useGridSelection_slicedToArray(_sortDates, 2), startDate = _sortDates2[0], endDate = _sortDates2[1];
                if (useFormPopup && isPresent(initMousePosition)) {
                  var popupArrowPointPosition = {
                    top: (e2.clientY + initMousePosition.y) / 2,
                    left: (e2.clientX + initMousePosition.x) / 2
                  };
                  showFormPopup({
                    isCreationPopup: true,
                    title: "",
                    location: "",
                    start: startDate,
                    end: endDate,
                    isAllday: type !== "timeGrid",
                    isPrivate: false,
                    popupArrowPointPosition,
                    close: clearAll
                  });
                }
                var gridSelectionSelector = ".".concat(cls(GRID_SELECTION_TYPE_MAP[type]), ".").concat(cls("grid-selection"));
                var gridSelectionElements = Array.from((_layoutContainer$quer = layoutContainer === null || layoutContainer === void 0 ? void 0 : layoutContainer.querySelectorAll(gridSelectionSelector)) !== null && _layoutContainer$quer !== void 0 ? _layoutContainer$quer : []);
                eventBus.fire("selectDateTime", {
                  start: startDate.toDate(),
                  end: endDate.toDate(),
                  isAllday: type !== "timeGrid",
                  nativeEvent: e2,
                  gridSelectionElements
                });
              }
            };
            var clearGridSelection = hooks_module_T(function() {
              setInitMousePosition(null);
              setInitGridPosition(null);
              setGridSelection(type, null);
            }, [setGridSelection, type]);
            var onMouseDown = useDrag(currentGridSelectionType, {
              onInit: function onInit(e2) {
                if (useFormPopup) {
                  setInitMousePosition({
                    x: e2.clientX,
                    y: e2.clientY
                  });
                  hideAllPopup();
                }
                var gridPosition = gridPositionFinder(e2);
                if (isPresent(gridPosition)) {
                  setInitGridPosition(gridPosition);
                }
                if (!useFormPopup) {
                  addGridSelection(type, gridSelectionRef.current);
                }
              },
              onDragStart: function onDragStart(e2) {
                setGridSelectionByPosition(e2);
              },
              onDrag: function onDrag(e2) {
                if (isSelectingGridRef.current) {
                  setGridSelectionByPosition(e2);
                }
              },
              onMouseUp: function(_onMouseUp) {
                function onMouseUp2(_x, _x2) {
                  return _onMouseUp.apply(this, arguments);
                }
                onMouseUp2.toString = function() {
                  return _onMouseUp.toString();
                };
                return onMouseUp2;
              }(function(e2, _ref3) {
                var draggingState = _ref3.draggingState;
                e2.stopPropagation();
                var isClickEvent = draggingState <= DraggingState.INIT;
                if (isClickEvent) {
                  onMouseUpWithClick(e2);
                } else {
                  onMouseUp(e2, isClickEvent);
                }
              }),
              onPressESCKey: clearGridSelection
            });
            hooks_module_(function() {
              return clearGridSelection;
            }, [clearGridSelection]);
            return onMouseDown;
          }
          function alldayGridRow_toConsumableArray(arr) {
            return alldayGridRow_arrayWithoutHoles(arr) || alldayGridRow_iterableToArray(arr) || alldayGridRow_unsupportedIterableToArray(arr) || alldayGridRow_nonIterableSpread();
          }
          function alldayGridRow_nonIterableSpread() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function alldayGridRow_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function alldayGridRow_arrayWithoutHoles(arr) {
            if (Array.isArray(arr))
              return alldayGridRow_arrayLikeToArray(arr);
          }
          function alldayGridRow_slicedToArray(arr, i) {
            return alldayGridRow_arrayWithHoles(arr) || alldayGridRow_iterableToArrayLimit(arr, i) || alldayGridRow_unsupportedIterableToArray(arr, i) || alldayGridRow_nonIterableRest();
          }
          function alldayGridRow_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function alldayGridRow_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return alldayGridRow_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return alldayGridRow_arrayLikeToArray(o2, minLen);
          }
          function alldayGridRow_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 alldayGridRow_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function alldayGridRow_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var rowTitleTemplate = "alldayTitle";
          function AlldayGridRow(_ref) {
            var events = _ref.events, weekDates = _ref.weekDates, _ref$height = _ref.height, height = _ref$height === void 0 ? DEFAULT_PANEL_HEIGHT : _ref$height, _ref$options = _ref.options, options = _ref$options === void 0 ? {} : _ref$options, rowStyleInfo = _ref.rowStyleInfo, gridColWidthMap = _ref.gridColWidthMap;
            var _useStore = useStore(optionsSelector), isReadOnly = _useStore.isReadOnly;
            var dayGridLeftTheme = useTheme(weekDayGridLeftSelector);
            var _useDOMNode = useDOMNode(), _useDOMNode2 = alldayGridRow_slicedToArray(_useDOMNode, 2), panelContainer = _useDOMNode2[0], setPanelContainerRef = _useDOMNode2[1];
            var _options$narrowWeeken = options.narrowWeekend, narrowWeekend = _options$narrowWeeken === void 0 ? false : _options$narrowWeeken, _options$startDayOfWe = options.startDayOfWeek, startDayOfWeek = _options$startDayOfWe === void 0 ? Day.SUN : _options$startDayOfWe;
            var maxTop = F(function() {
              return Math.max.apply(Math, [0].concat(alldayGridRow_toConsumableArray(events.map(function(_ref2) {
                var top = _ref2.top;
                return top;
              }))));
            }, [events]);
            var gridPositionFinder = F(function() {
              return createGridPositionFinder({
                container: panelContainer,
                rowsCount: 1,
                columnsCount: weekDates.length,
                narrowWeekend,
                startDayOfWeek
              });
            }, [panelContainer, weekDates.length, narrowWeekend, startDayOfWeek]);
            var _useGridRowHeightCont = useGridRowHeightController(maxTop, "allday"), clickedIndex = _useGridRowHeightCont.clickedIndex, isClickedCount = _useGridRowHeightCont.isClickedCount, onClickExceedCount = _useGridRowHeightCont.onClickExceedCount, onClickCollapseButton = _useGridRowHeightCont.onClickCollapseButton;
            var horizontalEvents = F(function() {
              return events.filter(isWithinHeight(height, EVENT_HEIGHT + WEEK_EVENT_MARGIN_TOP)).map(function(uiModel) {
                return h(HorizontalEvent, {
                  key: "allday-DayEvent-".concat(uiModel.cid()),
                  uiModel,
                  eventHeight: EVENT_HEIGHT,
                  headerHeight: 0
                });
              });
            }, [events, height]);
            var startGridSelection = useGridSelection({
              type: "dayGridWeek",
              gridPositionFinder,
              dateCollection: weekDates,
              selectionSorter: alldayGridRowSelectionHelper.sortSelection,
              dateGetter: alldayGridRowSelectionHelper.getDateFromCollection
            });
            var onMouseDown = function onMouseDown2(e2) {
              var target = e2.target;
              if (isReadOnly || !target.classList.contains(cls("panel-grid"))) {
                return;
              }
              startGridSelection(e2);
            };
            return h(p, null, h("div", {
              className: cls("panel-title"),
              style: dayGridLeftTheme
            }, h(Template, {
              template: rowTitleTemplate,
              param: "alldayTitle"
            })), h("div", {
              className: cls("allday-panel"),
              ref: setPanelContainerRef,
              onMouseDown
            }, h("div", {
              className: cls("panel-grid-wrapper")
            }, h(GridCells, {
              uiModels: events,
              weekDates,
              narrowWeekend,
              height,
              clickedIndex,
              isClickedCount,
              onClickExceedCount,
              onClickCollapseButton
            })), h("div", {
              className: cls("panel-allday-events")
            }, horizontalEvents), h(ResizingEventShadow, {
              weekDates,
              gridPositionFinder,
              gridColWidthMap
            }), h(MovingEventShadow, {
              rowStyleInfo,
              gridPositionFinder
            }), h(AlldayGridSelection, {
              weekDates,
              narrowWeekend
            })));
          }
          function otherGridRow_toConsumableArray(arr) {
            return otherGridRow_arrayWithoutHoles(arr) || otherGridRow_iterableToArray(arr) || otherGridRow_unsupportedIterableToArray(arr) || otherGridRow_nonIterableSpread();
          }
          function otherGridRow_nonIterableSpread() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function otherGridRow_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return otherGridRow_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return otherGridRow_arrayLikeToArray(o2, minLen);
          }
          function otherGridRow_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function otherGridRow_arrayWithoutHoles(arr) {
            if (Array.isArray(arr))
              return otherGridRow_arrayLikeToArray(arr);
          }
          function otherGridRow_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 OtherGridRow(_ref) {
            var events = _ref.events, weekDates = _ref.weekDates, category = _ref.category, _ref$height = _ref.height, height = _ref$height === void 0 ? DEFAULT_PANEL_HEIGHT : _ref$height, _ref$options = _ref.options, options = _ref$options === void 0 ? {} : _ref$options;
            var dayGridLeftTheme = useTheme(weekDayGridLeftSelector);
            var maxTop = F(function() {
              return Math.max.apply(Math, [0].concat(otherGridRow_toConsumableArray(events.map(function(_ref2) {
                var top = _ref2.top;
                return top;
              }))));
            }, [events]);
            var _options$narrowWeeken = options.narrowWeekend, narrowWeekend = _options$narrowWeeken === void 0 ? false : _options$narrowWeeken;
            var rowTitleTemplate2 = "".concat(category, "Title");
            var _useGridRowHeightCont = useGridRowHeightController(maxTop, category), clickedIndex = _useGridRowHeightCont.clickedIndex, isClickedCount = _useGridRowHeightCont.isClickedCount, onClickExceedCount = _useGridRowHeightCont.onClickExceedCount, onClickCollapseButton = _useGridRowHeightCont.onClickCollapseButton;
            var horizontalEvents = F(function() {
              return events.filter(isWithinHeight(height, EVENT_HEIGHT + WEEK_EVENT_MARGIN_TOP)).map(function(uiModel) {
                return h(HorizontalEvent, {
                  key: "".concat(category, "-DayEvent-").concat(uiModel.cid()),
                  uiModel,
                  eventHeight: EVENT_HEIGHT,
                  headerHeight: 0
                });
              });
            }, [category, events, height]);
            return h(p, null, h("div", {
              className: cls("panel-title"),
              style: dayGridLeftTheme
            }, h(Template, {
              template: rowTitleTemplate2,
              param: category
            })), h("div", {
              className: cls("allday-panel")
            }, h("div", {
              className: cls("panel-grid-wrapper")
            }, h(GridCells, {
              uiModels: events,
              weekDates,
              narrowWeekend,
              height,
              clickedIndex,
              isClickedCount,
              onClickExceedCount,
              onClickCollapseButton
            })), h("div", {
              className: cls("panel-".concat(category, "-events"))
            }, horizontalEvents)));
          }
          __webpack_require__(2656);
          var eventDetailSectionDetail_classNames = {
            detailItem: cls("detail-item"),
            detailItemIndent: cls("detail-item", "detail-item-indent"),
            detailItemSeparate: cls("detail-item", "detail-item-separate"),
            sectionDetail: cls("popup-section", "section-detail"),
            content: cls("content"),
            locationIcon: cls("icon", "ic-location-b"),
            repeatIcon: cls("icon", "ic-repeat-b"),
            userIcon: cls("icon", "ic-user-b"),
            stateIcon: cls("icon", "ic-state-b"),
            calendarDotIcon: cls("icon", "calendar-dot")
          };
          function EventDetailSectionDetail(_ref) {
            var _calendar$backgroundC, _calendar$name;
            var event = _ref.event;
            var location2 = event.location, recurrenceRule = event.recurrenceRule, attendees = event.attendees, state = event.state, calendarId = event.calendarId, body = event.body;
            var calendar = useCalendarById(calendarId);
            return h("div", {
              className: eventDetailSectionDetail_classNames.sectionDetail
            }, location2 && h("div", {
              className: eventDetailSectionDetail_classNames.detailItem
            }, h("span", {
              className: eventDetailSectionDetail_classNames.locationIcon
            }), h("span", {
              className: eventDetailSectionDetail_classNames.content
            }, h(Template, {
              template: "popupDetailLocation",
              param: event,
              as: "span"
            }))), recurrenceRule && h("div", {
              className: eventDetailSectionDetail_classNames.detailItem
            }, h("span", {
              className: eventDetailSectionDetail_classNames.repeatIcon
            }), h("span", {
              className: eventDetailSectionDetail_classNames.content
            }, h(Template, {
              template: "popupDetailRecurrenceRule",
              param: event,
              as: "span"
            }))), attendees && h("div", {
              className: eventDetailSectionDetail_classNames.detailItemIndent
            }, h("span", {
              className: eventDetailSectionDetail_classNames.userIcon
            }), h("span", {
              className: eventDetailSectionDetail_classNames.content
            }, h(Template, {
              template: "popupDetailAttendees",
              param: event,
              as: "span"
            }))), state && h("div", {
              className: eventDetailSectionDetail_classNames.detailItem
            }, h("span", {
              className: eventDetailSectionDetail_classNames.stateIcon
            }), h("span", {
              className: eventDetailSectionDetail_classNames.content
            }, h(Template, {
              template: "popupDetailState",
              param: event,
              as: "span"
            }))), calendar && h("div", {
              className: eventDetailSectionDetail_classNames.detailItem
            }, h("span", {
              className: eventDetailSectionDetail_classNames.calendarDotIcon,
              style: {
                backgroundColor: (_calendar$backgroundC = calendar === null || calendar === void 0 ? void 0 : calendar.backgroundColor) !== null && _calendar$backgroundC !== void 0 ? _calendar$backgroundC : ""
              }
            }), h("span", {
              className: eventDetailSectionDetail_classNames.content
            }, (_calendar$name = calendar === null || calendar === void 0 ? void 0 : calendar.name) !== null && _calendar$name !== void 0 ? _calendar$name : "")), body && h("div", {
              className: eventDetailSectionDetail_classNames.detailItemSeparate
            }, h("span", {
              className: eventDetailSectionDetail_classNames.content
            }, h(Template, {
              template: "popupDetailBody",
              param: event,
              as: "span"
            }))));
          }
          var eventDetailSectionHeader_classNames = {
            sectionHeader: cls("popup-section", "section-header"),
            content: cls("content"),
            eventTitle: cls("event-title")
          };
          function EventDetailSectionHeader(_ref) {
            var event = _ref.event;
            return h("div", {
              className: eventDetailSectionHeader_classNames.sectionHeader
            }, h("div", {
              className: eventDetailSectionHeader_classNames.eventTitle
            }, h(Template, {
              template: "popupDetailTitle",
              param: event,
              as: "span"
            })), h("div", {
              className: eventDetailSectionHeader_classNames.content
            }, h(Template, {
              template: "popupDetailDate",
              param: event,
              as: "span"
            })));
          }
          var SEE_MORE_POPUP_SLOT_CLASS_NAME = cls("see-more-popup-slot");
          var EVENT_FORM_POPUP_SLOT_CLASS_NAME = cls("event-form-popup-slot");
          var EVENT_DETAIL_POPUP_SLOT_CLASS_NAME = cls("event-detail-popup-slot");
          var HALF_OF_POPUP_ARROW_HEIGHT = 8;
          var BOOLEAN_KEYS_OF_EVENT_MODEL_DATA = ["isPrivate", "isAllday", "isPending", "isFocused", "isVisible", "isReadOnly"];
          var DetailPopupArrowDirection;
          (function(DetailPopupArrowDirection2) {
            DetailPopupArrowDirection2["right"] = "right";
            DetailPopupArrowDirection2["left"] = "left";
          })(DetailPopupArrowDirection || (DetailPopupArrowDirection = {}));
          var FormPopupArrowDirection;
          (function(FormPopupArrowDirection2) {
            FormPopupArrowDirection2["top"] = "top";
            FormPopupArrowDirection2["bottom"] = "bottom";
          })(FormPopupArrowDirection || (FormPopupArrowDirection = {}));
          function floatingLayer_slicedToArray(arr, i) {
            return floatingLayer_arrayWithHoles(arr) || floatingLayer_iterableToArrayLimit(arr, i) || floatingLayer_unsupportedIterableToArray(arr, i) || floatingLayer_nonIterableRest();
          }
          function floatingLayer_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function floatingLayer_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return floatingLayer_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return floatingLayer_arrayLikeToArray(o2, minLen);
          }
          function floatingLayer_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 floatingLayer_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function floatingLayer_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var FloatingLayerContext = B(null);
          function FloatingLayerProvider(_ref) {
            var children = _ref.children;
            var _useDOMNode = useDOMNode(), _useDOMNode2 = floatingLayer_slicedToArray(_useDOMNode, 2), containerRef = _useDOMNode2[0], containerRefCallback = _useDOMNode2[1];
            var _useDOMNode3 = useDOMNode(), _useDOMNode4 = floatingLayer_slicedToArray(_useDOMNode3, 2), seeMorePopupSlotRef = _useDOMNode4[0], seeMorePopupSlotRefCallback = _useDOMNode4[1];
            var _useDOMNode5 = useDOMNode(), _useDOMNode6 = floatingLayer_slicedToArray(_useDOMNode5, 2), formPopupSlotRef = _useDOMNode6[0], formPopupSlotRefCallback = _useDOMNode6[1];
            var _useDOMNode7 = useDOMNode(), _useDOMNode8 = floatingLayer_slicedToArray(_useDOMNode7, 2), detailPopupSlotRef = _useDOMNode8[0], detailPopupSlotRefCallback = _useDOMNode8[1];
            var floatingLayer = {
              container: containerRef,
              seeMorePopupSlot: seeMorePopupSlotRef,
              formPopupSlot: formPopupSlotRef,
              detailPopupSlot: detailPopupSlotRef
            };
            return h(FloatingLayerContext.Provider, {
              value: floatingLayer
            }, children, h("div", {
              ref: containerRefCallback,
              className: cls("floating-layer")
            }, h("div", {
              ref: seeMorePopupSlotRefCallback,
              className: SEE_MORE_POPUP_SLOT_CLASS_NAME
            }), h("div", {
              ref: formPopupSlotRefCallback,
              className: EVENT_FORM_POPUP_SLOT_CLASS_NAME
            }), h("div", {
              ref: detailPopupSlotRefCallback,
              className: EVENT_DETAIL_POPUP_SLOT_CLASS_NAME
            })));
          }
          var useFloatingLayer = function useFloatingLayer2(floatingLayerType) {
            var _floatingLayers$float;
            var floatingLayers = hooks_module_q(FloatingLayerContext);
            if (isUndefined_default()(floatingLayers)) {
              throw new Error("FloatingLayerProvider is not found");
            }
            return (_floatingLayers$float = floatingLayers === null || floatingLayers === void 0 ? void 0 : floatingLayers[floatingLayerType]) !== null && _floatingLayers$float !== void 0 ? _floatingLayers$float : null;
          };
          function isTopOutOfLayout(top, layoutRect, popupRect) {
            return top + popupRect.height > layoutRect.top + layoutRect.height;
          }
          function isLeftOutOfLayout(left, layoutRect, popupRect) {
            return left + popupRect.width > layoutRect.left + layoutRect.width;
          }
          var eventFormPopupParamSelector = function eventFormPopupParamSelector2(state) {
            return state.popup[PopupType.Form];
          };
          var eventDetailPopupParamSelector = function eventDetailPopupParamSelector2(state) {
            return state.popup[PopupType.Detail];
          };
          var seeMorePopupParamSelector = function seeMorePopupParamSelector2(state) {
            return state.popup[PopupType.SeeMore];
          };
          function eventDetailPopup_slicedToArray(arr, i) {
            return eventDetailPopup_arrayWithHoles(arr) || eventDetailPopup_iterableToArrayLimit(arr, i) || eventDetailPopup_unsupportedIterableToArray(arr, i) || eventDetailPopup_nonIterableRest();
          }
          function eventDetailPopup_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function eventDetailPopup_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return eventDetailPopup_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return eventDetailPopup_arrayLikeToArray(o2, minLen);
          }
          function eventDetailPopup_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 eventDetailPopup_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function eventDetailPopup_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var eventDetailPopup_classNames = {
            popupContainer: cls("popup-container"),
            detailContainer: cls("detail-container"),
            topLine: cls("popup-top-line"),
            border: cls("popup-arrow-border"),
            fill: cls("popup-arrow-fill"),
            sectionButton: cls("popup-section", "section-button"),
            content: cls("content"),
            editIcon: cls("icon", "ic-edit"),
            deleteIcon: cls("icon", "ic-delete"),
            editButton: cls("edit-button"),
            deleteButton: cls("delete-button"),
            verticalLine: cls("vertical-line")
          };
          function calculatePopupPosition(eventRect, layoutRect, popupRect) {
            var top = eventRect.top + eventRect.height / 2 - popupRect.height / 2;
            var left = eventRect.left + eventRect.width;
            if (isTopOutOfLayout(top, layoutRect, popupRect)) {
              top = layoutRect.top + layoutRect.height - popupRect.height;
            }
            if (isLeftOutOfLayout(left, layoutRect, popupRect)) {
              left = eventRect.left - popupRect.width;
            }
            return [Math.max(top, layoutRect.top) + window.scrollY, Math.max(left, layoutRect.left) + window.scrollX];
          }
          function calculatePopupArrowPosition(eventRect, layoutRect, popupRect) {
            var top = eventRect.top + eventRect.height / 2 + window.scrollY;
            var popupLeft = eventRect.left + eventRect.width;
            var isOutOfLayout = popupLeft + popupRect.width > layoutRect.left + layoutRect.width;
            var direction = isOutOfLayout ? DetailPopupArrowDirection.right : DetailPopupArrowDirection.left;
            return {
              top,
              direction
            };
          }
          function EventDetailPopup() {
            var _useStore = useStore(optionsSelector), useFormPopup = _useStore.useFormPopup;
            var popupParams = useStore(eventDetailPopupParamSelector);
            var _ref = popupParams !== null && popupParams !== void 0 ? popupParams : {}, event = _ref.event, eventRect = _ref.eventRect;
            var _useDispatch = useDispatch("popup"), showFormPopup = _useDispatch.showFormPopup, hideDetailPopup = _useDispatch.hideDetailPopup;
            var calendarColor = useCalendarColor(event);
            var layoutContainer = useLayoutContainer();
            var detailPopupSlot = useFloatingLayer("detailPopupSlot");
            var eventBus = useEventBus();
            var popupContainerRef = hooks_module_s(null);
            var _useState = hooks_module_y({}), _useState2 = eventDetailPopup_slicedToArray(_useState, 2), style = _useState2[0], setStyle = _useState2[1];
            var _useState3 = hooks_module_y(0), _useState4 = eventDetailPopup_slicedToArray(_useState3, 2), arrowTop = _useState4[0], setArrowTop = _useState4[1];
            var _useState5 = hooks_module_y(DetailPopupArrowDirection.left), _useState6 = eventDetailPopup_slicedToArray(_useState5, 2), arrowDirection = _useState6[0], setArrowDirection = _useState6[1];
            var popupArrowClassName = F(function() {
              var right = arrowDirection === DetailPopupArrowDirection.right;
              var left = arrowDirection === DetailPopupArrowDirection.left;
              return cls("popup-arrow", {
                right,
                left
              });
            }, [arrowDirection]);
            hooks_module_h(function() {
              if (popupContainerRef.current && eventRect && layoutContainer) {
                var layoutRect = layoutContainer.getBoundingClientRect();
                var popupRect = popupContainerRef.current.getBoundingClientRect();
                var _calculatePopupPositi = calculatePopupPosition(eventRect, layoutRect, popupRect), _calculatePopupPositi2 = eventDetailPopup_slicedToArray(_calculatePopupPositi, 2), top = _calculatePopupPositi2[0], left = _calculatePopupPositi2[1];
                var _calculatePopupArrowP = calculatePopupArrowPosition(eventRect, layoutRect, popupRect), arrowTopPosition = _calculatePopupArrowP.top, direction = _calculatePopupArrowP.direction;
                setStyle({
                  top,
                  left
                });
                setArrowTop(arrowTopPosition - top - HALF_OF_POPUP_ARROW_HEIGHT);
                setArrowDirection(direction);
              }
            }, [eventRect, layoutContainer]);
            if (type_isNil(event) || type_isNil(eventRect) || type_isNil(detailPopupSlot)) {
              return null;
            }
            var _event$title = event.title, title = _event$title === void 0 ? "" : _event$title, _event$isAllday = event.isAllday, isAllday2 = _event$isAllday === void 0 ? false : _event$isAllday, _event$start = event.start, start = _event$start === void 0 ? new date_TZDate() : _event$start, _event$end = event.end, end = _event$end === void 0 ? new date_TZDate() : _event$end, location2 = event.location, state = event.state, isReadOnly = event.isReadOnly, isPrivate = event.isPrivate;
            var popupArrowPointPosition = {
              top: eventRect.top + eventRect.height / 2,
              left: eventRect.left + eventRect.width / 2
            };
            var onClickEditButton = function onClickEditButton2() {
              if (useFormPopup) {
                showFormPopup({
                  isCreationPopup: false,
                  event,
                  title,
                  location: location2,
                  start,
                  end,
                  isAllday: isAllday2,
                  isPrivate,
                  eventState: state,
                  popupArrowPointPosition
                });
              } else {
                eventBus.fire("beforeUpdateEvent", {
                  event: event.toEventObject(),
                  changes: {}
                });
              }
            };
            var onClickDeleteButton = function onClickDeleteButton2() {
              eventBus.fire("beforeDeleteEvent", event.toEventObject());
              hideDetailPopup();
            };
            return compat_module_V(h("div", {
              role: "dialog",
              className: eventDetailPopup_classNames.popupContainer,
              ref: popupContainerRef,
              style
            }, h("div", {
              className: eventDetailPopup_classNames.detailContainer
            }, h(EventDetailSectionHeader, {
              event
            }), h(EventDetailSectionDetail, {
              event
            }), !isReadOnly && h("div", {
              className: eventDetailPopup_classNames.sectionButton
            }, h("button", {
              type: "button",
              className: eventDetailPopup_classNames.editButton,
              onClick: onClickEditButton
            }, h("span", {
              className: eventDetailPopup_classNames.editIcon
            }), h("span", {
              className: eventDetailPopup_classNames.content
            }, h(Template, {
              template: "popupEdit",
              as: "span"
            }))), h("div", {
              className: eventDetailPopup_classNames.verticalLine
            }), h("button", {
              type: "button",
              className: eventDetailPopup_classNames.deleteButton,
              onClick: onClickDeleteButton
            }, h("span", {
              className: eventDetailPopup_classNames.deleteIcon
            }), h("span", {
              className: eventDetailPopup_classNames.content
            }, h(Template, {
              template: "popupDelete",
              as: "span"
            }))))), h("div", {
              className: eventDetailPopup_classNames.topLine,
              style: {
                backgroundColor: calendarColor.backgroundColor
              }
            }), h("div", {
              className: popupArrowClassName
            }, h("div", {
              className: eventDetailPopup_classNames.border,
              style: {
                top: arrowTop
              }
            }, h("div", {
              className: eventDetailPopup_classNames.fill
            })))), detailPopupSlot);
          }
          var calendarDropdownMenu_classNames = {
            dropdownMenu: cls("dropdown-menu"),
            dropdownMenuItem: cls("dropdown-menu-item"),
            dotIcon: cls("icon", "dot"),
            content: cls("content")
          };
          function DropdownMenuItem(_ref) {
            var index = _ref.index, name = _ref.name, backgroundColor = _ref.backgroundColor, _onClick = _ref.onClick;
            return h("li", {
              className: calendarDropdownMenu_classNames.dropdownMenuItem,
              onClick: function onClick(e2) {
                return _onClick(e2, index);
              }
            }, h("span", {
              className: calendarDropdownMenu_classNames.dotIcon,
              style: {
                backgroundColor
              }
            }), h("span", {
              className: calendarDropdownMenu_classNames.content
            }, name));
          }
          function CalendarDropdownMenu(_ref2) {
            var calendars = _ref2.calendars, setOpened = _ref2.setOpened, onChangeIndex = _ref2.onChangeIndex;
            var handleDropdownMenuItemClick = function handleDropdownMenuItemClick2(e2, index) {
              e2.stopPropagation();
              setOpened(false);
              onChangeIndex(index);
            };
            return h("ul", {
              className: calendarDropdownMenu_classNames.dropdownMenu
            }, calendars.map(function(_ref3, index) {
              var name = _ref3.name, _ref3$backgroundColor = _ref3.backgroundColor, backgroundColor = _ref3$backgroundColor === void 0 ? "000" : _ref3$backgroundColor;
              return h(DropdownMenuItem, {
                key: "dropdown-".concat(name, "-").concat(index),
                index,
                name,
                backgroundColor,
                onClick: handleDropdownMenuItemClick
              });
            }));
          }
          function popupSection_toConsumableArray(arr) {
            return popupSection_arrayWithoutHoles(arr) || popupSection_iterableToArray(arr) || popupSection_unsupportedIterableToArray(arr) || popupSection_nonIterableSpread();
          }
          function popupSection_nonIterableSpread() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function popupSection_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return popupSection_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return popupSection_arrayLikeToArray(o2, minLen);
          }
          function popupSection_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function popupSection_arrayWithoutHoles(arr) {
            if (Array.isArray(arr))
              return popupSection_arrayLikeToArray(arr);
          }
          function popupSection_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 PopupSection(_ref) {
            var children = _ref.children, _ref$classNames = _ref.classNames, classNames2 = _ref$classNames === void 0 ? [] : _ref$classNames, _ref$onClick = _ref.onClick, onClick = _ref$onClick === void 0 ? noop : _ref$onClick;
            return h("div", {
              className: cls.apply(void 0, ["popup-section"].concat(popupSection_toConsumableArray(classNames2))),
              onClick
            }, children);
          }
          function useDropdownState_slicedToArray(arr, i) {
            return useDropdownState_arrayWithHoles(arr) || useDropdownState_iterableToArrayLimit(arr, i) || useDropdownState_unsupportedIterableToArray(arr, i) || useDropdownState_nonIterableRest();
          }
          function useDropdownState_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useDropdownState_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return useDropdownState_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return useDropdownState_arrayLikeToArray(o2, minLen);
          }
          function useDropdownState_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 useDropdownState_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function useDropdownState_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function useDropdownState() {
            var _useState = hooks_module_y(false), _useState2 = useDropdownState_slicedToArray(_useState, 2), isOpened = _useState2[0], setOpened = _useState2[1];
            var toggleDropdown = function toggleDropdown2() {
              return setOpened(function(prev) {
                return !prev;
              });
            };
            return {
              isOpened,
              setOpened,
              toggleDropdown
            };
          }
          function useFormState_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function useFormState_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? useFormState_ownKeys(Object(source), true).forEach(function(key) {
                useFormState_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : useFormState_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function useFormState_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          var FormStateActionType;
          (function(FormStateActionType2) {
            FormStateActionType2["init"] = "init";
            FormStateActionType2["setCalendarId"] = "setCalendarId";
            FormStateActionType2["setTitle"] = "setTitle";
            FormStateActionType2["setLocation"] = "setLocation";
            FormStateActionType2["setPrivate"] = "setPrivate";
            FormStateActionType2["setAllday"] = "setAllday";
            FormStateActionType2["setState"] = "setState";
            FormStateActionType2["reset"] = "reset";
          })(FormStateActionType || (FormStateActionType = {}));
          var defaultFormState = {
            title: "",
            location: "",
            isAllday: false,
            isPrivate: false,
            state: "Busy"
          };
          function formStateReducer(state, action) {
            switch (action.type) {
              case FormStateActionType.init:
                return useFormState_objectSpread(useFormState_objectSpread({}, defaultFormState), action.event);
              case FormStateActionType.setCalendarId:
                return useFormState_objectSpread(useFormState_objectSpread({}, state), {}, {
                  calendarId: action.calendarId
                });
              case FormStateActionType.setTitle:
                return useFormState_objectSpread(useFormState_objectSpread({}, state), {}, {
                  title: action.title
                });
              case FormStateActionType.setLocation:
                return useFormState_objectSpread(useFormState_objectSpread({}, state), {}, {
                  location: action.location
                });
              case FormStateActionType.setPrivate:
                return useFormState_objectSpread(useFormState_objectSpread({}, state), {}, {
                  isPrivate: action.isPrivate
                });
              case FormStateActionType.setAllday:
                return useFormState_objectSpread(useFormState_objectSpread({}, state), {}, {
                  isAllday: action.isAllday
                });
              case FormStateActionType.setState:
                return useFormState_objectSpread(useFormState_objectSpread({}, state), {}, {
                  state: action.state
                });
              case FormStateActionType.reset:
                return useFormState_objectSpread(useFormState_objectSpread({}, state), defaultFormState);
              default:
                return state;
            }
          }
          function useFormState(initCalendarId) {
            return hooks_module_d(formStateReducer, useFormState_objectSpread({
              calendarId: initCalendarId
            }, defaultFormState));
          }
          var calendarSelector_classNames = {
            popupSection: ["dropdown-section", "calendar-section"],
            popupSectionItem: cls("popup-section-item", "popup-button"),
            dotIcon: cls("icon", "dot"),
            content: cls("content", "event-calendar")
          };
          function CalendarSelector(_ref) {
            var calendars = _ref.calendars, selectedCalendarId = _ref.selectedCalendarId, formStateDispatch = _ref.formStateDispatch;
            var _useDropdownState = useDropdownState(), isOpened = _useDropdownState.isOpened, setOpened = _useDropdownState.setOpened, toggleDropdown = _useDropdownState.toggleDropdown;
            var selectedCalendar = calendars.find(function(calendar) {
              return calendar.id === selectedCalendarId;
            });
            var _ref2 = selectedCalendar !== null && selectedCalendar !== void 0 ? selectedCalendar : {}, _ref2$backgroundColor = _ref2.backgroundColor, backgroundColor = _ref2$backgroundColor === void 0 ? "" : _ref2$backgroundColor, _ref2$name = _ref2.name, name = _ref2$name === void 0 ? "" : _ref2$name;
            var changeIndex = function changeIndex2(index) {
              return formStateDispatch({
                type: FormStateActionType.setCalendarId,
                calendarId: calendars[index].id
              });
            };
            return h(PopupSection, {
              onClick: toggleDropdown,
              classNames: calendarSelector_classNames.popupSection
            }, h("button", {
              type: "button",
              className: calendarSelector_classNames.popupSectionItem
            }, h("span", {
              className: calendarSelector_classNames.dotIcon,
              style: {
                backgroundColor
              }
            }), h("span", {
              className: calendarSelector_classNames.content
            }, name), h("span", {
              className: cls("icon", "ic-dropdown-arrow", {
                open: isOpened
              })
            })), isOpened && h(CalendarDropdownMenu, {
              calendars,
              setOpened,
              onChangeIndex: changeIndex
            }));
          }
          var closePopupButton_classNames = {
            closeButton: cls("popup-button", "popup-close"),
            closeIcon: cls("icon", "ic-close")
          };
          function ClosePopupButton(_ref) {
            var type = _ref.type, close = _ref.close;
            var _useDispatch = useDispatch("popup"), hideAllPopup = _useDispatch.hideAllPopup;
            var onClickHandler = function onClickHandler2() {
              hideAllPopup();
              if (isFunction(close)) {
                close();
              }
            };
            return h("button", {
              type: "button",
              className: closePopupButton_classNames.closeButton,
              onClick: onClickHandler
            }, type === "moreEvents" ? h(Template, {
              template: "monthMoreClose"
            }) : h("i", {
              className: closePopupButton_classNames.closeIcon
            }));
          }
          var confirmPopupButton_classNames = {
            confirmButton: cls("popup-button", "popup-confirm")
          };
          function ConfirmPopupButton(_ref) {
            var children = _ref.children;
            return h("button", {
              type: "submit",
              className: confirmPopupButton_classNames.confirmButton
            }, h("span", null, children));
          }
          var external_commonjs_tui_date_picker_commonjs2_tui_date_picker_import_tui_date_picker_amd_tui_date_picker_root_tui_DatePicker_ = __webpack_require__(4268);
          var external_commonjs_tui_date_picker_commonjs2_tui_date_picker_import_tui_date_picker_amd_tui_date_picker_root_tui_DatePicker_default = /* @__PURE__ */ __webpack_require__.n(external_commonjs_tui_date_picker_commonjs2_tui_date_picker_import_tui_date_picker_amd_tui_date_picker_root_tui_DatePicker_);
          function useStringOnlyTemplate(_ref) {
            var template = _ref.template, model = _ref.model, _ref$defaultValue = _ref.defaultValue, defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue;
            var templates2 = useStore(templateSelector);
            var templateFunc = templates2[template];
            if (type_isNil(templateFunc)) {
              return defaultValue;
            }
            var result = templateFunc(model);
            if (!isString_default()(result)) {
              result = defaultValue;
            }
            return result;
          }
          var dateSelector_classNames = {
            datePickerContainer: cls("datepicker-container"),
            datePicker: cls("popup-section-item", "popup-date-picker"),
            allday: cls("popup-section-item", "popup-section-allday"),
            dateIcon: cls("icon", "ic-date"),
            dateDash: cls("popup-date-dash"),
            content: cls("content")
          };
          var DateSelector = R(function DateSelector2(_ref, ref) {
            var start = _ref.start, end = _ref.end, _ref$isAllday = _ref.isAllday, isAllday2 = _ref$isAllday === void 0 ? false : _ref$isAllday, formStateDispatch = _ref.formStateDispatch;
            var _useStore = useStore(optionsSelector), usageStatistics = _useStore.usageStatistics;
            var startPickerContainerRef = hooks_module_s(null);
            var startPickerInputRef = hooks_module_s(null);
            var endPickerContainerRef = hooks_module_s(null);
            var endPickerInputRef = hooks_module_s(null);
            var startDatePlaceholder = useStringOnlyTemplate({
              template: "startDatePlaceholder",
              defaultValue: "Start Date"
            });
            var endDatePlaceholder = useStringOnlyTemplate({
              template: "endDatePlaceholder",
              defaultValue: "End Date"
            });
            var toggleAllday = function toggleAllday2() {
              return formStateDispatch({
                type: FormStateActionType.setAllday,
                isAllday: !isAllday2
              });
            };
            hooks_module_(function() {
              if (startPickerContainerRef.current && startPickerInputRef.current && endPickerContainerRef.current && endPickerInputRef.current) {
                var startDate = new date_TZDate(start);
                var endDate = new date_TZDate(end);
                if (isAllday2) {
                  startDate.setHours(12, 0, 0);
                  endDate.setHours(13, 0, 0);
                }
                ref.current = external_commonjs_tui_date_picker_commonjs2_tui_date_picker_import_tui_date_picker_amd_tui_date_picker_root_tui_DatePicker_default().createRangePicker({
                  startpicker: {
                    date: startDate.toDate(),
                    input: startPickerInputRef.current,
                    container: startPickerContainerRef.current
                  },
                  endpicker: {
                    date: endDate.toDate(),
                    input: endPickerInputRef.current,
                    container: endPickerContainerRef.current
                  },
                  format: isAllday2 ? "yyyy-MM-dd" : "yyyy-MM-dd HH:mm",
                  timePicker: isAllday2 ? false : {
                    showMeridiem: false,
                    usageStatistics
                  },
                  usageStatistics
                });
              }
            }, [start, end, isAllday2, usageStatistics, ref]);
            return h(PopupSection, null, h("div", {
              className: dateSelector_classNames.datePicker
            }, h("span", {
              className: dateSelector_classNames.dateIcon
            }), h("input", {
              name: "start",
              className: dateSelector_classNames.content,
              placeholder: startDatePlaceholder,
              ref: startPickerInputRef
            }), h("div", {
              className: dateSelector_classNames.datePickerContainer,
              ref: startPickerContainerRef
            })), h("span", {
              className: dateSelector_classNames.dateDash
            }, "-"), h("div", {
              className: dateSelector_classNames.datePicker
            }, h("span", {
              className: dateSelector_classNames.dateIcon
            }), h("input", {
              name: "end",
              className: dateSelector_classNames.content,
              placeholder: endDatePlaceholder,
              ref: endPickerInputRef
            }), h("div", {
              className: dateSelector_classNames.datePickerContainer,
              ref: endPickerContainerRef
            })), h("div", {
              className: dateSelector_classNames.allday,
              onClick: toggleAllday
            }, h("span", {
              className: cls("icon", {
                "ic-checkbox-normal": !isAllday2,
                "ic-checkbox-checked": isAllday2
              })
            }), h("span", {
              className: dateSelector_classNames.content
            }, h(Template, {
              template: "popupIsAllday"
            })), h("input", {
              name: "isAllday",
              type: "checkbox",
              className: cls("hidden-input"),
              value: isAllday2 ? "true" : "false",
              checked: isAllday2
            })));
          });
          var EVENT_STATES = ["Busy", "Free"];
          var stateDropdownMenu_classNames = {
            popupSectionItem: cls("popup-section-item", "dropdown-menu-item"),
            dropdownMenu: cls("dropdown-menu"),
            icon: cls("icon"),
            content: cls("content")
          };
          function StateDropdownMenu(_ref) {
            var setOpened = _ref.setOpened, setEventState = _ref.setEventState;
            var onClickDropdown = function onClickDropdown2(e2, state) {
              e2.stopPropagation();
              setOpened(false);
              setEventState(state);
            };
            return h("ul", {
              className: stateDropdownMenu_classNames.dropdownMenu
            }, EVENT_STATES.map(function(state) {
              return h("li", {
                key: state,
                className: stateDropdownMenu_classNames.popupSectionItem,
                onClick: function onClick(e2) {
                  return onClickDropdown(e2, state);
                }
              }, h("span", {
                className: stateDropdownMenu_classNames.icon
              }), h("span", {
                className: stateDropdownMenu_classNames.content
              }, state === "Busy" ? h(Template, {
                template: "popupStateBusy"
              }) : h(Template, {
                template: "popupStateFree"
              })));
            }));
          }
          var eventStateSelector_classNames = {
            popupSection: ["dropdown-section", "state-section"],
            popupSectionItem: cls("popup-section-item", "popup-button"),
            stateIcon: cls("icon", "ic-state"),
            arrowIcon: cls("icon", "ic-dropdown-arrow"),
            content: cls("content", "event-state")
          };
          function EventStateSelector(_ref) {
            var _ref$eventState = _ref.eventState, eventState = _ref$eventState === void 0 ? "Busy" : _ref$eventState, formStateDispatch = _ref.formStateDispatch;
            var _useDropdownState = useDropdownState(), isOpened = _useDropdownState.isOpened, setOpened = _useDropdownState.setOpened, toggleDropdown = _useDropdownState.toggleDropdown;
            var handleChangeEventState = function handleChangeEventState2(state) {
              return formStateDispatch({
                type: FormStateActionType.setState,
                state
              });
            };
            return h(PopupSection, {
              onClick: toggleDropdown,
              classNames: eventStateSelector_classNames.popupSection
            }, h("button", {
              type: "button",
              className: eventStateSelector_classNames.popupSectionItem
            }, h("span", {
              className: eventStateSelector_classNames.stateIcon
            }), h("span", {
              className: eventStateSelector_classNames.content
            }, eventState === "Busy" ? h(Template, {
              template: "popupStateBusy"
            }) : h(Template, {
              template: "popupStateFree"
            })), h("span", {
              className: eventStateSelector_classNames.arrowIcon
            })), isOpened && h(StateDropdownMenu, {
              setOpened,
              setEventState: handleChangeEventState
            }));
          }
          var locationInputBox_classNames = {
            popupSectionItem: cls("popup-section-item", "popup-section-location"),
            locationIcon: cls("icon", "ic-location"),
            content: cls("content")
          };
          function LocationInputBox(_ref) {
            var location2 = _ref.location, formStateDispatch = _ref.formStateDispatch;
            var locationPlaceholder = useStringOnlyTemplate({
              template: "locationPlaceholder",
              defaultValue: "Location"
            });
            var handleLocationChange = function handleLocationChange2(e2) {
              formStateDispatch({
                type: FormStateActionType.setLocation,
                location: e2.currentTarget.value
              });
            };
            return h(PopupSection, null, h("div", {
              className: locationInputBox_classNames.popupSectionItem
            }, h("span", {
              className: locationInputBox_classNames.locationIcon
            }), h("input", {
              name: "location",
              className: locationInputBox_classNames.content,
              placeholder: locationPlaceholder,
              value: location2,
              onChange: handleLocationChange
            })));
          }
          var titleInputBox_classNames = {
            popupSectionItem: cls("popup-section-item", "popup-section-title"),
            privateButton: cls("popup-section-item", "popup-section-private", "popup-button"),
            titleIcon: cls("icon", "ic-title"),
            content: cls("content")
          };
          function TitleInputBox(_ref) {
            var title = _ref.title, _ref$isPrivate = _ref.isPrivate, isPrivate = _ref$isPrivate === void 0 ? false : _ref$isPrivate, formStateDispatch = _ref.formStateDispatch;
            var titlePlaceholder = useStringOnlyTemplate({
              template: "titlePlaceholder",
              defaultValue: "Subject"
            });
            var togglePrivate = function togglePrivate2() {
              return formStateDispatch({
                type: FormStateActionType.setPrivate,
                isPrivate: !isPrivate
              });
            };
            var handleInputChange = function handleInputChange2(e2) {
              formStateDispatch({
                type: FormStateActionType.setTitle,
                title: e2.currentTarget.value
              });
            };
            return h(PopupSection, null, h("div", {
              className: titleInputBox_classNames.popupSectionItem
            }, h("span", {
              className: titleInputBox_classNames.titleIcon
            }), h("input", {
              name: "title",
              className: titleInputBox_classNames.content,
              placeholder: titlePlaceholder,
              value: title,
              onChange: handleInputChange,
              required: true
            })), h("button", {
              type: "button",
              className: titleInputBox_classNames.privateButton,
              onClick: togglePrivate
            }, h("span", {
              className: cls("icon", {
                "ic-private": isPrivate,
                "ic-public": !isPrivate
              })
            }), h("input", {
              name: "isPrivate",
              type: "checkbox",
              className: cls("hidden-input"),
              value: isPrivate ? "true" : "false",
              checked: isPrivate
            })));
          }
          function eventFormPopup_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function eventFormPopup_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? eventFormPopup_ownKeys(Object(source), true).forEach(function(key) {
                eventFormPopup_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : eventFormPopup_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function eventFormPopup_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function eventFormPopup_slicedToArray(arr, i) {
            return eventFormPopup_arrayWithHoles(arr) || eventFormPopup_iterableToArrayLimit(arr, i) || eventFormPopup_unsupportedIterableToArray(arr, i) || eventFormPopup_nonIterableRest();
          }
          function eventFormPopup_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function eventFormPopup_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return eventFormPopup_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return eventFormPopup_arrayLikeToArray(o2, minLen);
          }
          function eventFormPopup_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 eventFormPopup_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function eventFormPopup_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var eventFormPopup_classNames = {
            popupContainer: cls("popup-container"),
            formContainer: cls("form-container"),
            popupArrowBorder: cls("popup-arrow-border"),
            popupArrowFill: cls("popup-arrow-fill")
          };
          function eventFormPopup_calculatePopupPosition(popupArrowPointPosition, layoutRect, popupRect) {
            var top = popupArrowPointPosition.top - popupRect.height - HALF_OF_POPUP_ARROW_HEIGHT;
            var left = popupArrowPointPosition.left - popupRect.width / 2;
            var direction = FormPopupArrowDirection.bottom;
            if (top < layoutRect.top) {
              direction = FormPopupArrowDirection.top;
              top = popupArrowPointPosition.top + HALF_OF_POPUP_ARROW_HEIGHT;
            }
            if (isTopOutOfLayout(top, layoutRect, popupRect)) {
              top = layoutRect.top + layoutRect.height - popupRect.height;
            }
            if (isLeftOutOfLayout(left, layoutRect, popupRect)) {
              left = layoutRect.left + layoutRect.width - popupRect.width;
            }
            return {
              top: top + window.scrollY,
              left: Math.max(left, layoutRect.left) + window.scrollX,
              direction
            };
          }
          function isBooleanKey(key) {
            return BOOLEAN_KEYS_OF_EVENT_MODEL_DATA.indexOf(key) !== -1;
          }
          function getChanges(event, eventObject) {
            return Object.entries(eventObject).reduce(function(changes, _ref) {
              var _ref2 = eventFormPopup_slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1];
              var eventObjectKey = key;
              if (event[eventObjectKey] instanceof date_TZDate) {
                if (compare(event[eventObjectKey], value) !== 0) {
                  changes[eventObjectKey] = value;
                }
              } else if (event[eventObjectKey] !== value) {
                changes[eventObjectKey] = value;
              }
              return changes;
            }, {});
          }
          function EventFormPopup() {
            var _calendars$;
            var _useStore = useStore(calendarSelector), calendars = _useStore.calendars;
            var _useDispatch = useDispatch("popup"), hideAllPopup = _useDispatch.hideAllPopup;
            var popupParams = useStore(eventFormPopupParamSelector);
            var _ref3 = popupParams !== null && popupParams !== void 0 ? popupParams : {}, start = _ref3.start, end = _ref3.end, popupArrowPointPosition = _ref3.popupArrowPointPosition, close = _ref3.close, isCreationPopup = _ref3.isCreationPopup, event = _ref3.event;
            var eventBus = useEventBus();
            var formPopupSlot = useFloatingLayer("formPopupSlot");
            var _useFormState = useFormState((_calendars$ = calendars[0]) === null || _calendars$ === void 0 ? void 0 : _calendars$.id), _useFormState2 = eventFormPopup_slicedToArray(_useFormState, 2), formState = _useFormState2[0], formStateDispatch = _useFormState2[1];
            var datePickerRef = hooks_module_s(null);
            var popupContainerRef = hooks_module_s(null);
            var _useState = hooks_module_y({}), _useState2 = eventFormPopup_slicedToArray(_useState, 2), style = _useState2[0], setStyle = _useState2[1];
            var _useState3 = hooks_module_y(0), _useState4 = eventFormPopup_slicedToArray(_useState3, 2), arrowLeft = _useState4[0], setArrowLeft = _useState4[1];
            var _useState5 = hooks_module_y(FormPopupArrowDirection.bottom), _useState6 = eventFormPopup_slicedToArray(_useState5, 2), arrowDirection = _useState6[0], setArrowDirection = _useState6[1];
            var layoutContainer = useLayoutContainer();
            var popupArrowClassName = F(function() {
              var top = arrowDirection === FormPopupArrowDirection.top;
              var bottom = arrowDirection === FormPopupArrowDirection.bottom;
              return cls("popup-arrow", {
                top,
                bottom
              });
            }, [arrowDirection]);
            hooks_module_h(function() {
              if (popupContainerRef.current && popupArrowPointPosition && layoutContainer) {
                var layoutRect = layoutContainer.getBoundingClientRect();
                var popupRect = popupContainerRef.current.getBoundingClientRect();
                var _calculatePopupPositi = eventFormPopup_calculatePopupPosition(popupArrowPointPosition, layoutRect, popupRect), top = _calculatePopupPositi.top, left = _calculatePopupPositi.left, direction = _calculatePopupPositi.direction;
                var arrowLeftPosition = popupArrowPointPosition.left - left;
                setStyle({
                  left,
                  top
                });
                setArrowLeft(arrowLeftPosition);
                setArrowDirection(direction);
              }
            }, [layoutContainer, popupArrowPointPosition]);
            hooks_module_(function() {
              if (isPresent(popupParams) && isPresent(event)) {
                formStateDispatch({
                  type: FormStateActionType.init,
                  event: {
                    title: popupParams.title,
                    location: popupParams.location,
                    isAllday: popupParams.isAllday,
                    isPrivate: popupParams.isPrivate,
                    calendarId: event.calendarId,
                    state: popupParams.eventState
                  }
                });
              }
            }, [calendars, event, formStateDispatch, popupParams]);
            hooks_module_(function() {
              if (type_isNil(popupParams)) {
                formStateDispatch({
                  type: FormStateActionType.reset
                });
              }
            }, [formStateDispatch, popupParams]);
            if (type_isNil(start) || type_isNil(end) || type_isNil(formPopupSlot)) {
              return null;
            }
            var onSubmit = function onSubmit2(e2) {
              var _datePickerRef$curren, _datePickerRef$curren2;
              e2.preventDefault();
              var formData = new FormData(e2.target);
              var eventData = eventFormPopup_objectSpread({}, formState);
              formData.forEach(function(data, key) {
                eventData[key] = isBooleanKey(key) ? data === "true" : data;
              });
              eventData.start = new date_TZDate((_datePickerRef$curren = datePickerRef.current) === null || _datePickerRef$curren === void 0 ? void 0 : _datePickerRef$curren.getStartDate());
              eventData.end = new date_TZDate((_datePickerRef$curren2 = datePickerRef.current) === null || _datePickerRef$curren2 === void 0 ? void 0 : _datePickerRef$curren2.getEndDate());
              if (isCreationPopup) {
                eventBus.fire("beforeCreateEvent", eventData);
              } else if (event) {
                var changes = getChanges(event, eventData);
                eventBus.fire("beforeUpdateEvent", {
                  event: event.toEventObject(),
                  changes
                });
              }
              hideAllPopup();
            };
            return compat_module_V(h("div", {
              role: "dialog",
              className: eventFormPopup_classNames.popupContainer,
              ref: popupContainerRef,
              style
            }, h("form", {
              onSubmit
            }, h("div", {
              className: eventFormPopup_classNames.formContainer
            }, calendars !== null && calendars !== void 0 && calendars.length ? h(CalendarSelector, {
              selectedCalendarId: formState.calendarId,
              calendars,
              formStateDispatch
            }) : h(PopupSection, null), h(TitleInputBox, {
              title: formState.title,
              isPrivate: formState.isPrivate,
              formStateDispatch
            }), h(LocationInputBox, {
              location: formState.location,
              formStateDispatch
            }), h(DateSelector, {
              start,
              end,
              isAllday: formState.isAllday,
              formStateDispatch,
              ref: datePickerRef
            }), h(EventStateSelector, {
              eventState: formState.state,
              formStateDispatch
            }), h(ClosePopupButton, {
              type: "form",
              close
            }), h(PopupSection, null, h(ConfirmPopupButton, null, isCreationPopup ? h(Template, {
              template: "popupSave"
            }) : h(Template, {
              template: "popupUpdate"
            })))), h("div", {
              className: popupArrowClassName
            }, h("div", {
              className: eventFormPopup_classNames.popupArrowBorder,
              style: {
                left: arrowLeft
              }
            }, h("div", {
              className: eventFormPopup_classNames.popupArrowFill
            }))))), formPopupSlot);
          }
          function shownPopupParamSelector(state) {
            return Object.values(state.popup).find(function(popup) {
              return isPresent(popup);
            });
          }
          function PopupOverlay() {
            var shownPopupParam = useStore(shownPopupParamSelector);
            var _useDispatch = useDispatch("popup"), hideAllPopup = _useDispatch.hideAllPopup;
            var isPopupShown = isPresent(shownPopupParam);
            var onClick = function onClick2(ev) {
              var _shownPopupParam$clos;
              ev.stopPropagation();
              shownPopupParam === null || shownPopupParam === void 0 ? void 0 : (_shownPopupParam$clos = shownPopupParam.close) === null || _shownPopupParam$clos === void 0 ? void 0 : _shownPopupParam$clos.call(shownPopupParam);
              hideAllPopup();
            };
            return h("div", {
              className: cls("popup-overlay"),
              style: {
                display: isPopupShown ? "block" : "none"
              },
              onClick
            });
          }
          var seeMoreEventsPopup_classNames = {
            container: cls("see-more-container"),
            seeMore: cls("see-more"),
            header: cls("see-more-header"),
            list: cls("month-more-list")
          };
          function SeeMoreEventsPopup() {
            var popupParams = useStore(seeMorePopupParamSelector);
            var _ref = popupParams !== null && popupParams !== void 0 ? popupParams : {}, date2 = _ref.date, _ref$events = _ref.events, events = _ref$events === void 0 ? [] : _ref$events, popupPosition = _ref.popupPosition;
            var _useMonthTheme = useMonthTheme(), moreView = _useMonthTheme.moreView, moreViewTitle = _useMonthTheme.moreViewTitle;
            var seeMorePopupSlot = useFloatingLayer("seeMorePopupSlot");
            var eventBus = useEventBus();
            var moreEventsPopupContainerRef = hooks_module_s(null);
            var isHidden = type_isNil(date2) || type_isNil(popupPosition) || type_isNil(seeMorePopupSlot);
            hooks_module_(function() {
              if (!isHidden && moreEventsPopupContainerRef.current) {
                eventBus.fire("clickMoreEventsBtn", {
                  date: date2.toDate(),
                  target: moreEventsPopupContainerRef.current
                });
              }
            }, [date2, eventBus, isHidden]);
            if (isHidden) {
              return null;
            }
            var style = {
              height: MONTH_MORE_VIEW_HEADER_HEIGHT,
              marginBottom: MONTH_MORE_VIEW_HEADER_MARGIN_BOTTOM,
              padding: MONTH_MORE_VIEW_HEADER_PADDING,
              backgroundColor: moreViewTitle.backgroundColor
            };
            var moreTitle = {
              ymd: datetime_toFormat(date2, "YYYY-MM-DD"),
              day: date2.getDay(),
              date: date2.getDate().toString().padStart(2, "0")
            };
            var moreViewListStyle = {
              height: "calc(100% - ".concat(MONTH_MORE_VIEW_HEADER_HEIGHT + MONTH_MORE_VIEW_HEADER_MARGIN_BOTTOM + MONTH_MORE_VIEW_HEADER_PADDING_TOP, "px)")
            };
            return compat_module_V(h("div", {
              role: "dialog",
              className: seeMoreEventsPopup_classNames.container,
              style: popupPosition,
              ref: moreEventsPopupContainerRef
            }, h("div", {
              className: seeMoreEventsPopup_classNames.seeMore,
              style: moreView
            }, h("div", {
              className: seeMoreEventsPopup_classNames.header,
              style
            }, h(Template, {
              template: "monthMoreTitleDate",
              param: moreTitle
            }), h(ClosePopupButton, {
              type: "moreEvents"
            })), h("div", {
              className: seeMoreEventsPopup_classNames.list,
              style: moreViewListStyle
            }, events.map(function(uiModel) {
              return h(HorizontalEvent, {
                key: "see-more-event-item-".concat(uiModel.cid()),
                uiModel,
                eventHeight: MONTH_EVENT_HEIGHT,
                headerHeight: MONTH_MORE_VIEW_HEADER_HEIGHT,
                flat: true
              });
            })))), seeMorePopupSlot);
          }
          function layout_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function layout_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? layout_ownKeys(Object(source), true).forEach(function(key) {
                layout_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : layout_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function layout_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function layout_slicedToArray(arr, i) {
            return layout_arrayWithHoles(arr) || layout_iterableToArrayLimit(arr, i) || layout_unsupportedIterableToArray(arr, i) || layout_nonIterableRest();
          }
          function layout_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function layout_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return layout_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return layout_arrayLikeToArray(o2, minLen);
          }
          function layout_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 layout_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function layout_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function getLayoutStylesFromInfo(width, height) {
            var styles = {
              height: toPercent(100)
            };
            if (width) {
              styles.width = width;
            }
            if (height) {
              styles.height = height;
            }
            return styles;
          }
          function Layout(_ref) {
            var children = _ref.children, width = _ref.width, height = _ref.height, _ref$className = _ref.className, className2 = _ref$className === void 0 ? "" : _ref$className, _ref$autoAdjustPanels = _ref.autoAdjustPanels, autoAdjustPanels = _ref$autoAdjustPanels === void 0 ? false : _ref$autoAdjustPanels;
            var _useTheme = useTheme(commonThemeSelector), backgroundColor = _useTheme.backgroundColor;
            var _useDOMNode = useDOMNode(), _useDOMNode2 = layout_slicedToArray(_useDOMNode, 2), container = _useDOMNode2[0], containerRefCallback = _useDOMNode2[1];
            var _useDispatch = useDispatch("weekViewLayout"), setLastPanelType = _useDispatch.setLastPanelType, updateLayoutHeight = _useDispatch.updateLayoutHeight;
            var layoutClassName = F(function() {
              return "".concat(cls("layout"), " ").concat(className2);
            }, [className2]);
            hooks_module_h(function() {
              if (container) {
                var onResizeWindow = function onResizeWindow2() {
                  return updateLayoutHeight(container.offsetHeight);
                };
                onResizeWindow();
                window.addEventListener("resize", onResizeWindow);
                return function() {
                  return window.removeEventListener("resize", onResizeWindow);
                };
              }
              return noop;
            }, [container, updateLayoutHeight]);
            hooks_module_h(function() {
              if (container && autoAdjustPanels) {
                var childArray = x(children);
                var lastChild = childArray[childArray.length - 1];
                if (!isString_default()(lastChild) && !isNumber_default()(lastChild) && !type_isNil(lastChild)) {
                  setLastPanelType(lastChild.props.name);
                }
              }
            }, [children, setLastPanelType, autoAdjustPanels, container]);
            return h(LayoutContainerProvider, {
              value: container
            }, h("div", {
              ref: containerRefCallback,
              className: layoutClassName,
              style: layout_objectSpread(layout_objectSpread({}, getLayoutStylesFromInfo(width, height)), {}, {
                backgroundColor
              })
            }, container ? children : null), h(EventFormPopup, null), h(EventDetailPopup, null), h(SeeMoreEventsPopup, null), h(PopupOverlay, null));
          }
          function panelResizer_slicedToArray(arr, i) {
            return panelResizer_arrayWithHoles(arr) || panelResizer_iterableToArrayLimit(arr, i) || panelResizer_unsupportedIterableToArray(arr, i) || panelResizer_nonIterableRest();
          }
          function panelResizer_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function panelResizer_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return panelResizer_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return panelResizer_arrayLikeToArray(o2, minLen);
          }
          function panelResizer_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 panelResizer_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function panelResizer_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function panelResizer_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function panelResizer_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? panelResizer_ownKeys(Object(source), true).forEach(function(key) {
                panelResizer_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : panelResizer_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function panelResizer_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function getDefaultStyle(height, border) {
            return {
              height,
              width: "100%",
              cursor: "row-resize",
              borderTop: border,
              borderBottom: border
            };
          }
          function PanelResizer(_ref) {
            var name = _ref.name, height = _ref.height;
            var border = useTheme(hooks_module_T(function(theme) {
              return theme.week.panelResizer.border;
            }, []));
            var style = getDefaultStyle(height, border);
            var defaultGuideStyle = panelResizer_objectSpread(panelResizer_objectSpread({}, style), {}, {
              display: "none",
              border: "none",
              backgroundColor: "#999"
            });
            var _useState = hooks_module_y(defaultGuideStyle), _useState2 = panelResizer_slicedToArray(_useState, 2), guideStyle = _useState2[0], setGuideStyle = _useState2[1];
            var startPos = hooks_module_s(null);
            var _useDispatch = useDispatch("weekViewLayout"), updateDayGridRowHeightByDiff = _useDispatch.updateDayGridRowHeightByDiff;
            var onMouseDown = useDrag(DRAGGING_TYPE_CONSTANTS.panelResizer, {
              onDragStart: function onDragStart(e2) {
                startPos.current = {
                  left: e2.pageX,
                  top: e2.pageY
                };
              },
              onDrag: function onDrag(e2) {
                if (startPos.current) {
                  var top = e2.pageY - startPos.current.top;
                  setGuideStyle(function(prev) {
                    return panelResizer_objectSpread(panelResizer_objectSpread({}, prev), {}, {
                      top,
                      display: null
                    });
                  });
                }
              },
              onMouseUp: function onMouseUp(e2) {
                if (startPos.current) {
                  var diff = e2.pageY - startPos.current.top;
                  startPos.current = null;
                  setGuideStyle(defaultGuideStyle);
                  updateDayGridRowHeightByDiff({
                    rowName: name,
                    diff
                  });
                }
              }
            });
            return h("div", {
              style: {
                position: "relative"
              }
            }, h("div", {
              className: cls("panel-resizer"),
              style,
              onMouseDown
            }), h("div", {
              className: cls("panel-resizer-guide"),
              style: guideStyle
            }));
          }
          function panel_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function panel_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? panel_ownKeys(Object(source), true).forEach(function(key) {
                panel_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : panel_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function panel_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function getPanelSide(side, maxExpandableSide) {
            return maxExpandableSide ? Math.min(maxExpandableSide, side) : side;
          }
          function getPanelStyle(_ref) {
            var initialHeight = _ref.initialHeight, initialWidth = _ref.initialWidth, overflowX = _ref.overflowX, overflowY = _ref.overflowY, maxExpandableWidth = _ref.maxExpandableWidth, maxExpandableHeight = _ref.maxExpandableHeight, minHeight = _ref.minHeight, maxHeight = _ref.maxHeight, minWidth = _ref.minWidth, maxWidth = _ref.maxWidth;
            var style = {};
            if (initialWidth) {
              style.width = getPanelSide(initialWidth, maxExpandableWidth);
              style.height = "100%";
            }
            if (initialHeight) {
              style.width = "100%";
              style.height = getPanelSide(initialHeight, maxExpandableHeight);
            }
            if (overflowX) {
              style.overflowX = "auto";
            }
            if (overflowY) {
              style.overflowY = "auto";
            }
            return panel_objectSpread(panel_objectSpread({}, style), {}, {
              minHeight,
              maxHeight,
              minWidth,
              maxWidth
            });
          }
          var Panel = R(function Panel2(_ref2, ref) {
            var name = _ref2.name, _ref2$initialWidth = _ref2.initialWidth, initialWidth = _ref2$initialWidth === void 0 ? DEFAULT_PANEL_HEIGHT : _ref2$initialWidth, _ref2$initialHeight = _ref2.initialHeight, initialHeight = _ref2$initialHeight === void 0 ? DEFAULT_PANEL_HEIGHT : _ref2$initialHeight, overflowX = _ref2.overflowX, overflowY = _ref2.overflowY, maxExpandableWidth = _ref2.maxExpandableWidth, maxExpandableHeight = _ref2.maxExpandableHeight, minHeight = _ref2.minHeight, maxHeight = _ref2.maxHeight, minWidth = _ref2.minWidth, maxWidth = _ref2.maxWidth, _ref2$resizerWidth = _ref2.resizerWidth, resizerWidth = _ref2$resizerWidth === void 0 ? DEFAULT_RESIZER_LENGTH : _ref2$resizerWidth, _ref2$resizerHeight = _ref2.resizerHeight, resizerHeight = _ref2$resizerHeight === void 0 ? DEFAULT_RESIZER_LENGTH : _ref2$resizerHeight, resizable = _ref2.resizable, children = _ref2.children;
            var _useDispatch = useDispatch("weekViewLayout"), updateDayGridRowHeight = _useDispatch.updateDayGridRowHeight;
            var _useStore = useStore(hooks_module_T(function(state) {
              var _state$weekViewLayout;
              return (_state$weekViewLayout = state.weekViewLayout.dayGridRows[name]) !== null && _state$weekViewLayout !== void 0 ? _state$weekViewLayout : {};
            }, [name])), dayGridRowHeight = _useStore.height;
            var height = dayGridRowHeight !== null && dayGridRowHeight !== void 0 ? dayGridRowHeight : initialHeight;
            hooks_module_h(function() {
              updateDayGridRowHeight({
                rowName: name,
                height: initialHeight
              });
            }, [initialHeight, name, updateDayGridRowHeight]);
            var styles = getPanelStyle({
              initialWidth,
              initialHeight: height,
              overflowX,
              overflowY,
              maxExpandableWidth,
              maxExpandableHeight,
              minHeight,
              maxHeight,
              minWidth,
              maxWidth
            });
            var isResizable = F(function() {
              if (type_isNil(resizable) || isBoolean_default()(resizable)) {
                return !!resizable;
              }
              return resizable.includes(name);
            }, [resizable, name]);
            return h(p, null, h("div", {
              className: cls("panel", name),
              style: styles,
              ref
            }, children), isResizable ? h(PanelResizer, {
              name,
              width: resizerWidth,
              height: resizerHeight
            }) : null);
          });
          var className = "timegrid";
          var addTimeGridPrefix = function addTimeGridPrefix2(selector) {
            return "".concat(className, "-").concat(selector);
          };
          var timeFormats = {
            second: "HH:mm:ss",
            minute: "HH:mm",
            hour: "HH:mm",
            date: "HH:mm",
            month: "MM.DD",
            year: "YYYY.MM.DD"
          };
          function timeEvent_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function timeEvent_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? timeEvent_ownKeys(Object(source), true).forEach(function(key) {
                timeEvent_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : timeEvent_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function timeEvent_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function timeEvent_slicedToArray(arr, i) {
            return timeEvent_arrayWithHoles(arr) || timeEvent_iterableToArrayLimit(arr, i) || timeEvent_unsupportedIterableToArray(arr, i) || timeEvent_nonIterableRest();
          }
          function timeEvent_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function timeEvent_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return timeEvent_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return timeEvent_arrayLikeToArray(o2, minLen);
          }
          function timeEvent_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 timeEvent_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function timeEvent_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var timeEvent_classNames = {
            time: cls("event-time"),
            content: cls("event-time-content"),
            travelTime: cls("travel-time"),
            resizeHandleX: cls("resize-handler-x"),
            moveEvent: cls("dragging--move-event"),
            resizeEvent: cls("dragging--resize-vertical-event")
          };
          function getMarginLeft(left) {
            var _extractPercentPx = extractPercentPx("".concat(left)), percent = _extractPercentPx.percent, px = _extractPercentPx.px;
            return left > 0 || percent > 0 || px > 0 ? TIME_EVENT_CONTAINER_MARGIN_LEFT : 0;
          }
          function getContainerWidth(width, marginLeft) {
            if (isString_default()(width)) {
              return width;
            }
            if (width >= 0) {
              return "calc(".concat(toPercent(width), " - ").concat(marginLeft, "px)");
            }
            return "";
          }
          function getStyles(_ref) {
            var uiModel = _ref.uiModel, isDraggingTarget = _ref.isDraggingTarget, hasNextStartTime = _ref.hasNextStartTime, calendarColor = _ref.calendarColor, minHeight = _ref.minHeight;
            var top = uiModel.top, left = uiModel.left, height = uiModel.height, width = uiModel.width, duplicateLeft = uiModel.duplicateLeft, duplicateWidth = uiModel.duplicateWidth, goingDurationHeight = uiModel.goingDurationHeight, modelDurationHeight = uiModel.modelDurationHeight, comingDurationHeight = uiModel.comingDurationHeight, croppedStart = uiModel.croppedStart, croppedEnd = uiModel.croppedEnd;
            var travelBorderColor = "white";
            var borderRadius = 2;
            var defaultMarginBottom = 2;
            var marginLeft = getMarginLeft(left);
            var _getEventColors = getEventColors(uiModel, calendarColor), color = _getEventColors.color, backgroundColor = _getEventColors.backgroundColor, borderColor = _getEventColors.borderColor, dragBackgroundColor = _getEventColors.dragBackgroundColor;
            var containerStyle = {
              width: getContainerWidth(duplicateWidth || width, marginLeft),
              height: "calc(".concat(toPercent(Math.max(height, minHeight)), " - ").concat(defaultMarginBottom, "px)"),
              top: toPercent(top),
              left: duplicateLeft || toPercent(left),
              borderRadius,
              borderLeft: "3px solid ".concat(borderColor),
              marginLeft,
              color,
              backgroundColor: isDraggingTarget ? dragBackgroundColor : backgroundColor,
              opacity: isDraggingTarget ? 0.5 : 1,
              zIndex: hasNextStartTime ? 1 : 0
            };
            var goingDurationStyle = {
              height: toPercent(goingDurationHeight),
              borderBottom: "1px dashed ".concat(travelBorderColor)
            };
            var modelDurationStyle = {
              height: toPercent(modelDurationHeight)
            };
            var comingDurationStyle = {
              height: toPercent(comingDurationHeight),
              borderTop: "1px dashed ".concat(travelBorderColor)
            };
            if (croppedStart) {
              containerStyle.borderTopLeftRadius = 0;
              containerStyle.borderTopRightRadius = 0;
            }
            if (croppedEnd) {
              containerStyle.borderBottomLeftRadius = 0;
              containerStyle.borderBottomRightRadius = 0;
            }
            return {
              containerStyle,
              goingDurationStyle,
              modelDurationStyle,
              comingDurationStyle
            };
          }
          function isDraggableEvent(_ref2) {
            var uiModel = _ref2.uiModel, isReadOnlyCalendar = _ref2.isReadOnlyCalendar, isDraggingTarget = _ref2.isDraggingTarget, hasNextStartTime = _ref2.hasNextStartTime;
            var model = uiModel.model;
            return !isReadOnlyCalendar && !model.isReadOnly && !isDraggingTarget && !hasNextStartTime;
          }
          function TimeEvent(_ref3) {
            var uiModel = _ref3.uiModel, nextStartTime = _ref3.nextStartTime, _ref3$isResizingGuide = _ref3.isResizingGuide, isResizingGuide = _ref3$isResizingGuide === void 0 ? false : _ref3$isResizingGuide, _ref3$minHeight = _ref3.minHeight, minHeight = _ref3$minHeight === void 0 ? 0 : _ref3$minHeight;
            var _useStore = useStore(optionsSelector), useDetailPopup = _useStore.useDetailPopup, isReadOnlyCalendar = _useStore.isReadOnly, weekOptions = _useStore.week;
            var calendarColor = useCalendarColor(uiModel.model);
            var collapseDuplicateEvents = weekOptions.collapseDuplicateEvents;
            var layoutContainer = useLayoutContainer();
            var _useDispatch = useDispatch("popup"), showDetailPopup = _useDispatch.showDetailPopup;
            var _useDispatch2 = useDispatch("dnd"), setDraggingEventUIModel = _useDispatch2.setDraggingEventUIModel;
            var _useDispatch3 = useDispatch("weekViewLayout"), setSelectedDuplicateEventCid = _useDispatch3.setSelectedDuplicateEventCid;
            var eventBus = useEventBus();
            var eventContainerRef = hooks_module_s(null);
            var _useState = hooks_module_y(false), _useState2 = timeEvent_slicedToArray(_useState, 2), isDraggingTarget = _useState2[0], setIsDraggingTarget = _useState2[1];
            var model = uiModel.model, goingDurationHeight = uiModel.goingDurationHeight, modelDurationHeight = uiModel.modelDurationHeight, comingDurationHeight = uiModel.comingDurationHeight, croppedEnd = uiModel.croppedEnd;
            var id = model.id, calendarId = model.calendarId, customStyle = model.customStyle;
            var hasNextStartTime = isPresent(nextStartTime);
            var _getStyles = getStyles({
              uiModel,
              isDraggingTarget,
              hasNextStartTime,
              calendarColor,
              minHeight
            }), containerStyle = _getStyles.containerStyle, goingDurationStyle = _getStyles.goingDurationStyle, modelDurationStyle = _getStyles.modelDurationStyle, comingDurationStyle = _getStyles.comingDurationStyle;
            var isGuide = hasNextStartTime || isResizingGuide;
            useTransientUpdate(dndSelector, function(_ref4) {
              var draggingEventUIModel = _ref4.draggingEventUIModel, draggingState = _ref4.draggingState;
              if (draggingState === DraggingState.DRAGGING && (draggingEventUIModel === null || draggingEventUIModel === void 0 ? void 0 : draggingEventUIModel.cid()) === uiModel.cid() && !hasNextStartTime && !isResizingGuide) {
                setIsDraggingTarget(true);
              } else {
                setIsDraggingTarget(false);
              }
            });
            hooks_module_(function() {
              if (!isResizingGuide) {
                eventBus.fire("afterRenderEvent", uiModel.model.toEventObject());
              }
            }, []);
            var startDragEvent = function startDragEvent2(className2) {
              setDraggingEventUIModel(uiModel);
              layoutContainer === null || layoutContainer === void 0 ? void 0 : layoutContainer.classList.add(className2);
            };
            var endDragEvent = function endDragEvent2(className2) {
              setIsDraggingTarget(false);
              layoutContainer === null || layoutContainer === void 0 ? void 0 : layoutContainer.classList.remove(className2);
            };
            var onMoveStart = useDrag(DRAGGING_TYPE_CREATORS.moveEvent("timeGrid", "".concat(uiModel.cid())), {
              onDragStart: function onDragStart() {
                if (isDraggable) {
                  startDragEvent(timeEvent_classNames.moveEvent);
                }
              },
              onMouseUp: function onMouseUp(e2, _ref5) {
                var draggingState = _ref5.draggingState;
                endDragEvent(timeEvent_classNames.moveEvent);
                var isClick = draggingState <= DraggingState.INIT;
                if (isClick && collapseDuplicateEvents) {
                  var selectedDuplicateEventCid = uiModel.duplicateEvents.length > 0 ? uiModel.cid() : DEFAULT_DUPLICATE_EVENT_CID;
                  setSelectedDuplicateEventCid(selectedDuplicateEventCid);
                }
                if (isClick && useDetailPopup && eventContainerRef.current) {
                  showDetailPopup({
                    event: uiModel.model,
                    eventRect: eventContainerRef.current.getBoundingClientRect()
                  }, false);
                }
                if (isClick) {
                  eventBus.fire("clickEvent", {
                    event: uiModel.model.toEventObject(),
                    nativeEvent: e2
                  });
                }
              },
              onPressESCKey: function onPressESCKey() {
                return endDragEvent(timeEvent_classNames.moveEvent);
              }
            });
            var handleMoveStart = function handleMoveStart2(e2) {
              e2.stopPropagation();
              onMoveStart(e2);
            };
            var onResizeStart = useDrag(DRAGGING_TYPE_CREATORS.resizeEvent("timeGrid", "".concat(uiModel.cid())), {
              onDragStart: function onDragStart() {
                return startDragEvent(timeEvent_classNames.resizeEvent);
              },
              onMouseUp: function onMouseUp() {
                return endDragEvent(timeEvent_classNames.resizeEvent);
              },
              onPressESCKey: function onPressESCKey() {
                return endDragEvent(timeEvent_classNames.resizeEvent);
              }
            });
            var handleResizeStart = function handleResizeStart2(e2) {
              e2.stopPropagation();
              onResizeStart(e2);
            };
            var isDraggable = isDraggableEvent({
              uiModel,
              isReadOnlyCalendar,
              isDraggingTarget,
              hasNextStartTime
            });
            var shouldShowResizeHandle = isDraggable && !croppedEnd;
            return h("div", {
              "data-testid": "".concat(isGuide ? "guide-" : "", "time-event-").concat(model.title, "-").concat(uiModel.cid()),
              "data-calendar-id": calendarId,
              "data-event-id": id,
              className: timeEvent_classNames.time,
              style: timeEvent_objectSpread(timeEvent_objectSpread({}, containerStyle), customStyle),
              onMouseDown: handleMoveStart,
              ref: eventContainerRef
            }, goingDurationHeight ? h("div", {
              className: timeEvent_classNames.travelTime,
              style: goingDurationStyle
            }, h(Template, {
              template: "goingDuration",
              param: model
            })) : null, modelDurationHeight ? h("div", {
              className: timeEvent_classNames.content,
              style: modelDurationStyle
            }, h(Template, {
              template: "time",
              param: timeEvent_objectSpread(timeEvent_objectSpread({}, model.toEventObject()), {}, {
                start: hasNextStartTime ? nextStartTime : model.start
              })
            })) : null, comingDurationHeight ? h("div", {
              className: timeEvent_classNames.travelTime,
              style: comingDurationStyle
            }, h(Template, {
              template: "comingDuration",
              param: model
            })) : null, shouldShowResizeHandle ? h("div", {
              className: timeEvent_classNames.resizeHandleX,
              onMouseDown: handleResizeStart
            }) : null);
          }
          function gridSelectionByColumn_GridSelection(_ref) {
            var top = _ref.top, height = _ref.height, text = _ref.text;
            var _useTheme = useTheme(hooks_module_T(function(theme) {
              return theme.common.gridSelection;
            }, [])), backgroundColor = _useTheme.backgroundColor, border = _useTheme.border;
            var color = useTheme(hooks_module_T(function(theme) {
              return theme.week.gridSelection.color;
            }, []));
            var style = {
              top: toPercent(top),
              height: toPercent(height),
              backgroundColor,
              border
            };
            return h("div", {
              className: cls("time", "grid-selection"),
              style,
              "data-testid": "time-grid-selection-".concat(top, "-").concat(height)
            }, text.length > 0 ? h("span", {
              className: cls("grid-selection-label"),
              style: {
                color
              }
            }, text) : null);
          }
          function GridSelectionByColumn(_ref2) {
            var columnIndex = _ref2.columnIndex, timeGridRows = _ref2.timeGridRows;
            var gridSelectionData = useStore(hooks_module_T(function(state) {
              return timeGridSelectionHelper.calculateSelection(state.gridSelection.timeGrid, columnIndex, timeGridRows.length - 1);
            }, [columnIndex, timeGridRows]));
            var gridSelectionProps = F(function() {
              if (!gridSelectionData) {
                return null;
              }
              var startRowIndex = gridSelectionData.startRowIndex, endRowIndex = gridSelectionData.endRowIndex, isStartingColumn = gridSelectionData.isStartingColumn, isSelectingMultipleColumns = gridSelectionData.isSelectingMultipleColumns;
              var _timeGridRows$startRo = timeGridRows[startRowIndex], startRowTop = _timeGridRows$startRo.top, startRowStartTime = _timeGridRows$startRo.startTime;
              var _timeGridRows$endRowI = timeGridRows[endRowIndex], endRowTop = _timeGridRows$endRowI.top, endRowHeight = _timeGridRows$endRowI.height, endRowEndTime = _timeGridRows$endRowI.endTime;
              var gridSelectionHeight = endRowTop + endRowHeight - startRowTop;
              var text = "".concat(startRowStartTime, " - ").concat(endRowEndTime);
              if (isSelectingMultipleColumns) {
                text = isStartingColumn ? startRowStartTime : "";
              }
              return {
                top: startRowTop,
                height: gridSelectionHeight,
                text
              };
            }, [gridSelectionData, timeGridRows]);
            if (type_isNil(gridSelectionProps)) {
              return null;
            }
            return h(gridSelectionByColumn_GridSelection, gridSelectionProps);
          }
          function useTimeGridEventResize_slicedToArray(arr, i) {
            return useTimeGridEventResize_arrayWithHoles(arr) || useTimeGridEventResize_iterableToArrayLimit(arr, i) || useTimeGridEventResize_unsupportedIterableToArray(arr, i) || useTimeGridEventResize_nonIterableRest();
          }
          function useTimeGridEventResize_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useTimeGridEventResize_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return useTimeGridEventResize_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return useTimeGridEventResize_arrayLikeToArray(o2, minLen);
          }
          function useTimeGridEventResize_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 useTimeGridEventResize_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function useTimeGridEventResize_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function useTimeGridEventResize(_ref) {
            var gridPositionFinder = _ref.gridPositionFinder, totalUIModels = _ref.totalUIModels, columnIndex = _ref.columnIndex, timeGridData = _ref.timeGridData;
            var eventBus = useEventBus();
            var _useDraggingEvent = useDraggingEvent("timeGrid", "resize"), isDraggingEnd = _useDraggingEvent.isDraggingEnd, isDraggingCanceled = _useDraggingEvent.isDraggingCanceled, resizingStartUIModel = _useDraggingEvent.draggingEvent, clearDraggingEvent = _useDraggingEvent.clearDraggingEvent;
            var _useCurrentPointerPos = useCurrentPointerPositionInGrid(gridPositionFinder), _useCurrentPointerPos2 = useTimeGridEventResize_slicedToArray(_useCurrentPointerPos, 2), currentGridPos = _useCurrentPointerPos2[0], clearCurrentGridPos = _useCurrentPointerPos2[1];
            var _useState = hooks_module_y(null), _useState2 = useTimeGridEventResize_slicedToArray(_useState, 2), guideUIModel = _useState2[0], setGuideUIModel = _useState2[1];
            var clearStates = hooks_module_T(function() {
              setGuideUIModel(null);
              clearDraggingEvent();
              clearCurrentGridPos();
            }, [clearCurrentGridPos, clearDraggingEvent]);
            var baseResizingInfo = F(function() {
              if (type_isNil(resizingStartUIModel)) {
                return null;
              }
              var columns = timeGridData.columns, rows = timeGridData.rows;
              var resizeTargetUIModelColumns = totalUIModels.map(function(uiModels) {
                return uiModels.filter(function(uiModel) {
                  return uiModel.cid() === resizingStartUIModel.cid();
                });
              });
              var findRowIndexOf = function findRowIndexOf2(targetDate, targetColumnIndex) {
                return function(row) {
                  var rowStartTZDate = setTimeStrToDate(columns[targetColumnIndex].date, row.startTime);
                  var rowEndTZDate = setTimeStrToDate(timeGridData.columns[targetColumnIndex].date, row.endTime);
                  return rowStartTZDate <= targetDate && targetDate < rowEndTZDate;
                };
              };
              var eventStartDateColumnIndex = resizeTargetUIModelColumns.findIndex(function(row) {
                return row.length > 0;
              });
              var resizingStartEventUIModel = resizeTargetUIModelColumns[eventStartDateColumnIndex][0];
              var _resizingStartEventUI = resizingStartEventUIModel.model.goingDuration, goingDuration = _resizingStartEventUI === void 0 ? 0 : _resizingStartEventUI;
              var renderStart = addMinutes(resizingStartEventUIModel.getStarts(), -goingDuration);
              var eventStartDateRowIndex = Math.max(rows.findIndex(findRowIndexOf(renderStart, eventStartDateColumnIndex)), 0);
              var eventEndDateColumnIndex = findLastIndex(resizeTargetUIModelColumns, function(row) {
                return row.length > 0;
              });
              var resizingEndEventUIModel = resizeTargetUIModelColumns[eventEndDateColumnIndex][0];
              var _resizingEndEventUIMo = resizingEndEventUIModel.model.comingDuration, comingDuration = _resizingEndEventUIMo === void 0 ? 0 : _resizingEndEventUIMo;
              var renderEnd = addMinutes(resizingEndEventUIModel.getStarts(), comingDuration);
              var eventEndDateRowIndex = rows.findIndex(findRowIndexOf(renderEnd, eventEndDateColumnIndex));
              eventEndDateRowIndex = eventEndDateRowIndex >= 0 ? eventEndDateRowIndex : rows.length - 1;
              return {
                eventStartDateColumnIndex,
                eventStartDateRowIndex,
                eventEndDateColumnIndex,
                eventEndDateRowIndex,
                resizeTargetUIModelColumns
              };
            }, [resizingStartUIModel, timeGridData, totalUIModels]);
            var canCalculateGuideUIModel = isPresent(baseResizingInfo) && isPresent(resizingStartUIModel) && isPresent(currentGridPos);
            var oneRowHeight = F(function() {
              return baseResizingInfo ? timeGridData.rows[0].height : 0;
            }, [baseResizingInfo, timeGridData.rows]);
            hooks_module_(function() {
              if (canCalculateGuideUIModel) {
                var eventStartDateRowIndex = baseResizingInfo.eventStartDateRowIndex, eventStartDateColumnIndex = baseResizingInfo.eventStartDateColumnIndex, eventEndDateColumnIndex = baseResizingInfo.eventEndDateColumnIndex;
                if (columnIndex === eventEndDateColumnIndex && eventStartDateColumnIndex === eventEndDateColumnIndex) {
                  var clonedUIModel = resizingStartUIModel.clone();
                  var height = clonedUIModel.height, goingDurationHeight = clonedUIModel.goingDurationHeight, comingDurationHeight = clonedUIModel.comingDurationHeight;
                  var newHeight = Math.max(oneRowHeight + goingDurationHeight * height / 100 + comingDurationHeight * height / 100, timeGridData.rows[currentGridPos.rowIndex].top - timeGridData.rows[eventStartDateRowIndex].top + oneRowHeight);
                  var newGoingDurationHeight = goingDurationHeight * height / newHeight;
                  var newComingDurationHeight = comingDurationHeight * height / newHeight;
                  clonedUIModel.setUIProps({
                    height: newHeight,
                    goingDurationHeight: newGoingDurationHeight,
                    comingDurationHeight: newComingDurationHeight,
                    modelDurationHeight: 100 - (newGoingDurationHeight + newComingDurationHeight)
                  });
                  setGuideUIModel(clonedUIModel);
                }
              }
            }, [baseResizingInfo, canCalculateGuideUIModel, columnIndex, currentGridPos, resizingStartUIModel, timeGridData.rows, oneRowHeight]);
            hooks_module_(function() {
              if (canCalculateGuideUIModel) {
                var resizeTargetUIModelColumns = baseResizingInfo.resizeTargetUIModelColumns, eventStartDateColumnIndex = baseResizingInfo.eventStartDateColumnIndex, eventEndDateColumnIndex = baseResizingInfo.eventEndDateColumnIndex;
                if ((columnIndex === eventStartDateColumnIndex || columnIndex === eventEndDateColumnIndex) && eventStartDateColumnIndex !== eventEndDateColumnIndex) {
                  var clonedUIModel;
                  if (columnIndex === eventStartDateColumnIndex) {
                    clonedUIModel = resizeTargetUIModelColumns[columnIndex][0].clone();
                  } else {
                    clonedUIModel = resizingStartUIModel.clone();
                    clonedUIModel.setUIProps({
                      height: timeGridData.rows[currentGridPos.rowIndex].top + oneRowHeight
                    });
                  }
                  setGuideUIModel(clonedUIModel);
                }
              }
            }, [baseResizingInfo, canCalculateGuideUIModel, columnIndex, currentGridPos, resizingStartUIModel, timeGridData.rows, oneRowHeight]);
            useWhen(function() {
              var shouldUpdate = !isDraggingCanceled && isPresent(baseResizingInfo) && isPresent(currentGridPos) && isPresent(resizingStartUIModel) && baseResizingInfo.eventEndDateColumnIndex === columnIndex;
              if (shouldUpdate) {
                var _resizingStartUIModel = resizingStartUIModel.model.comingDuration, comingDuration = _resizingStartUIModel === void 0 ? 0 : _resizingStartUIModel;
                var targetEndDate = addMinutes(setTimeStrToDate(timeGridData.columns[columnIndex].date, timeGridData.rows[currentGridPos.rowIndex].endTime), -comingDuration);
                var minEndDate = addMinutes(resizingStartUIModel.getStarts(), 30);
                eventBus.fire("beforeUpdateEvent", {
                  event: resizingStartUIModel.model.toEventObject(),
                  changes: {
                    end: max(minEndDate, targetEndDate)
                  }
                });
              }
              clearStates();
            }, isDraggingEnd);
            return guideUIModel;
          }
          function ResizingGuideByColumn(_ref) {
            var gridPositionFinder = _ref.gridPositionFinder, totalUIModels = _ref.totalUIModels, columnIndex = _ref.columnIndex, timeGridData = _ref.timeGridData;
            var guideUIModel = useTimeGridEventResize({
              gridPositionFinder,
              totalUIModels,
              columnIndex,
              timeGridData
            });
            if (type_isNil(guideUIModel)) {
              return null;
            }
            return h(TimeEvent, {
              uiModel: guideUIModel,
              isResizingGuide: true
            });
          }
          function column_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function column_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? column_ownKeys(Object(source), true).forEach(function(key) {
                column_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : column_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function column_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function column_slicedToArray(arr, i) {
            return column_arrayWithHoles(arr) || column_iterableToArrayLimit(arr, i) || column_unsupportedIterableToArray(arr, i) || column_nonIterableRest();
          }
          function column_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function column_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return column_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return column_arrayLikeToArray(o2, minLen);
          }
          function column_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 column_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function column_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var column_classNames = {
            column: cls("column"),
            backgrounds: cls("background-events"),
            events: cls("events")
          };
          function VerticalEvents(_ref) {
            var eventUIModels = _ref.eventUIModels, minEventHeight = _ref.minEventHeight;
            var style = {
              marginRight: 8
            };
            return h("div", {
              className: column_classNames.events,
              style
            }, eventUIModels.map(function(eventUIModel) {
              return h(TimeEvent, {
                key: "".concat(eventUIModel.valueOf(), "-").concat(eventUIModel.cid()),
                uiModel: eventUIModel,
                minHeight: minEventHeight
              });
            }));
          }
          function backgroundColorSelector(theme) {
            return {
              defaultBackgroundColor: theme.week.dayGrid.backgroundColor,
              todayBackgroundColor: theme.week.today.backgroundColor,
              weekendBackgroundColor: theme.week.weekend.backgroundColor
            };
          }
          function getBackgroundColor(_ref2) {
            var today = _ref2.today, columnDate = _ref2.columnDate, defaultBackgroundColor = _ref2.defaultBackgroundColor, todayBackgroundColor = _ref2.todayBackgroundColor, weekendBackgroundColor = _ref2.weekendBackgroundColor;
            var isTodayColumn = isSameDate(today, columnDate);
            var isWeekendColumn = isWeekend(columnDate.getDay());
            if (isTodayColumn) {
              return todayBackgroundColor;
            }
            if (isWeekendColumn) {
              return weekendBackgroundColor;
            }
            return defaultBackgroundColor;
          }
          var Column = compat_module_g(function Column2(_ref3) {
            var columnDate = _ref3.columnDate, columnWidth = _ref3.columnWidth, columnIndex = _ref3.columnIndex, totalUIModels = _ref3.totalUIModels, gridPositionFinder = _ref3.gridPositionFinder, timeGridData = _ref3.timeGridData, isLastColumn = _ref3.isLastColumn;
            var timeGridRows = timeGridData.rows;
            var borderRight = useTheme(hooks_module_T(function(theme) {
              return theme.week.timeGrid.borderRight;
            }, []));
            var backgroundColorTheme = useTheme(backgroundColorSelector);
            var _usePrimaryTimezone = usePrimaryTimezone(), _usePrimaryTimezone2 = column_slicedToArray(_usePrimaryTimezone, 2), getNow = _usePrimaryTimezone2[1];
            var today = getNow();
            var backgroundColor = getBackgroundColor(column_objectSpread({
              today,
              columnDate
            }, backgroundColorTheme));
            var style = {
              width: columnWidth,
              backgroundColor,
              borderRight: isLastColumn ? "none" : borderRight
            };
            var uiModelsByColumn = totalUIModels[columnIndex];
            var minEventHeight = timeGridRows[0].height;
            return h("div", {
              className: column_classNames.column,
              style,
              "data-testid": "timegrid-column-".concat(columnDate.getDay())
            }, h(VerticalEvents, {
              eventUIModels: uiModelsByColumn,
              minEventHeight
            }), h(ResizingGuideByColumn, {
              gridPositionFinder,
              totalUIModels,
              columnIndex,
              timeGridData
            }), h(GridSelectionByColumn, {
              columnIndex,
              timeGridRows
            }));
          });
          function gridLineBorderSelector(theme) {
            return {
              halfHourLineBorder: theme.week.timeGridHalfHourLine.borderBottom,
              hourLineBorder: theme.week.timeGridHourLine.borderBottom
            };
          }
          var GridLines = compat_module_g(function GridLines2(_ref) {
            var timeGridRows = _ref.timeGridRows;
            var _useTheme = useTheme(gridLineBorderSelector), halfHourLineBorder = _useTheme.halfHourLineBorder, hourLineBorder = _useTheme.hourLineBorder;
            return h("div", {
              className: cls("gridlines")
            }, timeGridRows.map(function(time, index) {
              var isUpperLine = index % 2 === 0;
              return h("div", {
                key: "gridline-".concat(time.startTime, "-").concat(time.endTime),
                className: cls("gridline-half"),
                style: {
                  top: toPercent(time.top),
                  height: toPercent(time.height),
                  borderBottom: isUpperLine ? halfHourLineBorder : hourLineBorder
                },
                "data-testid": "gridline-".concat(time.startTime, "-").concat(time.endTime)
              });
            }));
          });
          function useTimeGridEventMove_slicedToArray(arr, i) {
            return useTimeGridEventMove_arrayWithHoles(arr) || useTimeGridEventMove_iterableToArrayLimit(arr, i) || useTimeGridEventMove_unsupportedIterableToArray(arr, i) || useTimeGridEventMove_nonIterableRest();
          }
          function useTimeGridEventMove_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useTimeGridEventMove_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return useTimeGridEventMove_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return useTimeGridEventMove_arrayLikeToArray(o2, minLen);
          }
          function useTimeGridEventMove_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 useTimeGridEventMove_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function useTimeGridEventMove_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var THIRTY_MINUTES = 30;
          function getCurrentIndexByTime(time, hourStart) {
            var hour = time.getHours() - hourStart;
            var minutes = time.getMinutes();
            return hour * 2 + Math.floor(minutes / THIRTY_MINUTES);
          }
          function getMovingEventPosition(_ref) {
            var draggingEvent = _ref.draggingEvent, columnDiff = _ref.columnDiff, rowDiff = _ref.rowDiff, timeGridDataRows = _ref.timeGridDataRows, currentDate = _ref.currentDate;
            var rowHeight = timeGridDataRows[0].height;
            var maxHeight = rowHeight * timeGridDataRows.length;
            var millisecondsDiff = rowDiff * MS_PER_THIRTY_MINUTES + columnDiff * MS_PER_DAY;
            var hourStart = Number(timeGridDataRows[0].startTime.split(":")[0]);
            var _draggingEvent$model = draggingEvent.model, _draggingEvent$model$ = _draggingEvent$model.goingDuration, goingDuration = _draggingEvent$model$ === void 0 ? 0 : _draggingEvent$model$, _draggingEvent$model$2 = _draggingEvent$model.comingDuration, comingDuration = _draggingEvent$model$2 === void 0 ? 0 : _draggingEvent$model$2;
            var goingStart = addMinutes(draggingEvent.getStarts(), -goingDuration);
            var comingEnd = addMinutes(draggingEvent.getEnds(), comingDuration);
            var nextStart = addMilliseconds(goingStart, millisecondsDiff);
            var nextEnd = addMilliseconds(comingEnd, millisecondsDiff);
            var startIndex = Math.max(getCurrentIndexByTime(nextStart, hourStart), 0);
            var endIndex = Math.min(getCurrentIndexByTime(nextEnd, hourStart), timeGridDataRows.length - 1);
            var isStartAtPrevDate = nextStart.getFullYear() < currentDate.getFullYear() || nextStart.getMonth() < currentDate.getMonth() || nextStart.getDate() < currentDate.getDate();
            var isEndAtNextDate = nextEnd.getFullYear() > currentDate.getFullYear() || nextEnd.getMonth() > currentDate.getMonth() || nextEnd.getDate() > currentDate.getDate();
            var indexDiff = endIndex - (isStartAtPrevDate ? 0 : startIndex);
            var top = isStartAtPrevDate ? 0 : timeGridDataRows[startIndex].top;
            var height = isEndAtNextDate ? maxHeight : Math.max(indexDiff, 1) * rowHeight;
            return {
              top,
              height
            };
          }
          var initXSelector = function initXSelector2(state) {
            return state.dnd.initX;
          };
          var initYSelector = function initYSelector2(state) {
            return state.dnd.initY;
          };
          function useTimeGridEventMove(_ref2) {
            var gridPositionFinder = _ref2.gridPositionFinder, timeGridData = _ref2.timeGridData;
            var initX = useStore(initXSelector);
            var initY = useStore(initYSelector);
            var eventBus = useEventBus();
            var _useDraggingEvent = useDraggingEvent("timeGrid", "move"), isDraggingEnd = _useDraggingEvent.isDraggingEnd, isDraggingCanceled = _useDraggingEvent.isDraggingCanceled, draggingEvent = _useDraggingEvent.draggingEvent, clearDraggingEvent = _useDraggingEvent.clearDraggingEvent;
            var _useCurrentPointerPos = useCurrentPointerPositionInGrid(gridPositionFinder), _useCurrentPointerPos2 = useTimeGridEventMove_slicedToArray(_useCurrentPointerPos, 2), currentGridPos = _useCurrentPointerPos2[0], clearCurrentGridPos = _useCurrentPointerPos2[1];
            var initGridPosRef = hooks_module_s(null);
            hooks_module_(function() {
              if (isPresent(initX) && isPresent(initY)) {
                initGridPosRef.current = gridPositionFinder({
                  clientX: initX,
                  clientY: initY
                });
              }
            }, [gridPositionFinder, initX, initY]);
            var gridDiff = F(function() {
              if (type_isNil(initGridPosRef.current) || type_isNil(currentGridPos)) {
                return null;
              }
              return {
                columnDiff: currentGridPos.columnIndex - initGridPosRef.current.columnIndex,
                rowDiff: currentGridPos.rowIndex - initGridPosRef.current.rowIndex
              };
            }, [currentGridPos]);
            var startDateTime = F(function() {
              if (type_isNil(draggingEvent)) {
                return null;
              }
              return draggingEvent.getStarts();
            }, [draggingEvent]);
            var clearState = hooks_module_T(function() {
              clearCurrentGridPos();
              clearDraggingEvent();
              initGridPosRef.current = null;
            }, [clearCurrentGridPos, clearDraggingEvent]);
            var nextStartTime = F(function() {
              if (type_isNil(gridDiff) || type_isNil(startDateTime)) {
                return null;
              }
              return addMilliseconds(startDateTime, gridDiff.rowDiff * MS_PER_THIRTY_MINUTES + gridDiff.columnDiff * MS_PER_DAY);
            }, [gridDiff, startDateTime]);
            var movingEvent = F(function() {
              if (type_isNil(draggingEvent) || type_isNil(currentGridPos) || type_isNil(gridDiff)) {
                return null;
              }
              var clonedEvent = draggingEvent.clone();
              var _getMovingEventPositi = getMovingEventPosition({
                draggingEvent: clonedEvent,
                columnDiff: gridDiff.columnDiff,
                rowDiff: gridDiff.rowDiff,
                timeGridDataRows: timeGridData.rows,
                currentDate: timeGridData.columns[currentGridPos.columnIndex].date
              }), top = _getMovingEventPositi.top, height = _getMovingEventPositi.height;
              clonedEvent.setUIProps({
                left: timeGridData.columns[currentGridPos.columnIndex].left,
                width: timeGridData.columns[currentGridPos.columnIndex].width,
                top,
                height
              });
              return clonedEvent;
            }, [currentGridPos, draggingEvent, gridDiff, timeGridData.columns, timeGridData.rows]);
            useWhen(function() {
              var shouldUpdate = !isDraggingCanceled && isPresent(draggingEvent) && isPresent(currentGridPos) && isPresent(gridDiff) && isPresent(nextStartTime) && (gridDiff.rowDiff !== 0 || gridDiff.columnDiff !== 0);
              if (shouldUpdate) {
                var duration = draggingEvent.duration();
                var nextEndTime = addMilliseconds(nextStartTime, duration);
                eventBus.fire("beforeUpdateEvent", {
                  event: draggingEvent.model.toEventObject(),
                  changes: {
                    start: nextStartTime,
                    end: nextEndTime
                  }
                });
              }
              clearState();
            }, isDraggingEnd);
            return {
              movingEvent,
              nextStartTime
            };
          }
          function movingEventShadow_MovingEventShadow(_ref) {
            var gridPositionFinder = _ref.gridPositionFinder, timeGridData = _ref.timeGridData;
            var _useTimeGridEventMove = useTimeGridEventMove({
              gridPositionFinder,
              timeGridData
            }), movingEvent = _useTimeGridEventMove.movingEvent, nextStartTime = _useTimeGridEventMove.nextStartTime;
            if (type_isNil(movingEvent)) {
              return null;
            }
            return h(TimeEvent, {
              uiModel: movingEvent,
              nextStartTime
            });
          }
          var TEST_IDS = {
            NOW_INDICATOR: "timegrid-now-indicator",
            NOW_INDICATOR_LABEL: "timegrid-now-indicator-label"
          };
          var nowIndicator_classNames = {
            line: cls(addTimeGridPrefix("now-indicator")),
            left: cls(addTimeGridPrefix("now-indicator-left")),
            marker: cls(addTimeGridPrefix("now-indicator-marker")),
            today: cls(addTimeGridPrefix("now-indicator-today")),
            right: cls(addTimeGridPrefix("now-indicator-right"))
          };
          function nowIndicatorTheme(theme) {
            return {
              pastBorder: theme.week.nowIndicatorPast.border,
              todayBorder: theme.week.nowIndicatorToday.border,
              futureBorder: theme.week.nowIndicatorFuture.border,
              bulletBackgroundColor: theme.week.nowIndicatorBullet.backgroundColor
            };
          }
          function NowIndicator(_ref) {
            var top = _ref.top, columnWidth = _ref.columnWidth, columnCount = _ref.columnCount, columnIndex = _ref.columnIndex;
            var _useTheme = useTheme(nowIndicatorTheme), pastBorder = _useTheme.pastBorder, todayBorder = _useTheme.todayBorder, futureBorder = _useTheme.futureBorder, bulletBackgroundColor = _useTheme.bulletBackgroundColor;
            var layoutContainer = useLayoutContainer();
            var eventBus = useEventBus();
            var indicatorRef = hooks_module_s(null);
            var leftLine = {
              left: toPercent(columnWidth * columnIndex),
              width: toPercent(columnWidth * columnIndex)
            };
            var rightLine = {
              left: toPercent(columnWidth * (columnIndex + 1)),
              width: toPercent(columnWidth * (columnCount - columnIndex + 1))
            };
            hooks_module_(function() {
              var scrollToNow = function scrollToNow2(behavior) {
                var _layoutContainer$quer;
                var scrollArea = (_layoutContainer$quer = layoutContainer === null || layoutContainer === void 0 ? void 0 : layoutContainer.querySelector(".".concat(cls("panel"), ".").concat(cls("time")))) !== null && _layoutContainer$quer !== void 0 ? _layoutContainer$quer : null;
                if (scrollArea && indicatorRef.current) {
                  var _ref2 = scrollArea, scrollAreaOffsetHeight = _ref2.offsetHeight;
                  var targetOffsetTop = indicatorRef.current.offsetTop;
                  var newScrollTop = targetOffsetTop - scrollAreaOffsetHeight / 2;
                  if (scrollArea.scrollTo) {
                    scrollArea.scrollTo({
                      top: newScrollTop,
                      behavior
                    });
                  } else {
                    scrollArea.scrollTop = newScrollTop;
                  }
                }
              };
              eventBus.on("scrollToNow", scrollToNow);
              return function() {
                return eventBus.off("scrollToNow", scrollToNow);
              };
            }, [eventBus, layoutContainer]);
            hooks_module_(function() {
              eventBus.fire("scrollToNow", "smooth");
            }, [eventBus]);
            return h("div", {
              ref: indicatorRef,
              className: nowIndicator_classNames.line,
              style: {
                top: toPercent(top)
              },
              "data-testid": TEST_IDS.NOW_INDICATOR
            }, h("div", {
              className: nowIndicator_classNames.left,
              style: {
                width: leftLine.width,
                borderTop: pastBorder
              }
            }), h("div", {
              className: nowIndicator_classNames.marker,
              style: {
                left: leftLine.left,
                backgroundColor: bulletBackgroundColor
              }
            }), h("div", {
              className: nowIndicator_classNames.today,
              style: {
                left: leftLine.left,
                width: toPercent(columnWidth),
                borderTop: todayBorder
              }
            }), h("div", {
              className: nowIndicator_classNames.right,
              style: {
                left: rightLine.left,
                borderTop: futureBorder
              }
            }));
          }
          var nowIndicatorLabel_classNames = {
            now: addTimeGridPrefix("current-time"),
            dayDifference: addTimeGridPrefix("day-difference")
          };
          function NowIndicatorLabel(_ref) {
            var unit = _ref.unit, top = _ref.top, now = _ref.now, zonedNow = _ref.zonedNow;
            var color = useTheme(hooks_module_T(function(theme) {
              return theme.week.nowIndicatorLabel.color;
            }, []));
            var dateDifference = F(function() {
              return getDateDifference(zonedNow, now);
            }, [zonedNow, now]);
            var model = {
              unit,
              time: zonedNow,
              format: timeFormats[unit]
            };
            return h("div", {
              className: cls(nowIndicatorLabel_classNames.now),
              style: {
                top: toPercent(top),
                color
              },
              "data-testid": TEST_IDS.NOW_INDICATOR_LABEL
            }, dateDifference !== 0 && h("span", {
              className: cls(nowIndicatorLabel_classNames.dayDifference)
            }, "[".concat(dateDifference > 0 ? "+" : "-").concat(Math.abs(dateDifference), "]")), h(Template, {
              template: "timegridNowIndicatorLabel",
              param: model,
              as: "span"
            }));
          }
          var monthVisibleEventCountSelector = function monthVisibleEventCountSelector2(state) {
            var _state$options$month$;
            return (_state$options$month$ = state.options.month.visibleEventCount) !== null && _state$options$month$ !== void 0 ? _state$options$month$ : 6;
          };
          var showNowIndicatorOptionSelector = function showNowIndicatorOptionSelector2(state) {
            return state.options.week.showNowIndicator;
          };
          var showTimezoneCollapseButtonOptionSelector = function showTimezoneCollapseButtonOptionSelector2(state) {
            var _state$options$week$s;
            return (_state$options$week$s = state.options.week.showTimezoneCollapseButton) !== null && _state$options$week$s !== void 0 ? _state$options$week$s : false;
          };
          var timezonesCollapsedOptionSelector = function timezonesCollapsedOptionSelector2(state) {
            var _state$options$week$t;
            return (_state$options$week$t = state.options.week.timezonesCollapsed) !== null && _state$options$week$t !== void 0 ? _state$options$week$t : false;
          };
          function _toArray(arr) {
            return timeColumn_arrayWithHoles(arr) || timeColumn_iterableToArray(arr) || timeColumn_unsupportedIterableToArray(arr) || timeColumn_nonIterableRest();
          }
          function timeColumn_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function timeColumn_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return timeColumn_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return timeColumn_arrayLikeToArray(o2, minLen);
          }
          function timeColumn_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 timeColumn_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function timeColumn_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function timeColumn_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          var timeColumn_classNames = {
            timeColumn: addTimeGridPrefix("time-column"),
            hourRows: addTimeGridPrefix("hour-rows"),
            time: addTimeGridPrefix("time"),
            timeLabel: addTimeGridPrefix("time-label"),
            first: addTimeGridPrefix("time-first"),
            last: addTimeGridPrefix("time-last"),
            hidden: addTimeGridPrefix("time-hidden")
          };
          function timeColumn_backgroundColorSelector(theme) {
            return {
              primaryTimezoneBackgroundColor: theme.week.timeGridLeft.backgroundColor,
              subTimezoneBackgroundColor: theme.week.timeGridLeftAdditionalTimezone.backgroundColor
            };
          }
          function timeColorSelector(theme) {
            return {
              pastTimeColor: theme.week.pastTime.color,
              futureTimeColor: theme.week.futureTime.color
            };
          }
          function HourRows(_ref) {
            var _rowsInfo$0$diffFromP;
            var rowsInfo = _ref.rowsInfo, isPrimary = _ref.isPrimary, borderRight = _ref.borderRight, width = _ref.width, nowIndicatorState = _ref.nowIndicatorState;
            var showNowIndicator = useStore(showNowIndicatorOptionSelector);
            var _useTheme = useTheme(timeColumn_backgroundColorSelector), primaryTimezoneBackgroundColor = _useTheme.primaryTimezoneBackgroundColor, subTimezoneBackgroundColor = _useTheme.subTimezoneBackgroundColor;
            var _useTheme2 = useTheme(timeColorSelector), pastTimeColor = _useTheme2.pastTimeColor, futureTimeColor = _useTheme2.futureTimeColor;
            var zonedNow = isPresent(nowIndicatorState) ? addMinutes(nowIndicatorState.now, (_rowsInfo$0$diffFromP = rowsInfo[0].diffFromPrimaryTimezone) !== null && _rowsInfo$0$diffFromP !== void 0 ? _rowsInfo$0$diffFromP : 0) : null;
            var backgroundColor = isPrimary ? primaryTimezoneBackgroundColor : subTimezoneBackgroundColor;
            return h("div", {
              role: "rowgroup",
              className: cls(timeColumn_classNames.hourRows),
              style: {
                width: toPercent(width),
                borderRight,
                backgroundColor
              }
            }, rowsInfo.map(function(_ref2) {
              var date2 = _ref2.date, top = _ref2.top, className2 = _ref2.className;
              var isPast = isPresent(zonedNow) && date2 < zonedNow;
              var color = isPast ? pastTimeColor : futureTimeColor;
              return h("div", {
                key: date2.getTime(),
                className: className2,
                style: {
                  top: toPercent(top),
                  color
                },
                role: "row"
              }, h(Template, {
                template: "timegridDisplay".concat(isPrimary ? "Primary" : "", "Time"),
                param: {
                  time: date2
                },
                as: "span"
              }));
            }), showNowIndicator && isPresent(nowIndicatorState) && isPresent(zonedNow) && h(NowIndicatorLabel, {
              unit: "hour",
              top: nowIndicatorState.top,
              now: nowIndicatorState.now,
              zonedNow
            }));
          }
          var TimeColumn = compat_module_g(function TimeColumn2(_ref3) {
            var timeGridRows = _ref3.timeGridRows, nowIndicatorState = _ref3.nowIndicatorState;
            var showNowIndicator = useStore(showNowIndicatorOptionSelector);
            var timezones = useStore(timezonesSelector);
            var timezonesCollapsed = useStore(timezonesCollapsedOptionSelector);
            var tzConverter = useTZConverter();
            var _useTheme3 = useTheme(weekTimeGridLeftSelector), width = _useTheme3.width, borderRight = _useTheme3.borderRight;
            var rowsByHour = F(function() {
              return timeGridRows.filter(function(_2, index) {
                return index % 2 === 0 || index === timeGridRows.length - 1;
              });
            }, [timeGridRows]);
            var hourRowsPropsMapper = hooks_module_T(function(row, index, diffFromPrimaryTimezone) {
              var _cls;
              var shouldHideRow = function shouldHideRow2(_ref4) {
                var rowTop = _ref4.top, rowHeight = _ref4.height;
                if (!showNowIndicator || type_isNil(nowIndicatorState)) {
                  return false;
                }
                var indicatorTop = nowIndicatorState.top;
                return rowTop - rowHeight <= indicatorTop && indicatorTop <= rowTop + rowHeight;
              };
              var isFirst = index === 0;
              var isLast = index === rowsByHour.length - 1;
              var className2 = cls(timeColumn_classNames.time, (_cls = {}, timeColumn_defineProperty(_cls, timeColumn_classNames.first, isFirst), timeColumn_defineProperty(_cls, timeColumn_classNames.last, isLast), timeColumn_defineProperty(_cls, timeColumn_classNames.hidden, shouldHideRow(row)), _cls));
              var date2 = setTimeStrToDate(new date_TZDate(), isLast ? row.endTime : row.startTime);
              if (isPresent(diffFromPrimaryTimezone)) {
                date2 = addMinutes(date2, diffFromPrimaryTimezone);
              }
              return {
                date: date2,
                top: row.top,
                className: className2,
                diffFromPrimaryTimezone
              };
            }, [rowsByHour, nowIndicatorState, showNowIndicator]);
            var _timezones = _toArray(timezones), primaryTimezone = _timezones[0], otherTimezones = _timezones.slice(1);
            var hourRowsWidth = otherTimezones.length > 0 ? 100 / (otherTimezones.length + 1) : 100;
            var primaryTimezoneHourRowsProps = rowsByHour.map(function(row, index) {
              return hourRowsPropsMapper(row, index);
            });
            var otherTimezoneHourRowsProps = F(function() {
              if (otherTimezones.length === 0) {
                return [];
              }
              return otherTimezones.reverse().map(function(timezone) {
                var timezoneName = timezone.timezoneName;
                var primaryTimezoneOffset = tzConverter(primaryTimezone.timezoneName).getTimezoneOffset();
                var currentTimezoneOffset = tzConverter(timezoneName).getTimezoneOffset();
                var diffFromPrimaryTimezone = currentTimezoneOffset - primaryTimezoneOffset;
                return rowsByHour.map(function(row, index) {
                  return hourRowsPropsMapper(row, index, diffFromPrimaryTimezone);
                });
              });
            }, [hourRowsPropsMapper, otherTimezones, primaryTimezone, rowsByHour, tzConverter]);
            return h("div", {
              className: cls(timeColumn_classNames.timeColumn),
              style: {
                width
              },
              "data-testid": "timegrid-time-column"
            }, !timezonesCollapsed && otherTimezoneHourRowsProps.map(function(rowsInfo) {
              return h(HourRows, {
                key: rowsInfo[0].diffFromPrimaryTimezone,
                rowsInfo,
                isPrimary: false,
                borderRight,
                width: hourRowsWidth,
                nowIndicatorState
              });
            }), h(HourRows, {
              rowsInfo: primaryTimezoneHourRowsProps,
              isPrimary: true,
              borderRight,
              width: timezonesCollapsed ? 100 : hourRowsWidth,
              nowIndicatorState
            }));
          });
          function getTopPercentByTime(date2, start, end) {
            var startTime = start.getTime();
            var endTime = end.getTime();
            var time = math_limit(date2.getTime(), [startTime], [endTime]) - startTime;
            var max2 = endTime - startTime;
            var topPercent = ratio(max2, 100, time);
            return math_limit(topPercent, [0], [100]);
          }
          function getTopHeightByTime(start, end, minTime, maxTime) {
            var top = getTopPercentByTime(start, minTime, maxTime);
            var bottom = getTopPercentByTime(end, minTime, maxTime);
            var height = bottom - top;
            return {
              top,
              height
            };
          }
          function column_toConsumableArray(arr) {
            return column_arrayWithoutHoles(arr) || column_iterableToArray(arr) || controller_column_unsupportedIterableToArray(arr) || column_nonIterableSpread();
          }
          function column_nonIterableSpread() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function controller_column_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return controller_column_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return controller_column_arrayLikeToArray(o2, minLen);
          }
          function column_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function column_arrayWithoutHoles(arr) {
            if (Array.isArray(arr))
              return controller_column_arrayLikeToArray(arr);
          }
          function controller_column_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;
          }
          var MIN_HEIGHT_PERCENT = 1;
          function column_isBetween(startColumnTime, endColumnTime) {
            return function(uiModel) {
              var _uiModel$model = uiModel.model, _uiModel$model$goingD = _uiModel$model.goingDuration, goingDuration = _uiModel$model$goingD === void 0 ? 0 : _uiModel$model$goingD, _uiModel$model$coming = _uiModel$model.comingDuration, comingDuration = _uiModel$model$coming === void 0 ? 0 : _uiModel$model$coming;
              var ownStarts = addMinutes(uiModel.getStarts(), -goingDuration);
              var ownEnds = addMinutes(uiModel.getEnds(), comingDuration);
              return !(ownEnds <= startColumnTime || ownStarts >= endColumnTime);
            };
          }
          function setInnerHeights(uiModel, options) {
            var renderStart = options.renderStart, renderEnd = options.renderEnd, modelStart = options.modelStart, modelEnd = options.modelEnd;
            var _uiModel$model2 = uiModel.model, _uiModel$model2$going = _uiModel$model2.goingDuration, goingDuration = _uiModel$model2$going === void 0 ? 0 : _uiModel$model2$going, _uiModel$model2$comin = _uiModel$model2.comingDuration, comingDuration = _uiModel$model2$comin === void 0 ? 0 : _uiModel$model2$comin;
            var modelDurationHeight = 100;
            if (goingDuration > 0) {
              var _getTopHeightByTime = getTopHeightByTime(renderStart, modelStart, renderStart, renderEnd), goingDurationHeight = _getTopHeightByTime.height;
              uiModel.goingDurationHeight = goingDurationHeight;
              modelDurationHeight -= goingDurationHeight;
            }
            if (comingDuration > 0) {
              var _getTopHeightByTime2 = getTopHeightByTime(modelEnd, renderEnd, renderStart, renderEnd), comingDurationHeight = _getTopHeightByTime2.height;
              uiModel.comingDurationHeight = comingDurationHeight;
              modelDurationHeight -= comingDurationHeight;
            }
            uiModel.modelDurationHeight = modelDurationHeight;
          }
          function setCroppedEdges(uiModel, options) {
            var goingStart = options.goingStart, comingEnd = options.comingEnd, startColumnTime = options.startColumnTime, endColumnTime = options.endColumnTime;
            if (goingStart < startColumnTime) {
              uiModel.croppedStart = true;
            }
            if (comingEnd > endColumnTime) {
              uiModel.croppedEnd = true;
            }
          }
          function getDuplicateLeft(uiModel, baseLeft) {
            var duplicateEvents = uiModel.duplicateEvents, duplicateEventIndex = uiModel.duplicateEventIndex;
            var prevEvent = duplicateEvents[duplicateEventIndex - 1];
            var left = baseLeft;
            if (prevEvent) {
              var _extractPercentPx = extractPercentPx("".concat(prevEvent.duplicateLeft)), leftPercent = _extractPercentPx.percent, leftPx = _extractPercentPx.px;
              var _extractPercentPx2 = extractPercentPx("".concat(prevEvent.duplicateWidth)), widthPercent = _extractPercentPx2.percent, widthPx = _extractPercentPx2.px;
              var percent = leftPercent + widthPercent;
              var px = leftPx + widthPx + TIME_EVENT_CONTAINER_MARGIN_LEFT;
              if (percent !== 0) {
                left = "calc(".concat(toPercent(percent), " ").concat(px > 0 ? "+" : "-", " ").concat(toPx(Math.abs(px)), ")");
              } else {
                left = toPx(px);
              }
            } else {
              left = toPercent(left);
            }
            return left;
          }
          function getDuplicateWidth(uiModel, baseWidth) {
            var collapse = uiModel.collapse;
            return collapse ? "".concat(COLLAPSED_DUPLICATE_EVENT_WIDTH_PX, "px") : "calc(".concat(toPercent(baseWidth), " - ").concat(toPx((COLLAPSED_DUPLICATE_EVENT_WIDTH_PX + TIME_EVENT_CONTAINER_MARGIN_LEFT) * (uiModel.duplicateEvents.length - 1) + TIME_EVENT_CONTAINER_MARGIN_LEFT), ")");
          }
          function setDimension(uiModel, options) {
            var startColumnTime = options.startColumnTime, endColumnTime = options.endColumnTime, baseWidth = options.baseWidth, columnIndex = options.columnIndex, renderStart = options.renderStart, renderEnd = options.renderEnd;
            var duplicateEvents = uiModel.duplicateEvents;
            var _getTopHeightByTime3 = getTopHeightByTime(renderStart, renderEnd, startColumnTime, endColumnTime), top = _getTopHeightByTime3.top, height = _getTopHeightByTime3.height;
            var dimension = {
              top,
              left: baseWidth * columnIndex,
              width: baseWidth,
              height: Math.max(MIN_HEIGHT_PERCENT, height),
              duplicateLeft: "",
              duplicateWidth: ""
            };
            if (duplicateEvents.length > 0) {
              dimension.duplicateLeft = getDuplicateLeft(uiModel, dimension.left);
              dimension.duplicateWidth = getDuplicateWidth(uiModel, dimension.width);
            }
            uiModel.setUIProps(dimension);
          }
          function getRenderInfoOptions(uiModel, columnIndex, baseWidth, startColumnTime, endColumnTime) {
            var _uiModel$model3 = uiModel.model, _uiModel$model3$going = _uiModel$model3.goingDuration, goingDuration = _uiModel$model3$going === void 0 ? 0 : _uiModel$model3$going, _uiModel$model3$comin = _uiModel$model3.comingDuration, comingDuration = _uiModel$model3$comin === void 0 ? 0 : _uiModel$model3$comin;
            var modelStart = uiModel.getStarts();
            var modelEnd = uiModel.getEnds();
            var goingStart = addMinutes(modelStart, -goingDuration);
            var comingEnd = addMinutes(modelEnd, comingDuration);
            var renderStart = max(goingStart, startColumnTime);
            var renderEnd = min(comingEnd, endColumnTime);
            return {
              baseWidth,
              columnIndex,
              modelStart,
              modelEnd,
              renderStart,
              renderEnd,
              goingStart,
              comingEnd,
              startColumnTime,
              endColumnTime,
              duplicateEvents: uiModel.duplicateEvents
            };
          }
          function setRenderInfo(_ref) {
            var uiModel = _ref.uiModel, columnIndex = _ref.columnIndex, baseWidth = _ref.baseWidth, startColumnTime = _ref.startColumnTime, endColumnTime = _ref.endColumnTime, _ref$isDuplicateEvent = _ref.isDuplicateEvent, isDuplicateEvent = _ref$isDuplicateEvent === void 0 ? false : _ref$isDuplicateEvent;
            if (!isDuplicateEvent && uiModel.duplicateEvents.length > 0) {
              uiModel.duplicateEvents.forEach(function(event) {
                setRenderInfo({
                  uiModel: event,
                  columnIndex,
                  baseWidth,
                  startColumnTime,
                  endColumnTime,
                  isDuplicateEvent: true
                });
              });
              return;
            }
            var renderInfoOptions = getRenderInfoOptions(uiModel, columnIndex, baseWidth, startColumnTime, endColumnTime);
            setDimension(uiModel, renderInfoOptions);
            setInnerHeights(uiModel, renderInfoOptions);
            setCroppedEdges(uiModel, renderInfoOptions);
          }
          function setDuplicateEvents(uiModels, options, selectedDuplicateEventCid) {
            var getDuplicateEvents = options.getDuplicateEvents, getMainEvent = options.getMainEvent;
            var eventObjects = uiModels.map(function(uiModel) {
              return uiModel.model.toEventObject();
            });
            uiModels.forEach(function(targetUIModel) {
              if (targetUIModel.collapse || targetUIModel.duplicateEvents.length > 0) {
                return;
              }
              var duplicateEvents = getDuplicateEvents(targetUIModel.model.toEventObject(), eventObjects);
              if (duplicateEvents.length <= 1) {
                return;
              }
              var mainEvent = getMainEvent(duplicateEvents);
              var duplicateEventUIModels = duplicateEvents.map(function(event) {
                return uiModels.find(function(uiModel) {
                  return uiModel.cid() === event.__cid;
                });
              });
              var isSelectedGroup = !!(selectedDuplicateEventCid > DEFAULT_DUPLICATE_EVENT_CID && duplicateEvents.find(function(event) {
                return event.__cid === selectedDuplicateEventCid;
              }));
              var duplicateStarts = duplicateEvents.reduce(function(acc, _ref2) {
                var start = _ref2.start, goingDuration = _ref2.goingDuration;
                var renderStart = addMinutes(start, -goingDuration);
                return min(acc, renderStart);
              }, duplicateEvents[0].start);
              var duplicateEnds = duplicateEvents.reduce(function(acc, _ref3) {
                var end = _ref3.end, comingDuration = _ref3.comingDuration;
                var renderEnd = addMinutes(end, comingDuration);
                return max(acc, renderEnd);
              }, duplicateEvents[0].end);
              duplicateEventUIModels.forEach(function(event, index) {
                var isMain = event.cid() === mainEvent.__cid;
                var collapse = !(isSelectedGroup && event.cid() === selectedDuplicateEventCid || !isSelectedGroup && isMain);
                event.setUIProps({
                  duplicateEvents: duplicateEventUIModels,
                  duplicateEventIndex: index,
                  collapse,
                  isMain,
                  duplicateStarts,
                  duplicateEnds
                });
              });
            });
            return uiModels;
          }
          function setRenderInfoOfUIModels(events, startColumnTime, endColumnTime, selectedDuplicateEventCid, collapseDuplicateEventsOptions) {
            var uiModels = events.filter(isTimeEvent).filter(column_isBetween(startColumnTime, endColumnTime)).sort(array.compare.event.asc);
            if (collapseDuplicateEventsOptions) {
              setDuplicateEvents(uiModels, collapseDuplicateEventsOptions, selectedDuplicateEventCid);
            }
            var expandedEvents = uiModels.filter(function(uiModel) {
              return !uiModel.collapse;
            });
            var uiModelColl = createEventCollection.apply(void 0, column_toConsumableArray(expandedEvents));
            var usingTravelTime = true;
            var collisionGroups = getCollisionGroup(expandedEvents, usingTravelTime);
            var matrices = getMatrices(uiModelColl, collisionGroups, usingTravelTime);
            matrices.forEach(function(matrix) {
              var maxRowLength = Math.max.apply(Math, column_toConsumableArray(matrix.map(function(row) {
                return row.length;
              })));
              var baseWidth = Math.round(100 / maxRowLength);
              matrix.forEach(function(row) {
                row.forEach(function(uiModel, columnIndex) {
                  setRenderInfo({
                    uiModel,
                    columnIndex,
                    baseWidth,
                    startColumnTime,
                    endColumnTime
                  });
                });
              });
            });
            return uiModels;
          }
          function useInterval(callback, delay) {
            var savedCallback = hooks_module_s(callback);
            hooks_module_(function() {
              savedCallback.current = callback;
            }, [callback]);
            hooks_module_(function() {
              var tick = function tick2() {
                return savedCallback.current();
              };
              var intervalDelay = delay !== null && delay !== void 0 ? delay : -1;
              if (intervalDelay > 0) {
                var id = setInterval(tick, intervalDelay);
                return function() {
                  return clearInterval(id);
                };
              }
            }, [delay]);
          }
          function useIsMounted() {
            var isMountedRef = hooks_module_s(true);
            hooks_module_(function() {
              return function() {
                isMountedRef.current = false;
              };
            }, []);
            return hooks_module_T(function() {
              return isMountedRef.current;
            }, []);
          }
          function timeGrid_slicedToArray(arr, i) {
            return timeGrid_arrayWithHoles(arr) || timeGrid_iterableToArrayLimit(arr, i) || timeGrid_unsupportedIterableToArray(arr, i) || timeGrid_nonIterableRest();
          }
          function timeGrid_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function timeGrid_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return timeGrid_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return timeGrid_arrayLikeToArray(o2, minLen);
          }
          function timeGrid_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 timeGrid_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function timeGrid_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var timeGrid_classNames = {
            timegrid: cls(className),
            scrollArea: cls(addTimeGridPrefix("scroll-area"))
          };
          function TimeGrid(_ref) {
            var timeGridData = _ref.timeGridData, events = _ref.events;
            var _useStore = useStore(optionsSelector), isReadOnly = _useStore.isReadOnly, _useStore$week = _useStore.week, narrowWeekend = _useStore$week.narrowWeekend, startDayOfWeek = _useStore$week.startDayOfWeek, collapseDuplicateEvents = _useStore$week.collapseDuplicateEvents;
            var showNowIndicator = useStore(showNowIndicatorOptionSelector);
            var selectedDuplicateEventCid = useStore(function(state) {
              return state.weekViewLayout.selectedDuplicateEventCid;
            });
            var _usePrimaryTimezone = usePrimaryTimezone(), _usePrimaryTimezone2 = timeGrid_slicedToArray(_usePrimaryTimezone, 2), getNow = _usePrimaryTimezone2[1];
            var isMounted = useIsMounted();
            var _useTheme = useTheme(weekTimeGridLeftSelector), timeGridLeftWidth = _useTheme.width;
            var _useState = hooks_module_y(null), _useState2 = timeGrid_slicedToArray(_useState, 2), nowIndicatorState = _useState2[0], setNowIndicatorState = _useState2[1];
            var columns = timeGridData.columns, rows = timeGridData.rows;
            var lastColumnIndex = columns.length - 1;
            var totalUIModels = F(function() {
              return columns.map(function(_ref2) {
                var date2 = _ref2.date;
                return events.filter(column_isBetween(toStartOfDay(date2), toEndOfDay(date2))).map(function(uiModel) {
                  return uiModel.clone();
                });
              }).map(function(uiModelsByColumn, columnIndex) {
                return setRenderInfoOfUIModels(uiModelsByColumn, setTimeStrToDate(columns[columnIndex].date, first(rows).startTime), setTimeStrToDate(columns[columnIndex].date, last(rows).endTime), selectedDuplicateEventCid, collapseDuplicateEvents);
              });
            }, [columns, rows, events, selectedDuplicateEventCid, collapseDuplicateEvents]);
            var currentDateData = F(function() {
              var now = getNow();
              var currentDateIndexInColumns = columns.findIndex(function(column) {
                return isSameDate(column.date, now);
              });
              if (currentDateIndexInColumns < 0) {
                return null;
              }
              var startTime = setTimeStrToDate(columns[currentDateIndexInColumns].date, timeGridData.rows[0].startTime);
              var endTime = setTimeStrToDate(columns[currentDateIndexInColumns].date, last(timeGridData.rows).endTime);
              return {
                startTime,
                endTime,
                currentDateIndex: currentDateIndexInColumns
              };
            }, [columns, getNow, timeGridData.rows]);
            var _useDOMNode = useDOMNode(), _useDOMNode2 = timeGrid_slicedToArray(_useDOMNode, 2), columnsContainer = _useDOMNode2[0], setColumnsContainer = _useDOMNode2[1];
            var gridPositionFinder = F(function() {
              return createGridPositionFinder({
                rowsCount: rows.length,
                columnsCount: columns.length,
                container: columnsContainer,
                narrowWeekend,
                startDayOfWeek
              });
            }, [columns.length, columnsContainer, narrowWeekend, rows.length, startDayOfWeek]);
            var onMouseDown = useGridSelection({
              type: "timeGrid",
              gridPositionFinder,
              selectionSorter: timeGridSelectionHelper.sortSelection,
              dateGetter: timeGridSelectionHelper.getDateFromCollection,
              dateCollection: timeGridData
            });
            var updateTimeGridIndicator = hooks_module_T(function() {
              if (isPresent(currentDateData)) {
                var startTime = currentDateData.startTime, endTime = currentDateData.endTime;
                var now = getNow();
                if (startTime <= now && now <= endTime) {
                  setNowIndicatorState({
                    top: getTopPercentByTime(now, startTime, endTime),
                    now
                  });
                }
              }
            }, [currentDateData, getNow]);
            hooks_module_h(function() {
              if (isMounted()) {
                var _currentDateData$curr;
                if (((_currentDateData$curr = currentDateData === null || currentDateData === void 0 ? void 0 : currentDateData.currentDateIndex) !== null && _currentDateData$curr !== void 0 ? _currentDateData$curr : -1) >= 0) {
                  updateTimeGridIndicator();
                } else {
                  setNowIndicatorState(null);
                }
              }
            }, [currentDateData, isMounted, updateTimeGridIndicator]);
            useInterval(updateTimeGridIndicator, isPresent(currentDateData) ? MS_PER_MINUTES : null);
            return h("div", {
              className: timeGrid_classNames.timegrid
            }, h("div", {
              className: timeGrid_classNames.scrollArea
            }, h(TimeColumn, {
              timeGridRows: rows,
              nowIndicatorState
            }), h("div", {
              className: cls("columns"),
              style: {
                left: timeGridLeftWidth
              },
              ref: setColumnsContainer,
              onMouseDown: passConditionalProp(!isReadOnly, onMouseDown)
            }, h(GridLines, {
              timeGridRows: rows
            }), h(movingEventShadow_MovingEventShadow, {
              gridPositionFinder,
              timeGridData
            }), columns.map(function(column, index) {
              return h(Column, {
                key: column.date.toString(),
                timeGridData,
                columnDate: column.date,
                columnWidth: toPercent(column.width),
                columnIndex: index,
                totalUIModels,
                gridPositionFinder,
                isLastColumn: index === lastColumnIndex
              });
            }), showNowIndicator && isPresent(currentDateData) && isPresent(nowIndicatorState) ? h(NowIndicator, {
              top: nowIndicatorState.top,
              columnWidth: columns[0].width,
              columnCount: columns.length,
              columnIndex: currentDateData.currentDateIndex
            }) : null)));
          }
          function TimezoneCollapseButton(_ref) {
            var isCollapsed = _ref.isCollapsed;
            var eventBus = useEventBus();
            var iconClassName = cls("icon", {
              "ic-arrow-right": isCollapsed,
              "ic-arrow-left": !isCollapsed
            });
            return h("button", {
              className: cls(addTimeGridPrefix("timezone-collapse-button")),
              "aria-expanded": !isCollapsed,
              onClick: function onClick() {
                return eventBus.fire("clickTimezonesCollapseBtn", isCollapsed);
              }
            }, h("span", {
              className: iconClassName,
              role: "img"
            }));
          }
          function _extends() {
            _extends = Object.assign ? Object.assign.bind() : 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;
            };
            return _extends.apply(this, arguments);
          }
          function timezoneLabels_toArray(arr) {
            return timezoneLabels_arrayWithHoles(arr) || timezoneLabels_iterableToArray(arr) || timezoneLabels_unsupportedIterableToArray(arr) || timezoneLabels_nonIterableRest();
          }
          function timezoneLabels_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function timezoneLabels_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return timezoneLabels_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return timezoneLabels_arrayLikeToArray(o2, minLen);
          }
          function timezoneLabels_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 timezoneLabels_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function timezoneLabels_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function TimezoneLabel(_ref) {
            var label = _ref.label, offset = _ref.offset, tooltip = _ref.tooltip, _ref$width = _ref.width, width = _ref$width === void 0 ? 100 : _ref$width, left = _ref.left;
            return h("div", {
              title: tooltip,
              className: cls(addTimeGridPrefix("timezone-label")),
              style: {
                width: toPercent(width),
                height: toPercent(100),
                left: toPercent(left)
              },
              role: "gridcell"
            }, h(Template, {
              template: "timezoneDisplayLabel",
              param: {
                displayLabel: label,
                timezoneOffset: offset
              },
              as: "span"
            }));
          }
          function useTimezoneCollapseOptions() {
            var showTimezoneCollapseButton = useStore(showTimezoneCollapseButtonOptionSelector);
            var timezonesCollapsed = useStore(timezonesCollapsedOptionSelector);
            return F(function() {
              return {
                showTimezoneCollapseButton,
                timezonesCollapsed
              };
            }, [showTimezoneCollapseButton, timezonesCollapsed]);
          }
          function TimezoneLabels(_ref2) {
            var top = _ref2.top;
            var timezones = useStore(timezonesSelector);
            var _useTheme = useTheme(weekTimeGridLeftSelector), width = _useTheme.width;
            var tzConverter = useTZConverter();
            var _useTimezoneCollapseO = useTimezoneCollapseOptions(), showTimezoneCollapseButton = _useTimezoneCollapseO.showTimezoneCollapseButton, timezonesCollapsed = _useTimezoneCollapseO.timezonesCollapsed;
            if (timezones.length <= 1) {
              return null;
            }
            var timezoneLabelProps = timezones.map(function(_ref3) {
              var displayLabel = _ref3.displayLabel, timezoneName = _ref3.timezoneName, tooltip = _ref3.tooltip;
              return !isUndefined_default()(displayLabel) ? {
                label: displayLabel,
                offset: null,
                tooltip: tooltip !== null && tooltip !== void 0 ? tooltip : timezoneName
              } : {
                label: null,
                offset: tzConverter(timezoneName).getTimezoneOffset(),
                tooltip: tooltip !== null && tooltip !== void 0 ? tooltip : timezoneName
              };
            });
            var _timezoneLabelProps = timezoneLabels_toArray(timezoneLabelProps), primaryTimezone = _timezoneLabelProps[0], restTimezones = _timezoneLabelProps.slice(1);
            var subTimezones = restTimezones.reverse();
            var timezonesCount = timezonesCollapsed ? 1 : timezones.length;
            var timezoneLabelWidth = 100 / timezonesCount;
            return h("div", {
              style: {
                top,
                width
              },
              role: "columnheader",
              className: cls("timezone-labels-slot")
            }, !timezonesCollapsed && subTimezones.map(function(subTimezone, index) {
              var _subTimezone$label;
              return h(TimezoneLabel, _extends({
                key: "subTimezone-".concat((_subTimezone$label = subTimezone.label) !== null && _subTimezone$label !== void 0 ? _subTimezone$label : subTimezone.offset),
                width: timezoneLabelWidth,
                left: timezoneLabelWidth * index
              }, subTimezone));
            }), showTimezoneCollapseButton && h(TimezoneCollapseButton, {
              isCollapsed: timezonesCollapsed
            }), h(TimezoneLabel, _extends({
              width: timezoneLabelWidth,
              left: timezoneLabelWidth * subTimezones.length
            }, primaryTimezone)));
          }
          var VIEW_TYPE = {
            MONTH: "month",
            WEEK: "week",
            DAY: "day"
          };
          var DEFAULT_TASK_PANEL = ["milestone", "task"];
          var DEFAULT_EVENT_PANEL = ["allday", "time"];
          function view_toConsumableArray(arr) {
            return view_arrayWithoutHoles(arr) || view_iterableToArray(arr) || view_unsupportedIterableToArray(arr) || view_nonIterableSpread();
          }
          function view_nonIterableSpread() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function view_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return view_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return view_arrayLikeToArray(o2, minLen);
          }
          function view_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function view_arrayWithoutHoles(arr) {
            if (Array.isArray(arr))
              return view_arrayLikeToArray(arr);
          }
          function view_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 getActivePanels(taskView, eventView) {
            var activePanels = [];
            if (taskView === true) {
              activePanels.push.apply(activePanels, view_toConsumableArray(DEFAULT_TASK_PANEL));
            } else if (Array.isArray(taskView)) {
              activePanels.push.apply(activePanels, view_toConsumableArray(taskView));
            }
            if (eventView === true) {
              activePanels.push.apply(activePanels, view_toConsumableArray(DEFAULT_EVENT_PANEL));
            } else if (Array.isArray(eventView)) {
              activePanels.push.apply(activePanels, view_toConsumableArray(eventView));
            }
            return activePanels;
          }
          function useEventsWithTimezone(events) {
            var primaryTimezoneName = useStore(primaryTimezoneSelector);
            var tzConverter = useTZConverter();
            return F(function() {
              if (primaryTimezoneName === "Local") {
                return events;
              }
              var isSystemUsingDST = isUsingDST(new date_TZDate());
              var _events$groupBy = events.groupBy(function(eventModel) {
                return eventModel.category === "time" ? "timedEvents" : "totalEvents";
              }), _events$groupBy$timed = _events$groupBy.timedEvents, timedEvents = _events$groupBy$timed === void 0 ? createEventCollection() : _events$groupBy$timed, _events$groupBy$total = _events$groupBy.totalEvents, totalEvents = _events$groupBy$total === void 0 ? createEventCollection() : _events$groupBy$total;
              timedEvents.each(function(eventModel) {
                var clonedEventModel = object_clone(eventModel);
                var zonedStart = tzConverter(primaryTimezoneName, clonedEventModel.start);
                var zonedEnd = tzConverter(primaryTimezoneName, clonedEventModel.end);
                if (isSystemUsingDST) {
                  if (!isUsingDST(zonedStart)) {
                    zonedStart = zonedStart.addHours(1);
                  }
                  if (!isUsingDST(zonedEnd)) {
                    zonedEnd = zonedEnd.addHours(1);
                  }
                } else {
                  if (isUsingDST(zonedStart)) {
                    zonedStart = zonedStart.addHours(-1);
                  }
                  if (isUsingDST(zonedEnd)) {
                    zonedEnd = zonedEnd.addHours(-1);
                  }
                }
                clonedEventModel.start = zonedStart;
                clonedEventModel.end = zonedEnd;
                totalEvents.add(clonedEventModel);
              });
              return totalEvents;
            }, [events, primaryTimezoneName, tzConverter]);
          }
          function useCalendarData_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function useCalendarData_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? useCalendarData_ownKeys(Object(source), true).forEach(function(key) {
                useCalendarData_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : useCalendarData_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function useCalendarData_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function useCalendarData(calendar) {
            for (var _len = arguments.length, filters = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
              filters[_key - 1] = arguments[_key];
            }
            var filteredEvents = F(function() {
              return calendar.events.filter(Collection.and.apply(Collection, filters));
            }, [calendar.events, filters]);
            var filteredEventsWithTimezone = useEventsWithTimezone(filteredEvents);
            return F(function() {
              return useCalendarData_objectSpread(useCalendarData_objectSpread({}, calendar), {}, {
                events: filteredEventsWithTimezone
              });
            }, [calendar, filteredEventsWithTimezone]);
          }
          function isTimeGridDraggingType(draggingItemType) {
            return /^(event|gridSelection)\/timeGrid/.test(draggingItemType !== null && draggingItemType !== void 0 ? draggingItemType : "");
          }
          function useTimeGridScrollSync(scrollArea, rowCount) {
            useTransientUpdate(dndSelector, function(_ref) {
              var y = _ref.y, draggingItemType = _ref.draggingItemType, draggingState = _ref.draggingState;
              if (isPresent(scrollArea) && isTimeGridDraggingType(draggingItemType) && draggingState === DraggingState.DRAGGING && isPresent(y)) {
                var offsetTop = scrollArea.offsetTop, offsetHeight = scrollArea.offsetHeight, scrollHeight = scrollArea.scrollHeight;
                var scrollBoundary = Math.floor(scrollHeight / rowCount);
                var layoutHeight = offsetTop + offsetHeight;
                if (y < offsetTop + scrollBoundary) {
                  var scrollDiff = y - (offsetTop + scrollBoundary);
                  scrollArea.scrollTop = Math.max(0, scrollArea.scrollTop + scrollDiff);
                } else if (y > layoutHeight - scrollBoundary) {
                  var _scrollDiff = y - (layoutHeight - scrollBoundary);
                  scrollArea.scrollTop = Math.min(offsetHeight, scrollArea.scrollTop + _scrollDiff);
                }
              }
            });
          }
          function useTimezoneLabelsTop_slicedToArray(arr, i) {
            return useTimezoneLabelsTop_arrayWithHoles(arr) || useTimezoneLabelsTop_iterableToArrayLimit(arr, i) || useTimezoneLabelsTop_unsupportedIterableToArray(arr, i) || useTimezoneLabelsTop_nonIterableRest();
          }
          function useTimezoneLabelsTop_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useTimezoneLabelsTop_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return useTimezoneLabelsTop_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return useTimezoneLabelsTop_arrayLikeToArray(o2, minLen);
          }
          function useTimezoneLabelsTop_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 useTimezoneLabelsTop_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function useTimezoneLabelsTop_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function timegridHeightSelector(state) {
            var _state$weekViewLayout, _state$weekViewLayout2, _state$weekViewLayout3;
            return (_state$weekViewLayout = state.weekViewLayout) === null || _state$weekViewLayout === void 0 ? void 0 : (_state$weekViewLayout2 = _state$weekViewLayout.dayGridRows) === null || _state$weekViewLayout2 === void 0 ? void 0 : (_state$weekViewLayout3 = _state$weekViewLayout2.time) === null || _state$weekViewLayout3 === void 0 ? void 0 : _state$weekViewLayout3.height;
          }
          function useTimezoneLabelsTop(timePanel) {
            var timeGridPanelHeight = useStore(timegridHeightSelector);
            var _useState = hooks_module_y(null), _useState2 = useTimezoneLabelsTop_slicedToArray(_useState, 2), stickyTop = _useState2[0], setStickyTop = _useState2[1];
            hooks_module_h(function() {
              if (isPresent(timeGridPanelHeight) && timePanel) {
                setStickyTop(timePanel.offsetTop);
              }
            }, [timeGridPanelHeight, timePanel]);
            return stickyTop;
          }
          function day_slicedToArray(arr, i) {
            return day_arrayWithHoles(arr) || day_iterableToArrayLimit(arr, i) || day_unsupportedIterableToArray(arr, i) || day_nonIterableRest();
          }
          function day_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function day_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return day_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return day_arrayLikeToArray(o2, minLen);
          }
          function day_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 day_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function day_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function useDayViewState() {
            var calendar = useStore(calendarSelector);
            var options = useStore(optionsSelector);
            var _useStore = useStore(weekViewLayoutSelector), gridRowLayout = _useStore.dayGridRows, lastPanelType = _useStore.lastPanelType;
            var _useStore2 = useStore(viewSelector), renderDate = _useStore2.renderDate;
            return F(function() {
              return {
                calendar,
                options,
                gridRowLayout,
                lastPanelType,
                renderDate
              };
            }, [calendar, options, gridRowLayout, lastPanelType, renderDate]);
          }
          function day_Day() {
            var _options$week$dayName, _options$week;
            var _useDayViewState = useDayViewState(), calendar = _useDayViewState.calendar, options = _useDayViewState.options, gridRowLayout = _useDayViewState.gridRowLayout, lastPanelType = _useDayViewState.lastPanelType, renderDate = _useDayViewState.renderDate;
            var primaryTimezoneName = useStore(primaryTimezoneSelector);
            var gridHeaderMarginLeft = useTheme(hooks_module_T(function(theme) {
              return theme.week.dayGridLeft.width;
            }, []));
            var _useDOMNode = useDOMNode(), _useDOMNode2 = day_slicedToArray(_useDOMNode, 2), timePanel = _useDOMNode2[0], setTimePanelRef = _useDOMNode2[1];
            var weekOptions = options.week;
            var narrowWeekend = weekOptions.narrowWeekend, startDayOfWeek = weekOptions.startDayOfWeek, workweek = weekOptions.workweek, hourStart = weekOptions.hourStart, hourEnd = weekOptions.hourEnd, eventView = weekOptions.eventView, taskView = weekOptions.taskView;
            var days = F(function() {
              return [renderDate];
            }, [renderDate]);
            var dayNames = getDayNames(days, (_options$week$dayName = (_options$week = options.week) === null || _options$week === void 0 ? void 0 : _options$week.dayNames) !== null && _options$week$dayName !== void 0 ? _options$week$dayName : []);
            var _getRowStyleInfo = getRowStyleInfo(days.length, narrowWeekend, startDayOfWeek, workweek), rowStyleInfo = _getRowStyleInfo.rowStyleInfo, cellWidthMap = _getRowStyleInfo.cellWidthMap;
            var calendarData = useCalendarData(calendar, options.eventFilter);
            var dayGridEvents = F(function() {
              var getFilterRange = function getFilterRange2() {
                if (primaryTimezoneName === "Local") {
                  return [toStartOfDay(days[0]), toEndOfDay(days[0])];
                }
                return [toStartOfDay(addDate(days[0], -1)), toEndOfDay(addDate(days[0], 1))];
              };
              var _getFilterRange = getFilterRange(), _getFilterRange2 = day_slicedToArray(_getFilterRange, 2), weekStartDate = _getFilterRange2[0], weekEndDate = _getFilterRange2[1];
              return getWeekViewEvents(days, calendarData, {
                narrowWeekend,
                hourStart,
                hourEnd,
                weekStartDate,
                weekEndDate
              });
            }, [calendarData, days, hourEnd, hourStart, narrowWeekend, primaryTimezoneName]);
            var timeGridData = F(function() {
              return createTimeGridData(days, {
                hourStart,
                hourEnd,
                narrowWeekend
              });
            }, [days, hourEnd, hourStart, narrowWeekend]);
            var activePanels = getActivePanels(taskView, eventView);
            var gridRows = activePanels.map(function(key) {
              var _gridRowLayout$rowTyp, _gridRowLayout$rowTyp2;
              if (key === "time") {
                return null;
              }
              var rowType = key;
              return h(Panel, {
                key: rowType,
                name: rowType,
                resizable: rowType !== lastPanelType
              }, rowType === "allday" ? h(AlldayGridRow, {
                events: dayGridEvents[rowType],
                rowStyleInfo,
                gridColWidthMap: cellWidthMap,
                weekDates: days,
                height: (_gridRowLayout$rowTyp = gridRowLayout[rowType]) === null || _gridRowLayout$rowTyp === void 0 ? void 0 : _gridRowLayout$rowTyp.height,
                options: weekOptions
              }) : h(OtherGridRow, {
                category: rowType,
                events: dayGridEvents[rowType],
                weekDates: days,
                height: (_gridRowLayout$rowTyp2 = gridRowLayout[rowType]) === null || _gridRowLayout$rowTyp2 === void 0 ? void 0 : _gridRowLayout$rowTyp2.height,
                options: weekOptions,
                gridColWidthMap: cellWidthMap
              }));
            });
            useTimeGridScrollSync(timePanel, timeGridData.rows.length);
            var stickyTop = useTimezoneLabelsTop(timePanel);
            return h(Layout, {
              className: cls("day-view"),
              autoAdjustPanels: true
            }, h(Panel, {
              name: "day-view-day-names",
              initialHeight: WEEK_DAY_NAME_HEIGHT + WEEK_DAY_NAME_BORDER
            }, h(GridHeader, {
              type: "week",
              dayNames,
              marginLeft: gridHeaderMarginLeft,
              rowStyleInfo
            })), gridRows, activePanels.includes("time") ? h(Panel, {
              name: "time",
              autoSize: 1,
              ref: setTimePanelRef
            }, h(TimeGrid, {
              events: dayGridEvents.time,
              timeGridData
            }), h(TimezoneLabels, {
              top: stickyTop
            })) : null);
          }
          function AccumulatedGridSelection(_ref) {
            var rowIndex = _ref.rowIndex, weekDates = _ref.weekDates, narrowWeekend = _ref.narrowWeekend;
            var gridSelectionDataByRow = useStore(hooks_module_T(function(state) {
              return state.gridSelection.accumulated.dayGridMonth.map(function(gridSelection) {
                return dayGridMonthSelectionHelper.calculateSelection(gridSelection, rowIndex, weekDates.length);
              });
            }, [rowIndex, weekDates]));
            return h("div", {
              className: cls("accumulated-grid-selection")
            }, gridSelectionDataByRow.map(function(gridSelectionData) {
              return gridSelectionData ? h(GridSelection, {
                type: "accumulated",
                gridSelectionData,
                weekDates,
                narrowWeekend
              }) : null;
            }));
          }
          function MoreEventsButton(_ref) {
            var type = _ref.type, number = _ref.number, onClickButton = _ref.onClickButton, className2 = _ref.className;
            var _useDispatch = useDispatch("dnd"), reset = _useDispatch.reset;
            var handleMouseDown = function handleMouseDown2(e2) {
              e2.stopPropagation();
            };
            var handleClick = function handleClick2() {
              reset();
              onClickButton();
            };
            var exceedButtonTemplate = "monthGrid".concat(type === CellBarType.header ? "Header" : "Footer", "Exceed");
            return h("button", {
              type: "button",
              onMouseDown: handleMouseDown,
              onClick: handleClick,
              className: className2
            }, h(Template, {
              template: exceedButtonTemplate,
              param: number
            }));
          }
          function cellHeader_slicedToArray(arr, i) {
            return cellHeader_arrayWithHoles(arr) || cellHeader_iterableToArrayLimit(arr, i) || cellHeader_unsupportedIterableToArray(arr, i) || cellHeader_nonIterableRest();
          }
          function cellHeader_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function cellHeader_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return cellHeader_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return cellHeader_arrayLikeToArray(o2, minLen);
          }
          function cellHeader_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 cellHeader_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function cellHeader_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function getDateColor(_ref) {
            var date2 = _ref.date, theme = _ref.theme, renderDate = _ref.renderDate, isToday = _ref.isToday;
            var dayIndex = date2.getDay();
            var thisMonth = renderDate.getMonth();
            var isSameMonth2 = thisMonth === date2.getMonth();
            var _theme$common = theme.common, holiday = _theme$common.holiday, saturday = _theme$common.saturday, today = _theme$common.today, dayName = _theme$common.dayName, _theme$month = theme.month, dayExceptThisMonth = _theme$month.dayExceptThisMonth, holidayExceptThisMonth = _theme$month.holidayExceptThisMonth;
            if (isToday) {
              return today.color;
            }
            if (isSunday(dayIndex)) {
              return isSameMonth2 ? holiday.color : holidayExceptThisMonth.color;
            }
            if (isSaturday(dayIndex)) {
              return isSameMonth2 ? saturday.color : dayExceptThisMonth.color;
            }
            if (!isSameMonth2) {
              return dayExceptThisMonth.color;
            }
            return dayName.color;
          }
          function useCellHeaderTheme() {
            var common = useCommonTheme();
            var month = useMonthTheme();
            return F(function() {
              return {
                common,
                month
              };
            }, [common, month]);
          }
          function CellHeader(_ref2) {
            var _ref2$type = _ref2.type, type = _ref2$type === void 0 ? CellBarType.header : _ref2$type, _ref2$exceedCount = _ref2.exceedCount, exceedCount = _ref2$exceedCount === void 0 ? 0 : _ref2$exceedCount, date2 = _ref2.date, onClickExceedCount = _ref2.onClickExceedCount;
            var _useStore = useStore(viewSelector), renderDate = _useStore.renderDate;
            var _usePrimaryTimezone = usePrimaryTimezone(), _usePrimaryTimezone2 = cellHeader_slicedToArray(_usePrimaryTimezone, 2), getNow = _usePrimaryTimezone2[1];
            var theme = useCellHeaderTheme();
            var height = theme.month.gridCell["".concat(type, "Height")];
            var ymd = datetime_toFormat(date2, "YYYYMMDD");
            var todayYmd = datetime_toFormat(getNow(), "YYYYMMDD");
            var isToday = ymd === todayYmd;
            var templateParam = {
              date: datetime_toFormat(date2, "YYYY-MM-DD"),
              day: date2.getDay(),
              hiddenEventCount: exceedCount,
              isOtherMonth: date2.getMonth() !== renderDate.getMonth(),
              isToday: ymd === todayYmd,
              month: date2.getMonth(),
              ymd
            };
            var gridCellDateStyle = {
              color: getDateColor({
                date: date2,
                theme,
                isToday,
                renderDate
              })
            };
            var monthGridTemplate = "monthGrid".concat(capitalize(type));
            if (type_isNil(height)) {
              return null;
            }
            return h("div", {
              className: cls("grid-cell-".concat(type)),
              style: {
                height
              }
            }, h("span", {
              className: cls("grid-cell-date"),
              style: gridCellDateStyle
            }, h(Template, {
              template: monthGridTemplate,
              param: templateParam
            })), exceedCount ? h(MoreEventsButton, {
              type,
              number: exceedCount,
              onClickButton: onClickExceedCount,
              className: cls("grid-cell-more-events")
            }) : null);
          }
          function gridCell_slicedToArray(arr, i) {
            return gridCell_arrayWithHoles(arr) || gridCell_iterableToArrayLimit(arr, i) || gridCell_unsupportedIterableToArray(arr, i) || gridCell_nonIterableRest();
          }
          function gridCell_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function gridCell_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return gridCell_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return gridCell_arrayLikeToArray(o2, minLen);
          }
          function gridCell_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 gridCell_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function gridCell_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function gridCell_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function gridCell_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? gridCell_ownKeys(Object(source), true).forEach(function(key) {
                gridCell_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : gridCell_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function gridCell_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function getSeeMorePopupSize(_ref) {
            var grid = _ref.grid, offsetWidth = _ref.offsetWidth, eventLength = _ref.eventLength, layerSize = _ref.layerSize;
            var minHeight = getSize(grid).height + MONTH_MORE_VIEW_PADDING * 2;
            var width = offsetWidth + MONTH_MORE_VIEW_PADDING * 2;
            var moreViewWidth = layerSize.width, moreViewHeight = layerSize.height;
            var MAX_DISPLAY_EVENT_COUNT = 10;
            width = Math.max(width, MONTH_MORE_VIEW_MIN_WIDTH);
            var height = MONTH_MORE_VIEW_HEADER_HEIGHT + MONTH_MORE_VIEW_HEADER_MARGIN_BOTTOM + MONTH_MORE_VIEW_PADDING;
            var eventHeight = MONTH_EVENT_HEIGHT + MONTH_EVENT_MARGIN_TOP;
            if (eventLength <= MAX_DISPLAY_EVENT_COUNT) {
              height += eventHeight * eventLength;
            } else {
              height += eventHeight * MAX_DISPLAY_EVENT_COUNT;
            }
            if (moreViewWidth) {
              width = moreViewWidth;
            }
            if (moreViewHeight) {
              height = moreViewHeight;
            }
            if (isNaN(height) || height < minHeight) {
              height = minHeight;
            }
            return {
              width,
              height
            };
          }
          function getSeeMorePopupPosition(popupSize, appContainerSize, cellRect) {
            var containerWidth = appContainerSize.width, containerHeight = appContainerSize.height, containerLeft = appContainerSize.left, containerTop = appContainerSize.top;
            var popupWidth = popupSize.width, popupHeight = popupSize.height;
            var containerRight = containerLeft + containerWidth;
            var containerBottom = containerTop + containerHeight;
            var left = cellRect.left + cellRect.width / 2 - popupWidth / 2;
            var top = cellRect.top;
            var isLeftOutOfContainer = left < containerLeft;
            var isRightOutOfContainer = left + popupWidth > containerRight;
            var isUpperOutOfContainer = top < containerTop;
            var isLowerOutOfContainer = top + popupHeight > containerBottom;
            if (isLeftOutOfContainer) {
              left = containerLeft;
            }
            if (isRightOutOfContainer) {
              left = containerRight - popupWidth;
            }
            if (isUpperOutOfContainer) {
              top = containerTop;
            }
            if (isLowerOutOfContainer) {
              top = containerBottom - popupHeight;
            }
            return {
              top: top + window.scrollY,
              left: left + window.scrollX
            };
          }
          function getSeeMorePopupRect(_ref2) {
            var layoutContainer = _ref2.layoutContainer, cell = _ref2.cell, popupSize = _ref2.popupSize;
            var containerRect = layoutContainer.getBoundingClientRect();
            var cellRect = cell.getBoundingClientRect();
            var popupPosition = getSeeMorePopupPosition(popupSize, containerRect, cellRect);
            return gridCell_objectSpread(gridCell_objectSpread({}, popupSize), popupPosition);
          }
          function usePopupPosition(eventLength, parentContainer, layoutContainer) {
            var _useTheme = useTheme(monthMoreViewSelector), moreViewWidth = _useTheme.width, moreViewHeight = _useTheme.height;
            var _useDOMNode = useDOMNode(), _useDOMNode2 = gridCell_slicedToArray(_useDOMNode, 2), container = _useDOMNode2[0], containerRefCallback = _useDOMNode2[1];
            var _useState = hooks_module_y(null), _useState2 = gridCell_slicedToArray(_useState, 2), popupPosition = _useState2[0], setPopupPosition = _useState2[1];
            hooks_module_(function() {
              if (layoutContainer && parentContainer && container) {
                var popupSize = getSeeMorePopupSize({
                  grid: parentContainer,
                  offsetWidth: container.offsetWidth,
                  eventLength,
                  layerSize: {
                    width: moreViewWidth,
                    height: moreViewHeight
                  }
                });
                var rect = getSeeMorePopupRect({
                  cell: container,
                  layoutContainer,
                  popupSize
                });
                setPopupPosition(rect);
              }
            }, [layoutContainer, container, eventLength, parentContainer, moreViewWidth, moreViewHeight]);
            return {
              popupPosition,
              containerRefCallback
            };
          }
          function weekendBackgroundColorSelector(theme) {
            return theme.month.weekend.backgroundColor;
          }
          function gridCell_GridCell(_ref3) {
            var date2 = _ref3.date, _ref3$events = _ref3.events, events = _ref3$events === void 0 ? [] : _ref3$events, style = _ref3.style, parentContainer = _ref3.parentContainer, contentAreaHeight = _ref3.contentAreaHeight;
            var layoutContainer = useLayoutContainer();
            var _useDispatch = useDispatch("popup"), showSeeMorePopup = _useDispatch.showSeeMorePopup;
            var backgroundColor = useTheme(weekendBackgroundColorSelector);
            var _usePopupPosition = usePopupPosition(events.length, parentContainer, layoutContainer), popupPosition = _usePopupPosition.popupPosition, containerRefCallback = _usePopupPosition.containerRefCallback;
            var onOpenSeeMorePopup = hooks_module_T(function() {
              if (popupPosition) {
                showSeeMorePopup({
                  date: date2,
                  popupPosition,
                  events
                });
              }
            }, [date2, events, popupPosition, showSeeMorePopup]);
            var exceedCount = getExceedCount(events, contentAreaHeight, MONTH_EVENT_HEIGHT + MONTH_EVENT_MARGIN_TOP);
            return h("div", {
              className: cls("daygrid-cell"),
              style: gridCell_objectSpread(gridCell_objectSpread({}, style), {}, {
                backgroundColor: isWeekend(date2.getDay()) ? backgroundColor : "inherit"
              }),
              ref: containerRefCallback
            }, h(CellHeader, {
              type: CellBarType.header,
              exceedCount,
              date: date2,
              onClickExceedCount: onOpenSeeMorePopup
            }), h(CellHeader, {
              type: CellBarType.footer,
              exceedCount,
              date: date2,
              onClickExceedCount: onOpenSeeMorePopup
            }));
          }
          function gridRow_slicedToArray(arr, i) {
            return gridRow_arrayWithHoles(arr) || gridRow_iterableToArrayLimit(arr, i) || gridRow_unsupportedIterableToArray(arr, i) || gridRow_nonIterableRest();
          }
          function gridRow_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function gridRow_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return gridRow_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return gridRow_arrayLikeToArray(o2, minLen);
          }
          function gridRow_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 gridRow_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function gridRow_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var GridRow = compat_module_g(function GridRow2(_ref) {
            var week = _ref.week, rowInfo = _ref.rowInfo, _ref$gridDateEventMod = _ref.gridDateEventModelMap, gridDateEventModelMap = _ref$gridDateEventMod === void 0 ? {} : _ref$gridDateEventMod, contentAreaHeight = _ref.contentAreaHeight;
            var _useDOMNode = useDOMNode(), _useDOMNode2 = gridRow_slicedToArray(_useDOMNode, 2), container = _useDOMNode2[0], containerRefCallback = _useDOMNode2[1];
            var border = useTheme(hooks_module_T(function(theme) {
              return theme.common.border;
            }, []));
            return h("div", {
              className: cls("weekday-grid"),
              style: {
                borderTop: border
              },
              ref: containerRefCallback
            }, week.map(function(date2, columnIndex) {
              var dayIndex = date2.getDay();
              var _rowInfo$columnIndex = rowInfo[columnIndex], width = _rowInfo$columnIndex.width, left = _rowInfo$columnIndex.left;
              var ymd = datetime_toFormat(toStartOfDay(date2), "YYYYMMDD");
              return h(gridCell_GridCell, {
                key: "daygrid-cell-".concat(dayIndex),
                date: date2,
                style: {
                  width: toPercent(width),
                  left: toPercent(left)
                },
                parentContainer: container,
                events: gridDateEventModelMap[ymd],
                contentAreaHeight
              });
            }));
          });
          function GridSelectionByRow(_ref) {
            var weekDates = _ref.weekDates, narrowWeekend = _ref.narrowWeekend, rowIndex = _ref.rowIndex;
            var gridSelectionDataByRow = useStore(hooks_module_T(function(state) {
              return dayGridMonthSelectionHelper.calculateSelection(state.gridSelection.dayGridMonth, rowIndex, weekDates.length);
            }, [rowIndex, weekDates.length]));
            if (type_isNil(gridSelectionDataByRow)) {
              return null;
            }
            return h(GridSelection, {
              type: "month",
              gridSelectionData: gridSelectionDataByRow,
              weekDates,
              narrowWeekend
            });
          }
          var MonthEvents = compat_module_g(function MonthEvents2(_ref) {
            var contentAreaHeight = _ref.contentAreaHeight, _ref$eventHeight = _ref.eventHeight, eventHeight = _ref$eventHeight === void 0 ? EVENT_HEIGHT : _ref$eventHeight, events = _ref.events, name = _ref.name, className2 = _ref.className;
            var _useTheme = useTheme(monthGridCellSelector), headerHeight = _useTheme.headerHeight;
            var dayEvents = events.filter(isWithinHeight(contentAreaHeight, eventHeight + MONTH_EVENT_MARGIN_TOP)).map(function(uiModel) {
              return h(HorizontalEvent, {
                key: "".concat(name, "-DayEvent-").concat(uiModel.cid()),
                uiModel,
                eventHeight,
                headerHeight: headerHeight !== null && headerHeight !== void 0 ? headerHeight : MONTH_CELL_BAR_HEIGHT
              });
            });
            return h("div", {
              className: className2
            }, dayEvents);
          });
          function useDayGridMonthEventMove_slicedToArray(arr, i) {
            return useDayGridMonthEventMove_arrayWithHoles(arr) || useDayGridMonthEventMove_iterableToArrayLimit(arr, i) || useDayGridMonthEventMove_unsupportedIterableToArray(arr, i) || useDayGridMonthEventMove_nonIterableRest();
          }
          function useDayGridMonthEventMove_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useDayGridMonthEventMove_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return useDayGridMonthEventMove_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return useDayGridMonthEventMove_arrayLikeToArray(o2, minLen);
          }
          function useDayGridMonthEventMove_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 useDayGridMonthEventMove_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function useDayGridMonthEventMove_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function useDayGridMonthEventMove(_ref) {
            var dateMatrix = _ref.dateMatrix, rowInfo = _ref.rowInfo, gridPositionFinder = _ref.gridPositionFinder, rowIndex = _ref.rowIndex;
            var eventBus = useEventBus();
            var _useDraggingEvent = useDraggingEvent("dayGrid", "move"), isDraggingEnd = _useDraggingEvent.isDraggingEnd, isDraggingCanceled = _useDraggingEvent.isDraggingCanceled, movingEvent = _useDraggingEvent.draggingEvent, clearDraggingEvent = _useDraggingEvent.clearDraggingEvent;
            var _useCurrentPointerPos = useCurrentPointerPositionInGrid(gridPositionFinder), _useCurrentPointerPos2 = useDayGridMonthEventMove_slicedToArray(_useCurrentPointerPos, 2), currentGridPos = _useCurrentPointerPos2[0], clearCurrentGridPos = _useCurrentPointerPos2[1];
            var movingEventUIModel = F(function() {
              var shadowEventUIModel = null;
              if (movingEvent && (currentGridPos === null || currentGridPos === void 0 ? void 0 : currentGridPos.rowIndex) === rowIndex) {
                var _currentGridPos$colum, _currentGridPos$colum2;
                shadowEventUIModel = movingEvent;
                shadowEventUIModel.left = rowInfo[(_currentGridPos$colum = currentGridPos === null || currentGridPos === void 0 ? void 0 : currentGridPos.columnIndex) !== null && _currentGridPos$colum !== void 0 ? _currentGridPos$colum : 0].left;
                shadowEventUIModel.width = rowInfo[(_currentGridPos$colum2 = currentGridPos === null || currentGridPos === void 0 ? void 0 : currentGridPos.columnIndex) !== null && _currentGridPos$colum2 !== void 0 ? _currentGridPos$colum2 : 0].width;
              }
              return shadowEventUIModel;
            }, [movingEvent, currentGridPos === null || currentGridPos === void 0 ? void 0 : currentGridPos.rowIndex, currentGridPos === null || currentGridPos === void 0 ? void 0 : currentGridPos.columnIndex, rowIndex, rowInfo]);
            useWhen(function() {
              var shouldUpdate = !isDraggingCanceled && isPresent(movingEventUIModel) && isPresent(currentGridPos);
              if (shouldUpdate) {
                var preStartDate = movingEventUIModel.model.getStarts();
                var eventDuration = movingEventUIModel.duration();
                var currentDate = dateMatrix[currentGridPos.rowIndex][currentGridPos.columnIndex];
                var timeOffsetPerDay = getDateDifference(currentDate, preStartDate) * MS_PER_DAY;
                var newStartDate = new date_TZDate(preStartDate.getTime() + timeOffsetPerDay);
                var newEndDate = new date_TZDate(newStartDate.getTime() + eventDuration);
                eventBus.fire("beforeUpdateEvent", {
                  event: movingEventUIModel.model.toEventObject(),
                  changes: {
                    start: newStartDate,
                    end: newEndDate
                  }
                });
              }
              clearDraggingEvent();
              clearCurrentGridPos();
            }, isDraggingEnd);
            return movingEventUIModel;
          }
          function dayGridMonth_movingEventShadow_MovingEventShadow(_ref) {
            var dateMatrix = _ref.dateMatrix, gridPositionFinder = _ref.gridPositionFinder, rowInfo = _ref.rowInfo, rowIndex = _ref.rowIndex;
            var movingEvent = useDayGridMonthEventMove({
              dateMatrix,
              rowInfo,
              gridPositionFinder,
              rowIndex
            });
            if (type_isNil(movingEvent)) {
              return null;
            }
            return h(HorizontalEvent, {
              uiModel: movingEvent,
              movingLeft: movingEvent.left,
              eventHeight: EVENT_HEIGHT,
              headerHeight: MONTH_CELL_PADDING_TOP + MONTH_CELL_BAR_HEIGHT
            });
          }
          function useDayGridMonthEventResize_slicedToArray(arr, i) {
            return useDayGridMonthEventResize_arrayWithHoles(arr) || useDayGridMonthEventResize_iterableToArrayLimit(arr, i) || useDayGridMonthEventResize_unsupportedIterableToArray(arr, i) || useDayGridMonthEventResize_nonIterableRest();
          }
          function useDayGridMonthEventResize_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function useDayGridMonthEventResize_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return useDayGridMonthEventResize_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return useDayGridMonthEventResize_arrayLikeToArray(o2, minLen);
          }
          function useDayGridMonthEventResize_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 useDayGridMonthEventResize_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function useDayGridMonthEventResize_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function getRowPosOfUIModel(uiModel, dateRow) {
            var startColumnIndex = Math.max(getGridDateIndex(uiModel.getStarts(), dateRow), 0);
            var endColumnIndex = getGridDateIndex(uiModel.getEnds(), dateRow);
            return {
              startColumnIndex,
              endColumnIndex
            };
          }
          function useDayGridMonthEventResize(_ref) {
            var dateMatrix = _ref.dateMatrix, gridPositionFinder = _ref.gridPositionFinder, renderedUIModels = _ref.renderedUIModels, cellWidthMap = _ref.cellWidthMap, rowIndex = _ref.rowIndex;
            var eventBus = useEventBus();
            var _useDraggingEvent = useDraggingEvent("dayGrid", "resize"), isDraggingEnd = _useDraggingEvent.isDraggingEnd, isDraggingCanceled = _useDraggingEvent.isDraggingCanceled, resizingStartUIModel = _useDraggingEvent.draggingEvent, clearDraggingEvent = _useDraggingEvent.clearDraggingEvent;
            var _useCurrentPointerPos = useCurrentPointerPositionInGrid(gridPositionFinder), _useCurrentPointerPos2 = useDayGridMonthEventResize_slicedToArray(_useCurrentPointerPos, 2), currentGridPos = _useCurrentPointerPos2[0], clearCurrentGridPos = _useCurrentPointerPos2[1];
            var _useState = hooks_module_y(null), _useState2 = useDayGridMonthEventResize_slicedToArray(_useState, 2), guideProps = _useState2[0], setGuideProps = _useState2[1];
            var clearStates = hooks_module_T(function() {
              setGuideProps(null);
              clearCurrentGridPos();
              clearDraggingEvent();
            }, [clearCurrentGridPos, clearDraggingEvent]);
            var baseResizingInfo = F(function() {
              if (type_isNil(resizingStartUIModel)) {
                return null;
              }
              var resizeTargetUIModelRows = renderedUIModels.map(function(_ref2) {
                var uiModels = _ref2.uiModels;
                return uiModels.filter(function(uiModel) {
                  return uiModel.cid() === resizingStartUIModel.cid();
                });
              });
              var eventStartDateRowIndex = resizeTargetUIModelRows.findIndex(function(row) {
                return row.length > 0;
              });
              var eventEndDateRowIndex = findLastIndex(resizeTargetUIModelRows, function(row) {
                return row.length > 0;
              });
              var eventStartUIModelPos = getRowPosOfUIModel(resizeTargetUIModelRows[eventStartDateRowIndex][0], dateMatrix[eventStartDateRowIndex]);
              var eventEndUIModelPos = getRowPosOfUIModel(resizeTargetUIModelRows[eventEndDateRowIndex][0], dateMatrix[eventEndDateRowIndex]);
              return {
                eventStartDateColumnIndex: eventStartUIModelPos.startColumnIndex,
                eventStartDateRowIndex,
                eventEndDateColumnIndex: eventEndUIModelPos.endColumnIndex,
                eventEndDateRowIndex,
                resizeTargetUIModelRows
              };
            }, [dateMatrix, renderedUIModels, resizingStartUIModel]);
            var canCalculateProps = isPresent(baseResizingInfo) && isPresent(resizingStartUIModel) && isPresent(currentGridPos);
            hooks_module_(function() {
              if (canCalculateProps && rowIndex === baseResizingInfo.eventStartDateRowIndex) {
                var eventStartDateRowIndex = baseResizingInfo.eventStartDateRowIndex, eventStartDateColumnIndex = baseResizingInfo.eventStartDateColumnIndex;
                var clonedUIModel = baseResizingInfo.resizeTargetUIModelRows[eventStartDateRowIndex][0].clone();
                var height;
                if (eventStartDateRowIndex === currentGridPos.rowIndex) {
                  height = cellWidthMap[eventStartDateColumnIndex][Math.max(eventStartDateColumnIndex, currentGridPos.columnIndex)];
                } else if (eventStartDateRowIndex > currentGridPos.rowIndex) {
                  height = cellWidthMap[eventStartDateColumnIndex][eventStartDateColumnIndex];
                } else {
                  height = cellWidthMap[eventStartDateColumnIndex][dateMatrix[rowIndex].length - 1];
                  clonedUIModel.setUIProps({
                    exceedRight: true
                  });
                }
                setGuideProps([clonedUIModel, height]);
              }
            }, [baseResizingInfo, canCalculateProps, cellWidthMap, currentGridPos, dateMatrix, rowIndex]);
            hooks_module_(function() {
              if (canCalculateProps && baseResizingInfo.eventStartDateRowIndex < rowIndex && rowIndex < currentGridPos.rowIndex) {
                var clonedUIModel = resizingStartUIModel.clone();
                clonedUIModel.setUIProps({
                  left: 0,
                  exceedLeft: true,
                  exceedRight: true
                });
                setGuideProps([clonedUIModel, "100%"]);
              }
            }, [baseResizingInfo, canCalculateProps, currentGridPos, resizingStartUIModel, rowIndex]);
            hooks_module_(function() {
              if (canCalculateProps && baseResizingInfo.eventStartDateRowIndex < currentGridPos.rowIndex && rowIndex === currentGridPos.rowIndex) {
                var clonedUIModel = resizingStartUIModel.clone();
                clonedUIModel.setUIProps({
                  left: 0,
                  exceedLeft: true
                });
                setGuideProps([clonedUIModel, cellWidthMap[0][currentGridPos.columnIndex]]);
              }
            }, [baseResizingInfo, canCalculateProps, cellWidthMap, currentGridPos, resizingStartUIModel, rowIndex]);
            hooks_module_(function() {
              if (canCalculateProps && rowIndex > baseResizingInfo.eventStartDateRowIndex && rowIndex > currentGridPos.rowIndex) {
                setGuideProps(null);
              }
            }, [canCalculateProps, currentGridPos, baseResizingInfo, rowIndex]);
            useWhen(function() {
              if (canCalculateProps) {
                var eventStartDateColumnIndex = baseResizingInfo.eventStartDateColumnIndex, eventStartDateRowIndex = baseResizingInfo.eventStartDateRowIndex;
                var shouldUpdate = !isDraggingCanceled && (currentGridPos.rowIndex === eventStartDateRowIndex && currentGridPos.columnIndex >= eventStartDateColumnIndex || currentGridPos.rowIndex > eventStartDateRowIndex);
                if (shouldUpdate) {
                  var targetEndDate = dateMatrix[currentGridPos.rowIndex][currentGridPos.columnIndex];
                  eventBus.fire("beforeUpdateEvent", {
                    event: resizingStartUIModel.model.toEventObject(),
                    changes: {
                      end: targetEndDate
                    }
                  });
                }
              }
              clearStates();
            }, isDraggingEnd);
            return guideProps;
          }
          function resizingGuideByRow_slicedToArray(arr, i) {
            return resizingGuideByRow_arrayWithHoles(arr) || resizingGuideByRow_iterableToArrayLimit(arr, i) || resizingGuideByRow_unsupportedIterableToArray(arr, i) || resizingGuideByRow_nonIterableRest();
          }
          function resizingGuideByRow_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function resizingGuideByRow_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return resizingGuideByRow_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return resizingGuideByRow_arrayLikeToArray(o2, minLen);
          }
          function resizingGuideByRow_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 resizingGuideByRow_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function resizingGuideByRow_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function ResizingGuideByRow(_ref) {
            var dateMatrix = _ref.dateMatrix, cellWidthMap = _ref.cellWidthMap, gridPositionFinder = _ref.gridPositionFinder, renderedUIModels = _ref.renderedUIModels, rowIndex = _ref.rowIndex;
            var resizingGuideProps = useDayGridMonthEventResize({
              dateMatrix,
              gridPositionFinder,
              cellWidthMap,
              renderedUIModels,
              rowIndex
            });
            if (type_isNil(resizingGuideProps)) {
              return null;
            }
            var _resizingGuideProps = resizingGuideByRow_slicedToArray(resizingGuideProps, 2), uiModel = _resizingGuideProps[0], resizingWidth = _resizingGuideProps[1];
            return h("div", {
              className: cls("weekday-events")
            }, h(HorizontalEvent, {
              key: "resizing-event-".concat(uiModel.cid()),
              uiModel,
              eventHeight: MONTH_EVENT_HEIGHT,
              headerHeight: MONTH_CELL_PADDING_TOP + MONTH_CELL_BAR_HEIGHT,
              resizingWidth
            }));
          }
          function dayGridMonth_slicedToArray(arr, i) {
            return dayGridMonth_arrayWithHoles(arr) || dayGridMonth_iterableToArrayLimit(arr, i) || dayGridMonth_unsupportedIterableToArray(arr, i) || dayGridMonth_nonIterableRest();
          }
          function dayGridMonth_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function dayGridMonth_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return dayGridMonth_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return dayGridMonth_arrayLikeToArray(o2, minLen);
          }
          function dayGridMonth_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 dayGridMonth_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function dayGridMonth_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          var TOTAL_PERCENT_HEIGHT = 100;
          function useCellContentAreaHeight(eventHeight) {
            var visibleEventCount = useStore(monthVisibleEventCountSelector);
            var _useTheme = useTheme(monthGridCellSelector), themeHeaderHeight = _useTheme.headerHeight, themeFooterHeight = _useTheme.footerHeight;
            var ref = hooks_module_s(null);
            var _useState = hooks_module_y(0), _useState2 = dayGridMonth_slicedToArray(_useState, 2), cellContentAreaHeight = _useState2[0], setCellContentAreaHeight = _useState2[1];
            hooks_module_(function() {
              if (ref.current) {
                var rowHeight = getSize(ref.current).height;
                var headerHeight = MONTH_CELL_PADDING_TOP + (themeHeaderHeight !== null && themeHeaderHeight !== void 0 ? themeHeaderHeight : MONTH_CELL_BAR_HEIGHT);
                var footerHeight = themeFooterHeight !== null && themeFooterHeight !== void 0 ? themeFooterHeight : 0;
                var baseContentAreaHeight = rowHeight - headerHeight - footerHeight;
                var visibleEventCountHeight = visibleEventCount * (eventHeight + MONTH_EVENT_MARGIN_TOP);
                setCellContentAreaHeight(Math.min(baseContentAreaHeight, visibleEventCountHeight));
              }
            }, [themeFooterHeight, themeHeaderHeight, eventHeight, visibleEventCount]);
            return {
              ref,
              cellContentAreaHeight
            };
          }
          function DayGridMonth(_ref) {
            var _ref$dateMatrix = _ref.dateMatrix, dateMatrix = _ref$dateMatrix === void 0 ? [] : _ref$dateMatrix, _ref$rowInfo = _ref.rowInfo, rowInfo = _ref$rowInfo === void 0 ? [] : _ref$rowInfo, _ref$cellWidthMap = _ref.cellWidthMap, cellWidthMap = _ref$cellWidthMap === void 0 ? [] : _ref$cellWidthMap;
            var _useDOMNode = useDOMNode(), _useDOMNode2 = dayGridMonth_slicedToArray(_useDOMNode, 2), gridContainer = _useDOMNode2[0], setGridContainerRef = _useDOMNode2[1];
            var calendar = useStore(calendarSelector);
            var _useCellContentAreaHe = useCellContentAreaHeight(MONTH_EVENT_HEIGHT), ref = _useCellContentAreaHe.ref, cellContentAreaHeight = _useCellContentAreaHe.cellContentAreaHeight;
            var _useStore = useStore(optionsSelector), eventFilter = _useStore.eventFilter, monthOptions = _useStore.month, isReadOnly = _useStore.isReadOnly;
            var _ref2 = monthOptions, narrowWeekend = _ref2.narrowWeekend, startDayOfWeek = _ref2.startDayOfWeek;
            var rowHeight = TOTAL_PERCENT_HEIGHT / dateMatrix.length;
            var gridPositionFinder = F(function() {
              return createGridPositionFinder({
                container: gridContainer,
                rowsCount: dateMatrix.length,
                columnsCount: dateMatrix[0].length,
                narrowWeekend,
                startDayOfWeek
              });
            }, [dateMatrix, gridContainer, narrowWeekend, startDayOfWeek]);
            var calendarData = useCalendarData(calendar, eventFilter);
            var renderedEventUIModels = F(function() {
              return dateMatrix.map(function(week) {
                return getRenderedEventUIModels(week, calendarData, narrowWeekend);
              });
            }, [calendarData, dateMatrix, narrowWeekend]);
            var onMouseDown = useGridSelection({
              type: "dayGridMonth",
              gridPositionFinder,
              dateCollection: dateMatrix,
              dateGetter: dayGridMonthSelectionHelper.getDateFromCollection,
              selectionSorter: dayGridMonthSelectionHelper.sortSelection
            });
            return h("div", {
              ref: setGridContainerRef,
              onMouseDown: passConditionalProp(!isReadOnly, onMouseDown),
              className: cls("month-daygrid")
            }, dateMatrix.map(function(week, rowIndex) {
              var _renderedEventUIModel = renderedEventUIModels[rowIndex], uiModels = _renderedEventUIModel.uiModels, gridDateEventModelMap = _renderedEventUIModel.gridDateEventModelMap;
              return h("div", {
                key: "dayGrid-events-".concat(rowIndex),
                className: cls("month-week-item"),
                style: {
                  height: toPercent(rowHeight)
                },
                ref
              }, h("div", {
                className: cls("weekday")
              }, h(GridRow, {
                gridDateEventModelMap,
                week,
                rowInfo,
                contentAreaHeight: cellContentAreaHeight
              }), h(MonthEvents, {
                name: "month",
                events: uiModels,
                contentAreaHeight: cellContentAreaHeight,
                eventHeight: MONTH_EVENT_HEIGHT,
                className: cls("weekday-events")
              }), h(GridSelectionByRow, {
                weekDates: week,
                narrowWeekend,
                rowIndex
              }), h(AccumulatedGridSelection, {
                rowIndex,
                weekDates: week,
                narrowWeekend
              })), h(ResizingGuideByRow, {
                dateMatrix,
                gridPositionFinder,
                rowIndex,
                cellWidthMap,
                renderedUIModels: renderedEventUIModels
              }), h(dayGridMonth_movingEventShadow_MovingEventShadow, {
                dateMatrix,
                gridPositionFinder,
                rowIndex,
                rowInfo
              }));
            }));
          }
          function month_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function month_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? month_ownKeys(Object(source), true).forEach(function(key) {
                month_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : month_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function month_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function view_month_toConsumableArray(arr) {
            return view_month_arrayWithoutHoles(arr) || view_month_iterableToArray(arr) || view_month_unsupportedIterableToArray(arr) || view_month_nonIterableSpread();
          }
          function view_month_nonIterableSpread() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function view_month_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return view_month_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return view_month_arrayLikeToArray(o2, minLen);
          }
          function view_month_iterableToArray(iter) {
            if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
              return Array.from(iter);
          }
          function view_month_arrayWithoutHoles(arr) {
            if (Array.isArray(arr))
              return view_month_arrayLikeToArray(arr);
          }
          function view_month_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 getMonthDayNames(options) {
            var _ref = options.month, dayNames = _ref.dayNames, startDayOfWeek = _ref.startDayOfWeek, workweek = _ref.workweek;
            var dayIndices = view_month_toConsumableArray(Array(7)).map(function(_2, i) {
              return (startDayOfWeek + i) % 7;
            });
            var monthDayNames = dayIndices.map(function(i) {
              return {
                day: i,
                label: capitalize(dayNames[i])
              };
            });
            return monthDayNames.filter(function(dayNameInfo) {
              return workweek ? !isWeekend(dayNameInfo.day) : true;
            });
          }
          function Month() {
            var options = useStore(optionsSelector);
            var _useStore = useStore(viewSelector), renderDate = _useStore.renderDate;
            var dayNames = getMonthDayNames(options);
            var monthOptions = options.month;
            var narrowWeekend = monthOptions.narrowWeekend, startDayOfWeek = monthOptions.startDayOfWeek, workweek = monthOptions.workweek;
            var dateMatrix = F(function() {
              return createDateMatrixOfMonth(renderDate, monthOptions);
            }, [monthOptions, renderDate]);
            var _useMemo = F(function() {
              return getRowStyleInfo(dayNames.length, narrowWeekend, startDayOfWeek, workweek);
            }, [dayNames.length, narrowWeekend, startDayOfWeek, workweek]), rowStyleInfo = _useMemo.rowStyleInfo, cellWidthMap = _useMemo.cellWidthMap;
            var rowInfo = rowStyleInfo.map(function(cellStyleInfo, index) {
              return month_objectSpread(month_objectSpread({}, cellStyleInfo), {}, {
                date: dateMatrix[0][index]
              });
            });
            return h(Layout, {
              className: cls("month")
            }, h(GridHeader, {
              type: "month",
              dayNames,
              options: monthOptions,
              rowStyleInfo
            }), h(DayGridMonth, {
              dateMatrix,
              rowInfo,
              cellWidthMap
            }));
          }
          function view_week_slicedToArray(arr, i) {
            return view_week_arrayWithHoles(arr) || view_week_iterableToArrayLimit(arr, i) || view_week_unsupportedIterableToArray(arr, i) || view_week_nonIterableRest();
          }
          function view_week_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function view_week_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return view_week_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return view_week_arrayLikeToArray(o2, minLen);
          }
          function view_week_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 view_week_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function view_week_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function useWeekViewState() {
            var options = useStore(optionsSelector);
            var calendar = useStore(calendarSelector);
            var _useStore = useStore(weekViewLayoutSelector), gridRowLayout = _useStore.dayGridRows, lastPanelType = _useStore.lastPanelType;
            var _useStore2 = useStore(viewSelector), renderDate = _useStore2.renderDate;
            return F(function() {
              return {
                options,
                calendar,
                gridRowLayout,
                lastPanelType,
                renderDate
              };
            }, [calendar, gridRowLayout, lastPanelType, options, renderDate]);
          }
          function Week() {
            var _options$week$dayName, _options$week;
            var _useWeekViewState = useWeekViewState(), options = _useWeekViewState.options, calendar = _useWeekViewState.calendar, gridRowLayout = _useWeekViewState.gridRowLayout, lastPanelType = _useWeekViewState.lastPanelType, renderDate = _useWeekViewState.renderDate;
            var gridHeaderMarginLeft = useTheme(hooks_module_T(function(theme) {
              return theme.week.dayGridLeft.width;
            }, []));
            var primaryTimezoneName = useStore(primaryTimezoneSelector);
            var _useDOMNode = useDOMNode(), _useDOMNode2 = view_week_slicedToArray(_useDOMNode, 2), timePanel = _useDOMNode2[0], setTimePanelRef = _useDOMNode2[1];
            var weekOptions = options.week;
            var narrowWeekend = weekOptions.narrowWeekend, startDayOfWeek = weekOptions.startDayOfWeek, workweek = weekOptions.workweek, hourStart = weekOptions.hourStart, hourEnd = weekOptions.hourEnd, eventView = weekOptions.eventView, taskView = weekOptions.taskView;
            var weekDates = F(function() {
              return getWeekDates(renderDate, weekOptions);
            }, [renderDate, weekOptions]);
            var dayNames = getDayNames(weekDates, (_options$week$dayName = (_options$week = options.week) === null || _options$week === void 0 ? void 0 : _options$week.dayNames) !== null && _options$week$dayName !== void 0 ? _options$week$dayName : []);
            var _getRowStyleInfo = getRowStyleInfo(weekDates.length, narrowWeekend, startDayOfWeek, workweek), rowStyleInfo = _getRowStyleInfo.rowStyleInfo, cellWidthMap = _getRowStyleInfo.cellWidthMap;
            var calendarData = useCalendarData(calendar, options.eventFilter);
            var eventByPanel = F(function() {
              var getFilterRange = function getFilterRange2() {
                if (primaryTimezoneName === "Local") {
                  return [toStartOfDay(first(weekDates)), toEndOfDay(last(weekDates))];
                }
                return [toStartOfDay(addDate(first(weekDates), -1)), toEndOfDay(addDate(last(weekDates), 1))];
              };
              var _getFilterRange = getFilterRange(), _getFilterRange2 = view_week_slicedToArray(_getFilterRange, 2), weekStartDate = _getFilterRange2[0], weekEndDate = _getFilterRange2[1];
              return getWeekViewEvents(weekDates, calendarData, {
                narrowWeekend,
                hourStart,
                hourEnd,
                weekStartDate,
                weekEndDate
              });
            }, [calendarData, hourEnd, hourStart, narrowWeekend, primaryTimezoneName, weekDates]);
            var timeGridData = F(function() {
              return createTimeGridData(weekDates, {
                hourStart,
                hourEnd,
                narrowWeekend
              });
            }, [hourEnd, hourStart, narrowWeekend, weekDates]);
            var activePanels = getActivePanels(taskView, eventView);
            var dayGridRows = activePanels.map(function(key) {
              var _gridRowLayout$rowTyp, _gridRowLayout$rowTyp2;
              if (key === "time") {
                return null;
              }
              var rowType = key;
              return h(Panel, {
                name: rowType,
                key: rowType,
                resizable: rowType !== lastPanelType
              }, rowType === "allday" ? h(AlldayGridRow, {
                events: eventByPanel[rowType],
                rowStyleInfo,
                gridColWidthMap: cellWidthMap,
                weekDates,
                height: (_gridRowLayout$rowTyp = gridRowLayout[rowType]) === null || _gridRowLayout$rowTyp === void 0 ? void 0 : _gridRowLayout$rowTyp.height,
                options: weekOptions
              }) : h(OtherGridRow, {
                category: rowType,
                events: eventByPanel[rowType],
                weekDates,
                height: (_gridRowLayout$rowTyp2 = gridRowLayout[rowType]) === null || _gridRowLayout$rowTyp2 === void 0 ? void 0 : _gridRowLayout$rowTyp2.height,
                options: weekOptions,
                gridColWidthMap: cellWidthMap
              }));
            });
            var hasTimePanel = F(function() {
              return activePanels.includes("time");
            }, [activePanels]);
            useTimeGridScrollSync(timePanel, timeGridData.rows.length);
            var stickyTop = useTimezoneLabelsTop(timePanel);
            return h(Layout, {
              className: cls("week-view"),
              autoAdjustPanels: true
            }, h(Panel, {
              name: "week-view-day-names",
              initialHeight: WEEK_DAY_NAME_HEIGHT + WEEK_DAY_NAME_BORDER * 2
            }, h(GridHeader, {
              type: "week",
              dayNames,
              marginLeft: gridHeaderMarginLeft,
              options: weekOptions,
              rowStyleInfo
            })), dayGridRows, hasTimePanel ? h(Panel, {
              name: "time",
              autoSize: 1,
              ref: setTimePanelRef
            }, h(TimeGrid, {
              events: eventByPanel.time,
              timeGridData
            }), h(TimezoneLabels, {
              top: stickyTop
            })) : null);
          }
          var views = {
            month: Month,
            week: Week,
            day: day_Day
          };
          function Main() {
            var _useStore = useStore(viewSelector), currentView = _useStore.currentView;
            var CurrentViewComponent = F(function() {
              return views[currentView] || function() {
                return null;
              };
            }, [currentView]);
            return h(CurrentViewComponent, null);
          }
          var dist_r = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|^--/i, dist_n = /[&<>"]/;
          function dist_o(e2) {
            var t2 = String(e2);
            return dist_n.test(t2) ? t2.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;") : t2;
          }
          var dist_a = function(e2, t2) {
            return String(e2).replace(/(\n+)/g, "$1" + (t2 || "	"));
          }, dist_i = function(e2, t2, r2) {
            return String(e2).length > (t2 || 40) || !r2 && String(e2).indexOf("\n") !== -1 || String(e2).indexOf("<") !== -1;
          }, dist_l = {};
          function dist_s(e2) {
            var t2 = "";
            for (var n2 in e2) {
              var o2 = e2[n2];
              o2 != null && o2 !== "" && (t2 && (t2 += " "), t2 += n2[0] == "-" ? n2 : dist_l[n2] || (dist_l[n2] = n2.replace(/([A-Z])/g, "-$1").toLowerCase()), t2 += ": ", t2 += o2, typeof o2 == "number" && dist_r.test(n2) === false && (t2 += "px"), t2 += ";");
            }
            return t2 || void 0;
          }
          function dist_f(e2, t2) {
            for (var r2 in t2)
              e2[r2] = t2[r2];
            return e2;
          }
          function dist_u(e2, t2) {
            return Array.isArray(t2) ? t2.reduce(dist_u, e2) : t2 != null && t2 !== false && e2.push(t2), e2;
          }
          var dist_c = { shallow: true }, dist_p = [], dist_ = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/, dist_d = /[\s\n\\/='"\0<>]/;
          function dist_v() {
            this.__d = true;
          }
          dist_m.render = dist_m;
          var dist_g = function(e2, t2) {
            return dist_m(e2, t2, dist_c);
          }, dist_h = [];
          function dist_m(t2, r2, n2) {
            r2 = r2 || {}, n2 = n2 || {};
            var o2 = preact_module_l.__s;
            preact_module_l.__s = true;
            var a2 = dist_x(t2, r2, n2);
            return preact_module_l.__c && preact_module_l.__c(t2, dist_h), dist_h.length = 0, preact_module_l.__s = o2, a2;
          }
          function dist_x(r2, n2, l2, c2, g2, h2) {
            if (r2 == null || typeof r2 == "boolean")
              return "";
            if (typeof r2 != "object")
              return dist_o(r2);
            var m2 = l2.pretty, y = m2 && typeof m2 == "string" ? m2 : "	";
            if (Array.isArray(r2)) {
              for (var b2 = "", S = 0; S < r2.length; S++)
                m2 && S > 0 && (b2 += "\n"), b2 += dist_x(r2[S], n2, l2, c2, g2, h2);
              return b2;
            }
            var k2, w2 = r2.type, O2 = r2.props, C2 = false;
            if (typeof w2 == "function") {
              if (C2 = true, !l2.shallow || !c2 && l2.renderRootComponent !== false) {
                if (w2 === p) {
                  var A2 = [];
                  return dist_u(A2, r2.props.children), dist_x(A2, n2, l2, l2.shallowHighOrder !== false, g2, h2);
                }
                var H2, j2 = r2.__c = { __v: r2, context: n2, props: r2.props, setState: dist_v, forceUpdate: dist_v, __d: true, __h: [] };
                preact_module_l.__b && preact_module_l.__b(r2);
                var F2 = preact_module_l.__r;
                if (w2.prototype && typeof w2.prototype.render == "function") {
                  var M2 = w2.contextType, T2 = M2 && n2[M2.__c], $2 = M2 != null ? T2 ? T2.props.value : M2.__ : n2;
                  (j2 = r2.__c = new w2(O2, $2)).__v = r2, j2._dirty = j2.__d = true, j2.props = O2, j2.state == null && (j2.state = {}), j2._nextState == null && j2.__s == null && (j2._nextState = j2.__s = j2.state), j2.context = $2, w2.getDerivedStateFromProps ? j2.state = dist_f(dist_f({}, j2.state), w2.getDerivedStateFromProps(j2.props, j2.state)) : j2.componentWillMount && (j2.componentWillMount(), j2.state = j2._nextState !== j2.state ? j2._nextState : j2.__s !== j2.state ? j2.__s : j2.state), F2 && F2(r2), H2 = j2.render(j2.props, j2.state, j2.context);
                } else
                  for (var L2 = w2.contextType, E2 = L2 && n2[L2.__c], D2 = L2 != null ? E2 ? E2.props.value : L2.__ : n2, N2 = 0; j2.__d && N2++ < 25; )
                    j2.__d = false, F2 && F2(r2), H2 = w2.call(r2.__c, O2, D2);
                return j2.getChildContext && (n2 = dist_f(dist_f({}, n2), j2.getChildContext())), preact_module_l.diffed && preact_module_l.diffed(r2), dist_x(H2, n2, l2, l2.shallowHighOrder !== false, g2, h2);
              }
              w2 = (k2 = w2).displayName || k2 !== Function && k2.name || function(e2) {
                var t2 = (Function.prototype.toString.call(e2).match(/^\s*function\s+([^( ]+)/) || "")[1];
                if (!t2) {
                  for (var r3 = -1, n3 = dist_p.length; n3--; )
                    if (dist_p[n3] === e2) {
                      r3 = n3;
                      break;
                    }
                  r3 < 0 && (r3 = dist_p.push(e2) - 1), t2 = "UnnamedComponent" + r3;
                }
                return t2;
              }(k2);
            }
            var P2, R2, U = "<" + w2;
            if (O2) {
              var W2 = Object.keys(O2);
              l2 && l2.sortAttributes === true && W2.sort();
              for (var q2 = 0; q2 < W2.length; q2++) {
                var z2 = W2[q2], I2 = O2[z2];
                if (z2 !== "children") {
                  if (!dist_d.test(z2) && (l2 && l2.allAttributes || z2 !== "key" && z2 !== "ref" && z2 !== "__self" && z2 !== "__source")) {
                    if (z2 === "defaultValue")
                      z2 = "value";
                    else if (z2 === "defaultChecked")
                      z2 = "checked";
                    else if (z2 === "defaultSelected")
                      z2 = "selected";
                    else if (z2 === "className") {
                      if (O2.class !== void 0)
                        continue;
                      z2 = "class";
                    } else
                      g2 && /^xlink:?./.test(z2) && (z2 = z2.toLowerCase().replace(/^xlink:?/, "xlink:"));
                    if (z2 === "htmlFor") {
                      if (O2.for)
                        continue;
                      z2 = "for";
                    }
                    z2 === "style" && I2 && typeof I2 == "object" && (I2 = dist_s(I2)), z2[0] === "a" && z2[1] === "r" && typeof I2 == "boolean" && (I2 = String(I2));
                    var V = l2.attributeHook && l2.attributeHook(z2, I2, n2, l2, C2);
                    if (V || V === "")
                      U += V;
                    else if (z2 === "dangerouslySetInnerHTML")
                      R2 = I2 && I2.__html;
                    else if (w2 === "textarea" && z2 === "value")
                      P2 = I2;
                    else if ((I2 || I2 === 0 || I2 === "") && typeof I2 != "function") {
                      if (!(I2 !== true && I2 !== "" || (I2 = z2, l2 && l2.xml))) {
                        U = U + " " + z2;
                        continue;
                      }
                      if (z2 === "value") {
                        if (w2 === "select") {
                          h2 = I2;
                          continue;
                        }
                        w2 === "option" && h2 == I2 && O2.selected === void 0 && (U += " selected");
                      }
                      U = U + " " + z2 + '="' + dist_o(I2) + '"';
                    }
                  }
                } else
                  P2 = I2;
              }
            }
            if (m2) {
              var Z2 = U.replace(/\n\s*/, " ");
              Z2 === U || ~Z2.indexOf("\n") ? m2 && ~U.indexOf("\n") && (U += "\n") : U = Z2;
            }
            if (U += ">", dist_d.test(w2))
              throw new Error(w2 + " is not a valid HTML tag name in " + U);
            var B2, G = dist_.test(w2) || l2.voidElements && l2.voidElements.test(w2), J2 = [];
            if (R2)
              m2 && dist_i(R2) && (R2 = "\n" + y + dist_a(R2, y)), U += R2;
            else if (P2 != null && dist_u(B2 = [], P2).length) {
              for (var K2 = m2 && ~U.indexOf("\n"), Q2 = false, X = 0; X < B2.length; X++) {
                var Y2 = B2[X];
                if (Y2 != null && Y2 !== false) {
                  var ee = dist_x(Y2, n2, l2, true, w2 === "svg" || w2 !== "foreignObject" && g2, h2);
                  if (m2 && !K2 && dist_i(ee) && (K2 = true), ee)
                    if (m2) {
                      var te = ee.length > 0 && ee[0] != "<";
                      Q2 && te ? J2[J2.length - 1] += ee : J2.push(ee), Q2 = te;
                    } else
                      J2.push(ee);
                }
              }
              if (m2 && K2)
                for (var re = J2.length; re--; )
                  J2[re] = "\n" + y + dist_a(J2[re], y);
            }
            if (J2.length || R2)
              U += J2.join("");
            else if (l2 && l2.xml)
              return U.substring(0, U.length - 1) + " />";
            return !G || B2 || R2 ? (m2 && ~U.indexOf("\n") && (U += "\n"), U = U + "</" + w2 + ">") : U = U.replace(/>$/, " />"), U;
          }
          dist_m.shallowRender = dist_g;
          var dist = dist_m;
          var sendHostname = __webpack_require__(1391);
          var sendHostname_default = /* @__PURE__ */ __webpack_require__.n(sendHostname);
          function CalendarContainer(_ref) {
            var theme = _ref.theme, store = _ref.store, eventBus = _ref.eventBus, children = _ref.children;
            return h(EventBusProvider, {
              value: eventBus
            }, h(ThemeProvider, {
              store: theme
            }, h(StoreProvider, {
              store
            }, h(FloatingLayerProvider, null, children))));
          }
          var GA_TRACKING_ID = "UA-129951699-1";
          __webpack_require__(4565);
          var customEvents = __webpack_require__(2278);
          var customEvents_default = /* @__PURE__ */ __webpack_require__.n(customEvents);
          function eventBus_typeof(obj) {
            "@babel/helpers - typeof";
            return eventBus_typeof = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(obj2) {
              return typeof obj2;
            } : function(obj2) {
              return obj2 && typeof Symbol == "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
            }, eventBus_typeof(obj);
          }
          function eventBus_classCallCheck(instance, Constructor2) {
            if (!(instance instanceof Constructor2)) {
              throw new TypeError("Cannot call a class as a function");
            }
          }
          function eventBus_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 eventBus_createClass(Constructor2, protoProps, staticProps) {
            if (protoProps)
              eventBus_defineProperties(Constructor2.prototype, protoProps);
            if (staticProps)
              eventBus_defineProperties(Constructor2, staticProps);
            Object.defineProperty(Constructor2, "prototype", { writable: false });
            return Constructor2;
          }
          function _get() {
            if (typeof Reflect !== "undefined" && Reflect.get) {
              _get = Reflect.get.bind();
            } else {
              _get = function _get2(target, property, receiver) {
                var base = _superPropBase(target, property);
                if (!base)
                  return;
                var desc = Object.getOwnPropertyDescriptor(base, property);
                if (desc.get) {
                  return desc.get.call(arguments.length < 3 ? target : receiver);
                }
                return desc.value;
              };
            }
            return _get.apply(this, arguments);
          }
          function _superPropBase(object, property) {
            while (!Object.prototype.hasOwnProperty.call(object, property)) {
              object = eventBus_getPrototypeOf(object);
              if (object === null)
                break;
            }
            return object;
          }
          function eventBus_inherits(subClass, superClass) {
            if (typeof superClass !== "function" && superClass !== null) {
              throw new TypeError("Super expression must either be null or a function");
            }
            subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });
            Object.defineProperty(subClass, "prototype", { writable: false });
            if (superClass)
              eventBus_setPrototypeOf(subClass, superClass);
          }
          function eventBus_setPrototypeOf(o2, p2) {
            eventBus_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf2(o3, p3) {
              o3.__proto__ = p3;
              return o3;
            };
            return eventBus_setPrototypeOf(o2, p2);
          }
          function eventBus_createSuper(Derived) {
            var hasNativeReflectConstruct = eventBus_isNativeReflectConstruct();
            return function _createSuperInternal() {
              var Super = eventBus_getPrototypeOf(Derived), result;
              if (hasNativeReflectConstruct) {
                var NewTarget = eventBus_getPrototypeOf(this).constructor;
                result = Reflect.construct(Super, arguments, NewTarget);
              } else {
                result = Super.apply(this, arguments);
              }
              return eventBus_possibleConstructorReturn(this, result);
            };
          }
          function eventBus_possibleConstructorReturn(self2, call) {
            if (call && (eventBus_typeof(call) === "object" || typeof call === "function")) {
              return call;
            } else if (call !== void 0) {
              throw new TypeError("Derived constructors may only return object or undefined");
            }
            return eventBus_assertThisInitialized(self2);
          }
          function eventBus_assertThisInitialized(self2) {
            if (self2 === void 0) {
              throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
            }
            return self2;
          }
          function eventBus_isNativeReflectConstruct() {
            if (typeof Reflect === "undefined" || !Reflect.construct)
              return false;
            if (Reflect.construct.sham)
              return false;
            if (typeof Proxy === "function")
              return true;
            try {
              Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
              }));
              return true;
            } catch (e2) {
              return false;
            }
          }
          function eventBus_getPrototypeOf(o2) {
            eventBus_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o3) {
              return o3.__proto__ || Object.getPrototypeOf(o3);
            };
            return eventBus_getPrototypeOf(o2);
          }
          var EventBusImpl = /* @__PURE__ */ function(_CustomEvents) {
            eventBus_inherits(EventBusImpl2, _CustomEvents);
            var _super = eventBus_createSuper(EventBusImpl2);
            function EventBusImpl2() {
              eventBus_classCallCheck(this, EventBusImpl2);
              return _super.apply(this, arguments);
            }
            eventBus_createClass(EventBusImpl2, [{
              key: "on",
              value: function on(eventName, handler) {
                _get(eventBus_getPrototypeOf(EventBusImpl2.prototype), "on", this).call(this, eventName, handler);
                return this;
              }
            }, {
              key: "off",
              value: function off(eventName, handler) {
                _get(eventBus_getPrototypeOf(EventBusImpl2.prototype), "off", this).call(this, eventName, handler);
                return this;
              }
            }, {
              key: "fire",
              value: function fire(eventName) {
                var _get2;
                for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
                  args[_key - 1] = arguments[_key];
                }
                (_get2 = _get(eventBus_getPrototypeOf(EventBusImpl2.prototype), "fire", this)).call.apply(_get2, [this, eventName].concat(args));
                return this;
              }
            }, {
              key: "once",
              value: function once(eventName, handler) {
                _get(eventBus_getPrototypeOf(EventBusImpl2.prototype), "once", this).call(this, eventName, handler);
                return this;
              }
            }]);
            return EventBusImpl2;
          }(customEvents_default());
          var calendarCore_excluded = ["dispatch"], _excluded2 = ["theme", "template"];
          function calendarCore_ownKeys(object, enumerableOnly) {
            var keys = Object.keys(object);
            if (Object.getOwnPropertySymbols) {
              var symbols = Object.getOwnPropertySymbols(object);
              enumerableOnly && (symbols = symbols.filter(function(sym) {
                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
              })), keys.push.apply(keys, symbols);
            }
            return keys;
          }
          function calendarCore_objectSpread(target) {
            for (var i = 1; i < arguments.length; i++) {
              var source = arguments[i] != null ? arguments[i] : {};
              i % 2 ? calendarCore_ownKeys(Object(source), true).forEach(function(key) {
                calendarCore_defineProperty(target, key, source[key]);
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : calendarCore_ownKeys(Object(source)).forEach(function(key) {
                Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
              });
            }
            return target;
          }
          function calendarCore_defineProperty(obj, key, value) {
            if (key in obj) {
              Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
            } else {
              obj[key] = value;
            }
            return obj;
          }
          function calendarCore_objectWithoutProperties(source, excluded) {
            if (source == null)
              return {};
            var target = calendarCore_objectWithoutPropertiesLoose(source, excluded);
            var key, i;
            if (Object.getOwnPropertySymbols) {
              var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
              for (i = 0; i < sourceSymbolKeys.length; i++) {
                key = sourceSymbolKeys[i];
                if (excluded.indexOf(key) >= 0)
                  continue;
                if (!Object.prototype.propertyIsEnumerable.call(source, key))
                  continue;
                target[key] = source[key];
              }
            }
            return target;
          }
          function calendarCore_objectWithoutPropertiesLoose(source, excluded) {
            if (source == null)
              return {};
            var target = {};
            var sourceKeys = Object.keys(source);
            var key, i;
            for (i = 0; i < sourceKeys.length; i++) {
              key = sourceKeys[i];
              if (excluded.indexOf(key) >= 0)
                continue;
              target[key] = source[key];
            }
            return target;
          }
          function calendarCore_slicedToArray(arr, i) {
            return calendarCore_arrayWithHoles(arr) || calendarCore_iterableToArrayLimit(arr, i) || calendarCore_unsupportedIterableToArray(arr, i) || calendarCore_nonIterableRest();
          }
          function calendarCore_nonIterableRest() {
            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
          }
          function calendarCore_unsupportedIterableToArray(o2, minLen) {
            if (!o2)
              return;
            if (typeof o2 === "string")
              return calendarCore_arrayLikeToArray(o2, minLen);
            var n2 = Object.prototype.toString.call(o2).slice(8, -1);
            if (n2 === "Object" && o2.constructor)
              n2 = o2.constructor.name;
            if (n2 === "Map" || n2 === "Set")
              return Array.from(o2);
            if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
              return calendarCore_arrayLikeToArray(o2, minLen);
          }
          function calendarCore_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 calendarCore_iterableToArrayLimit(arr, i) {
            var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
            if (_i == null)
              return;
            var _arr = [];
            var _n = true;
            var _d = false;
            var _s, _e;
            try {
              for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
                _arr.push(_s.value);
                if (i && _arr.length === i)
                  break;
              }
            } catch (err) {
              _d = true;
              _e = err;
            } finally {
              try {
                if (!_n && _i["return"] != null)
                  _i["return"]();
              } finally {
                if (_d)
                  throw _e;
              }
            }
            return _arr;
          }
          function calendarCore_arrayWithHoles(arr) {
            if (Array.isArray(arr))
              return arr;
          }
          function calendarCore_classCallCheck(instance, Constructor2) {
            if (!(instance instanceof Constructor2)) {
              throw new TypeError("Cannot call a class as a function");
            }
          }
          function calendarCore_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 calendarCore_createClass(Constructor2, protoProps, staticProps) {
            if (protoProps)
              calendarCore_defineProperties(Constructor2.prototype, protoProps);
            if (staticProps)
              calendarCore_defineProperties(Constructor2, staticProps);
            Object.defineProperty(Constructor2, "prototype", { writable: false });
            return Constructor2;
          }
          var CalendarCore = /* @__PURE__ */ function() {
            function CalendarCore2(container) {
              var _document$querySelect, _document;
              var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
              calendarCore_classCallCheck(this, CalendarCore2);
              this.container = isString_default()(container) ? (_document$querySelect = (_document = document) === null || _document === void 0 ? void 0 : _document.querySelector(container)) !== null && _document$querySelect !== void 0 ? _document$querySelect : null : container;
              this.theme = initThemeStore(options.theme);
              this.eventBus = new EventBusImpl();
              this.store = initCalendarStore(options);
              this.renderRange = this.calculateRenderRange(toStartOfDay());
              addAttributeHooks();
              if (this.getStoreState().options.usageStatistics === true) {
                sendHostname_default()("calendar", GA_TRACKING_ID);
              }
            }
            calendarCore_createClass(CalendarCore2, [{
              key: "getStoreState",
              value: function getStoreState(group) {
                var state = this.store.getState();
                return group ? state[group] : state;
              }
            }, {
              key: "getStoreDispatchers",
              value: function getStoreDispatchers(group) {
                var dispatchers = this.store.getState().dispatch;
                return group ? dispatchers[group] : dispatchers;
              }
            }, {
              key: "destroy",
              value: function destroy() {
                if (this.container) {
                  un(this.container);
                }
                this.store.clearListeners();
                this.theme.clearListeners();
                this.eventBus.off();
                removeAttributeHooks();
                for (var key in this) {
                  if (this.hasOwnProperty(key)) {
                    delete this[key];
                  }
                }
              }
            }, {
              key: "calculateMonthRenderDate",
              value: function calculateMonthRenderDate(_ref) {
                var renderDate = _ref.renderDate, offset = _ref.offset, monthOptions = _ref.monthOptions;
                var newRenderDate = new date_TZDate(renderDate);
                var visibleWeeksCount = monthOptions.visibleWeeksCount;
                if (visibleWeeksCount > 0) {
                  newRenderDate = addDate(newRenderDate, offset * 7 * visibleWeeksCount);
                } else {
                  newRenderDate = addMonths(newRenderDate, offset);
                }
                var dateMatrix = createDateMatrixOfMonth(newRenderDate, monthOptions);
                var _dateMatrix = calendarCore_slicedToArray(dateMatrix, 1), _dateMatrix$ = calendarCore_slicedToArray(_dateMatrix[0], 1), start = _dateMatrix$[0];
                var end = last(last(dateMatrix));
                return {
                  renderDate: newRenderDate,
                  renderRange: {
                    start,
                    end
                  }
                };
              }
            }, {
              key: "calculateWeekRenderDate",
              value: function calculateWeekRenderDate(_ref2) {
                var renderDate = _ref2.renderDate, offset = _ref2.offset, weekOptions = _ref2.weekOptions;
                var newRenderDate = new date_TZDate(renderDate);
                newRenderDate.addDate(offset * 7);
                var weekDates = getWeekDates(newRenderDate, weekOptions);
                var _weekDates = calendarCore_slicedToArray(weekDates, 1), start = _weekDates[0];
                var end = last(weekDates);
                return {
                  renderDate: newRenderDate,
                  renderRange: {
                    start,
                    end
                  }
                };
              }
            }, {
              key: "calculateDayRenderDate",
              value: function calculateDayRenderDate(_ref3) {
                var renderDate = _ref3.renderDate, offset = _ref3.offset;
                var newRenderDate = new date_TZDate(renderDate);
                newRenderDate.addDate(offset);
                var start = toStartOfDay(newRenderDate);
                var end = toEndOfDay(newRenderDate);
                return {
                  renderDate: newRenderDate,
                  renderRange: {
                    start,
                    end
                  }
                };
              }
            }, {
              key: "move",
              value: function move(offset) {
                if (type_isNil(offset)) {
                  return;
                }
                var _this$getStoreState$v = this.getStoreState().view, currentView = _this$getStoreState$v.currentView, renderDate = _this$getStoreState$v.renderDate;
                var _this$getStoreState = this.getStoreState(), options = _this$getStoreState.options;
                var setRenderDate = this.getStoreDispatchers().view.setRenderDate;
                var newRenderDate = new date_TZDate(renderDate);
                var calculatedRenderDate = {
                  renderDate: newRenderDate,
                  renderRange: {
                    start: new date_TZDate(newRenderDate),
                    end: new date_TZDate(newRenderDate)
                  }
                };
                if (currentView === "month") {
                  calculatedRenderDate = this.calculateMonthRenderDate({
                    renderDate,
                    offset,
                    monthOptions: options.month
                  });
                } else if (currentView === "week") {
                  calculatedRenderDate = this.calculateWeekRenderDate({
                    renderDate,
                    offset,
                    weekOptions: options.week
                  });
                } else if (currentView === "day") {
                  calculatedRenderDate = this.calculateDayRenderDate({
                    renderDate,
                    offset
                  });
                }
                setRenderDate(calculatedRenderDate.renderDate);
                this.renderRange = calculatedRenderDate.renderRange;
              }
            }, {
              key: "createEvents",
              value: function createEvents(events) {
                var _this$getStoreDispatc = this.getStoreDispatchers("calendar"), createEvents2 = _this$getStoreDispatc.createEvents;
                createEvents2(events);
              }
            }, {
              key: "getEventModel",
              value: function getEventModel(eventId, calendarId) {
                var _this$getStoreState2 = this.getStoreState("calendar"), events = _this$getStoreState2.events;
                return events.find(function(_ref4) {
                  var id = _ref4.id, eventCalendarId = _ref4.calendarId;
                  return id === eventId && eventCalendarId === calendarId;
                });
              }
            }, {
              key: "getEvent",
              value: function getEvent(eventId, calendarId) {
                var _this$getEventModel$t, _this$getEventModel;
                return (_this$getEventModel$t = (_this$getEventModel = this.getEventModel(eventId, calendarId)) === null || _this$getEventModel === void 0 ? void 0 : _this$getEventModel.toEventObject()) !== null && _this$getEventModel$t !== void 0 ? _this$getEventModel$t : null;
              }
            }, {
              key: "updateEvent",
              value: function updateEvent(eventId, calendarId, changes) {
                var _this$getStoreDispatc2 = this.getStoreDispatchers("calendar"), updateEvent2 = _this$getStoreDispatc2.updateEvent;
                var event = this.getEventModel(eventId, calendarId);
                if (event) {
                  updateEvent2({
                    event,
                    eventData: changes
                  });
                }
              }
            }, {
              key: "deleteEvent",
              value: function deleteEvent(eventId, calendarId) {
                var _this$getStoreDispatc3 = this.getStoreDispatchers("calendar"), deleteEvent2 = _this$getStoreDispatc3.deleteEvent;
                var event = this.getEventModel(eventId, calendarId);
                if (event) {
                  deleteEvent2(event);
                }
              }
            }, {
              key: "setCalendarVisibility",
              value: function setCalendarVisibility(calendarId, isVisible) {
                var _this$getStoreDispatc4 = this.getStoreDispatchers("calendar"), setCalendarVisibility2 = _this$getStoreDispatc4.setCalendarVisibility;
                var calendarIds = Array.isArray(calendarId) ? calendarId : [calendarId];
                setCalendarVisibility2(calendarIds, isVisible);
              }
            }, {
              key: "render",
              value: function render() {
                if (isPresent(this.container)) {
                  P(h(CalendarContainer, {
                    theme: this.theme,
                    store: this.store,
                    eventBus: this.eventBus
                  }, this.getComponent()), this.container);
                }
                return this;
              }
            }, {
              key: "renderToString",
              value: function renderToString() {
                return dist(h(CalendarContainer, {
                  theme: this.theme,
                  store: this.store,
                  eventBus: this.eventBus
                }, this.getComponent()));
              }
            }, {
              key: "clear",
              value: function clear() {
                var _this$getStoreDispatc5 = this.getStoreDispatchers("calendar"), clearEvents = _this$getStoreDispatc5.clearEvents;
                clearEvents();
              }
            }, {
              key: "scrollToNow",
              value: function scrollToNow() {
                var scrollBehavior = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "auto";
                this.eventBus.fire("scrollToNow", scrollBehavior);
              }
            }, {
              key: "calculateRenderRange",
              value: function calculateRenderRange(renderDate) {
                var currentView = this.getStoreState().view.currentView;
                var _this$getStoreState3 = this.getStoreState(), options = _this$getStoreState3.options;
                var newRenderDate = new date_TZDate(renderDate);
                var newRenderRange = {
                  start: new date_TZDate(newRenderDate),
                  end: new date_TZDate(newRenderDate)
                };
                if (currentView === "month") {
                  newRenderRange = this.calculateMonthRenderDate({
                    renderDate,
                    offset: 0,
                    monthOptions: options.month
                  }).renderRange;
                } else if (currentView === "week") {
                  newRenderRange = this.calculateWeekRenderDate({
                    renderDate,
                    offset: 0,
                    weekOptions: options.week
                  }).renderRange;
                } else if (currentView === "day") {
                  newRenderRange = this.calculateDayRenderDate({
                    renderDate,
                    offset: 0
                  }).renderRange;
                }
                return newRenderRange;
              }
            }, {
              key: "today",
              value: function today() {
                var setRenderDate = this.getStoreDispatchers().view.setRenderDate;
                var today2 = new date_TZDate();
                setRenderDate(today2);
                this.renderRange = this.calculateRenderRange(today2);
              }
            }, {
              key: "setDate",
              value: function setDate(date2) {
                var _this$getStoreDispatc6 = this.getStoreDispatchers("view"), setRenderDate = _this$getStoreDispatc6.setRenderDate;
                var dateToChange = new date_TZDate(date2);
                setRenderDate(dateToChange);
                this.renderRange = this.calculateRenderRange(dateToChange);
              }
            }, {
              key: "next",
              value: function next() {
                this.move(1);
              }
            }, {
              key: "prev",
              value: function prev() {
                this.move(-1);
              }
            }, {
              key: "setCalendarColor",
              value: function setCalendarColor(calendarId, colorOptions) {
                var setCalendarColor2 = this.getStoreDispatchers().calendar.setCalendarColor;
                setCalendarColor2(calendarId, colorOptions);
              }
            }, {
              key: "changeView",
              value: function changeView(viewName) {
                var _this$getStoreDispatc7 = this.getStoreDispatchers("view"), changeView2 = _this$getStoreDispatc7.changeView;
                changeView2(viewName);
                this.renderRange = this.calculateRenderRange(this.getDate());
              }
            }, {
              key: "getElement",
              value: function getElement(eventId, calendarId) {
                var event = this.getEvent(eventId, calendarId);
                if (event && this.container) {
                  return this.container.querySelector('[data-event-id="'.concat(eventId, '"][data-calendar-id="').concat(calendarId, '"]'));
                }
                return null;
              }
            }, {
              key: "setTheme",
              value: function setTheme(theme) {
                var setTheme2 = this.theme.getState().dispatch.setTheme;
                setTheme2(theme);
              }
            }, {
              key: "getOptions",
              value: function getOptions() {
                var _this$getStoreState4 = this.getStoreState(), options = _this$getStoreState4.options, template = _this$getStoreState4.template;
                var _this$theme$getState = this.theme.getState();
                _this$theme$getState.dispatch;
                var theme = calendarCore_objectWithoutProperties(_this$theme$getState, calendarCore_excluded);
                return calendarCore_objectSpread(calendarCore_objectSpread({}, options), {}, {
                  template,
                  theme
                });
              }
            }, {
              key: "setOptions",
              value: function setOptions(options) {
                var theme = options.theme, template = options.template, restOptions = calendarCore_objectWithoutProperties(options, _excluded2);
                var setTheme = this.theme.getState().dispatch.setTheme;
                var _this$getStoreDispatc8 = this.getStoreDispatchers(), setOptions2 = _this$getStoreDispatc8.options.setOptions, setTemplate = _this$getStoreDispatc8.template.setTemplate;
                if (isPresent(theme)) {
                  setTheme(theme);
                }
                if (isPresent(template)) {
                  setTemplate(template);
                }
                setOptions2(restOptions);
              }
            }, {
              key: "getDate",
              value: function getDate() {
                var renderDate = this.getStoreState().view.renderDate;
                return renderDate;
              }
            }, {
              key: "getDateRangeStart",
              value: function getDateRangeStart() {
                return this.renderRange.start;
              }
            }, {
              key: "getDateRangeEnd",
              value: function getDateRangeEnd() {
                return this.renderRange.end;
              }
            }, {
              key: "getViewName",
              value: function getViewName() {
                var _this$getStoreState5 = this.getStoreState("view"), currentView = _this$getStoreState5.currentView;
                return currentView;
              }
            }, {
              key: "setCalendars",
              value: function setCalendars(calendars) {
                var setCalendars2 = this.getStoreDispatchers().calendar.setCalendars;
                setCalendars2(calendars);
              }
            }, {
              key: "openFormPopup",
              value: function openFormPopup(event) {
                var showFormPopup = this.getStoreDispatchers().popup.showFormPopup;
                var eventModel = new EventModel(event);
                var title = eventModel.title, location2 = eventModel.location, start = eventModel.start, end = eventModel.end, isAllday2 = eventModel.isAllday, isPrivate = eventModel.isPrivate, eventState = eventModel.state;
                showFormPopup({
                  isCreationPopup: true,
                  event: eventModel,
                  title,
                  location: location2,
                  start,
                  end,
                  isAllday: isAllday2,
                  isPrivate,
                  eventState
                });
              }
            }, {
              key: "clearGridSelections",
              value: function clearGridSelections() {
                var clearAll = this.getStoreDispatchers().gridSelection.clearAll;
                clearAll();
              }
            }, {
              key: "fire",
              value: function fire(eventName) {
                var _this$eventBus;
                for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
                  args[_key - 1] = arguments[_key];
                }
                (_this$eventBus = this.eventBus).fire.apply(_this$eventBus, [eventName].concat(args));
                return this;
              }
            }, {
              key: "off",
              value: function off(eventName, handler) {
                this.eventBus.off(eventName, handler);
                return this;
              }
            }, {
              key: "on",
              value: function on(eventName, handler) {
                this.eventBus.on(eventName, handler);
                return this;
              }
            }, {
              key: "once",
              value: function once(eventName, handler) {
                this.eventBus.once(eventName, handler);
                return this;
              }
            }]);
            return CalendarCore2;
          }();
          function calendar_typeof(obj) {
            "@babel/helpers - typeof";
            return calendar_typeof = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(obj2) {
              return typeof obj2;
            } : function(obj2) {
              return obj2 && typeof Symbol == "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
            }, calendar_typeof(obj);
          }
          function calendar_classCallCheck(instance, Constructor2) {
            if (!(instance instanceof Constructor2)) {
              throw new TypeError("Cannot call a class as a function");
            }
          }
          function calendar_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 calendar_createClass(Constructor2, protoProps, staticProps) {
            if (protoProps)
              calendar_defineProperties(Constructor2.prototype, protoProps);
            if (staticProps)
              calendar_defineProperties(Constructor2, staticProps);
            Object.defineProperty(Constructor2, "prototype", { writable: false });
            return Constructor2;
          }
          function calendar_inherits(subClass, superClass) {
            if (typeof superClass !== "function" && superClass !== null) {
              throw new TypeError("Super expression must either be null or a function");
            }
            subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });
            Object.defineProperty(subClass, "prototype", { writable: false });
            if (superClass)
              calendar_setPrototypeOf(subClass, superClass);
          }
          function calendar_setPrototypeOf(o2, p2) {
            calendar_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf2(o3, p3) {
              o3.__proto__ = p3;
              return o3;
            };
            return calendar_setPrototypeOf(o2, p2);
          }
          function calendar_createSuper(Derived) {
            var hasNativeReflectConstruct = calendar_isNativeReflectConstruct();
            return function _createSuperInternal() {
              var Super = calendar_getPrototypeOf(Derived), result;
              if (hasNativeReflectConstruct) {
                var NewTarget = calendar_getPrototypeOf(this).constructor;
                result = Reflect.construct(Super, arguments, NewTarget);
              } else {
                result = Super.apply(this, arguments);
              }
              return calendar_possibleConstructorReturn(this, result);
            };
          }
          function calendar_possibleConstructorReturn(self2, call) {
            if (call && (calendar_typeof(call) === "object" || typeof call === "function")) {
              return call;
            } else if (call !== void 0) {
              throw new TypeError("Derived constructors may only return object or undefined");
            }
            return calendar_assertThisInitialized(self2);
          }
          function calendar_assertThisInitialized(self2) {
            if (self2 === void 0) {
              throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
            }
            return self2;
          }
          function calendar_isNativeReflectConstruct() {
            if (typeof Reflect === "undefined" || !Reflect.construct)
              return false;
            if (Reflect.construct.sham)
              return false;
            if (typeof Proxy === "function")
              return true;
            try {
              Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
              }));
              return true;
            } catch (e2) {
              return false;
            }
          }
          function calendar_getPrototypeOf(o2) {
            calendar_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o3) {
              return o3.__proto__ || Object.getPrototypeOf(o3);
            };
            return calendar_getPrototypeOf(o2);
          }
          function isValidViewType(viewType) {
            return !!Object.values(VIEW_TYPE).find(function(type) {
              return type === viewType;
            });
          }
          var Calendar2 = /* @__PURE__ */ function(_CalendarCore) {
            calendar_inherits(Calendar3, _CalendarCore);
            var _super = calendar_createSuper(Calendar3);
            function Calendar3(container) {
              var _this;
              var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
              calendar_classCallCheck(this, Calendar3);
              _this = _super.call(this, container, options);
              var _options$defaultView = options.defaultView, defaultView = _options$defaultView === void 0 ? "week" : _options$defaultView;
              if (!isValidViewType(defaultView)) {
                throw new InvalidViewTypeError(defaultView);
              }
              _this.render();
              return _this;
            }
            calendar_createClass(Calendar3, [{
              key: "getComponent",
              value: function getComponent() {
                return h(Main, null);
              }
            }]);
            return Calendar3;
          }(CalendarCore);
          var src_0 = Calendar2;
        }();
        __webpack_exports__ = __webpack_exports__["default"];
        return __webpack_exports__;
      }();
    });
  })(toastuiCalendar_ie11);
  var Calendar$1 = /* @__PURE__ */ getDefaultExportFromCjs(toastuiCalendar_ie11.exports);
  var Calendar = Vue__default["default"].component("ToastUICalendar", {
    name: "ToastUICalendar",
    props: {
      view: String,
      useFormPopup: {
        type: Boolean,
        default: () => void 0
      },
      useDetailPopup: {
        type: Boolean,
        default: () => void 0
      },
      isReadOnly: {
        type: Boolean,
        default: () => void 0
      },
      usageStatistics: {
        type: Boolean,
        default: () => void 0
      },
      eventFilter: Function,
      week: Object,
      month: Object,
      gridSelection: {
        type: [Object, Boolean],
        default: () => void 0
      },
      timezone: Object,
      theme: Object,
      template: Object,
      calendars: Array,
      events: Array
    },
    data() {
      return {
        calendarInstance: null
      };
    },
    watch: {
      view(value) {
        this.calendarInstance.changeView(value);
      },
      useFormPopup(value) {
        this.calendarInstance.setOptions({ useFormPopup: value });
      },
      useDetailPopup(value) {
        this.calendarInstance.setOptions({ useDetailPopup: value });
      },
      isReadOnly(value) {
        this.calendarInstance.setOptions({ isReadOnly: value });
      },
      eventFilter(value) {
        this.calendarInstance.setOptions({ eventFilter: value });
      },
      week(value) {
        this.calendarInstance.setOptions({ week: value });
      },
      month(value) {
        this.calendarInstance.setOptions({ month: value });
      },
      gridSelection(value) {
        this.calendarInstance.setOptions({ gridSelection: value });
      },
      timezone(value) {
        this.calendarInstance.setOptions({ timezone: value });
      },
      theme(value) {
        this.calendarInstance.setTheme(value);
      },
      template(value) {
        this.calendarInstance.setOptions({ template: value });
      },
      calendars(value) {
        this.calendarInstance.setCalendars(value);
      },
      events(value) {
        this.calendarInstance.clear();
        this.calendarInstance.createEvents(value);
      }
    },
    mounted() {
      this.calendarInstance = new Calendar$1(this.$refs.container, {
        defaultView: this.view,
        useFormPopup: this.useFormPopup,
        useDetailPopup: this.useDetailPopup,
        isReadOnly: this.isReadOnly,
        usageStatistics: this.usageStatistics,
        eventFilter: this.eventFilter,
        week: this.week,
        month: this.month,
        gridSelection: this.gridSelection,
        timezone: this.timezone,
        theme: this.theme,
        template: this.template,
        calendars: this.calendars
      });
      this.addEventListeners();
      this.calendarInstance.createEvents(this.events);
    },
    beforeDestroy() {
      this.calendarInstance.off();
      this.calendarInstance.destroy();
    },
    methods: {
      addEventListeners() {
        Object.keys(this.$listeners).forEach((eventName) => {
          this.calendarInstance.on(eventName, (...args) => this.$emit(eventName, ...args));
        });
      },
      getRootElement() {
        return this.$refs.container;
      },
      getInstance() {
        return this.calendarInstance;
      }
    },
    template: '<div ref="container" class="toastui-vue-calendar" />'
  });
  return Calendar;
});