text: (self["webpackChunk"] = self["webpackChunk"] || []).push([["resource/js/components/dashboard"],{
  
  /***/ "./node_modules/@babel/runtime/regenerator/index.js":
  /*!**********************************************************!*\
    !*** ./node_modules/@babel/runtime/regenerator/index.js ***!
    \**********************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  module.exports = __webpack_require__(/*! regenerator-runtime */ "./node_modules/regenerator-runtime/runtime.js");
  
  
  /***/ }),
  
  /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/components/AddTaskForm.vue?vue&type=script&lang=js&":
  /*!******************************************************************************************************************************************************************************************************************!*\
    !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/components/AddTaskForm.vue?vue&type=script&lang=js& ***!
    \******************************************************************************************************************************************************************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
    name: "AddTaskForm",
    props: {
      statusId: Number
    },
    data: function data() {
      return {
        newTask: {
          id: null,
          title: "",
          date_delivery: null,
          order: 0,
          status_id: null
        },
        errorMessage: ""
      };
    },
    computed: {
      editForm: function editForm() {
        return !!this.$store.state.task.task;
      }
    },
    mounted: function mounted() {
      this.newTask.status_id = this.statusId;
  
      if (this.editForm) {
        this.newTask.id = this.$store.state.task.task.id;
        this.newTask.title = this.$store.state.task.task.title;
        this.newTask.date_delivery = this.$store.state.task.task.date_delivery;
        this.newTask.order = this.$store.state.task.task.order;
        this.newTask.status_id = this.$store.state.task.task.status_id;
      }
    },
    methods: {
      handleAddNewTask: function handleAddNewTask() {
        var _this = this;
  
        // Basic validation so we don't send an empty task to the server
        if (!this.newTask.title) {
          this.errorMessage = "The title field is required";
          return;
        } // Send new task to server
  
  
        axios.post("/api/v1/tasks", this.newTask).then(function (res) {
          _this.$toaster.success("Task add successfully"); // Tell the parent component we've added a new task and include it
  
  
          _this.$emit("task-added", res.data);
        })["catch"](function (err) {
          // Handle the error returned from our request
          _this.handleErrors(err);
        });
      },
      handleUpdateTask: function handleUpdateTask() {
        var _this2 = this;
  
        // Basic validation so we don't send an empty task to the server
        if (!this.newTask.title) {
          this.errorMessage = "The title field is required";
          return;
        } // Send new task to server
  
  
        axios.put("/api/v1/tasks/".concat(this.newTask.id), this.newTask).then(function (_ref) {
          var data = _ref.data;
  
          _this2.$toaster.success(data.msg);
  
          _this2.$emit("task-added", data.task, true);
  
          _this2.$emit("task-canceled");
        })["catch"](function (err) {
          // Handle the error returned from our request
          _this2.handleErrors(err);
        });
      },
      handleErrors: function handleErrors(err) {
        if (err.response && err.response.status === 422) {
          // We have a validation error
          var errorBag = err.response.data.errors;
  
          if (errorBag.title) {
            this.errorMessage = errorBag.title[0];
          } else if (errorBag.date_delivery) {
            this.errorMessage = errorBag.date_delivery[0];
          } else {
            this.errorMessage = err.response.message;
          }
        } else {
          // We have bigger problems
          console.log(err.response);
        }
      }
    }
  });
  
  /***/ }),
  
  /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/pages/KanbanBoard.vue?vue&type=script&lang=js&":
  /*!*************************************************************************************************************************************************************************************************************!*\
    !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/pages/KanbanBoard.vue?vue&type=script&lang=js& ***!
    \*************************************************************************************************************************************************************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js");
  /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! moment */ "./node_modules/moment/moment.js");
  /* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var _components_AddTaskForm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components/AddTaskForm */ "./resources/js/components/AddTaskForm.vue");
  /* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuedraggable */ "./node_modules/vuedraggable/dist/vuedraggable.umd.js");
  /* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(vuedraggable__WEBPACK_IMPORTED_MODULE_3__);
  
  
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
  
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
  
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  
  
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
    name: "KanbanBoard",
    components: {
      AddTaskForm: _components_AddTaskForm__WEBPACK_IMPORTED_MODULE_2__["default"],
      draggable: (vuedraggable__WEBPACK_IMPORTED_MODULE_3___default())
    },
    data: function data() {
      return {
        user: this.$store.state.auth.user,
        newTaskForStatus: null,
        editTaskForStatus: null,
        statuses: []
      };
    },
    computed: {
      taskDragOptions: function taskDragOptions() {
        return {
          animation: 200,
          group: "task-list",
          dragClass: "status-drag"
        };
      },
      taskInitials: function taskInitials() {
        /**Get task for get movedTask */
        var allTasks = [];
        this.statuses.map(function (st) {
          return st.tasks.map(function (task) {
            return allTasks.push("".concat(st.slug, "-").concat(st.id, "-").concat(task.id, "-").concat(task.order));
          });
        });
        return allTasks;
      }
    },
    created: function created() {
      window.axios.defaults.headers.common["Authorization"] = "Bearer ".concat(this.$store.state.auth.token);
      this.getStatuses();
    },
    watch: {
      taskInitials: function taskInitials(newVal, oldVal) {
        /**Return moved task*/
        var old = oldVal;
        var yung = newVal;
        var movedTask = yung.filter(function (y) {
          return !old.includes(y);
        });
        if (movedTask.length) this.handleTaskMoved(movedTask[0]);
      }
    },
    methods: {
      getStatuses: function getStatuses() {
        var _this = this;
  
        return _asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().mark(function _callee() {
          return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().wrap(function _callee$(_context) {
            while (1) {
              switch (_context.prev = _context.next) {
                case 0:
                  _context.next = 2;
                  return axios.get("/api/v1/statuses").then(function (_ref) {
                    var data = _ref.data;
                    _this.statuses = data;
  
                    _this.$store.commit("status/SET_STATUSES", data);
                  })["catch"](function (_ref2) {
                    var data = _ref2.response.data;
  
                    _this.$toaster.error(data.message);
                  });
  
                case 2:
                case "end":
                  return _context.stop();
              }
            }
          }, _callee);
        }))();
      },
      validateDate: function validateDate(date_delivery) {
        var todayDate = moment__WEBPACK_IMPORTED_MODULE_1___default()().format("YYYY-MM-DD");
        moment__WEBPACK_IMPORTED_MODULE_1___default()(date_delivery);
        return date_delivery < todayDate;
      },
      openAddTaskForm: function openAddTaskForm(statusId) {
        this.newTaskForStatus = statusId;
        this.$store.commit("task/SET_TASK", null);
      },
      openEditTaskForm: function openEditTaskForm(task) {
        this.newTaskForStatus = task.status_id;
        this.$store.commit("task/SET_TASK", task);
      },
      closeAddTaskForm: function closeAddTaskForm() {
        this.newTaskForStatus = null;
        this.$store.commit("task/SET_TASK", null);
      },
      handleTaskAdded: function handleTaskAdded(newTask) {
        var edit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
        // Find the index of the status where we should add the task
        var statusIndex = this.statuses.findIndex(function (status) {
          return status.id === newTask.status_id;
        });
  
        if (edit) {
          // Find the index of the task where we should edit the task
          var index = this.statuses[statusIndex].tasks.findIndex(function (e) {
            return e.id === newTask.id;
          });
  
          if (index !== -1) {
            this.statuses[statusIndex].tasks[index] = newTask;
          }
        } else {
          // Add newly created task to our column
          this.statuses[statusIndex].tasks.push(newTask);
        } // Reset and close the AddTaskForm
  
  
        this.closeAddTaskForm();
      },
      handleTaskMoved: function handleTaskMoved() {
        var _this2 = this;
  
        var movedTask = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
  
        // Send the moved task to the server
        if (movedTask.length) {
          if (movedTask.includes("done")) this.$toaster.success("Felicitaciones por lograrlo!");
          axios.put("/api/v1/tasks/sync", {
            movedTask: movedTask
          }).then(function (_ref3) {
            var data = _ref3.data;
  
            _this2.$store.commit("status/SET_STATUSES", data.tasks);
          })["catch"](function (err) {
            _this2.$toaster.error(err.response);
  
            console.log(err.response);
          });
        }
      }
    }
  });
  
  /***/ }),
  
  /***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/pages/KanbanBoard.vue?vue&type=style&index=0&id=2cc81914&scoped=true&lang=css&":
  /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
    !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/pages/KanbanBoard.vue?vue&type=style&index=0&id=2cc81914&scoped=true&lang=css& ***!
    \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js");
  /* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
  // Imports
  
  var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
  // Module
  ___CSS_LOADER_EXPORT___.push([module.id, "\n.status-drag[data-v-2cc81914] {\n  transition: transform 0.5s;\n  transition-property: all;\n}\n.card-draggable[data-v-2cc81914] {\n  cursor: move;\n}\n", ""]);
  // Exports
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/af.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/af.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Afrikaans [af]
  //! author : Werner Mollentze : https://github.com/wernerm
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var af = moment.defineLocale('af', {
          months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(
              '_'
          ),
          monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
          weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(
              '_'
          ),
          weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
          weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
          meridiemParse: /vm|nm/i,
          isPM: function (input) {
              return /^nm$/i.test(input);
          },
          meridiem: function (hours, minutes, isLower) {
              if (hours < 12) {
                  return isLower ? 'vm' : 'VM';
              } else {
                  return isLower ? 'nm' : 'NM';
              }
          },
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Vandag om] LT',
              nextDay: '[Môre om] LT',
              nextWeek: 'dddd [om] LT',
              lastDay: '[Gister om] LT',
              lastWeek: '[Laas] dddd [om] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'oor %s',
              past: '%s gelede',
              s: "'n paar sekondes",
              ss: '%d sekondes',
              m: "'n minuut",
              mm: '%d minute',
              h: "'n uur",
              hh: '%d ure',
              d: "'n dag",
              dd: '%d dae',
              M: "'n maand",
              MM: '%d maande',
              y: "'n jaar",
              yy: '%d jaar',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
          ordinal: function (number) {
              return (
                  number +
                  (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')
              ); // Thanks to Joris Röling : https://github.com/jjupiter
          },
          week: {
              dow: 1, // Maandag is die eerste dag van die week.
              doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
          },
      });
  
      return af;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ar-dz.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/ar-dz.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Arabic (Algeria) [ar-dz]
  //! author : Amine Roukh: https://github.com/Amine27
  //! author : Abdel Said: https://github.com/abdelsaid
  //! author : Ahmed Elkhatib
  //! author : forabi https://github.com/forabi
  //! author : Noureddine LOUAHEDJ : https://github.com/noureddinem
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var pluralForm = function (n) {
              return n === 0
                  ? 0
                  : n === 1
                  ? 1
                  : n === 2
                  ? 2
                  : n % 100 >= 3 && n % 100 <= 10
                  ? 3
                  : n % 100 >= 11
                  ? 4
                  : 5;
          },
          plurals = {
              s: [
                  'أقل من ثانية',
                  'ثانية واحدة',
                  ['ثانيتان', 'ثانيتين'],
                  '%d ثوان',
                  '%d ثانية',
                  '%d ثانية',
              ],
              m: [
                  'أقل من دقيقة',
                  'دقيقة واحدة',
                  ['دقيقتان', 'دقيقتين'],
                  '%d دقائق',
                  '%d دقيقة',
                  '%d دقيقة',
              ],
              h: [
                  'أقل من ساعة',
                  'ساعة واحدة',
                  ['ساعتان', 'ساعتين'],
                  '%d ساعات',
                  '%d ساعة',
                  '%d ساعة',
              ],
              d: [
                  'أقل من يوم',
                  'يوم واحد',
                  ['يومان', 'يومين'],
                  '%d أيام',
                  '%d يومًا',
                  '%d يوم',
              ],
              M: [
                  'أقل من شهر',
                  'شهر واحد',
                  ['شهران', 'شهرين'],
                  '%d أشهر',
                  '%d شهرا',
                  '%d شهر',
              ],
              y: [
                  'أقل من عام',
                  'عام واحد',
                  ['عامان', 'عامين'],
                  '%d أعوام',
                  '%d عامًا',
                  '%d عام',
              ],
          },
          pluralize = function (u) {
              return function (number, withoutSuffix, string, isFuture) {
                  var f = pluralForm(number),
                      str = plurals[u][pluralForm(number)];
                  if (f === 2) {
                      str = str[withoutSuffix ? 0 : 1];
                  }
                  return str.replace(/%d/i, number);
              };
          },
          months = [
              'جانفي',
              'فيفري',
              'مارس',
              'أفريل',
              'ماي',
              'جوان',
              'جويلية',
              'أوت',
              'سبتمبر',
              'أكتوبر',
              'نوفمبر',
              'ديسمبر',
          ];
  
      var arDz = moment.defineLocale('ar-dz', {
          months: months,
          monthsShort: months,
          weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
          weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
          weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'D/\u200FM/\u200FYYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          meridiemParse: /ص|م/,
          isPM: function (input) {
              return 'م' === input;
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 12) {
                  return 'ص';
              } else {
                  return 'م';
              }
          },
          calendar: {
              sameDay: '[اليوم عند الساعة] LT',
              nextDay: '[غدًا عند الساعة] LT',
              nextWeek: 'dddd [عند الساعة] LT',
              lastDay: '[أمس عند الساعة] LT',
              lastWeek: 'dddd [عند الساعة] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'بعد %s',
              past: 'منذ %s',
              s: pluralize('s'),
              ss: pluralize('s'),
              m: pluralize('m'),
              mm: pluralize('m'),
              h: pluralize('h'),
              hh: pluralize('h'),
              d: pluralize('d'),
              dd: pluralize('d'),
              M: pluralize('M'),
              MM: pluralize('M'),
              y: pluralize('y'),
              yy: pluralize('y'),
          },
          postformat: function (string) {
              return string.replace(/,/g, '،');
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return arDz;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ar-kw.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/ar-kw.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Arabic (Kuwait) [ar-kw]
  //! author : Nusret Parlak: https://github.com/nusretparlak
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var arKw = moment.defineLocale('ar-kw', {
          months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
              '_'
          ),
          monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
              '_'
          ),
          weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
          weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
          weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[اليوم على الساعة] LT',
              nextDay: '[غدا على الساعة] LT',
              nextWeek: 'dddd [على الساعة] LT',
              lastDay: '[أمس على الساعة] LT',
              lastWeek: 'dddd [على الساعة] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'في %s',
              past: 'منذ %s',
              s: 'ثوان',
              ss: '%d ثانية',
              m: 'دقيقة',
              mm: '%d دقائق',
              h: 'ساعة',
              hh: '%d ساعات',
              d: 'يوم',
              dd: '%d أيام',
              M: 'شهر',
              MM: '%d أشهر',
              y: 'سنة',
              yy: '%d سنوات',
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 12, // The week that contains Jan 12th is the first week of the year.
          },
      });
  
      return arKw;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ar-ly.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/ar-ly.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Arabic (Lybia) [ar-ly]
  //! author : Ali Hmer: https://github.com/kikoanis
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '1',
              2: '2',
              3: '3',
              4: '4',
              5: '5',
              6: '6',
              7: '7',
              8: '8',
              9: '9',
              0: '0',
          },
          pluralForm = function (n) {
              return n === 0
                  ? 0
                  : n === 1
                  ? 1
                  : n === 2
                  ? 2
                  : n % 100 >= 3 && n % 100 <= 10
                  ? 3
                  : n % 100 >= 11
                  ? 4
                  : 5;
          },
          plurals = {
              s: [
                  'أقل من ثانية',
                  'ثانية واحدة',
                  ['ثانيتان', 'ثانيتين'],
                  '%d ثوان',
                  '%d ثانية',
                  '%d ثانية',
              ],
              m: [
                  'أقل من دقيقة',
                  'دقيقة واحدة',
                  ['دقيقتان', 'دقيقتين'],
                  '%d دقائق',
                  '%d دقيقة',
                  '%d دقيقة',
              ],
              h: [
                  'أقل من ساعة',
                  'ساعة واحدة',
                  ['ساعتان', 'ساعتين'],
                  '%d ساعات',
                  '%d ساعة',
                  '%d ساعة',
              ],
              d: [
                  'أقل من يوم',
                  'يوم واحد',
                  ['يومان', 'يومين'],
                  '%d أيام',
                  '%d يومًا',
                  '%d يوم',
              ],
              M: [
                  'أقل من شهر',
                  'شهر واحد',
                  ['شهران', 'شهرين'],
                  '%d أشهر',
                  '%d شهرا',
                  '%d شهر',
              ],
              y: [
                  'أقل من عام',
                  'عام واحد',
                  ['عامان', 'عامين'],
                  '%d أعوام',
                  '%d عامًا',
                  '%d عام',
              ],
          },
          pluralize = function (u) {
              return function (number, withoutSuffix, string, isFuture) {
                  var f = pluralForm(number),
                      str = plurals[u][pluralForm(number)];
                  if (f === 2) {
                      str = str[withoutSuffix ? 0 : 1];
                  }
                  return str.replace(/%d/i, number);
              };
          },
          months = [
              'يناير',
              'فبراير',
              'مارس',
              'أبريل',
              'مايو',
              'يونيو',
              'يوليو',
              'أغسطس',
              'سبتمبر',
              'أكتوبر',
              'نوفمبر',
              'ديسمبر',
          ];
  
      var arLy = moment.defineLocale('ar-ly', {
          months: months,
          monthsShort: months,
          weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
          weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
          weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'D/\u200FM/\u200FYYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          meridiemParse: /ص|م/,
          isPM: function (input) {
              return 'م' === input;
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 12) {
                  return 'ص';
              } else {
                  return 'م';
              }
          },
          calendar: {
              sameDay: '[اليوم عند الساعة] LT',
              nextDay: '[غدًا عند الساعة] LT',
              nextWeek: 'dddd [عند الساعة] LT',
              lastDay: '[أمس عند الساعة] LT',
              lastWeek: 'dddd [عند الساعة] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'بعد %s',
              past: 'منذ %s',
              s: pluralize('s'),
              ss: pluralize('s'),
              m: pluralize('m'),
              mm: pluralize('m'),
              h: pluralize('h'),
              hh: pluralize('h'),
              d: pluralize('d'),
              dd: pluralize('d'),
              M: pluralize('M'),
              MM: pluralize('M'),
              y: pluralize('y'),
              yy: pluralize('y'),
          },
          preparse: function (string) {
              return string.replace(/،/g, ',');
          },
          postformat: function (string) {
              return string
                  .replace(/\d/g, function (match) {
                      return symbolMap[match];
                  })
                  .replace(/,/g, '،');
          },
          week: {
              dow: 6, // Saturday is the first day of the week.
              doy: 12, // The week that contains Jan 12th is the first week of the year.
          },
      });
  
      return arLy;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ar-ma.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/ar-ma.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Arabic (Morocco) [ar-ma]
  //! author : ElFadili Yassine : https://github.com/ElFadiliY
  //! author : Abdel Said : https://github.com/abdelsaid
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var arMa = moment.defineLocale('ar-ma', {
          months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
              '_'
          ),
          monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
              '_'
          ),
          weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
          weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
          weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[اليوم على الساعة] LT',
              nextDay: '[غدا على الساعة] LT',
              nextWeek: 'dddd [على الساعة] LT',
              lastDay: '[أمس على الساعة] LT',
              lastWeek: 'dddd [على الساعة] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'في %s',
              past: 'منذ %s',
              s: 'ثوان',
              ss: '%d ثانية',
              m: 'دقيقة',
              mm: '%d دقائق',
              h: 'ساعة',
              hh: '%d ساعات',
              d: 'يوم',
              dd: '%d أيام',
              M: 'شهر',
              MM: '%d أشهر',
              y: 'سنة',
              yy: '%d سنوات',
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return arMa;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ar-sa.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/ar-sa.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Arabic (Saudi Arabia) [ar-sa]
  //! author : Suhail Alkowaileet : https://github.com/xsoh
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '١',
              2: '٢',
              3: '٣',
              4: '٤',
              5: '٥',
              6: '٦',
              7: '٧',
              8: '٨',
              9: '٩',
              0: '٠',
          },
          numberMap = {
              '١': '1',
              '٢': '2',
              '٣': '3',
              '٤': '4',
              '٥': '5',
              '٦': '6',
              '٧': '7',
              '٨': '8',
              '٩': '9',
              '٠': '0',
          };
  
      var arSa = moment.defineLocale('ar-sa', {
          months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
              '_'
          ),
          monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
              '_'
          ),
          weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
          weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
          weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          meridiemParse: /ص|م/,
          isPM: function (input) {
              return 'م' === input;
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 12) {
                  return 'ص';
              } else {
                  return 'م';
              }
          },
          calendar: {
              sameDay: '[اليوم على الساعة] LT',
              nextDay: '[غدا على الساعة] LT',
              nextWeek: 'dddd [على الساعة] LT',
              lastDay: '[أمس على الساعة] LT',
              lastWeek: 'dddd [على الساعة] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'في %s',
              past: 'منذ %s',
              s: 'ثوان',
              ss: '%d ثانية',
              m: 'دقيقة',
              mm: '%d دقائق',
              h: 'ساعة',
              hh: '%d ساعات',
              d: 'يوم',
              dd: '%d أيام',
              M: 'شهر',
              MM: '%d أشهر',
              y: 'سنة',
              yy: '%d سنوات',
          },
          preparse: function (string) {
              return string
                  .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
                      return numberMap[match];
                  })
                  .replace(/،/g, ',');
          },
          postformat: function (string) {
              return string
                  .replace(/\d/g, function (match) {
                      return symbolMap[match];
                  })
                  .replace(/,/g, '،');
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 6th is the first week of the year.
          },
      });
  
      return arSa;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ar-tn.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/ar-tn.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale  :  Arabic (Tunisia) [ar-tn]
  //! author : Nader Toukabri : https://github.com/naderio
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var arTn = moment.defineLocale('ar-tn', {
          months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
              '_'
          ),
          monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
              '_'
          ),
          weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
          weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
          weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[اليوم على الساعة] LT',
              nextDay: '[غدا على الساعة] LT',
              nextWeek: 'dddd [على الساعة] LT',
              lastDay: '[أمس على الساعة] LT',
              lastWeek: 'dddd [على الساعة] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'في %s',
              past: 'منذ %s',
              s: 'ثوان',
              ss: '%d ثانية',
              m: 'دقيقة',
              mm: '%d دقائق',
              h: 'ساعة',
              hh: '%d ساعات',
              d: 'يوم',
              dd: '%d أيام',
              M: 'شهر',
              MM: '%d أشهر',
              y: 'سنة',
              yy: '%d سنوات',
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return arTn;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ar.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ar.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Arabic [ar]
  //! author : Abdel Said: https://github.com/abdelsaid
  //! author : Ahmed Elkhatib
  //! author : forabi https://github.com/forabi
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '١',
              2: '٢',
              3: '٣',
              4: '٤',
              5: '٥',
              6: '٦',
              7: '٧',
              8: '٨',
              9: '٩',
              0: '٠',
          },
          numberMap = {
              '١': '1',
              '٢': '2',
              '٣': '3',
              '٤': '4',
              '٥': '5',
              '٦': '6',
              '٧': '7',
              '٨': '8',
              '٩': '9',
              '٠': '0',
          },
          pluralForm = function (n) {
              return n === 0
                  ? 0
                  : n === 1
                  ? 1
                  : n === 2
                  ? 2
                  : n % 100 >= 3 && n % 100 <= 10
                  ? 3
                  : n % 100 >= 11
                  ? 4
                  : 5;
          },
          plurals = {
              s: [
                  'أقل من ثانية',
                  'ثانية واحدة',
                  ['ثانيتان', 'ثانيتين'],
                  '%d ثوان',
                  '%d ثانية',
                  '%d ثانية',
              ],
              m: [
                  'أقل من دقيقة',
                  'دقيقة واحدة',
                  ['دقيقتان', 'دقيقتين'],
                  '%d دقائق',
                  '%d دقيقة',
                  '%d دقيقة',
              ],
              h: [
                  'أقل من ساعة',
                  'ساعة واحدة',
                  ['ساعتان', 'ساعتين'],
                  '%d ساعات',
                  '%d ساعة',
                  '%d ساعة',
              ],
              d: [
                  'أقل من يوم',
                  'يوم واحد',
                  ['يومان', 'يومين'],
                  '%d أيام',
                  '%d يومًا',
                  '%d يوم',
              ],
              M: [
                  'أقل من شهر',
                  'شهر واحد',
                  ['شهران', 'شهرين'],
                  '%d أشهر',
                  '%d شهرا',
                  '%d شهر',
              ],
              y: [
                  'أقل من عام',
                  'عام واحد',
                  ['عامان', 'عامين'],
                  '%d أعوام',
                  '%d عامًا',
                  '%d عام',
              ],
          },
          pluralize = function (u) {
              return function (number, withoutSuffix, string, isFuture) {
                  var f = pluralForm(number),
                      str = plurals[u][pluralForm(number)];
                  if (f === 2) {
                      str = str[withoutSuffix ? 0 : 1];
                  }
                  return str.replace(/%d/i, number);
              };
          },
          months = [
              'يناير',
              'فبراير',
              'مارس',
              'أبريل',
              'مايو',
              'يونيو',
              'يوليو',
              'أغسطس',
              'سبتمبر',
              'أكتوبر',
              'نوفمبر',
              'ديسمبر',
          ];
  
      var ar = moment.defineLocale('ar', {
          months: months,
          monthsShort: months,
          weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
          weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
          weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'D/\u200FM/\u200FYYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          meridiemParse: /ص|م/,
          isPM: function (input) {
              return 'م' === input;
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 12) {
                  return 'ص';
              } else {
                  return 'م';
              }
          },
          calendar: {
              sameDay: '[اليوم عند الساعة] LT',
              nextDay: '[غدًا عند الساعة] LT',
              nextWeek: 'dddd [عند الساعة] LT',
              lastDay: '[أمس عند الساعة] LT',
              lastWeek: 'dddd [عند الساعة] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'بعد %s',
              past: 'منذ %s',
              s: pluralize('s'),
              ss: pluralize('s'),
              m: pluralize('m'),
              mm: pluralize('m'),
              h: pluralize('h'),
              hh: pluralize('h'),
              d: pluralize('d'),
              dd: pluralize('d'),
              M: pluralize('M'),
              MM: pluralize('M'),
              y: pluralize('y'),
              yy: pluralize('y'),
          },
          preparse: function (string) {
              return string
                  .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
                      return numberMap[match];
                  })
                  .replace(/،/g, ',');
          },
          postformat: function (string) {
              return string
                  .replace(/\d/g, function (match) {
                      return symbolMap[match];
                  })
                  .replace(/,/g, '،');
          },
          week: {
              dow: 6, // Saturday is the first day of the week.
              doy: 12, // The week that contains Jan 12th is the first week of the year.
          },
      });
  
      return ar;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/az.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/az.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Azerbaijani [az]
  //! author : topchiyev : https://github.com/topchiyev
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var suffixes = {
          1: '-inci',
          5: '-inci',
          8: '-inci',
          70: '-inci',
          80: '-inci',
          2: '-nci',
          7: '-nci',
          20: '-nci',
          50: '-nci',
          3: '-üncü',
          4: '-üncü',
          100: '-üncü',
          6: '-ncı',
          9: '-uncu',
          10: '-uncu',
          30: '-uncu',
          60: '-ıncı',
          90: '-ıncı',
      };
  
      var az = moment.defineLocale('az', {
          months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(
              '_'
          ),
          monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
          weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(
              '_'
          ),
          weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
          weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[bugün saat] LT',
              nextDay: '[sabah saat] LT',
              nextWeek: '[gələn həftə] dddd [saat] LT',
              lastDay: '[dünən] LT',
              lastWeek: '[keçən həftə] dddd [saat] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s sonra',
              past: '%s əvvəl',
              s: 'bir neçə saniyə',
              ss: '%d saniyə',
              m: 'bir dəqiqə',
              mm: '%d dəqiqə',
              h: 'bir saat',
              hh: '%d saat',
              d: 'bir gün',
              dd: '%d gün',
              M: 'bir ay',
              MM: '%d ay',
              y: 'bir il',
              yy: '%d il',
          },
          meridiemParse: /gecə|səhər|gündüz|axşam/,
          isPM: function (input) {
              return /^(gündüz|axşam)$/.test(input);
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'gecə';
              } else if (hour < 12) {
                  return 'səhər';
              } else if (hour < 17) {
                  return 'gündüz';
              } else {
                  return 'axşam';
              }
          },
          dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
          ordinal: function (number) {
              if (number === 0) {
                  // special case for zero
                  return number + '-ıncı';
              }
              var a = number % 10,
                  b = (number % 100) - a,
                  c = number >= 100 ? 100 : null;
              return number + (suffixes[a] || suffixes[b] || suffixes[c]);
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return az;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/be.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/be.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Belarusian [be]
  //! author : Dmitry Demidov : https://github.com/demidov91
  //! author: Praleska: http://praleska.pro/
  //! Author : Menelion Elensúle : https://github.com/Oire
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function plural(word, num) {
          var forms = word.split('_');
          return num % 10 === 1 && num % 100 !== 11
              ? forms[0]
              : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
              ? forms[1]
              : forms[2];
      }
      function relativeTimeWithPlural(number, withoutSuffix, key) {
          var format = {
              ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
              mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
              hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
              dd: 'дзень_дні_дзён',
              MM: 'месяц_месяцы_месяцаў',
              yy: 'год_гады_гадоў',
          };
          if (key === 'm') {
              return withoutSuffix ? 'хвіліна' : 'хвіліну';
          } else if (key === 'h') {
              return withoutSuffix ? 'гадзіна' : 'гадзіну';
          } else {
              return number + ' ' + plural(format[key], +number);
          }
      }
  
      var be = moment.defineLocale('be', {
          months: {
              format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(
                  '_'
              ),
              standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(
                  '_'
              ),
          },
          monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split(
              '_'
          ),
          weekdays: {
              format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(
                  '_'
              ),
              standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(
                  '_'
              ),
              isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/,
          },
          weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
          weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY г.',
              LLL: 'D MMMM YYYY г., HH:mm',
              LLLL: 'dddd, D MMMM YYYY г., HH:mm',
          },
          calendar: {
              sameDay: '[Сёння ў] LT',
              nextDay: '[Заўтра ў] LT',
              lastDay: '[Учора ў] LT',
              nextWeek: function () {
                  return '[У] dddd [ў] LT';
              },
              lastWeek: function () {
                  switch (this.day()) {
                      case 0:
                      case 3:
                      case 5:
                      case 6:
                          return '[У мінулую] dddd [ў] LT';
                      case 1:
                      case 2:
                      case 4:
                          return '[У мінулы] dddd [ў] LT';
                  }
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'праз %s',
              past: '%s таму',
              s: 'некалькі секунд',
              m: relativeTimeWithPlural,
              mm: relativeTimeWithPlural,
              h: relativeTimeWithPlural,
              hh: relativeTimeWithPlural,
              d: 'дзень',
              dd: relativeTimeWithPlural,
              M: 'месяц',
              MM: relativeTimeWithPlural,
              y: 'год',
              yy: relativeTimeWithPlural,
          },
          meridiemParse: /ночы|раніцы|дня|вечара/,
          isPM: function (input) {
              return /^(дня|вечара)$/.test(input);
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'ночы';
              } else if (hour < 12) {
                  return 'раніцы';
              } else if (hour < 17) {
                  return 'дня';
              } else {
                  return 'вечара';
              }
          },
          dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
          ordinal: function (number, period) {
              switch (period) {
                  case 'M':
                  case 'd':
                  case 'DDD':
                  case 'w':
                  case 'W':
                      return (number % 10 === 2 || number % 10 === 3) &&
                          number % 100 !== 12 &&
                          number % 100 !== 13
                          ? number + '-і'
                          : number + '-ы';
                  case 'D':
                      return number + '-га';
                  default:
                      return number;
              }
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return be;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/bg.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/bg.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Bulgarian [bg]
  //! author : Krasen Borisov : https://github.com/kraz
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var bg = moment.defineLocale('bg', {
          months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(
              '_'
          ),
          monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
          weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(
              '_'
          ),
          weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
          weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'D.MM.YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY H:mm',
              LLLL: 'dddd, D MMMM YYYY H:mm',
          },
          calendar: {
              sameDay: '[Днес в] LT',
              nextDay: '[Утре в] LT',
              nextWeek: 'dddd [в] LT',
              lastDay: '[Вчера в] LT',
              lastWeek: function () {
                  switch (this.day()) {
                      case 0:
                      case 3:
                      case 6:
                          return '[Миналата] dddd [в] LT';
                      case 1:
                      case 2:
                      case 4:
                      case 5:
                          return '[Миналия] dddd [в] LT';
                  }
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'след %s',
              past: 'преди %s',
              s: 'няколко секунди',
              ss: '%d секунди',
              m: 'минута',
              mm: '%d минути',
              h: 'час',
              hh: '%d часа',
              d: 'ден',
              dd: '%d дена',
              w: 'седмица',
              ww: '%d седмици',
              M: 'месец',
              MM: '%d месеца',
              y: 'година',
              yy: '%d години',
          },
          dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
          ordinal: function (number) {
              var lastDigit = number % 10,
                  last2Digits = number % 100;
              if (number === 0) {
                  return number + '-ев';
              } else if (last2Digits === 0) {
                  return number + '-ен';
              } else if (last2Digits > 10 && last2Digits < 20) {
                  return number + '-ти';
              } else if (lastDigit === 1) {
                  return number + '-ви';
              } else if (lastDigit === 2) {
                  return number + '-ри';
              } else if (lastDigit === 7 || lastDigit === 8) {
                  return number + '-ми';
              } else {
                  return number + '-ти';
              }
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return bg;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/bm.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/bm.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Bambara [bm]
  //! author : Estelle Comment : https://github.com/estellecomment
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var bm = moment.defineLocale('bm', {
          months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(
              '_'
          ),
          monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
          weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
          weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
          weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'MMMM [tile] D [san] YYYY',
              LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
              LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
          },
          calendar: {
              sameDay: '[Bi lɛrɛ] LT',
              nextDay: '[Sini lɛrɛ] LT',
              nextWeek: 'dddd [don lɛrɛ] LT',
              lastDay: '[Kunu lɛrɛ] LT',
              lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s kɔnɔ',
              past: 'a bɛ %s bɔ',
              s: 'sanga dama dama',
              ss: 'sekondi %d',
              m: 'miniti kelen',
              mm: 'miniti %d',
              h: 'lɛrɛ kelen',
              hh: 'lɛrɛ %d',
              d: 'tile kelen',
              dd: 'tile %d',
              M: 'kalo kelen',
              MM: 'kalo %d',
              y: 'san kelen',
              yy: 'san %d',
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return bm;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/bn-bd.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/bn-bd.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Bengali (Bangladesh) [bn-bd]
  //! author : Asraf Hossain Patoary : https://github.com/ashwoolford
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '১',
              2: '২',
              3: '৩',
              4: '৪',
              5: '৫',
              6: '৬',
              7: '৭',
              8: '৮',
              9: '৯',
              0: '০',
          },
          numberMap = {
              '১': '1',
              '২': '2',
              '৩': '3',
              '৪': '4',
              '৫': '5',
              '৬': '6',
              '৭': '7',
              '৮': '8',
              '৯': '9',
              '০': '0',
          };
  
      var bnBd = moment.defineLocale('bn-bd', {
          months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(
              '_'
          ),
          monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(
              '_'
          ),
          weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(
              '_'
          ),
          weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
          weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),
          longDateFormat: {
              LT: 'A h:mm সময়',
              LTS: 'A h:mm:ss সময়',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY, A h:mm সময়',
              LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',
          },
          calendar: {
              sameDay: '[আজ] LT',
              nextDay: '[আগামীকাল] LT',
              nextWeek: 'dddd, LT',
              lastDay: '[গতকাল] LT',
              lastWeek: '[গত] dddd, LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s পরে',
              past: '%s আগে',
              s: 'কয়েক সেকেন্ড',
              ss: '%d সেকেন্ড',
              m: 'এক মিনিট',
              mm: '%d মিনিট',
              h: 'এক ঘন্টা',
              hh: '%d ঘন্টা',
              d: 'এক দিন',
              dd: '%d দিন',
              M: 'এক মাস',
              MM: '%d মাস',
              y: 'এক বছর',
              yy: '%d বছর',
          },
          preparse: function (string) {
              return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
                  return numberMap[match];
              });
          },
          postformat: function (string) {
              return string.replace(/\d/g, function (match) {
                  return symbolMap[match];
              });
          },
  
          meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'রাত') {
                  return hour < 4 ? hour : hour + 12;
              } else if (meridiem === 'ভোর') {
                  return hour;
              } else if (meridiem === 'সকাল') {
                  return hour;
              } else if (meridiem === 'দুপুর') {
                  return hour >= 3 ? hour : hour + 12;
              } else if (meridiem === 'বিকাল') {
                  return hour + 12;
              } else if (meridiem === 'সন্ধ্যা') {
                  return hour + 12;
              }
          },
  
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'রাত';
              } else if (hour < 6) {
                  return 'ভোর';
              } else if (hour < 12) {
                  return 'সকাল';
              } else if (hour < 15) {
                  return 'দুপুর';
              } else if (hour < 18) {
                  return 'বিকাল';
              } else if (hour < 20) {
                  return 'সন্ধ্যা';
              } else {
                  return 'রাত';
              }
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 6th is the first week of the year.
          },
      });
  
      return bnBd;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/bn.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/bn.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Bengali [bn]
  //! author : Kaushik Gandhi : https://github.com/kaushikgandhi
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '১',
              2: '২',
              3: '৩',
              4: '৪',
              5: '৫',
              6: '৬',
              7: '৭',
              8: '৮',
              9: '৯',
              0: '০',
          },
          numberMap = {
              '১': '1',
              '২': '2',
              '৩': '3',
              '৪': '4',
              '৫': '5',
              '৬': '6',
              '৭': '7',
              '৮': '8',
              '৯': '9',
              '০': '0',
          };
  
      var bn = moment.defineLocale('bn', {
          months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(
              '_'
          ),
          monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(
              '_'
          ),
          weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(
              '_'
          ),
          weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
          weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),
          longDateFormat: {
              LT: 'A h:mm সময়',
              LTS: 'A h:mm:ss সময়',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY, A h:mm সময়',
              LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',
          },
          calendar: {
              sameDay: '[আজ] LT',
              nextDay: '[আগামীকাল] LT',
              nextWeek: 'dddd, LT',
              lastDay: '[গতকাল] LT',
              lastWeek: '[গত] dddd, LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s পরে',
              past: '%s আগে',
              s: 'কয়েক সেকেন্ড',
              ss: '%d সেকেন্ড',
              m: 'এক মিনিট',
              mm: '%d মিনিট',
              h: 'এক ঘন্টা',
              hh: '%d ঘন্টা',
              d: 'এক দিন',
              dd: '%d দিন',
              M: 'এক মাস',
              MM: '%d মাস',
              y: 'এক বছর',
              yy: '%d বছর',
          },
          preparse: function (string) {
              return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
                  return numberMap[match];
              });
          },
          postformat: function (string) {
              return string.replace(/\d/g, function (match) {
                  return symbolMap[match];
              });
          },
          meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (
                  (meridiem === 'রাত' && hour >= 4) ||
                  (meridiem === 'দুপুর' && hour < 5) ||
                  meridiem === 'বিকাল'
              ) {
                  return hour + 12;
              } else {
                  return hour;
              }
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'রাত';
              } else if (hour < 10) {
                  return 'সকাল';
              } else if (hour < 17) {
                  return 'দুপুর';
              } else if (hour < 20) {
                  return 'বিকাল';
              } else {
                  return 'রাত';
              }
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 6th is the first week of the year.
          },
      });
  
      return bn;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/bo.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/bo.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Tibetan [bo]
  //! author : Thupten N. Chakrishar : https://github.com/vajradog
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '༡',
              2: '༢',
              3: '༣',
              4: '༤',
              5: '༥',
              6: '༦',
              7: '༧',
              8: '༨',
              9: '༩',
              0: '༠',
          },
          numberMap = {
              '༡': '1',
              '༢': '2',
              '༣': '3',
              '༤': '4',
              '༥': '5',
              '༦': '6',
              '༧': '7',
              '༨': '8',
              '༩': '9',
              '༠': '0',
          };
  
      var bo = moment.defineLocale('bo', {
          months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(
              '_'
          ),
          monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(
              '_'
          ),
          monthsShortRegex: /^(ཟླ་\d{1,2})/,
          monthsParseExact: true,
          weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(
              '_'
          ),
          weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(
              '_'
          ),
          weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),
          longDateFormat: {
              LT: 'A h:mm',
              LTS: 'A h:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY, A h:mm',
              LLLL: 'dddd, D MMMM YYYY, A h:mm',
          },
          calendar: {
              sameDay: '[དི་རིང] LT',
              nextDay: '[སང་ཉིན] LT',
              nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',
              lastDay: '[ཁ་སང] LT',
              lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s ལ་',
              past: '%s སྔན་ལ',
              s: 'ལམ་སང',
              ss: '%d སྐར་ཆ།',
              m: 'སྐར་མ་གཅིག',
              mm: '%d སྐར་མ',
              h: 'ཆུ་ཚོད་གཅིག',
              hh: '%d ཆུ་ཚོད',
              d: 'ཉིན་གཅིག',
              dd: '%d ཉིན་',
              M: 'ཟླ་བ་གཅིག',
              MM: '%d ཟླ་བ',
              y: 'ལོ་གཅིག',
              yy: '%d ལོ',
          },
          preparse: function (string) {
              return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
                  return numberMap[match];
              });
          },
          postformat: function (string) {
              return string.replace(/\d/g, function (match) {
                  return symbolMap[match];
              });
          },
          meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (
                  (meridiem === 'མཚན་མོ' && hour >= 4) ||
                  (meridiem === 'ཉིན་གུང' && hour < 5) ||
                  meridiem === 'དགོང་དག'
              ) {
                  return hour + 12;
              } else {
                  return hour;
              }
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'མཚན་མོ';
              } else if (hour < 10) {
                  return 'ཞོགས་ཀས';
              } else if (hour < 17) {
                  return 'ཉིན་གུང';
              } else if (hour < 20) {
                  return 'དགོང་དག';
              } else {
                  return 'མཚན་མོ';
              }
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 6th is the first week of the year.
          },
      });
  
      return bo;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/br.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/br.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Breton [br]
  //! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function relativeTimeWithMutation(number, withoutSuffix, key) {
          var format = {
              mm: 'munutenn',
              MM: 'miz',
              dd: 'devezh',
          };
          return number + ' ' + mutation(format[key], number);
      }
      function specialMutationForYears(number) {
          switch (lastNumber(number)) {
              case 1:
              case 3:
              case 4:
              case 5:
              case 9:
                  return number + ' bloaz';
              default:
                  return number + ' vloaz';
          }
      }
      function lastNumber(number) {
          if (number > 9) {
              return lastNumber(number % 10);
          }
          return number;
      }
      function mutation(text, number) {
          if (number === 2) {
              return softMutation(text);
          }
          return text;
      }
      function softMutation(text) {
          var mutationTable = {
              m: 'v',
              b: 'v',
              d: 'z',
          };
          if (mutationTable[text.charAt(0)] === undefined) {
              return text;
          }
          return mutationTable[text.charAt(0)] + text.substring(1);
      }
  
      var monthsParse = [
              /^gen/i,
              /^c[ʼ\']hwe/i,
              /^meu/i,
              /^ebr/i,
              /^mae/i,
              /^(mez|eve)/i,
              /^gou/i,
              /^eos/i,
              /^gwe/i,
              /^her/i,
              /^du/i,
              /^ker/i,
          ],
          monthsRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,
          monthsStrictRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,
          monthsShortStrictRegex = /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,
          fullWeekdaysParse = [
              /^sul/i,
              /^lun/i,
              /^meurzh/i,
              /^merc[ʼ\']her/i,
              /^yaou/i,
              /^gwener/i,
              /^sadorn/i,
          ],
          shortWeekdaysParse = [
              /^Sul/i,
              /^Lun/i,
              /^Meu/i,
              /^Mer/i,
              /^Yao/i,
              /^Gwe/i,
              /^Sad/i,
          ],
          minWeekdaysParse = [
              /^Su/i,
              /^Lu/i,
              /^Me([^r]|$)/i,
              /^Mer/i,
              /^Ya/i,
              /^Gw/i,
              /^Sa/i,
          ];
  
      var br = moment.defineLocale('br', {
          months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(
              '_'
          ),
          monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
          weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),
          weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
          weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
          weekdaysParse: minWeekdaysParse,
          fullWeekdaysParse: fullWeekdaysParse,
          shortWeekdaysParse: shortWeekdaysParse,
          minWeekdaysParse: minWeekdaysParse,
  
          monthsRegex: monthsRegex,
          monthsShortRegex: monthsRegex,
          monthsStrictRegex: monthsStrictRegex,
          monthsShortStrictRegex: monthsShortStrictRegex,
          monthsParse: monthsParse,
          longMonthsParse: monthsParse,
          shortMonthsParse: monthsParse,
  
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D [a viz] MMMM YYYY',
              LLL: 'D [a viz] MMMM YYYY HH:mm',
              LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Hiziv da] LT',
              nextDay: '[Warcʼhoazh da] LT',
              nextWeek: 'dddd [da] LT',
              lastDay: '[Decʼh da] LT',
              lastWeek: 'dddd [paset da] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'a-benn %s',
              past: '%s ʼzo',
              s: 'un nebeud segondennoù',
              ss: '%d eilenn',
              m: 'ur vunutenn',
              mm: relativeTimeWithMutation,
              h: 'un eur',
              hh: '%d eur',
              d: 'un devezh',
              dd: relativeTimeWithMutation,
              M: 'ur miz',
              MM: relativeTimeWithMutation,
              y: 'ur bloaz',
              yy: specialMutationForYears,
          },
          dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
          ordinal: function (number) {
              var output = number === 1 ? 'añ' : 'vet';
              return number + output;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
          meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn
          isPM: function (token) {
              return token === 'g.m.';
          },
          meridiem: function (hour, minute, isLower) {
              return hour < 12 ? 'a.m.' : 'g.m.';
          },
      });
  
      return br;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/bs.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/bs.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Bosnian [bs]
  //! author : Nedim Cholich : https://github.com/frontyard
  //! based on (hr) translation by Bojan Marković
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function translate(number, withoutSuffix, key) {
          var result = number + ' ';
          switch (key) {
              case 'ss':
                  if (number === 1) {
                      result += 'sekunda';
                  } else if (number === 2 || number === 3 || number === 4) {
                      result += 'sekunde';
                  } else {
                      result += 'sekundi';
                  }
                  return result;
              case 'm':
                  return withoutSuffix ? 'jedna minuta' : 'jedne minute';
              case 'mm':
                  if (number === 1) {
                      result += 'minuta';
                  } else if (number === 2 || number === 3 || number === 4) {
                      result += 'minute';
                  } else {
                      result += 'minuta';
                  }
                  return result;
              case 'h':
                  return withoutSuffix ? 'jedan sat' : 'jednog sata';
              case 'hh':
                  if (number === 1) {
                      result += 'sat';
                  } else if (number === 2 || number === 3 || number === 4) {
                      result += 'sata';
                  } else {
                      result += 'sati';
                  }
                  return result;
              case 'dd':
                  if (number === 1) {
                      result += 'dan';
                  } else {
                      result += 'dana';
                  }
                  return result;
              case 'MM':
                  if (number === 1) {
                      result += 'mjesec';
                  } else if (number === 2 || number === 3 || number === 4) {
                      result += 'mjeseca';
                  } else {
                      result += 'mjeseci';
                  }
                  return result;
              case 'yy':
                  if (number === 1) {
                      result += 'godina';
                  } else if (number === 2 || number === 3 || number === 4) {
                      result += 'godine';
                  } else {
                      result += 'godina';
                  }
                  return result;
          }
      }
  
      var bs = moment.defineLocale('bs', {
          months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(
              '_'
          ),
          monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
              '_'
          ),
          weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
          weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D. MMMM YYYY',
              LLL: 'D. MMMM YYYY H:mm',
              LLLL: 'dddd, D. MMMM YYYY H:mm',
          },
          calendar: {
              sameDay: '[danas u] LT',
              nextDay: '[sutra u] LT',
              nextWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[u] [nedjelju] [u] LT';
                      case 3:
                          return '[u] [srijedu] [u] LT';
                      case 6:
                          return '[u] [subotu] [u] LT';
                      case 1:
                      case 2:
                      case 4:
                      case 5:
                          return '[u] dddd [u] LT';
                  }
              },
              lastDay: '[jučer u] LT',
              lastWeek: function () {
                  switch (this.day()) {
                      case 0:
                      case 3:
                          return '[prošlu] dddd [u] LT';
                      case 6:
                          return '[prošle] [subote] [u] LT';
                      case 1:
                      case 2:
                      case 4:
                      case 5:
                          return '[prošli] dddd [u] LT';
                  }
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'za %s',
              past: 'prije %s',
              s: 'par sekundi',
              ss: translate,
              m: translate,
              mm: translate,
              h: translate,
              hh: translate,
              d: 'dan',
              dd: translate,
              M: 'mjesec',
              MM: translate,
              y: 'godinu',
              yy: translate,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return bs;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ca.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ca.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Catalan [ca]
  //! author : Juan G. Hurtado : https://github.com/juanghurtado
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var ca = moment.defineLocale('ca', {
          months: {
              standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(
                  '_'
              ),
              format: "de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split(
                  '_'
              ),
              isFormat: /D[oD]?(\s)+MMMM/,
          },
          monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(
              '_'
          ),
          weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
          weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM [de] YYYY',
              ll: 'D MMM YYYY',
              LLL: 'D MMMM [de] YYYY [a les] H:mm',
              lll: 'D MMM YYYY, H:mm',
              LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',
              llll: 'ddd D MMM YYYY, H:mm',
          },
          calendar: {
              sameDay: function () {
                  return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
              },
              nextDay: function () {
                  return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
              },
              nextWeek: function () {
                  return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
              },
              lastDay: function () {
                  return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
              },
              lastWeek: function () {
                  return (
                      '[el] dddd [passat a ' +
                      (this.hours() !== 1 ? 'les' : 'la') +
                      '] LT'
                  );
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: "d'aquí %s",
              past: 'fa %s',
              s: 'uns segons',
              ss: '%d segons',
              m: 'un minut',
              mm: '%d minuts',
              h: 'una hora',
              hh: '%d hores',
              d: 'un dia',
              dd: '%d dies',
              M: 'un mes',
              MM: '%d mesos',
              y: 'un any',
              yy: '%d anys',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
          ordinal: function (number, period) {
              var output =
                  number === 1
                      ? 'r'
                      : number === 2
                      ? 'n'
                      : number === 3
                      ? 'r'
                      : number === 4
                      ? 't'
                      : 'è';
              if (period === 'w' || period === 'W') {
                  output = 'a';
              }
              return number + output;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return ca;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/cs.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/cs.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Czech [cs]
  //! author : petrbela : https://github.com/petrbela
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
              '_'
          ),
          monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),
          monthsParse = [
              /^led/i,
              /^úno/i,
              /^bře/i,
              /^dub/i,
              /^kvě/i,
              /^(čvn|červen$|června)/i,
              /^(čvc|červenec|července)/i,
              /^srp/i,
              /^zář/i,
              /^říj/i,
              /^lis/i,
              /^pro/i,
          ],
          // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
          // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
          monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;
  
      function plural(n) {
          return n > 1 && n < 5 && ~~(n / 10) !== 1;
      }
      function translate(number, withoutSuffix, key, isFuture) {
          var result = number + ' ';
          switch (key) {
              case 's': // a few seconds / in a few seconds / a few seconds ago
                  return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';
              case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
                  if (withoutSuffix || isFuture) {
                      return result + (plural(number) ? 'sekundy' : 'sekund');
                  } else {
                      return result + 'sekundami';
                  }
              case 'm': // a minute / in a minute / a minute ago
                  return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';
              case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
                  if (withoutSuffix || isFuture) {
                      return result + (plural(number) ? 'minuty' : 'minut');
                  } else {
                      return result + 'minutami';
                  }
              case 'h': // an hour / in an hour / an hour ago
                  return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
              case 'hh': // 9 hours / in 9 hours / 9 hours ago
                  if (withoutSuffix || isFuture) {
                      return result + (plural(number) ? 'hodiny' : 'hodin');
                  } else {
                      return result + 'hodinami';
                  }
              case 'd': // a day / in a day / a day ago
                  return withoutSuffix || isFuture ? 'den' : 'dnem';
              case 'dd': // 9 days / in 9 days / 9 days ago
                  if (withoutSuffix || isFuture) {
                      return result + (plural(number) ? 'dny' : 'dní');
                  } else {
                      return result + 'dny';
                  }
              case 'M': // a month / in a month / a month ago
                  return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';
              case 'MM': // 9 months / in 9 months / 9 months ago
                  if (withoutSuffix || isFuture) {
                      return result + (plural(number) ? 'měsíce' : 'měsíců');
                  } else {
                      return result + 'měsíci';
                  }
              case 'y': // a year / in a year / a year ago
                  return withoutSuffix || isFuture ? 'rok' : 'rokem';
              case 'yy': // 9 years / in 9 years / 9 years ago
                  if (withoutSuffix || isFuture) {
                      return result + (plural(number) ? 'roky' : 'let');
                  } else {
                      return result + 'lety';
                  }
          }
      }
  
      var cs = moment.defineLocale('cs', {
          months: months,
          monthsShort: monthsShort,
          monthsRegex: monthsRegex,
          monthsShortRegex: monthsRegex,
          // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
          // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
          monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,
          monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
          monthsParse: monthsParse,
          longMonthsParse: monthsParse,
          shortMonthsParse: monthsParse,
          weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
          weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),
          weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D. MMMM YYYY',
              LLL: 'D. MMMM YYYY H:mm',
              LLLL: 'dddd D. MMMM YYYY H:mm',
              l: 'D. M. YYYY',
          },
          calendar: {
              sameDay: '[dnes v] LT',
              nextDay: '[zítra v] LT',
              nextWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[v neděli v] LT';
                      case 1:
                      case 2:
                          return '[v] dddd [v] LT';
                      case 3:
                          return '[ve středu v] LT';
                      case 4:
                          return '[ve čtvrtek v] LT';
                      case 5:
                          return '[v pátek v] LT';
                      case 6:
                          return '[v sobotu v] LT';
                  }
              },
              lastDay: '[včera v] LT',
              lastWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[minulou neděli v] LT';
                      case 1:
                      case 2:
                          return '[minulé] dddd [v] LT';
                      case 3:
                          return '[minulou středu v] LT';
                      case 4:
                      case 5:
                          return '[minulý] dddd [v] LT';
                      case 6:
                          return '[minulou sobotu v] LT';
                  }
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'za %s',
              past: 'před %s',
              s: translate,
              ss: translate,
              m: translate,
              mm: translate,
              h: translate,
              hh: translate,
              d: translate,
              dd: translate,
              M: translate,
              MM: translate,
              y: translate,
              yy: translate,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return cs;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/cv.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/cv.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Chuvash [cv]
  //! author : Anatoly Mironov : https://github.com/mirontoli
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var cv = moment.defineLocale('cv', {
          months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(
              '_'
          ),
          monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
          weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(
              '_'
          ),
          weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
          weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD-MM-YYYY',
              LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
              LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
              LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
          },
          calendar: {
              sameDay: '[Паян] LT [сехетре]',
              nextDay: '[Ыран] LT [сехетре]',
              lastDay: '[Ӗнер] LT [сехетре]',
              nextWeek: '[Ҫитес] dddd LT [сехетре]',
              lastWeek: '[Иртнӗ] dddd LT [сехетре]',
              sameElse: 'L',
          },
          relativeTime: {
              future: function (output) {
                  var affix = /сехет$/i.exec(output)
                      ? 'рен'
                      : /ҫул$/i.exec(output)
                      ? 'тан'
                      : 'ран';
                  return output + affix;
              },
              past: '%s каялла',
              s: 'пӗр-ик ҫеккунт',
              ss: '%d ҫеккунт',
              m: 'пӗр минут',
              mm: '%d минут',
              h: 'пӗр сехет',
              hh: '%d сехет',
              d: 'пӗр кун',
              dd: '%d кун',
              M: 'пӗр уйӑх',
              MM: '%d уйӑх',
              y: 'пӗр ҫул',
              yy: '%d ҫул',
          },
          dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
          ordinal: '%d-мӗш',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return cv;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/cy.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/cy.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Welsh [cy]
  //! author : Robert Allen : https://github.com/robgallen
  //! author : https://github.com/ryangreaves
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var cy = moment.defineLocale('cy', {
          months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(
              '_'
          ),
          monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(
              '_'
          ),
          weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(
              '_'
          ),
          weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
          weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
          weekdaysParseExact: true,
          // time formats are the same as en-gb
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Heddiw am] LT',
              nextDay: '[Yfory am] LT',
              nextWeek: 'dddd [am] LT',
              lastDay: '[Ddoe am] LT',
              lastWeek: 'dddd [diwethaf am] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'mewn %s',
              past: '%s yn ôl',
              s: 'ychydig eiliadau',
              ss: '%d eiliad',
              m: 'munud',
              mm: '%d munud',
              h: 'awr',
              hh: '%d awr',
              d: 'diwrnod',
              dd: '%d diwrnod',
              M: 'mis',
              MM: '%d mis',
              y: 'blwyddyn',
              yy: '%d flynedd',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
          // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
          ordinal: function (number) {
              var b = number,
                  output = '',
                  lookup = [
                      '',
                      'af',
                      'il',
                      'ydd',
                      'ydd',
                      'ed',
                      'ed',
                      'ed',
                      'fed',
                      'fed',
                      'fed', // 1af to 10fed
                      'eg',
                      'fed',
                      'eg',
                      'eg',
                      'fed',
                      'eg',
                      'eg',
                      'fed',
                      'eg',
                      'fed', // 11eg to 20fed
                  ];
              if (b > 20) {
                  if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
                      output = 'fed'; // not 30ain, 70ain or 90ain
                  } else {
                      output = 'ain';
                  }
              } else if (b > 0) {
                  output = lookup[b];
              }
              return number + output;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return cy;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/da.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/da.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Danish [da]
  //! author : Ulrik Nielsen : https://github.com/mrbase
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var da = moment.defineLocale('da', {
          months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(
              '_'
          ),
          monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
          weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
          weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),
          weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D. MMMM YYYY',
              LLL: 'D. MMMM YYYY HH:mm',
              LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',
          },
          calendar: {
              sameDay: '[i dag kl.] LT',
              nextDay: '[i morgen kl.] LT',
              nextWeek: 'på dddd [kl.] LT',
              lastDay: '[i går kl.] LT',
              lastWeek: '[i] dddd[s kl.] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'om %s',
              past: '%s siden',
              s: 'få sekunder',
              ss: '%d sekunder',
              m: 'et minut',
              mm: '%d minutter',
              h: 'en time',
              hh: '%d timer',
              d: 'en dag',
              dd: '%d dage',
              M: 'en måned',
              MM: '%d måneder',
              y: 'et år',
              yy: '%d år',
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return da;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/de-at.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/de-at.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : German (Austria) [de-at]
  //! author : lluchs : https://github.com/lluchs
  //! author: Menelion Elensúle: https://github.com/Oire
  //! author : Martin Groller : https://github.com/MadMG
  //! author : Mikolaj Dadela : https://github.com/mik01aj
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function processRelativeTime(number, withoutSuffix, key, isFuture) {
          var format = {
              m: ['eine Minute', 'einer Minute'],
              h: ['eine Stunde', 'einer Stunde'],
              d: ['ein Tag', 'einem Tag'],
              dd: [number + ' Tage', number + ' Tagen'],
              w: ['eine Woche', 'einer Woche'],
              M: ['ein Monat', 'einem Monat'],
              MM: [number + ' Monate', number + ' Monaten'],
              y: ['ein Jahr', 'einem Jahr'],
              yy: [number + ' Jahre', number + ' Jahren'],
          };
          return withoutSuffix ? format[key][0] : format[key][1];
      }
  
      var deAt = moment.defineLocale('de-at', {
          months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
              '_'
          ),
          monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
              '_'
          ),
          weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
          weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D. MMMM YYYY',
              LLL: 'D. MMMM YYYY HH:mm',
              LLLL: 'dddd, D. MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[heute um] LT [Uhr]',
              sameElse: 'L',
              nextDay: '[morgen um] LT [Uhr]',
              nextWeek: 'dddd [um] LT [Uhr]',
              lastDay: '[gestern um] LT [Uhr]',
              lastWeek: '[letzten] dddd [um] LT [Uhr]',
          },
          relativeTime: {
              future: 'in %s',
              past: 'vor %s',
              s: 'ein paar Sekunden',
              ss: '%d Sekunden',
              m: processRelativeTime,
              mm: '%d Minuten',
              h: processRelativeTime,
              hh: '%d Stunden',
              d: processRelativeTime,
              dd: processRelativeTime,
              w: processRelativeTime,
              ww: '%d Wochen',
              M: processRelativeTime,
              MM: processRelativeTime,
              y: processRelativeTime,
              yy: processRelativeTime,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return deAt;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/de-ch.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/de-ch.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : German (Switzerland) [de-ch]
  //! author : sschueller : https://github.com/sschueller
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function processRelativeTime(number, withoutSuffix, key, isFuture) {
          var format = {
              m: ['eine Minute', 'einer Minute'],
              h: ['eine Stunde', 'einer Stunde'],
              d: ['ein Tag', 'einem Tag'],
              dd: [number + ' Tage', number + ' Tagen'],
              w: ['eine Woche', 'einer Woche'],
              M: ['ein Monat', 'einem Monat'],
              MM: [number + ' Monate', number + ' Monaten'],
              y: ['ein Jahr', 'einem Jahr'],
              yy: [number + ' Jahre', number + ' Jahren'],
          };
          return withoutSuffix ? format[key][0] : format[key][1];
      }
  
      var deCh = moment.defineLocale('de-ch', {
          months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
              '_'
          ),
          monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
              '_'
          ),
          weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
          weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D. MMMM YYYY',
              LLL: 'D. MMMM YYYY HH:mm',
              LLLL: 'dddd, D. MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[heute um] LT [Uhr]',
              sameElse: 'L',
              nextDay: '[morgen um] LT [Uhr]',
              nextWeek: 'dddd [um] LT [Uhr]',
              lastDay: '[gestern um] LT [Uhr]',
              lastWeek: '[letzten] dddd [um] LT [Uhr]',
          },
          relativeTime: {
              future: 'in %s',
              past: 'vor %s',
              s: 'ein paar Sekunden',
              ss: '%d Sekunden',
              m: processRelativeTime,
              mm: '%d Minuten',
              h: processRelativeTime,
              hh: '%d Stunden',
              d: processRelativeTime,
              dd: processRelativeTime,
              w: processRelativeTime,
              ww: '%d Wochen',
              M: processRelativeTime,
              MM: processRelativeTime,
              y: processRelativeTime,
              yy: processRelativeTime,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return deCh;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/de.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/de.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : German [de]
  //! author : lluchs : https://github.com/lluchs
  //! author: Menelion Elensúle: https://github.com/Oire
  //! author : Mikolaj Dadela : https://github.com/mik01aj
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function processRelativeTime(number, withoutSuffix, key, isFuture) {
          var format = {
              m: ['eine Minute', 'einer Minute'],
              h: ['eine Stunde', 'einer Stunde'],
              d: ['ein Tag', 'einem Tag'],
              dd: [number + ' Tage', number + ' Tagen'],
              w: ['eine Woche', 'einer Woche'],
              M: ['ein Monat', 'einem Monat'],
              MM: [number + ' Monate', number + ' Monaten'],
              y: ['ein Jahr', 'einem Jahr'],
              yy: [number + ' Jahre', number + ' Jahren'],
          };
          return withoutSuffix ? format[key][0] : format[key][1];
      }
  
      var de = moment.defineLocale('de', {
          months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
              '_'
          ),
          monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
              '_'
          ),
          weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
          weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D. MMMM YYYY',
              LLL: 'D. MMMM YYYY HH:mm',
              LLLL: 'dddd, D. MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[heute um] LT [Uhr]',
              sameElse: 'L',
              nextDay: '[morgen um] LT [Uhr]',
              nextWeek: 'dddd [um] LT [Uhr]',
              lastDay: '[gestern um] LT [Uhr]',
              lastWeek: '[letzten] dddd [um] LT [Uhr]',
          },
          relativeTime: {
              future: 'in %s',
              past: 'vor %s',
              s: 'ein paar Sekunden',
              ss: '%d Sekunden',
              m: processRelativeTime,
              mm: '%d Minuten',
              h: processRelativeTime,
              hh: '%d Stunden',
              d: processRelativeTime,
              dd: processRelativeTime,
              w: processRelativeTime,
              ww: '%d Wochen',
              M: processRelativeTime,
              MM: processRelativeTime,
              y: processRelativeTime,
              yy: processRelativeTime,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return de;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/dv.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/dv.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Maldivian [dv]
  //! author : Jawish Hameed : https://github.com/jawish
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var months = [
              'ޖެނުއަރީ',
              'ފެބްރުއަރީ',
              'މާރިޗު',
              'އޭޕްރީލު',
              'މޭ',
              'ޖޫން',
              'ޖުލައި',
              'އޯގަސްޓު',
              'ސެޕްޓެމްބަރު',
              'އޮކްޓޯބަރު',
              'ނޮވެމްބަރު',
              'ޑިސެމްބަރު',
          ],
          weekdays = [
              'އާދިއްތަ',
              'ހޯމަ',
              'އަންގާރަ',
              'ބުދަ',
              'ބުރާސްފަތި',
              'ހުކުރު',
              'ހޮނިހިރު',
          ];
  
      var dv = moment.defineLocale('dv', {
          months: months,
          monthsShort: months,
          weekdays: weekdays,
          weekdaysShort: weekdays,
          weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'D/M/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          meridiemParse: /މކ|މފ/,
          isPM: function (input) {
              return 'މފ' === input;
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 12) {
                  return 'މކ';
              } else {
                  return 'މފ';
              }
          },
          calendar: {
              sameDay: '[މިއަދު] LT',
              nextDay: '[މާދަމާ] LT',
              nextWeek: 'dddd LT',
              lastDay: '[އިއްޔެ] LT',
              lastWeek: '[ފާއިތުވި] dddd LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'ތެރޭގައި %s',
              past: 'ކުރިން %s',
              s: 'ސިކުންތުކޮޅެއް',
              ss: 'd% ސިކުންތު',
              m: 'މިނިޓެއް',
              mm: 'މިނިޓު %d',
              h: 'ގަޑިއިރެއް',
              hh: 'ގަޑިއިރު %d',
              d: 'ދުވަހެއް',
              dd: 'ދުވަސް %d',
              M: 'މަހެއް',
              MM: 'މަސް %d',
              y: 'އަހަރެއް',
              yy: 'އަހަރު %d',
          },
          preparse: function (string) {
              return string.replace(/،/g, ',');
          },
          postformat: function (string) {
              return string.replace(/,/g, '،');
          },
          week: {
              dow: 7, // Sunday is the first day of the week.
              doy: 12, // The week that contains Jan 12th is the first week of the year.
          },
      });
  
      return dv;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/el.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/el.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Greek [el]
  //! author : Aggelos Karalias : https://github.com/mehiel
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function isFunction(input) {
          return (
              (typeof Function !== 'undefined' && input instanceof Function) ||
              Object.prototype.toString.call(input) === '[object Function]'
          );
      }
  
      var el = moment.defineLocale('el', {
          monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(
              '_'
          ),
          monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(
              '_'
          ),
          months: function (momentToFormat, format) {
              if (!momentToFormat) {
                  return this._monthsNominativeEl;
              } else if (
                  typeof format === 'string' &&
                  /D/.test(format.substring(0, format.indexOf('MMMM')))
              ) {
                  // if there is a day number before 'MMMM'
                  return this._monthsGenitiveEl[momentToFormat.month()];
              } else {
                  return this._monthsNominativeEl[momentToFormat.month()];
              }
          },
          monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
          weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(
              '_'
          ),
          weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
          weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
          meridiem: function (hours, minutes, isLower) {
              if (hours > 11) {
                  return isLower ? 'μμ' : 'ΜΜ';
              } else {
                  return isLower ? 'πμ' : 'ΠΜ';
              }
          },
          isPM: function (input) {
              return (input + '').toLowerCase()[0] === 'μ';
          },
          meridiemParse: /[ΠΜ]\.?Μ?\.?/i,
          longDateFormat: {
              LT: 'h:mm A',
              LTS: 'h:mm:ss A',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY h:mm A',
              LLLL: 'dddd, D MMMM YYYY h:mm A',
          },
          calendarEl: {
              sameDay: '[Σήμερα {}] LT',
              nextDay: '[Αύριο {}] LT',
              nextWeek: 'dddd [{}] LT',
              lastDay: '[Χθες {}] LT',
              lastWeek: function () {
                  switch (this.day()) {
                      case 6:
                          return '[το προηγούμενο] dddd [{}] LT';
                      default:
                          return '[την προηγούμενη] dddd [{}] LT';
                  }
              },
              sameElse: 'L',
          },
          calendar: function (key, mom) {
              var output = this._calendarEl[key],
                  hours = mom && mom.hours();
              if (isFunction(output)) {
                  output = output.apply(mom);
              }
              return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');
          },
          relativeTime: {
              future: 'σε %s',
              past: '%s πριν',
              s: 'λίγα δευτερόλεπτα',
              ss: '%d δευτερόλεπτα',
              m: 'ένα λεπτό',
              mm: '%d λεπτά',
              h: 'μία ώρα',
              hh: '%d ώρες',
              d: 'μία μέρα',
              dd: '%d μέρες',
              M: 'ένας μήνας',
              MM: '%d μήνες',
              y: 'ένας χρόνος',
              yy: '%d χρόνια',
          },
          dayOfMonthOrdinalParse: /\d{1,2}η/,
          ordinal: '%dη',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4st is the first week of the year.
          },
      });
  
      return el;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/en-au.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/en-au.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : English (Australia) [en-au]
  //! author : Jared Morse : https://github.com/jarcoal
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var enAu = moment.defineLocale('en-au', {
          months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
              '_'
          ),
          monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
          weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
              '_'
          ),
          weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
          weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
          longDateFormat: {
              LT: 'h:mm A',
              LTS: 'h:mm:ss A',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY h:mm A',
              LLLL: 'dddd, D MMMM YYYY h:mm A',
          },
          calendar: {
              sameDay: '[Today at] LT',
              nextDay: '[Tomorrow at] LT',
              nextWeek: 'dddd [at] LT',
              lastDay: '[Yesterday at] LT',
              lastWeek: '[Last] dddd [at] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'in %s',
              past: '%s ago',
              s: 'a few seconds',
              ss: '%d seconds',
              m: 'a minute',
              mm: '%d minutes',
              h: 'an hour',
              hh: '%d hours',
              d: 'a day',
              dd: '%d days',
              M: 'a month',
              MM: '%d months',
              y: 'a year',
              yy: '%d years',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
          ordinal: function (number) {
              var b = number % 10,
                  output =
                      ~~((number % 100) / 10) === 1
                          ? 'th'
                          : b === 1
                          ? 'st'
                          : b === 2
                          ? 'nd'
                          : b === 3
                          ? 'rd'
                          : 'th';
              return number + output;
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return enAu;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/en-ca.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/en-ca.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : English (Canada) [en-ca]
  //! author : Jonathan Abourbih : https://github.com/jonbca
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var enCa = moment.defineLocale('en-ca', {
          months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
              '_'
          ),
          monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
          weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
              '_'
          ),
          weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
          weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
          longDateFormat: {
              LT: 'h:mm A',
              LTS: 'h:mm:ss A',
              L: 'YYYY-MM-DD',
              LL: 'MMMM D, YYYY',
              LLL: 'MMMM D, YYYY h:mm A',
              LLLL: 'dddd, MMMM D, YYYY h:mm A',
          },
          calendar: {
              sameDay: '[Today at] LT',
              nextDay: '[Tomorrow at] LT',
              nextWeek: 'dddd [at] LT',
              lastDay: '[Yesterday at] LT',
              lastWeek: '[Last] dddd [at] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'in %s',
              past: '%s ago',
              s: 'a few seconds',
              ss: '%d seconds',
              m: 'a minute',
              mm: '%d minutes',
              h: 'an hour',
              hh: '%d hours',
              d: 'a day',
              dd: '%d days',
              M: 'a month',
              MM: '%d months',
              y: 'a year',
              yy: '%d years',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
          ordinal: function (number) {
              var b = number % 10,
                  output =
                      ~~((number % 100) / 10) === 1
                          ? 'th'
                          : b === 1
                          ? 'st'
                          : b === 2
                          ? 'nd'
                          : b === 3
                          ? 'rd'
                          : 'th';
              return number + output;
          },
      });
  
      return enCa;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/en-gb.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/en-gb.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : English (United Kingdom) [en-gb]
  //! author : Chris Gedrim : https://github.com/chrisgedrim
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var enGb = moment.defineLocale('en-gb', {
          months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
              '_'
          ),
          monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
          weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
              '_'
          ),
          weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
          weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Today at] LT',
              nextDay: '[Tomorrow at] LT',
              nextWeek: 'dddd [at] LT',
              lastDay: '[Yesterday at] LT',
              lastWeek: '[Last] dddd [at] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'in %s',
              past: '%s ago',
              s: 'a few seconds',
              ss: '%d seconds',
              m: 'a minute',
              mm: '%d minutes',
              h: 'an hour',
              hh: '%d hours',
              d: 'a day',
              dd: '%d days',
              M: 'a month',
              MM: '%d months',
              y: 'a year',
              yy: '%d years',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
          ordinal: function (number) {
              var b = number % 10,
                  output =
                      ~~((number % 100) / 10) === 1
                          ? 'th'
                          : b === 1
                          ? 'st'
                          : b === 2
                          ? 'nd'
                          : b === 3
                          ? 'rd'
                          : 'th';
              return number + output;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return enGb;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/en-ie.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/en-ie.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : English (Ireland) [en-ie]
  //! author : Chris Cartlidge : https://github.com/chriscartlidge
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var enIe = moment.defineLocale('en-ie', {
          months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
              '_'
          ),
          monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
          weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
              '_'
          ),
          weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
          weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Today at] LT',
              nextDay: '[Tomorrow at] LT',
              nextWeek: 'dddd [at] LT',
              lastDay: '[Yesterday at] LT',
              lastWeek: '[Last] dddd [at] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'in %s',
              past: '%s ago',
              s: 'a few seconds',
              ss: '%d seconds',
              m: 'a minute',
              mm: '%d minutes',
              h: 'an hour',
              hh: '%d hours',
              d: 'a day',
              dd: '%d days',
              M: 'a month',
              MM: '%d months',
              y: 'a year',
              yy: '%d years',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
          ordinal: function (number) {
              var b = number % 10,
                  output =
                      ~~((number % 100) / 10) === 1
                          ? 'th'
                          : b === 1
                          ? 'st'
                          : b === 2
                          ? 'nd'
                          : b === 3
                          ? 'rd'
                          : 'th';
              return number + output;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return enIe;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/en-il.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/en-il.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : English (Israel) [en-il]
  //! author : Chris Gedrim : https://github.com/chrisgedrim
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var enIl = moment.defineLocale('en-il', {
          months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
              '_'
          ),
          monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
          weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
              '_'
          ),
          weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
          weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Today at] LT',
              nextDay: '[Tomorrow at] LT',
              nextWeek: 'dddd [at] LT',
              lastDay: '[Yesterday at] LT',
              lastWeek: '[Last] dddd [at] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'in %s',
              past: '%s ago',
              s: 'a few seconds',
              ss: '%d seconds',
              m: 'a minute',
              mm: '%d minutes',
              h: 'an hour',
              hh: '%d hours',
              d: 'a day',
              dd: '%d days',
              M: 'a month',
              MM: '%d months',
              y: 'a year',
              yy: '%d years',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
          ordinal: function (number) {
              var b = number % 10,
                  output =
                      ~~((number % 100) / 10) === 1
                          ? 'th'
                          : b === 1
                          ? 'st'
                          : b === 2
                          ? 'nd'
                          : b === 3
                          ? 'rd'
                          : 'th';
              return number + output;
          },
      });
  
      return enIl;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/en-in.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/en-in.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : English (India) [en-in]
  //! author : Jatin Agrawal : https://github.com/jatinag22
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var enIn = moment.defineLocale('en-in', {
          months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
              '_'
          ),
          monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
          weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
              '_'
          ),
          weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
          weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
          longDateFormat: {
              LT: 'h:mm A',
              LTS: 'h:mm:ss A',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY h:mm A',
              LLLL: 'dddd, D MMMM YYYY h:mm A',
          },
          calendar: {
              sameDay: '[Today at] LT',
              nextDay: '[Tomorrow at] LT',
              nextWeek: 'dddd [at] LT',
              lastDay: '[Yesterday at] LT',
              lastWeek: '[Last] dddd [at] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'in %s',
              past: '%s ago',
              s: 'a few seconds',
              ss: '%d seconds',
              m: 'a minute',
              mm: '%d minutes',
              h: 'an hour',
              hh: '%d hours',
              d: 'a day',
              dd: '%d days',
              M: 'a month',
              MM: '%d months',
              y: 'a year',
              yy: '%d years',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
          ordinal: function (number) {
              var b = number % 10,
                  output =
                      ~~((number % 100) / 10) === 1
                          ? 'th'
                          : b === 1
                          ? 'st'
                          : b === 2
                          ? 'nd'
                          : b === 3
                          ? 'rd'
                          : 'th';
              return number + output;
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 1st is the first week of the year.
          },
      });
  
      return enIn;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/en-nz.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/en-nz.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : English (New Zealand) [en-nz]
  //! author : Luke McGregor : https://github.com/lukemcgregor
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var enNz = moment.defineLocale('en-nz', {
          months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
              '_'
          ),
          monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
          weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
              '_'
          ),
          weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
          weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
          longDateFormat: {
              LT: 'h:mm A',
              LTS: 'h:mm:ss A',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY h:mm A',
              LLLL: 'dddd, D MMMM YYYY h:mm A',
          },
          calendar: {
              sameDay: '[Today at] LT',
              nextDay: '[Tomorrow at] LT',
              nextWeek: 'dddd [at] LT',
              lastDay: '[Yesterday at] LT',
              lastWeek: '[Last] dddd [at] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'in %s',
              past: '%s ago',
              s: 'a few seconds',
              ss: '%d seconds',
              m: 'a minute',
              mm: '%d minutes',
              h: 'an hour',
              hh: '%d hours',
              d: 'a day',
              dd: '%d days',
              M: 'a month',
              MM: '%d months',
              y: 'a year',
              yy: '%d years',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
          ordinal: function (number) {
              var b = number % 10,
                  output =
                      ~~((number % 100) / 10) === 1
                          ? 'th'
                          : b === 1
                          ? 'st'
                          : b === 2
                          ? 'nd'
                          : b === 3
                          ? 'rd'
                          : 'th';
              return number + output;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return enNz;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/en-sg.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/en-sg.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : English (Singapore) [en-sg]
  //! author : Matthew Castrillon-Madrigal : https://github.com/techdimension
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var enSg = moment.defineLocale('en-sg', {
          months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
              '_'
          ),
          monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
          weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
              '_'
          ),
          weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
          weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Today at] LT',
              nextDay: '[Tomorrow at] LT',
              nextWeek: 'dddd [at] LT',
              lastDay: '[Yesterday at] LT',
              lastWeek: '[Last] dddd [at] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'in %s',
              past: '%s ago',
              s: 'a few seconds',
              ss: '%d seconds',
              m: 'a minute',
              mm: '%d minutes',
              h: 'an hour',
              hh: '%d hours',
              d: 'a day',
              dd: '%d days',
              M: 'a month',
              MM: '%d months',
              y: 'a year',
              yy: '%d years',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
          ordinal: function (number) {
              var b = number % 10,
                  output =
                      ~~((number % 100) / 10) === 1
                          ? 'th'
                          : b === 1
                          ? 'st'
                          : b === 2
                          ? 'nd'
                          : b === 3
                          ? 'rd'
                          : 'th';
              return number + output;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return enSg;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/eo.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/eo.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Esperanto [eo]
  //! author : Colin Dean : https://github.com/colindean
  //! author : Mia Nordentoft Imperatori : https://github.com/miestasmia
  //! comment : miestasmia corrected the translation by colindean
  //! comment : Vivakvo corrected the translation by colindean and miestasmia
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var eo = moment.defineLocale('eo', {
          months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(
              '_'
          ),
          monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),
          weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),
          weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),
          weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'YYYY-MM-DD',
              LL: '[la] D[-an de] MMMM, YYYY',
              LLL: '[la] D[-an de] MMMM, YYYY HH:mm',
              LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',
              llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',
          },
          meridiemParse: /[ap]\.t\.m/i,
          isPM: function (input) {
              return input.charAt(0).toLowerCase() === 'p';
          },
          meridiem: function (hours, minutes, isLower) {
              if (hours > 11) {
                  return isLower ? 'p.t.m.' : 'P.T.M.';
              } else {
                  return isLower ? 'a.t.m.' : 'A.T.M.';
              }
          },
          calendar: {
              sameDay: '[Hodiaŭ je] LT',
              nextDay: '[Morgaŭ je] LT',
              nextWeek: 'dddd[n je] LT',
              lastDay: '[Hieraŭ je] LT',
              lastWeek: '[pasintan] dddd[n je] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'post %s',
              past: 'antaŭ %s',
              s: 'kelkaj sekundoj',
              ss: '%d sekundoj',
              m: 'unu minuto',
              mm: '%d minutoj',
              h: 'unu horo',
              hh: '%d horoj',
              d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo
              dd: '%d tagoj',
              M: 'unu monato',
              MM: '%d monatoj',
              y: 'unu jaro',
              yy: '%d jaroj',
          },
          dayOfMonthOrdinalParse: /\d{1,2}a/,
          ordinal: '%da',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return eo;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/es-do.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/es-do.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Spanish (Dominican Republic) [es-do]
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
              '_'
          ),
          monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
          monthsParse = [
              /^ene/i,
              /^feb/i,
              /^mar/i,
              /^abr/i,
              /^may/i,
              /^jun/i,
              /^jul/i,
              /^ago/i,
              /^sep/i,
              /^oct/i,
              /^nov/i,
              /^dic/i,
          ],
          monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
  
      var esDo = moment.defineLocale('es-do', {
          months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
              '_'
          ),
          monthsShort: function (m, format) {
              if (!m) {
                  return monthsShortDot;
              } else if (/-MMM-/.test(format)) {
                  return monthsShort[m.month()];
              } else {
                  return monthsShortDot[m.month()];
              }
          },
          monthsRegex: monthsRegex,
          monthsShortRegex: monthsRegex,
          monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
          monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
          monthsParse: monthsParse,
          longMonthsParse: monthsParse,
          shortMonthsParse: monthsParse,
          weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
          weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
          weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'h:mm A',
              LTS: 'h:mm:ss A',
              L: 'DD/MM/YYYY',
              LL: 'D [de] MMMM [de] YYYY',
              LLL: 'D [de] MMMM [de] YYYY h:mm A',
              LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',
          },
          calendar: {
              sameDay: function () {
                  return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              nextDay: function () {
                  return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              nextWeek: function () {
                  return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              lastDay: function () {
                  return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              lastWeek: function () {
                  return (
                      '[el] dddd [pasado a la' +
                      (this.hours() !== 1 ? 's' : '') +
                      '] LT'
                  );
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'en %s',
              past: 'hace %s',
              s: 'unos segundos',
              ss: '%d segundos',
              m: 'un minuto',
              mm: '%d minutos',
              h: 'una hora',
              hh: '%d horas',
              d: 'un día',
              dd: '%d días',
              w: 'una semana',
              ww: '%d semanas',
              M: 'un mes',
              MM: '%d meses',
              y: 'un año',
              yy: '%d años',
          },
          dayOfMonthOrdinalParse: /\d{1,2}º/,
          ordinal: '%dº',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return esDo;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/es-mx.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/es-mx.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Spanish (Mexico) [es-mx]
  //! author : JC Franco : https://github.com/jcfranco
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
              '_'
          ),
          monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
          monthsParse = [
              /^ene/i,
              /^feb/i,
              /^mar/i,
              /^abr/i,
              /^may/i,
              /^jun/i,
              /^jul/i,
              /^ago/i,
              /^sep/i,
              /^oct/i,
              /^nov/i,
              /^dic/i,
          ],
          monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
  
      var esMx = moment.defineLocale('es-mx', {
          months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
              '_'
          ),
          monthsShort: function (m, format) {
              if (!m) {
                  return monthsShortDot;
              } else if (/-MMM-/.test(format)) {
                  return monthsShort[m.month()];
              } else {
                  return monthsShortDot[m.month()];
              }
          },
          monthsRegex: monthsRegex,
          monthsShortRegex: monthsRegex,
          monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
          monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
          monthsParse: monthsParse,
          longMonthsParse: monthsParse,
          shortMonthsParse: monthsParse,
          weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
          weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
          weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D [de] MMMM [de] YYYY',
              LLL: 'D [de] MMMM [de] YYYY H:mm',
              LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',
          },
          calendar: {
              sameDay: function () {
                  return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              nextDay: function () {
                  return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              nextWeek: function () {
                  return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              lastDay: function () {
                  return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              lastWeek: function () {
                  return (
                      '[el] dddd [pasado a la' +
                      (this.hours() !== 1 ? 's' : '') +
                      '] LT'
                  );
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'en %s',
              past: 'hace %s',
              s: 'unos segundos',
              ss: '%d segundos',
              m: 'un minuto',
              mm: '%d minutos',
              h: 'una hora',
              hh: '%d horas',
              d: 'un día',
              dd: '%d días',
              w: 'una semana',
              ww: '%d semanas',
              M: 'un mes',
              MM: '%d meses',
              y: 'un año',
              yy: '%d años',
          },
          dayOfMonthOrdinalParse: /\d{1,2}º/,
          ordinal: '%dº',
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
          invalidDate: 'Fecha inválida',
      });
  
      return esMx;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/es-us.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/es-us.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Spanish (United States) [es-us]
  //! author : bustta : https://github.com/bustta
  //! author : chrisrodz : https://github.com/chrisrodz
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
              '_'
          ),
          monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
          monthsParse = [
              /^ene/i,
              /^feb/i,
              /^mar/i,
              /^abr/i,
              /^may/i,
              /^jun/i,
              /^jul/i,
              /^ago/i,
              /^sep/i,
              /^oct/i,
              /^nov/i,
              /^dic/i,
          ],
          monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
  
      var esUs = moment.defineLocale('es-us', {
          months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
              '_'
          ),
          monthsShort: function (m, format) {
              if (!m) {
                  return monthsShortDot;
              } else if (/-MMM-/.test(format)) {
                  return monthsShort[m.month()];
              } else {
                  return monthsShortDot[m.month()];
              }
          },
          monthsRegex: monthsRegex,
          monthsShortRegex: monthsRegex,
          monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
          monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
          monthsParse: monthsParse,
          longMonthsParse: monthsParse,
          shortMonthsParse: monthsParse,
          weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
          weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
          weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'h:mm A',
              LTS: 'h:mm:ss A',
              L: 'MM/DD/YYYY',
              LL: 'D [de] MMMM [de] YYYY',
              LLL: 'D [de] MMMM [de] YYYY h:mm A',
              LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',
          },
          calendar: {
              sameDay: function () {
                  return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              nextDay: function () {
                  return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              nextWeek: function () {
                  return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              lastDay: function () {
                  return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              lastWeek: function () {
                  return (
                      '[el] dddd [pasado a la' +
                      (this.hours() !== 1 ? 's' : '') +
                      '] LT'
                  );
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'en %s',
              past: 'hace %s',
              s: 'unos segundos',
              ss: '%d segundos',
              m: 'un minuto',
              mm: '%d minutos',
              h: 'una hora',
              hh: '%d horas',
              d: 'un día',
              dd: '%d días',
              w: 'una semana',
              ww: '%d semanas',
              M: 'un mes',
              MM: '%d meses',
              y: 'un año',
              yy: '%d años',
          },
          dayOfMonthOrdinalParse: /\d{1,2}º/,
          ordinal: '%dº',
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 6th is the first week of the year.
          },
      });
  
      return esUs;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/es.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/es.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Spanish [es]
  //! author : Julio Napurí : https://github.com/julionc
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
              '_'
          ),
          monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
          monthsParse = [
              /^ene/i,
              /^feb/i,
              /^mar/i,
              /^abr/i,
              /^may/i,
              /^jun/i,
              /^jul/i,
              /^ago/i,
              /^sep/i,
              /^oct/i,
              /^nov/i,
              /^dic/i,
          ],
          monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
  
      var es = moment.defineLocale('es', {
          months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
              '_'
          ),
          monthsShort: function (m, format) {
              if (!m) {
                  return monthsShortDot;
              } else if (/-MMM-/.test(format)) {
                  return monthsShort[m.month()];
              } else {
                  return monthsShortDot[m.month()];
              }
          },
          monthsRegex: monthsRegex,
          monthsShortRegex: monthsRegex,
          monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
          monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
          monthsParse: monthsParse,
          longMonthsParse: monthsParse,
          shortMonthsParse: monthsParse,
          weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
          weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
          weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D [de] MMMM [de] YYYY',
              LLL: 'D [de] MMMM [de] YYYY H:mm',
              LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',
          },
          calendar: {
              sameDay: function () {
                  return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              nextDay: function () {
                  return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              nextWeek: function () {
                  return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              lastDay: function () {
                  return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
              },
              lastWeek: function () {
                  return (
                      '[el] dddd [pasado a la' +
                      (this.hours() !== 1 ? 's' : '') +
                      '] LT'
                  );
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'en %s',
              past: 'hace %s',
              s: 'unos segundos',
              ss: '%d segundos',
              m: 'un minuto',
              mm: '%d minutos',
              h: 'una hora',
              hh: '%d horas',
              d: 'un día',
              dd: '%d días',
              w: 'una semana',
              ww: '%d semanas',
              M: 'un mes',
              MM: '%d meses',
              y: 'un año',
              yy: '%d años',
          },
          dayOfMonthOrdinalParse: /\d{1,2}º/,
          ordinal: '%dº',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
          invalidDate: 'Fecha inválida',
      });
  
      return es;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/et.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/et.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Estonian [et]
  //! author : Henry Kehlmann : https://github.com/madhenry
  //! improvements : Illimar Tambek : https://github.com/ragulka
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function processRelativeTime(number, withoutSuffix, key, isFuture) {
          var format = {
              s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
              ss: [number + 'sekundi', number + 'sekundit'],
              m: ['ühe minuti', 'üks minut'],
              mm: [number + ' minuti', number + ' minutit'],
              h: ['ühe tunni', 'tund aega', 'üks tund'],
              hh: [number + ' tunni', number + ' tundi'],
              d: ['ühe päeva', 'üks päev'],
              M: ['kuu aja', 'kuu aega', 'üks kuu'],
              MM: [number + ' kuu', number + ' kuud'],
              y: ['ühe aasta', 'aasta', 'üks aasta'],
              yy: [number + ' aasta', number + ' aastat'],
          };
          if (withoutSuffix) {
              return format[key][2] ? format[key][2] : format[key][1];
          }
          return isFuture ? format[key][0] : format[key][1];
      }
  
      var et = moment.defineLocale('et', {
          months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(
              '_'
          ),
          monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split(
              '_'
          ),
          weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(
              '_'
          ),
          weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),
          weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D. MMMM YYYY',
              LLL: 'D. MMMM YYYY H:mm',
              LLLL: 'dddd, D. MMMM YYYY H:mm',
          },
          calendar: {
              sameDay: '[Täna,] LT',
              nextDay: '[Homme,] LT',
              nextWeek: '[Järgmine] dddd LT',
              lastDay: '[Eile,] LT',
              lastWeek: '[Eelmine] dddd LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s pärast',
              past: '%s tagasi',
              s: processRelativeTime,
              ss: processRelativeTime,
              m: processRelativeTime,
              mm: processRelativeTime,
              h: processRelativeTime,
              hh: processRelativeTime,
              d: processRelativeTime,
              dd: '%d päeva',
              M: processRelativeTime,
              MM: processRelativeTime,
              y: processRelativeTime,
              yy: processRelativeTime,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return et;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/eu.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/eu.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Basque [eu]
  //! author : Eneko Illarramendi : https://github.com/eillarra
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var eu = moment.defineLocale('eu', {
          months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(
              '_'
          ),
          monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(
              '_'
          ),
          weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),
          weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'YYYY-MM-DD',
              LL: 'YYYY[ko] MMMM[ren] D[a]',
              LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',
              LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
              l: 'YYYY-M-D',
              ll: 'YYYY[ko] MMM D[a]',
              lll: 'YYYY[ko] MMM D[a] HH:mm',
              llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',
          },
          calendar: {
              sameDay: '[gaur] LT[etan]',
              nextDay: '[bihar] LT[etan]',
              nextWeek: 'dddd LT[etan]',
              lastDay: '[atzo] LT[etan]',
              lastWeek: '[aurreko] dddd LT[etan]',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s barru',
              past: 'duela %s',
              s: 'segundo batzuk',
              ss: '%d segundo',
              m: 'minutu bat',
              mm: '%d minutu',
              h: 'ordu bat',
              hh: '%d ordu',
              d: 'egun bat',
              dd: '%d egun',
              M: 'hilabete bat',
              MM: '%d hilabete',
              y: 'urte bat',
              yy: '%d urte',
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return eu;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/fa.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/fa.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Persian [fa]
  //! author : Ebrahim Byagowi : https://github.com/ebraminio
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '۱',
              2: '۲',
              3: '۳',
              4: '۴',
              5: '۵',
              6: '۶',
              7: '۷',
              8: '۸',
              9: '۹',
              0: '۰',
          },
          numberMap = {
              '۱': '1',
              '۲': '2',
              '۳': '3',
              '۴': '4',
              '۵': '5',
              '۶': '6',
              '۷': '7',
              '۸': '8',
              '۹': '9',
              '۰': '0',
          };
  
      var fa = moment.defineLocale('fa', {
          months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(
              '_'
          ),
          monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(
              '_'
          ),
          weekdays: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split(
              '_'
          ),
          weekdaysShort: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split(
              '_'
          ),
          weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          meridiemParse: /قبل از ظهر|بعد از ظهر/,
          isPM: function (input) {
              return /بعد از ظهر/.test(input);
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 12) {
                  return 'قبل از ظهر';
              } else {
                  return 'بعد از ظهر';
              }
          },
          calendar: {
              sameDay: '[امروز ساعت] LT',
              nextDay: '[فردا ساعت] LT',
              nextWeek: 'dddd [ساعت] LT',
              lastDay: '[دیروز ساعت] LT',
              lastWeek: 'dddd [پیش] [ساعت] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'در %s',
              past: '%s پیش',
              s: 'چند ثانیه',
              ss: '%d ثانیه',
              m: 'یک دقیقه',
              mm: '%d دقیقه',
              h: 'یک ساعت',
              hh: '%d ساعت',
              d: 'یک روز',
              dd: '%d روز',
              M: 'یک ماه',
              MM: '%d ماه',
              y: 'یک سال',
              yy: '%d سال',
          },
          preparse: function (string) {
              return string
                  .replace(/[۰-۹]/g, function (match) {
                      return numberMap[match];
                  })
                  .replace(/،/g, ',');
          },
          postformat: function (string) {
              return string
                  .replace(/\d/g, function (match) {
                      return symbolMap[match];
                  })
                  .replace(/,/g, '،');
          },
          dayOfMonthOrdinalParse: /\d{1,2}م/,
          ordinal: '%dم',
          week: {
              dow: 6, // Saturday is the first day of the week.
              doy: 12, // The week that contains Jan 12th is the first week of the year.
          },
      });
  
      return fa;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/fi.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/fi.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Finnish [fi]
  //! author : Tarmo Aidantausta : https://github.com/bleadof
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(
              ' '
          ),
          numbersFuture = [
              'nolla',
              'yhden',
              'kahden',
              'kolmen',
              'neljän',
              'viiden',
              'kuuden',
              numbersPast[7],
              numbersPast[8],
              numbersPast[9],
          ];
      function translate(number, withoutSuffix, key, isFuture) {
          var result = '';
          switch (key) {
              case 's':
                  return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
              case 'ss':
                  result = isFuture ? 'sekunnin' : 'sekuntia';
                  break;
              case 'm':
                  return isFuture ? 'minuutin' : 'minuutti';
              case 'mm':
                  result = isFuture ? 'minuutin' : 'minuuttia';
                  break;
              case 'h':
                  return isFuture ? 'tunnin' : 'tunti';
              case 'hh':
                  result = isFuture ? 'tunnin' : 'tuntia';
                  break;
              case 'd':
                  return isFuture ? 'päivän' : 'päivä';
              case 'dd':
                  result = isFuture ? 'päivän' : 'päivää';
                  break;
              case 'M':
                  return isFuture ? 'kuukauden' : 'kuukausi';
              case 'MM':
                  result = isFuture ? 'kuukauden' : 'kuukautta';
                  break;
              case 'y':
                  return isFuture ? 'vuoden' : 'vuosi';
              case 'yy':
                  result = isFuture ? 'vuoden' : 'vuotta';
                  break;
          }
          result = verbalNumber(number, isFuture) + ' ' + result;
          return result;
      }
      function verbalNumber(number, isFuture) {
          return number < 10
              ? isFuture
                  ? numbersFuture[number]
                  : numbersPast[number]
              : number;
      }
  
      var fi = moment.defineLocale('fi', {
          months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(
              '_'
          ),
          monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(
              '_'
          ),
          weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(
              '_'
          ),
          weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),
          weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),
          longDateFormat: {
              LT: 'HH.mm',
              LTS: 'HH.mm.ss',
              L: 'DD.MM.YYYY',
              LL: 'Do MMMM[ta] YYYY',
              LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',
              LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
              l: 'D.M.YYYY',
              ll: 'Do MMM YYYY',
              lll: 'Do MMM YYYY, [klo] HH.mm',
              llll: 'ddd, Do MMM YYYY, [klo] HH.mm',
          },
          calendar: {
              sameDay: '[tänään] [klo] LT',
              nextDay: '[huomenna] [klo] LT',
              nextWeek: 'dddd [klo] LT',
              lastDay: '[eilen] [klo] LT',
              lastWeek: '[viime] dddd[na] [klo] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s päästä',
              past: '%s sitten',
              s: translate,
              ss: translate,
              m: translate,
              mm: translate,
              h: translate,
              hh: translate,
              d: translate,
              dd: translate,
              M: translate,
              MM: translate,
              y: translate,
              yy: translate,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return fi;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/fil.js":
  /*!*******************************************!*\
    !*** ./node_modules/moment/locale/fil.js ***!
    \*******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Filipino [fil]
  //! author : Dan Hagman : https://github.com/hagmandan
  //! author : Matthew Co : https://github.com/matthewdeeco
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var fil = moment.defineLocale('fil', {
          months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(
              '_'
          ),
          monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
          weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(
              '_'
          ),
          weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
          weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'MM/D/YYYY',
              LL: 'MMMM D, YYYY',
              LLL: 'MMMM D, YYYY HH:mm',
              LLLL: 'dddd, MMMM DD, YYYY HH:mm',
          },
          calendar: {
              sameDay: 'LT [ngayong araw]',
              nextDay: '[Bukas ng] LT',
              nextWeek: 'LT [sa susunod na] dddd',
              lastDay: 'LT [kahapon]',
              lastWeek: 'LT [noong nakaraang] dddd',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'sa loob ng %s',
              past: '%s ang nakalipas',
              s: 'ilang segundo',
              ss: '%d segundo',
              m: 'isang minuto',
              mm: '%d minuto',
              h: 'isang oras',
              hh: '%d oras',
              d: 'isang araw',
              dd: '%d araw',
              M: 'isang buwan',
              MM: '%d buwan',
              y: 'isang taon',
              yy: '%d taon',
          },
          dayOfMonthOrdinalParse: /\d{1,2}/,
          ordinal: function (number) {
              return number;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return fil;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/fo.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/fo.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Faroese [fo]
  //! author : Ragnar Johannesen : https://github.com/ragnar123
  //! author : Kristian Sakarisson : https://github.com/sakarisson
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var fo = moment.defineLocale('fo', {
          months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(
              '_'
          ),
          monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
          weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(
              '_'
          ),
          weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
          weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D. MMMM, YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Í dag kl.] LT',
              nextDay: '[Í morgin kl.] LT',
              nextWeek: 'dddd [kl.] LT',
              lastDay: '[Í gjár kl.] LT',
              lastWeek: '[síðstu] dddd [kl] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'um %s',
              past: '%s síðani',
              s: 'fá sekund',
              ss: '%d sekundir',
              m: 'ein minuttur',
              mm: '%d minuttir',
              h: 'ein tími',
              hh: '%d tímar',
              d: 'ein dagur',
              dd: '%d dagar',
              M: 'ein mánaður',
              MM: '%d mánaðir',
              y: 'eitt ár',
              yy: '%d ár',
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return fo;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/fr-ca.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/fr-ca.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : French (Canada) [fr-ca]
  //! author : Jonathan Abourbih : https://github.com/jonbca
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var frCa = moment.defineLocale('fr-ca', {
          months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
              '_'
          ),
          monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
          weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
          weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'YYYY-MM-DD',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Aujourd’hui à] LT',
              nextDay: '[Demain à] LT',
              nextWeek: 'dddd [à] LT',
              lastDay: '[Hier à] LT',
              lastWeek: 'dddd [dernier à] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'dans %s',
              past: 'il y a %s',
              s: 'quelques secondes',
              ss: '%d secondes',
              m: 'une minute',
              mm: '%d minutes',
              h: 'une heure',
              hh: '%d heures',
              d: 'un jour',
              dd: '%d jours',
              M: 'un mois',
              MM: '%d mois',
              y: 'un an',
              yy: '%d ans',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
          ordinal: function (number, period) {
              switch (period) {
                  // Words with masculine grammatical gender: mois, trimestre, jour
                  default:
                  case 'M':
                  case 'Q':
                  case 'D':
                  case 'DDD':
                  case 'd':
                      return number + (number === 1 ? 'er' : 'e');
  
                  // Words with feminine grammatical gender: semaine
                  case 'w':
                  case 'W':
                      return number + (number === 1 ? 're' : 'e');
              }
          },
      });
  
      return frCa;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/fr-ch.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/fr-ch.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : French (Switzerland) [fr-ch]
  //! author : Gaspard Bucher : https://github.com/gaspard
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var frCh = moment.defineLocale('fr-ch', {
          months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
              '_'
          ),
          monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
          weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
          weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Aujourd’hui à] LT',
              nextDay: '[Demain à] LT',
              nextWeek: 'dddd [à] LT',
              lastDay: '[Hier à] LT',
              lastWeek: 'dddd [dernier à] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'dans %s',
              past: 'il y a %s',
              s: 'quelques secondes',
              ss: '%d secondes',
              m: 'une minute',
              mm: '%d minutes',
              h: 'une heure',
              hh: '%d heures',
              d: 'un jour',
              dd: '%d jours',
              M: 'un mois',
              MM: '%d mois',
              y: 'un an',
              yy: '%d ans',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
          ordinal: function (number, period) {
              switch (period) {
                  // Words with masculine grammatical gender: mois, trimestre, jour
                  default:
                  case 'M':
                  case 'Q':
                  case 'D':
                  case 'DDD':
                  case 'd':
                      return number + (number === 1 ? 'er' : 'e');
  
                  // Words with feminine grammatical gender: semaine
                  case 'w':
                  case 'W':
                      return number + (number === 1 ? 're' : 'e');
              }
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return frCh;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/fr.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/fr.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : French [fr]
  //! author : John Fischer : https://github.com/jfroffice
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,
          monthsShortStrictRegex = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i,
          monthsRegex = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,
          monthsParse = [
              /^janv/i,
              /^févr/i,
              /^mars/i,
              /^avr/i,
              /^mai/i,
              /^juin/i,
              /^juil/i,
              /^août/i,
              /^sept/i,
              /^oct/i,
              /^nov/i,
              /^déc/i,
          ];
  
      var fr = moment.defineLocale('fr', {
          months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
              '_'
          ),
          monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
              '_'
          ),
          monthsRegex: monthsRegex,
          monthsShortRegex: monthsRegex,
          monthsStrictRegex: monthsStrictRegex,
          monthsShortStrictRegex: monthsShortStrictRegex,
          monthsParse: monthsParse,
          longMonthsParse: monthsParse,
          shortMonthsParse: monthsParse,
          weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
          weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
          weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Aujourd’hui à] LT',
              nextDay: '[Demain à] LT',
              nextWeek: 'dddd [à] LT',
              lastDay: '[Hier à] LT',
              lastWeek: 'dddd [dernier à] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'dans %s',
              past: 'il y a %s',
              s: 'quelques secondes',
              ss: '%d secondes',
              m: 'une minute',
              mm: '%d minutes',
              h: 'une heure',
              hh: '%d heures',
              d: 'un jour',
              dd: '%d jours',
              w: 'une semaine',
              ww: '%d semaines',
              M: 'un mois',
              MM: '%d mois',
              y: 'un an',
              yy: '%d ans',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
          ordinal: function (number, period) {
              switch (period) {
                  // TODO: Return 'e' when day of month > 1. Move this case inside
                  // block for masculine words below.
                  // See https://github.com/moment/moment/issues/3375
                  case 'D':
                      return number + (number === 1 ? 'er' : '');
  
                  // Words with masculine grammatical gender: mois, trimestre, jour
                  default:
                  case 'M':
                  case 'Q':
                  case 'DDD':
                  case 'd':
                      return number + (number === 1 ? 'er' : 'e');
  
                  // Words with feminine grammatical gender: semaine
                  case 'w':
                  case 'W':
                      return number + (number === 1 ? 're' : 'e');
              }
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return fr;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/fy.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/fy.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Frisian [fy]
  //! author : Robin van der Vliet : https://github.com/robin0van0der0v
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split(
              '_'
          ),
          monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split(
              '_'
          );
  
      var fy = moment.defineLocale('fy', {
          months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(
              '_'
          ),
          monthsShort: function (m, format) {
              if (!m) {
                  return monthsShortWithDots;
              } else if (/-MMM-/.test(format)) {
                  return monthsShortWithoutDots[m.month()];
              } else {
                  return monthsShortWithDots[m.month()];
              }
          },
          monthsParseExact: true,
          weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(
              '_'
          ),
          weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),
          weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD-MM-YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[hjoed om] LT',
              nextDay: '[moarn om] LT',
              nextWeek: 'dddd [om] LT',
              lastDay: '[juster om] LT',
              lastWeek: '[ôfrûne] dddd [om] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'oer %s',
              past: '%s lyn',
              s: 'in pear sekonden',
              ss: '%d sekonden',
              m: 'ien minút',
              mm: '%d minuten',
              h: 'ien oere',
              hh: '%d oeren',
              d: 'ien dei',
              dd: '%d dagen',
              M: 'ien moanne',
              MM: '%d moannen',
              y: 'ien jier',
              yy: '%d jierren',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
          ordinal: function (number) {
              return (
                  number +
                  (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')
              );
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return fy;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ga.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ga.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Irish or Irish Gaelic [ga]
  //! author : André Silva : https://github.com/askpt
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var months = [
              'Eanáir',
              'Feabhra',
              'Márta',
              'Aibreán',
              'Bealtaine',
              'Meitheamh',
              'Iúil',
              'Lúnasa',
              'Meán Fómhair',
              'Deireadh Fómhair',
              'Samhain',
              'Nollaig',
          ],
          monthsShort = [
              'Ean',
              'Feabh',
              'Márt',
              'Aib',
              'Beal',
              'Meith',
              'Iúil',
              'Lún',
              'M.F.',
              'D.F.',
              'Samh',
              'Noll',
          ],
          weekdays = [
              'Dé Domhnaigh',
              'Dé Luain',
              'Dé Máirt',
              'Dé Céadaoin',
              'Déardaoin',
              'Dé hAoine',
              'Dé Sathairn',
          ],
          weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],
          weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];
  
      var ga = moment.defineLocale('ga', {
          months: months,
          monthsShort: monthsShort,
          monthsParseExact: true,
          weekdays: weekdays,
          weekdaysShort: weekdaysShort,
          weekdaysMin: weekdaysMin,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Inniu ag] LT',
              nextDay: '[Amárach ag] LT',
              nextWeek: 'dddd [ag] LT',
              lastDay: '[Inné ag] LT',
              lastWeek: 'dddd [seo caite] [ag] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'i %s',
              past: '%s ó shin',
              s: 'cúpla soicind',
              ss: '%d soicind',
              m: 'nóiméad',
              mm: '%d nóiméad',
              h: 'uair an chloig',
              hh: '%d uair an chloig',
              d: 'lá',
              dd: '%d lá',
              M: 'mí',
              MM: '%d míonna',
              y: 'bliain',
              yy: '%d bliain',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
          ordinal: function (number) {
              var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
              return number + output;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return ga;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/gd.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/gd.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Scottish Gaelic [gd]
  //! author : Jon Ashdown : https://github.com/jonashdown
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var months = [
              'Am Faoilleach',
              'An Gearran',
              'Am Màrt',
              'An Giblean',
              'An Cèitean',
              'An t-Ògmhios',
              'An t-Iuchar',
              'An Lùnastal',
              'An t-Sultain',
              'An Dàmhair',
              'An t-Samhain',
              'An Dùbhlachd',
          ],
          monthsShort = [
              'Faoi',
              'Gear',
              'Màrt',
              'Gibl',
              'Cèit',
              'Ògmh',
              'Iuch',
              'Lùn',
              'Sult',
              'Dàmh',
              'Samh',
              'Dùbh',
          ],
          weekdays = [
              'Didòmhnaich',
              'Diluain',
              'Dimàirt',
              'Diciadain',
              'Diardaoin',
              'Dihaoine',
              'Disathairne',
          ],
          weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],
          weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
  
      var gd = moment.defineLocale('gd', {
          months: months,
          monthsShort: monthsShort,
          monthsParseExact: true,
          weekdays: weekdays,
          weekdaysShort: weekdaysShort,
          weekdaysMin: weekdaysMin,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[An-diugh aig] LT',
              nextDay: '[A-màireach aig] LT',
              nextWeek: 'dddd [aig] LT',
              lastDay: '[An-dè aig] LT',
              lastWeek: 'dddd [seo chaidh] [aig] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'ann an %s',
              past: 'bho chionn %s',
              s: 'beagan diogan',
              ss: '%d diogan',
              m: 'mionaid',
              mm: '%d mionaidean',
              h: 'uair',
              hh: '%d uairean',
              d: 'latha',
              dd: '%d latha',
              M: 'mìos',
              MM: '%d mìosan',
              y: 'bliadhna',
              yy: '%d bliadhna',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
          ordinal: function (number) {
              var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
              return number + output;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return gd;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/gl.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/gl.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Galician [gl]
  //! author : Juan G. Hurtado : https://github.com/juanghurtado
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var gl = moment.defineLocale('gl', {
          months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(
              '_'
          ),
          monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
          weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
          weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D [de] MMMM [de] YYYY',
              LLL: 'D [de] MMMM [de] YYYY H:mm',
              LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',
          },
          calendar: {
              sameDay: function () {
                  return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';
              },
              nextDay: function () {
                  return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';
              },
              nextWeek: function () {
                  return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';
              },
              lastDay: function () {
                  return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';
              },
              lastWeek: function () {
                  return (
                      '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'
                  );
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: function (str) {
                  if (str.indexOf('un') === 0) {
                      return 'n' + str;
                  }
                  return 'en ' + str;
              },
              past: 'hai %s',
              s: 'uns segundos',
              ss: '%d segundos',
              m: 'un minuto',
              mm: '%d minutos',
              h: 'unha hora',
              hh: '%d horas',
              d: 'un día',
              dd: '%d días',
              M: 'un mes',
              MM: '%d meses',
              y: 'un ano',
              yy: '%d anos',
          },
          dayOfMonthOrdinalParse: /\d{1,2}º/,
          ordinal: '%dº',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return gl;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/gom-deva.js":
  /*!************************************************!*\
    !*** ./node_modules/moment/locale/gom-deva.js ***!
    \************************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Konkani Devanagari script [gom-deva]
  //! author : The Discoverer : https://github.com/WikiDiscoverer
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function processRelativeTime(number, withoutSuffix, key, isFuture) {
          var format = {
              s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],
              ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],
              m: ['एका मिणटान', 'एक मिनूट'],
              mm: [number + ' मिणटांनी', number + ' मिणटां'],
              h: ['एका वरान', 'एक वर'],
              hh: [number + ' वरांनी', number + ' वरां'],
              d: ['एका दिसान', 'एक दीस'],
              dd: [number + ' दिसांनी', number + ' दीस'],
              M: ['एका म्हयन्यान', 'एक म्हयनो'],
              MM: [number + ' म्हयन्यानी', number + ' म्हयने'],
              y: ['एका वर्सान', 'एक वर्स'],
              yy: [number + ' वर्सांनी', number + ' वर्सां'],
          };
          return isFuture ? format[key][0] : format[key][1];
      }
  
      var gomDeva = moment.defineLocale('gom-deva', {
          months: {
              standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(
                  '_'
              ),
              format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(
                  '_'
              ),
              isFormat: /MMMM(\s)+D[oD]?/,
          },
          monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),
          weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),
          weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'A h:mm [वाजतां]',
              LTS: 'A h:mm:ss [वाजतां]',
              L: 'DD-MM-YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY A h:mm [वाजतां]',
              LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',
              llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',
          },
          calendar: {
              sameDay: '[आयज] LT',
              nextDay: '[फाल्यां] LT',
              nextWeek: '[फुडलो] dddd[,] LT',
              lastDay: '[काल] LT',
              lastWeek: '[फाटलो] dddd[,] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s',
              past: '%s आदीं',
              s: processRelativeTime,
              ss: processRelativeTime,
              m: processRelativeTime,
              mm: processRelativeTime,
              h: processRelativeTime,
              hh: processRelativeTime,
              d: processRelativeTime,
              dd: processRelativeTime,
              M: processRelativeTime,
              MM: processRelativeTime,
              y: processRelativeTime,
              yy: processRelativeTime,
          },
          dayOfMonthOrdinalParse: /\d{1,2}(वेर)/,
          ordinal: function (number, period) {
              switch (period) {
                  // the ordinal 'वेर' only applies to day of the month
                  case 'D':
                      return number + 'वेर';
                  default:
                  case 'M':
                  case 'Q':
                  case 'DDD':
                  case 'd':
                  case 'w':
                  case 'W':
                      return number;
              }
          },
          week: {
              dow: 0, // Sunday is the first day of the week
              doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)
          },
          meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'राती') {
                  return hour < 4 ? hour : hour + 12;
              } else if (meridiem === 'सकाळीं') {
                  return hour;
              } else if (meridiem === 'दनपारां') {
                  return hour > 12 ? hour : hour + 12;
              } else if (meridiem === 'सांजे') {
                  return hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'राती';
              } else if (hour < 12) {
                  return 'सकाळीं';
              } else if (hour < 16) {
                  return 'दनपारां';
              } else if (hour < 20) {
                  return 'सांजे';
              } else {
                  return 'राती';
              }
          },
      });
  
      return gomDeva;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/gom-latn.js":
  /*!************************************************!*\
    !*** ./node_modules/moment/locale/gom-latn.js ***!
    \************************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Konkani Latin script [gom-latn]
  //! author : The Discoverer : https://github.com/WikiDiscoverer
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function processRelativeTime(number, withoutSuffix, key, isFuture) {
          var format = {
              s: ['thoddea sekondamni', 'thodde sekond'],
              ss: [number + ' sekondamni', number + ' sekond'],
              m: ['eka mintan', 'ek minut'],
              mm: [number + ' mintamni', number + ' mintam'],
              h: ['eka voran', 'ek vor'],
              hh: [number + ' voramni', number + ' voram'],
              d: ['eka disan', 'ek dis'],
              dd: [number + ' disamni', number + ' dis'],
              M: ['eka mhoinean', 'ek mhoino'],
              MM: [number + ' mhoineamni', number + ' mhoine'],
              y: ['eka vorsan', 'ek voros'],
              yy: [number + ' vorsamni', number + ' vorsam'],
          };
          return isFuture ? format[key][0] : format[key][1];
      }
  
      var gomLatn = moment.defineLocale('gom-latn', {
          months: {
              standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(
                  '_'
              ),
              format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(
                  '_'
              ),
              isFormat: /MMMM(\s)+D[oD]?/,
          },
          monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split('_'),
          weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),
          weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'A h:mm [vazta]',
              LTS: 'A h:mm:ss [vazta]',
              L: 'DD-MM-YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY A h:mm [vazta]',
              LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',
              llll: 'ddd, D MMM YYYY, A h:mm [vazta]',
          },
          calendar: {
              sameDay: '[Aiz] LT',
              nextDay: '[Faleam] LT',
              nextWeek: '[Fuddlo] dddd[,] LT',
              lastDay: '[Kal] LT',
              lastWeek: '[Fattlo] dddd[,] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s',
              past: '%s adim',
              s: processRelativeTime,
              ss: processRelativeTime,
              m: processRelativeTime,
              mm: processRelativeTime,
              h: processRelativeTime,
              hh: processRelativeTime,
              d: processRelativeTime,
              dd: processRelativeTime,
              M: processRelativeTime,
              MM: processRelativeTime,
              y: processRelativeTime,
              yy: processRelativeTime,
          },
          dayOfMonthOrdinalParse: /\d{1,2}(er)/,
          ordinal: function (number, period) {
              switch (period) {
                  // the ordinal 'er' only applies to day of the month
                  case 'D':
                      return number + 'er';
                  default:
                  case 'M':
                  case 'Q':
                  case 'DDD':
                  case 'd':
                  case 'w':
                  case 'W':
                      return number;
              }
          },
          week: {
              dow: 0, // Sunday is the first day of the week
              doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)
          },
          meridiemParse: /rati|sokallim|donparam|sanje/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'rati') {
                  return hour < 4 ? hour : hour + 12;
              } else if (meridiem === 'sokallim') {
                  return hour;
              } else if (meridiem === 'donparam') {
                  return hour > 12 ? hour : hour + 12;
              } else if (meridiem === 'sanje') {
                  return hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'rati';
              } else if (hour < 12) {
                  return 'sokallim';
              } else if (hour < 16) {
                  return 'donparam';
              } else if (hour < 20) {
                  return 'sanje';
              } else {
                  return 'rati';
              }
          },
      });
  
      return gomLatn;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/gu.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/gu.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Gujarati [gu]
  //! author : Kaushik Thanki : https://github.com/Kaushik1987
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '૧',
              2: '૨',
              3: '૩',
              4: '૪',
              5: '૫',
              6: '૬',
              7: '૭',
              8: '૮',
              9: '૯',
              0: '૦',
          },
          numberMap = {
              '૧': '1',
              '૨': '2',
              '૩': '3',
              '૪': '4',
              '૫': '5',
              '૬': '6',
              '૭': '7',
              '૮': '8',
              '૯': '9',
              '૦': '0',
          };
  
      var gu = moment.defineLocale('gu', {
          months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(
              '_'
          ),
          monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(
              '_'
          ),
          weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),
          weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),
          longDateFormat: {
              LT: 'A h:mm વાગ્યે',
              LTS: 'A h:mm:ss વાગ્યે',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY, A h:mm વાગ્યે',
              LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',
          },
          calendar: {
              sameDay: '[આજ] LT',
              nextDay: '[કાલે] LT',
              nextWeek: 'dddd, LT',
              lastDay: '[ગઇકાલે] LT',
              lastWeek: '[પાછલા] dddd, LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s મા',
              past: '%s પહેલા',
              s: 'અમુક પળો',
              ss: '%d સેકંડ',
              m: 'એક મિનિટ',
              mm: '%d મિનિટ',
              h: 'એક કલાક',
              hh: '%d કલાક',
              d: 'એક દિવસ',
              dd: '%d દિવસ',
              M: 'એક મહિનો',
              MM: '%d મહિનો',
              y: 'એક વર્ષ',
              yy: '%d વર્ષ',
          },
          preparse: function (string) {
              return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
                  return numberMap[match];
              });
          },
          postformat: function (string) {
              return string.replace(/\d/g, function (match) {
                  return symbolMap[match];
              });
          },
          // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
          // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.
          meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'રાત') {
                  return hour < 4 ? hour : hour + 12;
              } else if (meridiem === 'સવાર') {
                  return hour;
              } else if (meridiem === 'બપોર') {
                  return hour >= 10 ? hour : hour + 12;
              } else if (meridiem === 'સાંજ') {
                  return hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'રાત';
              } else if (hour < 10) {
                  return 'સવાર';
              } else if (hour < 17) {
                  return 'બપોર';
              } else if (hour < 20) {
                  return 'સાંજ';
              } else {
                  return 'રાત';
              }
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 6th is the first week of the year.
          },
      });
  
      return gu;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/he.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/he.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Hebrew [he]
  //! author : Tomer Cohen : https://github.com/tomer
  //! author : Moshe Simantov : https://github.com/DevelopmentIL
  //! author : Tal Ater : https://github.com/TalAter
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var he = moment.defineLocale('he', {
          months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(
              '_'
          ),
          monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split(
              '_'
          ),
          weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
          weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
          weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D [ב]MMMM YYYY',
              LLL: 'D [ב]MMMM YYYY HH:mm',
              LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',
              l: 'D/M/YYYY',
              ll: 'D MMM YYYY',
              lll: 'D MMM YYYY HH:mm',
              llll: 'ddd, D MMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[היום ב־]LT',
              nextDay: '[מחר ב־]LT',
              nextWeek: 'dddd [בשעה] LT',
              lastDay: '[אתמול ב־]LT',
              lastWeek: '[ביום] dddd [האחרון בשעה] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'בעוד %s',
              past: 'לפני %s',
              s: 'מספר שניות',
              ss: '%d שניות',
              m: 'דקה',
              mm: '%d דקות',
              h: 'שעה',
              hh: function (number) {
                  if (number === 2) {
                      return 'שעתיים';
                  }
                  return number + ' שעות';
              },
              d: 'יום',
              dd: function (number) {
                  if (number === 2) {
                      return 'יומיים';
                  }
                  return number + ' ימים';
              },
              M: 'חודש',
              MM: function (number) {
                  if (number === 2) {
                      return 'חודשיים';
                  }
                  return number + ' חודשים';
              },
              y: 'שנה',
              yy: function (number) {
                  if (number === 2) {
                      return 'שנתיים';
                  } else if (number % 10 === 0 && number !== 10) {
                      return number + ' שנה';
                  }
                  return number + ' שנים';
              },
          },
          meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
          isPM: function (input) {
              return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 5) {
                  return 'לפנות בוקר';
              } else if (hour < 10) {
                  return 'בבוקר';
              } else if (hour < 12) {
                  return isLower ? 'לפנה"צ' : 'לפני הצהריים';
              } else if (hour < 18) {
                  return isLower ? 'אחה"צ' : 'אחרי הצהריים';
              } else {
                  return 'בערב';
              }
          },
      });
  
      return he;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/hi.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/hi.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Hindi [hi]
  //! author : Mayank Singhal : https://github.com/mayanksinghal
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '१',
              2: '२',
              3: '३',
              4: '४',
              5: '५',
              6: '६',
              7: '७',
              8: '८',
              9: '९',
              0: '०',
          },
          numberMap = {
              '१': '1',
              '२': '2',
              '३': '3',
              '४': '4',
              '५': '5',
              '६': '6',
              '७': '7',
              '८': '8',
              '९': '9',
              '०': '0',
          },
          monthsParse = [
              /^जन/i,
              /^फ़र|फर/i,
              /^मार्च/i,
              /^अप्रै/i,
              /^मई/i,
              /^जून/i,
              /^जुल/i,
              /^अग/i,
              /^सितं|सित/i,
              /^अक्टू/i,
              /^नव|नवं/i,
              /^दिसं|दिस/i,
          ],
          shortMonthsParse = [
              /^जन/i,
              /^फ़र/i,
              /^मार्च/i,
              /^अप्रै/i,
              /^मई/i,
              /^जून/i,
              /^जुल/i,
              /^अग/i,
              /^सित/i,
              /^अक्टू/i,
              /^नव/i,
              /^दिस/i,
          ];
  
      var hi = moment.defineLocale('hi', {
          months: {
              format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(
                  '_'
              ),
              standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(
                  '_'
              ),
          },
          monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split(
              '_'
          ),
          weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
          weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
          weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
          longDateFormat: {
              LT: 'A h:mm बजे',
              LTS: 'A h:mm:ss बजे',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY, A h:mm बजे',
              LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',
          },
  
          monthsParse: monthsParse,
          longMonthsParse: monthsParse,
          shortMonthsParse: shortMonthsParse,
  
          monthsRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i,
  
          monthsShortRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i,
  
          monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,
  
          monthsShortStrictRegex: /^(जन\.?|फ़र\.?|मार्च?|अप्रै\.?|मई?|जून?|जुल\.?|अग\.?|सित\.?|अक्टू\.?|नव\.?|दिस\.?)/i,
  
          calendar: {
              sameDay: '[आज] LT',
              nextDay: '[कल] LT',
              nextWeek: 'dddd, LT',
              lastDay: '[कल] LT',
              lastWeek: '[पिछले] dddd, LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s में',
              past: '%s पहले',
              s: 'कुछ ही क्षण',
              ss: '%d सेकंड',
              m: 'एक मिनट',
              mm: '%d मिनट',
              h: 'एक घंटा',
              hh: '%d घंटे',
              d: 'एक दिन',
              dd: '%d दिन',
              M: 'एक महीने',
              MM: '%d महीने',
              y: 'एक वर्ष',
              yy: '%d वर्ष',
          },
          preparse: function (string) {
              return string.replace(/[१२३४५६७८९०]/g, function (match) {
                  return numberMap[match];
              });
          },
          postformat: function (string) {
              return string.replace(/\d/g, function (match) {
                  return symbolMap[match];
              });
          },
          // Hindi notation for meridiems are quite fuzzy in practice. While there exists
          // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
          meridiemParse: /रात|सुबह|दोपहर|शाम/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'रात') {
                  return hour < 4 ? hour : hour + 12;
              } else if (meridiem === 'सुबह') {
                  return hour;
              } else if (meridiem === 'दोपहर') {
                  return hour >= 10 ? hour : hour + 12;
              } else if (meridiem === 'शाम') {
                  return hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'रात';
              } else if (hour < 10) {
                  return 'सुबह';
              } else if (hour < 17) {
                  return 'दोपहर';
              } else if (hour < 20) {
                  return 'शाम';
              } else {
                  return 'रात';
              }
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 6th is the first week of the year.
          },
      });
  
      return hi;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/hr.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/hr.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Croatian [hr]
  //! author : Bojan Marković : https://github.com/bmarkovic
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function translate(number, withoutSuffix, key) {
          var result = number + ' ';
          switch (key) {
              case 'ss':
                  if (number === 1) {
                      result += 'sekunda';
                  } else if (number === 2 || number === 3 || number === 4) {
                      result += 'sekunde';
                  } else {
                      result += 'sekundi';
                  }
                  return result;
              case 'm':
                  return withoutSuffix ? 'jedna minuta' : 'jedne minute';
              case 'mm':
                  if (number === 1) {
                      result += 'minuta';
                  } else if (number === 2 || number === 3 || number === 4) {
                      result += 'minute';
                  } else {
                      result += 'minuta';
                  }
                  return result;
              case 'h':
                  return withoutSuffix ? 'jedan sat' : 'jednog sata';
              case 'hh':
                  if (number === 1) {
                      result += 'sat';
                  } else if (number === 2 || number === 3 || number === 4) {
                      result += 'sata';
                  } else {
                      result += 'sati';
                  }
                  return result;
              case 'dd':
                  if (number === 1) {
                      result += 'dan';
                  } else {
                      result += 'dana';
                  }
                  return result;
              case 'MM':
                  if (number === 1) {
                      result += 'mjesec';
                  } else if (number === 2 || number === 3 || number === 4) {
                      result += 'mjeseca';
                  } else {
                      result += 'mjeseci';
                  }
                  return result;
              case 'yy':
                  if (number === 1) {
                      result += 'godina';
                  } else if (number === 2 || number === 3 || number === 4) {
                      result += 'godine';
                  } else {
                      result += 'godina';
                  }
                  return result;
          }
      }
  
      var hr = moment.defineLocale('hr', {
          months: {
              format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(
                  '_'
              ),
              standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(
                  '_'
              ),
          },
          monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
              '_'
          ),
          weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
          weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'Do MMMM YYYY',
              LLL: 'Do MMMM YYYY H:mm',
              LLLL: 'dddd, Do MMMM YYYY H:mm',
          },
          calendar: {
              sameDay: '[danas u] LT',
              nextDay: '[sutra u] LT',
              nextWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[u] [nedjelju] [u] LT';
                      case 3:
                          return '[u] [srijedu] [u] LT';
                      case 6:
                          return '[u] [subotu] [u] LT';
                      case 1:
                      case 2:
                      case 4:
                      case 5:
                          return '[u] dddd [u] LT';
                  }
              },
              lastDay: '[jučer u] LT',
              lastWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[prošlu] [nedjelju] [u] LT';
                      case 3:
                          return '[prošlu] [srijedu] [u] LT';
                      case 6:
                          return '[prošle] [subote] [u] LT';
                      case 1:
                      case 2:
                      case 4:
                      case 5:
                          return '[prošli] dddd [u] LT';
                  }
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'za %s',
              past: 'prije %s',
              s: 'par sekundi',
              ss: translate,
              m: translate,
              mm: translate,
              h: translate,
              hh: translate,
              d: 'dan',
              dd: translate,
              M: 'mjesec',
              MM: translate,
              y: 'godinu',
              yy: translate,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return hr;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/hu.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/hu.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Hungarian [hu]
  //! author : Adam Brunner : https://github.com/adambrunner
  //! author : Peter Viszt  : https://github.com/passatgt
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(
          ' '
      );
      function translate(number, withoutSuffix, key, isFuture) {
          var num = number;
          switch (key) {
              case 's':
                  return isFuture || withoutSuffix
                      ? 'néhány másodperc'
                      : 'néhány másodperce';
              case 'ss':
                  return num + (isFuture || withoutSuffix)
                      ? ' másodperc'
                      : ' másodperce';
              case 'm':
                  return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
              case 'mm':
                  return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
              case 'h':
                  return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
              case 'hh':
                  return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
              case 'd':
                  return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
              case 'dd':
                  return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
              case 'M':
                  return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
              case 'MM':
                  return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
              case 'y':
                  return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
              case 'yy':
                  return num + (isFuture || withoutSuffix ? ' év' : ' éve');
          }
          return '';
      }
      function week(isFuture) {
          return (
              (isFuture ? '' : '[múlt] ') +
              '[' +
              weekEndings[this.day()] +
              '] LT[-kor]'
          );
      }
  
      var hu = moment.defineLocale('hu', {
          months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(
              '_'
          ),
          monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
          weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
          weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'YYYY.MM.DD.',
              LL: 'YYYY. MMMM D.',
              LLL: 'YYYY. MMMM D. H:mm',
              LLLL: 'YYYY. MMMM D., dddd H:mm',
          },
          meridiemParse: /de|du/i,
          isPM: function (input) {
              return input.charAt(1).toLowerCase() === 'u';
          },
          meridiem: function (hours, minutes, isLower) {
              if (hours < 12) {
                  return isLower === true ? 'de' : 'DE';
              } else {
                  return isLower === true ? 'du' : 'DU';
              }
          },
          calendar: {
              sameDay: '[ma] LT[-kor]',
              nextDay: '[holnap] LT[-kor]',
              nextWeek: function () {
                  return week.call(this, true);
              },
              lastDay: '[tegnap] LT[-kor]',
              lastWeek: function () {
                  return week.call(this, false);
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s múlva',
              past: '%s',
              s: translate,
              ss: translate,
              m: translate,
              mm: translate,
              h: translate,
              hh: translate,
              d: translate,
              dd: translate,
              M: translate,
              MM: translate,
              y: translate,
              yy: translate,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return hu;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/hy-am.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/hy-am.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Armenian [hy-am]
  //! author : Armendarabyan : https://github.com/armendarabyan
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var hyAm = moment.defineLocale('hy-am', {
          months: {
              format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(
                  '_'
              ),
              standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(
                  '_'
              ),
          },
          monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
          weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(
              '_'
          ),
          weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
          weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY թ.',
              LLL: 'D MMMM YYYY թ., HH:mm',
              LLLL: 'dddd, D MMMM YYYY թ., HH:mm',
          },
          calendar: {
              sameDay: '[այսօր] LT',
              nextDay: '[վաղը] LT',
              lastDay: '[երեկ] LT',
              nextWeek: function () {
                  return 'dddd [օրը ժամը] LT';
              },
              lastWeek: function () {
                  return '[անցած] dddd [օրը ժամը] LT';
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s հետո',
              past: '%s առաջ',
              s: 'մի քանի վայրկյան',
              ss: '%d վայրկյան',
              m: 'րոպե',
              mm: '%d րոպե',
              h: 'ժամ',
              hh: '%d ժամ',
              d: 'օր',
              dd: '%d օր',
              M: 'ամիս',
              MM: '%d ամիս',
              y: 'տարի',
              yy: '%d տարի',
          },
          meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
          isPM: function (input) {
              return /^(ցերեկվա|երեկոյան)$/.test(input);
          },
          meridiem: function (hour) {
              if (hour < 4) {
                  return 'գիշերվա';
              } else if (hour < 12) {
                  return 'առավոտվա';
              } else if (hour < 17) {
                  return 'ցերեկվա';
              } else {
                  return 'երեկոյան';
              }
          },
          dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
          ordinal: function (number, period) {
              switch (period) {
                  case 'DDD':
                  case 'w':
                  case 'W':
                  case 'DDDo':
                      if (number === 1) {
                          return number + '-ին';
                      }
                      return number + '-րդ';
                  default:
                      return number;
              }
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return hyAm;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/id.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/id.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Indonesian [id]
  //! author : Mohammad Satrio Utomo : https://github.com/tyok
  //! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var id = moment.defineLocale('id', {
          months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(
              '_'
          ),
          monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
          weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
          weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
          weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
          longDateFormat: {
              LT: 'HH.mm',
              LTS: 'HH.mm.ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY [pukul] HH.mm',
              LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',
          },
          meridiemParse: /pagi|siang|sore|malam/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'pagi') {
                  return hour;
              } else if (meridiem === 'siang') {
                  return hour >= 11 ? hour : hour + 12;
              } else if (meridiem === 'sore' || meridiem === 'malam') {
                  return hour + 12;
              }
          },
          meridiem: function (hours, minutes, isLower) {
              if (hours < 11) {
                  return 'pagi';
              } else if (hours < 15) {
                  return 'siang';
              } else if (hours < 19) {
                  return 'sore';
              } else {
                  return 'malam';
              }
          },
          calendar: {
              sameDay: '[Hari ini pukul] LT',
              nextDay: '[Besok pukul] LT',
              nextWeek: 'dddd [pukul] LT',
              lastDay: '[Kemarin pukul] LT',
              lastWeek: 'dddd [lalu pukul] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'dalam %s',
              past: '%s yang lalu',
              s: 'beberapa detik',
              ss: '%d detik',
              m: 'semenit',
              mm: '%d menit',
              h: 'sejam',
              hh: '%d jam',
              d: 'sehari',
              dd: '%d hari',
              M: 'sebulan',
              MM: '%d bulan',
              y: 'setahun',
              yy: '%d tahun',
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 6th is the first week of the year.
          },
      });
  
      return id;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/is.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/is.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Icelandic [is]
  //! author : Hinrik Örn Sigurðsson : https://github.com/hinrik
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function plural(n) {
          if (n % 100 === 11) {
              return true;
          } else if (n % 10 === 1) {
              return false;
          }
          return true;
      }
      function translate(number, withoutSuffix, key, isFuture) {
          var result = number + ' ';
          switch (key) {
              case 's':
                  return withoutSuffix || isFuture
                      ? 'nokkrar sekúndur'
                      : 'nokkrum sekúndum';
              case 'ss':
                  if (plural(number)) {
                      return (
                          result +
                          (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')
                      );
                  }
                  return result + 'sekúnda';
              case 'm':
                  return withoutSuffix ? 'mínúta' : 'mínútu';
              case 'mm':
                  if (plural(number)) {
                      return (
                          result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')
                      );
                  } else if (withoutSuffix) {
                      return result + 'mínúta';
                  }
                  return result + 'mínútu';
              case 'hh':
                  if (plural(number)) {
                      return (
                          result +
                          (withoutSuffix || isFuture
                              ? 'klukkustundir'
                              : 'klukkustundum')
                      );
                  }
                  return result + 'klukkustund';
              case 'd':
                  if (withoutSuffix) {
                      return 'dagur';
                  }
                  return isFuture ? 'dag' : 'degi';
              case 'dd':
                  if (plural(number)) {
                      if (withoutSuffix) {
                          return result + 'dagar';
                      }
                      return result + (isFuture ? 'daga' : 'dögum');
                  } else if (withoutSuffix) {
                      return result + 'dagur';
                  }
                  return result + (isFuture ? 'dag' : 'degi');
              case 'M':
                  if (withoutSuffix) {
                      return 'mánuður';
                  }
                  return isFuture ? 'mánuð' : 'mánuði';
              case 'MM':
                  if (plural(number)) {
                      if (withoutSuffix) {
                          return result + 'mánuðir';
                      }
                      return result + (isFuture ? 'mánuði' : 'mánuðum');
                  } else if (withoutSuffix) {
                      return result + 'mánuður';
                  }
                  return result + (isFuture ? 'mánuð' : 'mánuði');
              case 'y':
                  return withoutSuffix || isFuture ? 'ár' : 'ári';
              case 'yy':
                  if (plural(number)) {
                      return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
                  }
                  return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
          }
      }
  
      var is = moment.defineLocale('is', {
          months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(
              '_'
          ),
          monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
          weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(
              '_'
          ),
          weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
          weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D. MMMM YYYY',
              LLL: 'D. MMMM YYYY [kl.] H:mm',
              LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',
          },
          calendar: {
              sameDay: '[í dag kl.] LT',
              nextDay: '[á morgun kl.] LT',
              nextWeek: 'dddd [kl.] LT',
              lastDay: '[í gær kl.] LT',
              lastWeek: '[síðasta] dddd [kl.] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'eftir %s',
              past: 'fyrir %s síðan',
              s: translate,
              ss: translate,
              m: translate,
              mm: translate,
              h: 'klukkustund',
              hh: translate,
              d: translate,
              dd: translate,
              M: translate,
              MM: translate,
              y: translate,
              yy: translate,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return is;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/it-ch.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/it-ch.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Italian (Switzerland) [it-ch]
  //! author : xfh : https://github.com/xfh
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var itCh = moment.defineLocale('it-ch', {
          months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(
              '_'
          ),
          monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
          weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(
              '_'
          ),
          weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
          weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Oggi alle] LT',
              nextDay: '[Domani alle] LT',
              nextWeek: 'dddd [alle] LT',
              lastDay: '[Ieri alle] LT',
              lastWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[la scorsa] dddd [alle] LT';
                      default:
                          return '[lo scorso] dddd [alle] LT';
                  }
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: function (s) {
                  return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;
              },
              past: '%s fa',
              s: 'alcuni secondi',
              ss: '%d secondi',
              m: 'un minuto',
              mm: '%d minuti',
              h: "un'ora",
              hh: '%d ore',
              d: 'un giorno',
              dd: '%d giorni',
              M: 'un mese',
              MM: '%d mesi',
              y: 'un anno',
              yy: '%d anni',
          },
          dayOfMonthOrdinalParse: /\d{1,2}º/,
          ordinal: '%dº',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return itCh;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/it.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/it.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Italian [it]
  //! author : Lorenzo : https://github.com/aliem
  //! author: Mattia Larentis: https://github.com/nostalgiaz
  //! author: Marco : https://github.com/Manfre98
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var it = moment.defineLocale('it', {
          months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(
              '_'
          ),
          monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
          weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(
              '_'
          ),
          weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
          weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: function () {
                  return (
                      '[Oggi a' +
                      (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
                      ']LT'
                  );
              },
              nextDay: function () {
                  return (
                      '[Domani a' +
                      (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
                      ']LT'
                  );
              },
              nextWeek: function () {
                  return (
                      'dddd [a' +
                      (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
                      ']LT'
                  );
              },
              lastDay: function () {
                  return (
                      '[Ieri a' +
                      (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
                      ']LT'
                  );
              },
              lastWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return (
                              '[La scorsa] dddd [a' +
                              (this.hours() > 1
                                  ? 'lle '
                                  : this.hours() === 0
                                  ? ' '
                                  : "ll'") +
                              ']LT'
                          );
                      default:
                          return (
                              '[Lo scorso] dddd [a' +
                              (this.hours() > 1
                                  ? 'lle '
                                  : this.hours() === 0
                                  ? ' '
                                  : "ll'") +
                              ']LT'
                          );
                  }
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'tra %s',
              past: '%s fa',
              s: 'alcuni secondi',
              ss: '%d secondi',
              m: 'un minuto',
              mm: '%d minuti',
              h: "un'ora",
              hh: '%d ore',
              d: 'un giorno',
              dd: '%d giorni',
              w: 'una settimana',
              ww: '%d settimane',
              M: 'un mese',
              MM: '%d mesi',
              y: 'un anno',
              yy: '%d anni',
          },
          dayOfMonthOrdinalParse: /\d{1,2}º/,
          ordinal: '%dº',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return it;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ja.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ja.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Japanese [ja]
  //! author : LI Long : https://github.com/baryon
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var ja = moment.defineLocale('ja', {
          eras: [
              {
                  since: '2019-05-01',
                  offset: 1,
                  name: '令和',
                  narrow: '㋿',
                  abbr: 'R',
              },
              {
                  since: '1989-01-08',
                  until: '2019-04-30',
                  offset: 1,
                  name: '平成',
                  narrow: '㍻',
                  abbr: 'H',
              },
              {
                  since: '1926-12-25',
                  until: '1989-01-07',
                  offset: 1,
                  name: '昭和',
                  narrow: '㍼',
                  abbr: 'S',
              },
              {
                  since: '1912-07-30',
                  until: '1926-12-24',
                  offset: 1,
                  name: '大正',
                  narrow: '㍽',
                  abbr: 'T',
              },
              {
                  since: '1873-01-01',
                  until: '1912-07-29',
                  offset: 6,
                  name: '明治',
                  narrow: '㍾',
                  abbr: 'M',
              },
              {
                  since: '0001-01-01',
                  until: '1873-12-31',
                  offset: 1,
                  name: '西暦',
                  narrow: 'AD',
                  abbr: 'AD',
              },
              {
                  since: '0000-12-31',
                  until: -Infinity,
                  offset: 1,
                  name: '紀元前',
                  narrow: 'BC',
                  abbr: 'BC',
              },
          ],
          eraYearOrdinalRegex: /(元|\d+)年/,
          eraYearOrdinalParse: function (input, match) {
              return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);
          },
          months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
          monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
              '_'
          ),
          weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
          weekdaysShort: '日_月_火_水_木_金_土'.split('_'),
          weekdaysMin: '日_月_火_水_木_金_土'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'YYYY/MM/DD',
              LL: 'YYYY年M月D日',
              LLL: 'YYYY年M月D日 HH:mm',
              LLLL: 'YYYY年M月D日 dddd HH:mm',
              l: 'YYYY/MM/DD',
              ll: 'YYYY年M月D日',
              lll: 'YYYY年M月D日 HH:mm',
              llll: 'YYYY年M月D日(ddd) HH:mm',
          },
          meridiemParse: /午前|午後/i,
          isPM: function (input) {
              return input === '午後';
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 12) {
                  return '午前';
              } else {
                  return '午後';
              }
          },
          calendar: {
              sameDay: '[今日] LT',
              nextDay: '[明日] LT',
              nextWeek: function (now) {
                  if (now.week() !== this.week()) {
                      return '[来週]dddd LT';
                  } else {
                      return 'dddd LT';
                  }
              },
              lastDay: '[昨日] LT',
              lastWeek: function (now) {
                  if (this.week() !== now.week()) {
                      return '[先週]dddd LT';
                  } else {
                      return 'dddd LT';
                  }
              },
              sameElse: 'L',
          },
          dayOfMonthOrdinalParse: /\d{1,2}日/,
          ordinal: function (number, period) {
              switch (period) {
                  case 'y':
                      return number === 1 ? '元年' : number + '年';
                  case 'd':
                  case 'D':
                  case 'DDD':
                      return number + '日';
                  default:
                      return number;
              }
          },
          relativeTime: {
              future: '%s後',
              past: '%s前',
              s: '数秒',
              ss: '%d秒',
              m: '1分',
              mm: '%d分',
              h: '1時間',
              hh: '%d時間',
              d: '1日',
              dd: '%d日',
              M: '1ヶ月',
              MM: '%dヶ月',
              y: '1年',
              yy: '%d年',
          },
      });
  
      return ja;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/jv.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/jv.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Javanese [jv]
  //! author : Rony Lantip : https://github.com/lantip
  //! reference: http://jv.wikipedia.org/wiki/Basa_Jawa
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var jv = moment.defineLocale('jv', {
          months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(
              '_'
          ),
          monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
          weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
          weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
          weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
          longDateFormat: {
              LT: 'HH.mm',
              LTS: 'HH.mm.ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY [pukul] HH.mm',
              LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',
          },
          meridiemParse: /enjing|siyang|sonten|ndalu/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'enjing') {
                  return hour;
              } else if (meridiem === 'siyang') {
                  return hour >= 11 ? hour : hour + 12;
              } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
                  return hour + 12;
              }
          },
          meridiem: function (hours, minutes, isLower) {
              if (hours < 11) {
                  return 'enjing';
              } else if (hours < 15) {
                  return 'siyang';
              } else if (hours < 19) {
                  return 'sonten';
              } else {
                  return 'ndalu';
              }
          },
          calendar: {
              sameDay: '[Dinten puniko pukul] LT',
              nextDay: '[Mbenjang pukul] LT',
              nextWeek: 'dddd [pukul] LT',
              lastDay: '[Kala wingi pukul] LT',
              lastWeek: 'dddd [kepengker pukul] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'wonten ing %s',
              past: '%s ingkang kepengker',
              s: 'sawetawis detik',
              ss: '%d detik',
              m: 'setunggal menit',
              mm: '%d menit',
              h: 'setunggal jam',
              hh: '%d jam',
              d: 'sedinten',
              dd: '%d dinten',
              M: 'sewulan',
              MM: '%d wulan',
              y: 'setaun',
              yy: '%d taun',
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return jv;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ka.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ka.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Georgian [ka]
  //! author : Irakli Janiashvili : https://github.com/IrakliJani
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var ka = moment.defineLocale('ka', {
          months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(
              '_'
          ),
          monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
          weekdays: {
              standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(
                  '_'
              ),
              format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(
                  '_'
              ),
              isFormat: /(წინა|შემდეგ)/,
          },
          weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
          weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[დღეს] LT[-ზე]',
              nextDay: '[ხვალ] LT[-ზე]',
              lastDay: '[გუშინ] LT[-ზე]',
              nextWeek: '[შემდეგ] dddd LT[-ზე]',
              lastWeek: '[წინა] dddd LT-ზე',
              sameElse: 'L',
          },
          relativeTime: {
              future: function (s) {
                  return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function (
                      $0,
                      $1,
                      $2
                  ) {
                      return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';
                  });
              },
              past: function (s) {
                  if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {
                      return s.replace(/(ი|ე)$/, 'ის წინ');
                  }
                  if (/წელი/.test(s)) {
                      return s.replace(/წელი$/, 'წლის წინ');
                  }
                  return s;
              },
              s: 'რამდენიმე წამი',
              ss: '%d წამი',
              m: 'წუთი',
              mm: '%d წუთი',
              h: 'საათი',
              hh: '%d საათი',
              d: 'დღე',
              dd: '%d დღე',
              M: 'თვე',
              MM: '%d თვე',
              y: 'წელი',
              yy: '%d წელი',
          },
          dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
          ordinal: function (number) {
              if (number === 0) {
                  return number;
              }
              if (number === 1) {
                  return number + '-ლი';
              }
              if (
                  number < 20 ||
                  (number <= 100 && number % 20 === 0) ||
                  number % 100 === 0
              ) {
                  return 'მე-' + number;
              }
              return number + '-ე';
          },
          week: {
              dow: 1,
              doy: 7,
          },
      });
  
      return ka;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/kk.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/kk.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Kazakh [kk]
  //! authors : Nurlan Rakhimzhanov : https://github.com/nurlan
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var suffixes = {
          0: '-ші',
          1: '-ші',
          2: '-ші',
          3: '-ші',
          4: '-ші',
          5: '-ші',
          6: '-шы',
          7: '-ші',
          8: '-ші',
          9: '-шы',
          10: '-шы',
          20: '-шы',
          30: '-шы',
          40: '-шы',
          50: '-ші',
          60: '-шы',
          70: '-ші',
          80: '-ші',
          90: '-шы',
          100: '-ші',
      };
  
      var kk = moment.defineLocale('kk', {
          months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(
              '_'
          ),
          monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
          weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(
              '_'
          ),
          weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
          weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Бүгін сағат] LT',
              nextDay: '[Ертең сағат] LT',
              nextWeek: 'dddd [сағат] LT',
              lastDay: '[Кеше сағат] LT',
              lastWeek: '[Өткен аптаның] dddd [сағат] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s ішінде',
              past: '%s бұрын',
              s: 'бірнеше секунд',
              ss: '%d секунд',
              m: 'бір минут',
              mm: '%d минут',
              h: 'бір сағат',
              hh: '%d сағат',
              d: 'бір күн',
              dd: '%d күн',
              M: 'бір ай',
              MM: '%d ай',
              y: 'бір жыл',
              yy: '%d жыл',
          },
          dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
          ordinal: function (number) {
              var a = number % 10,
                  b = number >= 100 ? 100 : null;
              return number + (suffixes[number] || suffixes[a] || suffixes[b]);
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return kk;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/km.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/km.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Cambodian [km]
  //! author : Kruy Vanna : https://github.com/kruyvanna
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '១',
              2: '២',
              3: '៣',
              4: '៤',
              5: '៥',
              6: '៦',
              7: '៧',
              8: '៨',
              9: '៩',
              0: '០',
          },
          numberMap = {
              '១': '1',
              '២': '2',
              '៣': '3',
              '៤': '4',
              '៥': '5',
              '៦': '6',
              '៧': '7',
              '៨': '8',
              '៩': '9',
              '០': '0',
          };
  
      var km = moment.defineLocale('km', {
          months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
              '_'
          ),
          monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
              '_'
          ),
          weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
          weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
          weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          meridiemParse: /ព្រឹក|ល្ងាច/,
          isPM: function (input) {
              return input === 'ល្ងាច';
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 12) {
                  return 'ព្រឹក';
              } else {
                  return 'ល្ងាច';
              }
          },
          calendar: {
              sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
              nextDay: '[ស្អែក ម៉ោង] LT',
              nextWeek: 'dddd [ម៉ោង] LT',
              lastDay: '[ម្សិលមិញ ម៉ោង] LT',
              lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%sទៀត',
              past: '%sមុន',
              s: 'ប៉ុន្មានវិនាទី',
              ss: '%d វិនាទី',
              m: 'មួយនាទី',
              mm: '%d នាទី',
              h: 'មួយម៉ោង',
              hh: '%d ម៉ោង',
              d: 'មួយថ្ងៃ',
              dd: '%d ថ្ងៃ',
              M: 'មួយខែ',
              MM: '%d ខែ',
              y: 'មួយឆ្នាំ',
              yy: '%d ឆ្នាំ',
          },
          dayOfMonthOrdinalParse: /ទី\d{1,2}/,
          ordinal: 'ទី%d',
          preparse: function (string) {
              return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
                  return numberMap[match];
              });
          },
          postformat: function (string) {
              return string.replace(/\d/g, function (match) {
                  return symbolMap[match];
              });
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return km;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/kn.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/kn.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Kannada [kn]
  //! author : Rajeev Naik : https://github.com/rajeevnaikte
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '೧',
              2: '೨',
              3: '೩',
              4: '೪',
              5: '೫',
              6: '೬',
              7: '೭',
              8: '೮',
              9: '೯',
              0: '೦',
          },
          numberMap = {
              '೧': '1',
              '೨': '2',
              '೩': '3',
              '೪': '4',
              '೫': '5',
              '೬': '6',
              '೭': '7',
              '೮': '8',
              '೯': '9',
              '೦': '0',
          };
  
      var kn = moment.defineLocale('kn', {
          months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(
              '_'
          ),
          monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(
              '_'
          ),
          weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),
          weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),
          longDateFormat: {
              LT: 'A h:mm',
              LTS: 'A h:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY, A h:mm',
              LLLL: 'dddd, D MMMM YYYY, A h:mm',
          },
          calendar: {
              sameDay: '[ಇಂದು] LT',
              nextDay: '[ನಾಳೆ] LT',
              nextWeek: 'dddd, LT',
              lastDay: '[ನಿನ್ನೆ] LT',
              lastWeek: '[ಕೊನೆಯ] dddd, LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s ನಂತರ',
              past: '%s ಹಿಂದೆ',
              s: 'ಕೆಲವು ಕ್ಷಣಗಳು',
              ss: '%d ಸೆಕೆಂಡುಗಳು',
              m: 'ಒಂದು ನಿಮಿಷ',
              mm: '%d ನಿಮಿಷ',
              h: 'ಒಂದು ಗಂಟೆ',
              hh: '%d ಗಂಟೆ',
              d: 'ಒಂದು ದಿನ',
              dd: '%d ದಿನ',
              M: 'ಒಂದು ತಿಂಗಳು',
              MM: '%d ತಿಂಗಳು',
              y: 'ಒಂದು ವರ್ಷ',
              yy: '%d ವರ್ಷ',
          },
          preparse: function (string) {
              return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
                  return numberMap[match];
              });
          },
          postformat: function (string) {
              return string.replace(/\d/g, function (match) {
                  return symbolMap[match];
              });
          },
          meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'ರಾತ್ರಿ') {
                  return hour < 4 ? hour : hour + 12;
              } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {
                  return hour;
              } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {
                  return hour >= 10 ? hour : hour + 12;
              } else if (meridiem === 'ಸಂಜೆ') {
                  return hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'ರಾತ್ರಿ';
              } else if (hour < 10) {
                  return 'ಬೆಳಿಗ್ಗೆ';
              } else if (hour < 17) {
                  return 'ಮಧ್ಯಾಹ್ನ';
              } else if (hour < 20) {
                  return 'ಸಂಜೆ';
              } else {
                  return 'ರಾತ್ರಿ';
              }
          },
          dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
          ordinal: function (number) {
              return number + 'ನೇ';
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 6th is the first week of the year.
          },
      });
  
      return kn;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ko.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ko.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Korean [ko]
  //! author : Kyungwook, Park : https://github.com/kyungw00k
  //! author : Jeeeyul Lee <jeeeyul@gmail.com>
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var ko = moment.defineLocale('ko', {
          months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
          monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(
              '_'
          ),
          weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
          weekdaysShort: '일_월_화_수_목_금_토'.split('_'),
          weekdaysMin: '일_월_화_수_목_금_토'.split('_'),
          longDateFormat: {
              LT: 'A h:mm',
              LTS: 'A h:mm:ss',
              L: 'YYYY.MM.DD.',
              LL: 'YYYY년 MMMM D일',
              LLL: 'YYYY년 MMMM D일 A h:mm',
              LLLL: 'YYYY년 MMMM D일 dddd A h:mm',
              l: 'YYYY.MM.DD.',
              ll: 'YYYY년 MMMM D일',
              lll: 'YYYY년 MMMM D일 A h:mm',
              llll: 'YYYY년 MMMM D일 dddd A h:mm',
          },
          calendar: {
              sameDay: '오늘 LT',
              nextDay: '내일 LT',
              nextWeek: 'dddd LT',
              lastDay: '어제 LT',
              lastWeek: '지난주 dddd LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s 후',
              past: '%s 전',
              s: '몇 초',
              ss: '%d초',
              m: '1분',
              mm: '%d분',
              h: '한 시간',
              hh: '%d시간',
              d: '하루',
              dd: '%d일',
              M: '한 달',
              MM: '%d달',
              y: '일 년',
              yy: '%d년',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/,
          ordinal: function (number, period) {
              switch (period) {
                  case 'd':
                  case 'D':
                  case 'DDD':
                      return number + '일';
                  case 'M':
                      return number + '월';
                  case 'w':
                  case 'W':
                      return number + '주';
                  default:
                      return number;
              }
          },
          meridiemParse: /오전|오후/,
          isPM: function (token) {
              return token === '오후';
          },
          meridiem: function (hour, minute, isUpper) {
              return hour < 12 ? '오전' : '오후';
          },
      });
  
      return ko;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ku.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ku.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Kurdish [ku]
  //! author : Shahram Mebashar : https://github.com/ShahramMebashar
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '١',
              2: '٢',
              3: '٣',
              4: '٤',
              5: '٥',
              6: '٦',
              7: '٧',
              8: '٨',
              9: '٩',
              0: '٠',
          },
          numberMap = {
              '١': '1',
              '٢': '2',
              '٣': '3',
              '٤': '4',
              '٥': '5',
              '٦': '6',
              '٧': '7',
              '٨': '8',
              '٩': '9',
              '٠': '0',
          },
          months = [
              'کانونی دووەم',
              'شوبات',
              'ئازار',
              'نیسان',
              'ئایار',
              'حوزەیران',
              'تەمموز',
              'ئاب',
              'ئەیلوول',
              'تشرینی یەكەم',
              'تشرینی دووەم',
              'كانونی یەکەم',
          ];
  
      var ku = moment.defineLocale('ku', {
          months: months,
          monthsShort: months,
          weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(
              '_'
          ),
          weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split(
              '_'
          ),
          weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          meridiemParse: /ئێواره‌|به‌یانی/,
          isPM: function (input) {
              return /ئێواره‌/.test(input);
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 12) {
                  return 'به‌یانی';
              } else {
                  return 'ئێواره‌';
              }
          },
          calendar: {
              sameDay: '[ئه‌مرۆ كاتژمێر] LT',
              nextDay: '[به‌یانی كاتژمێر] LT',
              nextWeek: 'dddd [كاتژمێر] LT',
              lastDay: '[دوێنێ كاتژمێر] LT',
              lastWeek: 'dddd [كاتژمێر] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'له‌ %s',
              past: '%s',
              s: 'چه‌ند چركه‌یه‌ك',
              ss: 'چركه‌ %d',
              m: 'یه‌ك خوله‌ك',
              mm: '%d خوله‌ك',
              h: 'یه‌ك كاتژمێر',
              hh: '%d كاتژمێر',
              d: 'یه‌ك ڕۆژ',
              dd: '%d ڕۆژ',
              M: 'یه‌ك مانگ',
              MM: '%d مانگ',
              y: 'یه‌ك ساڵ',
              yy: '%d ساڵ',
          },
          preparse: function (string) {
              return string
                  .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
                      return numberMap[match];
                  })
                  .replace(/،/g, ',');
          },
          postformat: function (string) {
              return string
                  .replace(/\d/g, function (match) {
                      return symbolMap[match];
                  })
                  .replace(/,/g, '،');
          },
          week: {
              dow: 6, // Saturday is the first day of the week.
              doy: 12, // The week that contains Jan 12th is the first week of the year.
          },
      });
  
      return ku;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ky.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ky.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Kyrgyz [ky]
  //! author : Chyngyz Arystan uulu : https://github.com/chyngyz
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var suffixes = {
          0: '-чү',
          1: '-чи',
          2: '-чи',
          3: '-чү',
          4: '-чү',
          5: '-чи',
          6: '-чы',
          7: '-чи',
          8: '-чи',
          9: '-чу',
          10: '-чу',
          20: '-чы',
          30: '-чу',
          40: '-чы',
          50: '-чү',
          60: '-чы',
          70: '-чи',
          80: '-чи',
          90: '-чу',
          100: '-чү',
      };
  
      var ky = moment.defineLocale('ky', {
          months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(
              '_'
          ),
          monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(
              '_'
          ),
          weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(
              '_'
          ),
          weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
          weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Бүгүн саат] LT',
              nextDay: '[Эртең саат] LT',
              nextWeek: 'dddd [саат] LT',
              lastDay: '[Кечээ саат] LT',
              lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s ичинде',
              past: '%s мурун',
              s: 'бирнече секунд',
              ss: '%d секунд',
              m: 'бир мүнөт',
              mm: '%d мүнөт',
              h: 'бир саат',
              hh: '%d саат',
              d: 'бир күн',
              dd: '%d күн',
              M: 'бир ай',
              MM: '%d ай',
              y: 'бир жыл',
              yy: '%d жыл',
          },
          dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
          ordinal: function (number) {
              var a = number % 10,
                  b = number >= 100 ? 100 : null;
              return number + (suffixes[number] || suffixes[a] || suffixes[b]);
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return ky;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/lb.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/lb.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Luxembourgish [lb]
  //! author : mweimerskirch : https://github.com/mweimerskirch
  //! author : David Raison : https://github.com/kwisatz
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function processRelativeTime(number, withoutSuffix, key, isFuture) {
          var format = {
              m: ['eng Minutt', 'enger Minutt'],
              h: ['eng Stonn', 'enger Stonn'],
              d: ['een Dag', 'engem Dag'],
              M: ['ee Mount', 'engem Mount'],
              y: ['ee Joer', 'engem Joer'],
          };
          return withoutSuffix ? format[key][0] : format[key][1];
      }
      function processFutureTime(string) {
          var number = string.substr(0, string.indexOf(' '));
          if (eifelerRegelAppliesToNumber(number)) {
              return 'a ' + string;
          }
          return 'an ' + string;
      }
      function processPastTime(string) {
          var number = string.substr(0, string.indexOf(' '));
          if (eifelerRegelAppliesToNumber(number)) {
              return 'viru ' + string;
          }
          return 'virun ' + string;
      }
      /**
       * Returns true if the word before the given number loses the '-n' ending.
       * e.g. 'an 10 Deeg' but 'a 5 Deeg'
       *
       * @param number {integer}
       * @returns {boolean}
       */
      function eifelerRegelAppliesToNumber(number) {
          number = parseInt(number, 10);
          if (isNaN(number)) {
              return false;
          }
          if (number < 0) {
              // Negative Number --> always true
              return true;
          } else if (number < 10) {
              // Only 1 digit
              if (4 <= number && number <= 7) {
                  return true;
              }
              return false;
          } else if (number < 100) {
              // 2 digits
              var lastDigit = number % 10,
                  firstDigit = number / 10;
              if (lastDigit === 0) {
                  return eifelerRegelAppliesToNumber(firstDigit);
              }
              return eifelerRegelAppliesToNumber(lastDigit);
          } else if (number < 10000) {
              // 3 or 4 digits --> recursively check first digit
              while (number >= 10) {
                  number = number / 10;
              }
              return eifelerRegelAppliesToNumber(number);
          } else {
              // Anything larger than 4 digits: recursively check first n-3 digits
              number = number / 1000;
              return eifelerRegelAppliesToNumber(number);
          }
      }
  
      var lb = moment.defineLocale('lb', {
          months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(
              '_'
          ),
          monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(
              '_'
          ),
          weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
          weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'H:mm [Auer]',
              LTS: 'H:mm:ss [Auer]',
              L: 'DD.MM.YYYY',
              LL: 'D. MMMM YYYY',
              LLL: 'D. MMMM YYYY H:mm [Auer]',
              LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',
          },
          calendar: {
              sameDay: '[Haut um] LT',
              sameElse: 'L',
              nextDay: '[Muer um] LT',
              nextWeek: 'dddd [um] LT',
              lastDay: '[Gëschter um] LT',
              lastWeek: function () {
                  // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
                  switch (this.day()) {
                      case 2:
                      case 4:
                          return '[Leschten] dddd [um] LT';
                      default:
                          return '[Leschte] dddd [um] LT';
                  }
              },
          },
          relativeTime: {
              future: processFutureTime,
              past: processPastTime,
              s: 'e puer Sekonnen',
              ss: '%d Sekonnen',
              m: processRelativeTime,
              mm: '%d Minutten',
              h: processRelativeTime,
              hh: '%d Stonnen',
              d: processRelativeTime,
              dd: '%d Deeg',
              M: processRelativeTime,
              MM: '%d Méint',
              y: processRelativeTime,
              yy: '%d Joer',
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return lb;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/lo.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/lo.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Lao [lo]
  //! author : Ryan Hart : https://github.com/ryanhart2
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var lo = moment.defineLocale('lo', {
          months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(
              '_'
          ),
          monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(
              '_'
          ),
          weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
          weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
          weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'ວັນdddd D MMMM YYYY HH:mm',
          },
          meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
          isPM: function (input) {
              return input === 'ຕອນແລງ';
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 12) {
                  return 'ຕອນເຊົ້າ';
              } else {
                  return 'ຕອນແລງ';
              }
          },
          calendar: {
              sameDay: '[ມື້ນີ້ເວລາ] LT',
              nextDay: '[ມື້ອື່ນເວລາ] LT',
              nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',
              lastDay: '[ມື້ວານນີ້ເວລາ] LT',
              lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'ອີກ %s',
              past: '%sຜ່ານມາ',
              s: 'ບໍ່ເທົ່າໃດວິນາທີ',
              ss: '%d ວິນາທີ',
              m: '1 ນາທີ',
              mm: '%d ນາທີ',
              h: '1 ຊົ່ວໂມງ',
              hh: '%d ຊົ່ວໂມງ',
              d: '1 ມື້',
              dd: '%d ມື້',
              M: '1 ເດືອນ',
              MM: '%d ເດືອນ',
              y: '1 ປີ',
              yy: '%d ປີ',
          },
          dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
          ordinal: function (number) {
              return 'ທີ່' + number;
          },
      });
  
      return lo;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/lt.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/lt.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Lithuanian [lt]
  //! author : Mindaugas Mozūras : https://github.com/mmozuras
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var units = {
          ss: 'sekundė_sekundžių_sekundes',
          m: 'minutė_minutės_minutę',
          mm: 'minutės_minučių_minutes',
          h: 'valanda_valandos_valandą',
          hh: 'valandos_valandų_valandas',
          d: 'diena_dienos_dieną',
          dd: 'dienos_dienų_dienas',
          M: 'mėnuo_mėnesio_mėnesį',
          MM: 'mėnesiai_mėnesių_mėnesius',
          y: 'metai_metų_metus',
          yy: 'metai_metų_metus',
      };
      function translateSeconds(number, withoutSuffix, key, isFuture) {
          if (withoutSuffix) {
              return 'kelios sekundės';
          } else {
              return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
          }
      }
      function translateSingular(number, withoutSuffix, key, isFuture) {
          return withoutSuffix
              ? forms(key)[0]
              : isFuture
              ? forms(key)[1]
              : forms(key)[2];
      }
      function special(number) {
          return number % 10 === 0 || (number > 10 && number < 20);
      }
      function forms(key) {
          return units[key].split('_');
      }
      function translate(number, withoutSuffix, key, isFuture) {
          var result = number + ' ';
          if (number === 1) {
              return (
                  result + translateSingular(number, withoutSuffix, key[0], isFuture)
              );
          } else if (withoutSuffix) {
              return result + (special(number) ? forms(key)[1] : forms(key)[0]);
          } else {
              if (isFuture) {
                  return result + forms(key)[1];
              } else {
                  return result + (special(number) ? forms(key)[1] : forms(key)[2]);
              }
          }
      }
      var lt = moment.defineLocale('lt', {
          months: {
              format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(
                  '_'
              ),
              standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(
                  '_'
              ),
              isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/,
          },
          monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
          weekdays: {
              format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(
                  '_'
              ),
              standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(
                  '_'
              ),
              isFormat: /dddd HH:mm/,
          },
          weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
          weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'YYYY-MM-DD',
              LL: 'YYYY [m.] MMMM D [d.]',
              LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
              LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
              l: 'YYYY-MM-DD',
              ll: 'YYYY [m.] MMMM D [d.]',
              lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
              llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',
          },
          calendar: {
              sameDay: '[Šiandien] LT',
              nextDay: '[Rytoj] LT',
              nextWeek: 'dddd LT',
              lastDay: '[Vakar] LT',
              lastWeek: '[Praėjusį] dddd LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'po %s',
              past: 'prieš %s',
              s: translateSeconds,
              ss: translate,
              m: translateSingular,
              mm: translate,
              h: translateSingular,
              hh: translate,
              d: translateSingular,
              dd: translate,
              M: translateSingular,
              MM: translate,
              y: translateSingular,
              yy: translate,
          },
          dayOfMonthOrdinalParse: /\d{1,2}-oji/,
          ordinal: function (number) {
              return number + '-oji';
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return lt;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/lv.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/lv.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Latvian [lv]
  //! author : Kristaps Karlsons : https://github.com/skakri
  //! author : Jānis Elmeris : https://github.com/JanisE
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var units = {
          ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),
          m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),
          mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),
          h: 'stundas_stundām_stunda_stundas'.split('_'),
          hh: 'stundas_stundām_stunda_stundas'.split('_'),
          d: 'dienas_dienām_diena_dienas'.split('_'),
          dd: 'dienas_dienām_diena_dienas'.split('_'),
          M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
          MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
          y: 'gada_gadiem_gads_gadi'.split('_'),
          yy: 'gada_gadiem_gads_gadi'.split('_'),
      };
      /**
       * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
       */
      function format(forms, number, withoutSuffix) {
          if (withoutSuffix) {
              // E.g. "21 minūte", "3 minūtes".
              return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];
          } else {
              // E.g. "21 minūtes" as in "pēc 21 minūtes".
              // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
              return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];
          }
      }
      function relativeTimeWithPlural(number, withoutSuffix, key) {
          return number + ' ' + format(units[key], number, withoutSuffix);
      }
      function relativeTimeWithSingular(number, withoutSuffix, key) {
          return format(units[key], number, withoutSuffix);
      }
      function relativeSeconds(number, withoutSuffix) {
          return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
      }
  
      var lv = moment.defineLocale('lv', {
          months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(
              '_'
          ),
          monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
          weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(
              '_'
          ),
          weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),
          weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY.',
              LL: 'YYYY. [gada] D. MMMM',
              LLL: 'YYYY. [gada] D. MMMM, HH:mm',
              LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',
          },
          calendar: {
              sameDay: '[Šodien pulksten] LT',
              nextDay: '[Rīt pulksten] LT',
              nextWeek: 'dddd [pulksten] LT',
              lastDay: '[Vakar pulksten] LT',
              lastWeek: '[Pagājušā] dddd [pulksten] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'pēc %s',
              past: 'pirms %s',
              s: relativeSeconds,
              ss: relativeTimeWithPlural,
              m: relativeTimeWithSingular,
              mm: relativeTimeWithPlural,
              h: relativeTimeWithSingular,
              hh: relativeTimeWithPlural,
              d: relativeTimeWithSingular,
              dd: relativeTimeWithPlural,
              M: relativeTimeWithSingular,
              MM: relativeTimeWithPlural,
              y: relativeTimeWithSingular,
              yy: relativeTimeWithPlural,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return lv;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/me.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/me.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Montenegrin [me]
  //! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var translator = {
          words: {
              //Different grammatical cases
              ss: ['sekund', 'sekunda', 'sekundi'],
              m: ['jedan minut', 'jednog minuta'],
              mm: ['minut', 'minuta', 'minuta'],
              h: ['jedan sat', 'jednog sata'],
              hh: ['sat', 'sata', 'sati'],
              dd: ['dan', 'dana', 'dana'],
              MM: ['mjesec', 'mjeseca', 'mjeseci'],
              yy: ['godina', 'godine', 'godina'],
          },
          correctGrammaticalCase: function (number, wordKey) {
              return number === 1
                  ? wordKey[0]
                  : number >= 2 && number <= 4
                  ? wordKey[1]
                  : wordKey[2];
          },
          translate: function (number, withoutSuffix, key) {
              var wordKey = translator.words[key];
              if (key.length === 1) {
                  return withoutSuffix ? wordKey[0] : wordKey[1];
              } else {
                  return (
                      number +
                      ' ' +
                      translator.correctGrammaticalCase(number, wordKey)
                  );
              }
          },
      };
  
      var me = moment.defineLocale('me', {
          months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(
              '_'
          ),
          monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
              '_'
          ),
          weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
          weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D. MMMM YYYY',
              LLL: 'D. MMMM YYYY H:mm',
              LLLL: 'dddd, D. MMMM YYYY H:mm',
          },
          calendar: {
              sameDay: '[danas u] LT',
              nextDay: '[sjutra u] LT',
  
              nextWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[u] [nedjelju] [u] LT';
                      case 3:
                          return '[u] [srijedu] [u] LT';
                      case 6:
                          return '[u] [subotu] [u] LT';
                      case 1:
                      case 2:
                      case 4:
                      case 5:
                          return '[u] dddd [u] LT';
                  }
              },
              lastDay: '[juče u] LT',
              lastWeek: function () {
                  var lastWeekDays = [
                      '[prošle] [nedjelje] [u] LT',
                      '[prošlog] [ponedjeljka] [u] LT',
                      '[prošlog] [utorka] [u] LT',
                      '[prošle] [srijede] [u] LT',
                      '[prošlog] [četvrtka] [u] LT',
                      '[prošlog] [petka] [u] LT',
                      '[prošle] [subote] [u] LT',
                  ];
                  return lastWeekDays[this.day()];
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'za %s',
              past: 'prije %s',
              s: 'nekoliko sekundi',
              ss: translator.translate,
              m: translator.translate,
              mm: translator.translate,
              h: translator.translate,
              hh: translator.translate,
              d: 'dan',
              dd: translator.translate,
              M: 'mjesec',
              MM: translator.translate,
              y: 'godinu',
              yy: translator.translate,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return me;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/mi.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/mi.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Maori [mi]
  //! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var mi = moment.defineLocale('mi', {
          months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(
              '_'
          ),
          monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(
              '_'
          ),
          monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
          monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
          monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
          monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
          weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
          weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
          weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY [i] HH:mm',
              LLLL: 'dddd, D MMMM YYYY [i] HH:mm',
          },
          calendar: {
              sameDay: '[i teie mahana, i] LT',
              nextDay: '[apopo i] LT',
              nextWeek: 'dddd [i] LT',
              lastDay: '[inanahi i] LT',
              lastWeek: 'dddd [whakamutunga i] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'i roto i %s',
              past: '%s i mua',
              s: 'te hēkona ruarua',
              ss: '%d hēkona',
              m: 'he meneti',
              mm: '%d meneti',
              h: 'te haora',
              hh: '%d haora',
              d: 'he ra',
              dd: '%d ra',
              M: 'he marama',
              MM: '%d marama',
              y: 'he tau',
              yy: '%d tau',
          },
          dayOfMonthOrdinalParse: /\d{1,2}º/,
          ordinal: '%dº',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return mi;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/mk.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/mk.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Macedonian [mk]
  //! author : Borislav Mickov : https://github.com/B0k0
  //! author : Sashko Todorov : https://github.com/bkyceh
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var mk = moment.defineLocale('mk', {
          months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(
              '_'
          ),
          monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
          weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(
              '_'
          ),
          weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
          weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'D.MM.YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY H:mm',
              LLLL: 'dddd, D MMMM YYYY H:mm',
          },
          calendar: {
              sameDay: '[Денес во] LT',
              nextDay: '[Утре во] LT',
              nextWeek: '[Во] dddd [во] LT',
              lastDay: '[Вчера во] LT',
              lastWeek: function () {
                  switch (this.day()) {
                      case 0:
                      case 3:
                      case 6:
                          return '[Изминатата] dddd [во] LT';
                      case 1:
                      case 2:
                      case 4:
                      case 5:
                          return '[Изминатиот] dddd [во] LT';
                  }
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'за %s',
              past: 'пред %s',
              s: 'неколку секунди',
              ss: '%d секунди',
              m: 'една минута',
              mm: '%d минути',
              h: 'еден час',
              hh: '%d часа',
              d: 'еден ден',
              dd: '%d дена',
              M: 'еден месец',
              MM: '%d месеци',
              y: 'една година',
              yy: '%d години',
          },
          dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
          ordinal: function (number) {
              var lastDigit = number % 10,
                  last2Digits = number % 100;
              if (number === 0) {
                  return number + '-ев';
              } else if (last2Digits === 0) {
                  return number + '-ен';
              } else if (last2Digits > 10 && last2Digits < 20) {
                  return number + '-ти';
              } else if (lastDigit === 1) {
                  return number + '-ви';
              } else if (lastDigit === 2) {
                  return number + '-ри';
              } else if (lastDigit === 7 || lastDigit === 8) {
                  return number + '-ми';
              } else {
                  return number + '-ти';
              }
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return mk;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ml.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ml.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Malayalam [ml]
  //! author : Floyd Pink : https://github.com/floydpink
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var ml = moment.defineLocale('ml', {
          months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(
              '_'
          ),
          monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(
              '_'
          ),
          weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
          weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
          longDateFormat: {
              LT: 'A h:mm -നു',
              LTS: 'A h:mm:ss -നു',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY, A h:mm -നു',
              LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',
          },
          calendar: {
              sameDay: '[ഇന്ന്] LT',
              nextDay: '[നാളെ] LT',
              nextWeek: 'dddd, LT',
              lastDay: '[ഇന്നലെ] LT',
              lastWeek: '[കഴിഞ്ഞ] dddd, LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s കഴിഞ്ഞ്',
              past: '%s മുൻപ്',
              s: 'അൽപ നിമിഷങ്ങൾ',
              ss: '%d സെക്കൻഡ്',
              m: 'ഒരു മിനിറ്റ്',
              mm: '%d മിനിറ്റ്',
              h: 'ഒരു മണിക്കൂർ',
              hh: '%d മണിക്കൂർ',
              d: 'ഒരു ദിവസം',
              dd: '%d ദിവസം',
              M: 'ഒരു മാസം',
              MM: '%d മാസം',
              y: 'ഒരു വർഷം',
              yy: '%d വർഷം',
          },
          meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (
                  (meridiem === 'രാത്രി' && hour >= 4) ||
                  meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
                  meridiem === 'വൈകുന്നേരം'
              ) {
                  return hour + 12;
              } else {
                  return hour;
              }
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'രാത്രി';
              } else if (hour < 12) {
                  return 'രാവിലെ';
              } else if (hour < 17) {
                  return 'ഉച്ച കഴിഞ്ഞ്';
              } else if (hour < 20) {
                  return 'വൈകുന്നേരം';
              } else {
                  return 'രാത്രി';
              }
          },
      });
  
      return ml;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/mn.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/mn.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Mongolian [mn]
  //! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function translate(number, withoutSuffix, key, isFuture) {
          switch (key) {
              case 's':
                  return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';
              case 'ss':
                  return number + (withoutSuffix ? ' секунд' : ' секундын');
              case 'm':
              case 'mm':
                  return number + (withoutSuffix ? ' минут' : ' минутын');
              case 'h':
              case 'hh':
                  return number + (withoutSuffix ? ' цаг' : ' цагийн');
              case 'd':
              case 'dd':
                  return number + (withoutSuffix ? ' өдөр' : ' өдрийн');
              case 'M':
              case 'MM':
                  return number + (withoutSuffix ? ' сар' : ' сарын');
              case 'y':
              case 'yy':
                  return number + (withoutSuffix ? ' жил' : ' жилийн');
              default:
                  return number;
          }
      }
  
      var mn = moment.defineLocale('mn', {
          months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(
              '_'
          ),
          monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),
          weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),
          weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'YYYY-MM-DD',
              LL: 'YYYY оны MMMMын D',
              LLL: 'YYYY оны MMMMын D HH:mm',
              LLLL: 'dddd, YYYY оны MMMMын D HH:mm',
          },
          meridiemParse: /ҮӨ|ҮХ/i,
          isPM: function (input) {
              return input === 'ҮХ';
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 12) {
                  return 'ҮӨ';
              } else {
                  return 'ҮХ';
              }
          },
          calendar: {
              sameDay: '[Өнөөдөр] LT',
              nextDay: '[Маргааш] LT',
              nextWeek: '[Ирэх] dddd LT',
              lastDay: '[Өчигдөр] LT',
              lastWeek: '[Өнгөрсөн] dddd LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s дараа',
              past: '%s өмнө',
              s: translate,
              ss: translate,
              m: translate,
              mm: translate,
              h: translate,
              hh: translate,
              d: translate,
              dd: translate,
              M: translate,
              MM: translate,
              y: translate,
              yy: translate,
          },
          dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
          ordinal: function (number, period) {
              switch (period) {
                  case 'd':
                  case 'D':
                  case 'DDD':
                      return number + ' өдөр';
                  default:
                      return number;
              }
          },
      });
  
      return mn;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/mr.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/mr.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Marathi [mr]
  //! author : Harshad Kale : https://github.com/kalehv
  //! author : Vivek Athalye : https://github.com/vnathalye
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '१',
              2: '२',
              3: '३',
              4: '४',
              5: '५',
              6: '६',
              7: '७',
              8: '८',
              9: '९',
              0: '०',
          },
          numberMap = {
              '१': '1',
              '२': '2',
              '३': '3',
              '४': '4',
              '५': '5',
              '६': '6',
              '७': '7',
              '८': '8',
              '९': '9',
              '०': '0',
          };
  
      function relativeTimeMr(number, withoutSuffix, string, isFuture) {
          var output = '';
          if (withoutSuffix) {
              switch (string) {
                  case 's':
                      output = 'काही सेकंद';
                      break;
                  case 'ss':
                      output = '%d सेकंद';
                      break;
                  case 'm':
                      output = 'एक मिनिट';
                      break;
                  case 'mm':
                      output = '%d मिनिटे';
                      break;
                  case 'h':
                      output = 'एक तास';
                      break;
                  case 'hh':
                      output = '%d तास';
                      break;
                  case 'd':
                      output = 'एक दिवस';
                      break;
                  case 'dd':
                      output = '%d दिवस';
                      break;
                  case 'M':
                      output = 'एक महिना';
                      break;
                  case 'MM':
                      output = '%d महिने';
                      break;
                  case 'y':
                      output = 'एक वर्ष';
                      break;
                  case 'yy':
                      output = '%d वर्षे';
                      break;
              }
          } else {
              switch (string) {
                  case 's':
                      output = 'काही सेकंदां';
                      break;
                  case 'ss':
                      output = '%d सेकंदां';
                      break;
                  case 'm':
                      output = 'एका मिनिटा';
                      break;
                  case 'mm':
                      output = '%d मिनिटां';
                      break;
                  case 'h':
                      output = 'एका तासा';
                      break;
                  case 'hh':
                      output = '%d तासां';
                      break;
                  case 'd':
                      output = 'एका दिवसा';
                      break;
                  case 'dd':
                      output = '%d दिवसां';
                      break;
                  case 'M':
                      output = 'एका महिन्या';
                      break;
                  case 'MM':
                      output = '%d महिन्यां';
                      break;
                  case 'y':
                      output = 'एका वर्षा';
                      break;
                  case 'yy':
                      output = '%d वर्षां';
                      break;
              }
          }
          return output.replace(/%d/i, number);
      }
  
      var mr = moment.defineLocale('mr', {
          months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(
              '_'
          ),
          monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
          weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
          weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
          longDateFormat: {
              LT: 'A h:mm वाजता',
              LTS: 'A h:mm:ss वाजता',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY, A h:mm वाजता',
              LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',
          },
          calendar: {
              sameDay: '[आज] LT',
              nextDay: '[उद्या] LT',
              nextWeek: 'dddd, LT',
              lastDay: '[काल] LT',
              lastWeek: '[मागील] dddd, LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%sमध्ये',
              past: '%sपूर्वी',
              s: relativeTimeMr,
              ss: relativeTimeMr,
              m: relativeTimeMr,
              mm: relativeTimeMr,
              h: relativeTimeMr,
              hh: relativeTimeMr,
              d: relativeTimeMr,
              dd: relativeTimeMr,
              M: relativeTimeMr,
              MM: relativeTimeMr,
              y: relativeTimeMr,
              yy: relativeTimeMr,
          },
          preparse: function (string) {
              return string.replace(/[१२३४५६७८९०]/g, function (match) {
                  return numberMap[match];
              });
          },
          postformat: function (string) {
              return string.replace(/\d/g, function (match) {
                  return symbolMap[match];
              });
          },
          meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {
                  return hour;
              } else if (
                  meridiem === 'दुपारी' ||
                  meridiem === 'सायंकाळी' ||
                  meridiem === 'रात्री'
              ) {
                  return hour >= 12 ? hour : hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              if (hour >= 0 && hour < 6) {
                  return 'पहाटे';
              } else if (hour < 12) {
                  return 'सकाळी';
              } else if (hour < 17) {
                  return 'दुपारी';
              } else if (hour < 20) {
                  return 'सायंकाळी';
              } else {
                  return 'रात्री';
              }
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 6th is the first week of the year.
          },
      });
  
      return mr;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ms-my.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/ms-my.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Malay [ms-my]
  //! note : DEPRECATED, the correct one is [ms]
  //! author : Weldan Jamili : https://github.com/weldan
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var msMy = moment.defineLocale('ms-my', {
          months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(
              '_'
          ),
          monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
          weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
          weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
          weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
          longDateFormat: {
              LT: 'HH.mm',
              LTS: 'HH.mm.ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY [pukul] HH.mm',
              LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',
          },
          meridiemParse: /pagi|tengahari|petang|malam/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'pagi') {
                  return hour;
              } else if (meridiem === 'tengahari') {
                  return hour >= 11 ? hour : hour + 12;
              } else if (meridiem === 'petang' || meridiem === 'malam') {
                  return hour + 12;
              }
          },
          meridiem: function (hours, minutes, isLower) {
              if (hours < 11) {
                  return 'pagi';
              } else if (hours < 15) {
                  return 'tengahari';
              } else if (hours < 19) {
                  return 'petang';
              } else {
                  return 'malam';
              }
          },
          calendar: {
              sameDay: '[Hari ini pukul] LT',
              nextDay: '[Esok pukul] LT',
              nextWeek: 'dddd [pukul] LT',
              lastDay: '[Kelmarin pukul] LT',
              lastWeek: 'dddd [lepas pukul] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'dalam %s',
              past: '%s yang lepas',
              s: 'beberapa saat',
              ss: '%d saat',
              m: 'seminit',
              mm: '%d minit',
              h: 'sejam',
              hh: '%d jam',
              d: 'sehari',
              dd: '%d hari',
              M: 'sebulan',
              MM: '%d bulan',
              y: 'setahun',
              yy: '%d tahun',
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return msMy;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ms.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ms.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Malay [ms]
  //! author : Weldan Jamili : https://github.com/weldan
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var ms = moment.defineLocale('ms', {
          months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(
              '_'
          ),
          monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
          weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
          weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
          weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
          longDateFormat: {
              LT: 'HH.mm',
              LTS: 'HH.mm.ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY [pukul] HH.mm',
              LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',
          },
          meridiemParse: /pagi|tengahari|petang|malam/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'pagi') {
                  return hour;
              } else if (meridiem === 'tengahari') {
                  return hour >= 11 ? hour : hour + 12;
              } else if (meridiem === 'petang' || meridiem === 'malam') {
                  return hour + 12;
              }
          },
          meridiem: function (hours, minutes, isLower) {
              if (hours < 11) {
                  return 'pagi';
              } else if (hours < 15) {
                  return 'tengahari';
              } else if (hours < 19) {
                  return 'petang';
              } else {
                  return 'malam';
              }
          },
          calendar: {
              sameDay: '[Hari ini pukul] LT',
              nextDay: '[Esok pukul] LT',
              nextWeek: 'dddd [pukul] LT',
              lastDay: '[Kelmarin pukul] LT',
              lastWeek: 'dddd [lepas pukul] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'dalam %s',
              past: '%s yang lepas',
              s: 'beberapa saat',
              ss: '%d saat',
              m: 'seminit',
              mm: '%d minit',
              h: 'sejam',
              hh: '%d jam',
              d: 'sehari',
              dd: '%d hari',
              M: 'sebulan',
              MM: '%d bulan',
              y: 'setahun',
              yy: '%d tahun',
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return ms;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/mt.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/mt.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Maltese (Malta) [mt]
  //! author : Alessandro Maruccia : https://github.com/alesma
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var mt = moment.defineLocale('mt', {
          months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(
              '_'
          ),
          monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),
          weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(
              '_'
          ),
          weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),
          weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Illum fil-]LT',
              nextDay: '[Għada fil-]LT',
              nextWeek: 'dddd [fil-]LT',
              lastDay: '[Il-bieraħ fil-]LT',
              lastWeek: 'dddd [li għadda] [fil-]LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'f’ %s',
              past: '%s ilu',
              s: 'ftit sekondi',
              ss: '%d sekondi',
              m: 'minuta',
              mm: '%d minuti',
              h: 'siegħa',
              hh: '%d siegħat',
              d: 'ġurnata',
              dd: '%d ġranet',
              M: 'xahar',
              MM: '%d xhur',
              y: 'sena',
              yy: '%d sni',
          },
          dayOfMonthOrdinalParse: /\d{1,2}º/,
          ordinal: '%dº',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return mt;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/my.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/my.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Burmese [my]
  //! author : Squar team, mysquar.com
  //! author : David Rossellat : https://github.com/gholadr
  //! author : Tin Aung Lin : https://github.com/thanyawzinmin
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '၁',
              2: '၂',
              3: '၃',
              4: '၄',
              5: '၅',
              6: '၆',
              7: '၇',
              8: '၈',
              9: '၉',
              0: '၀',
          },
          numberMap = {
              '၁': '1',
              '၂': '2',
              '၃': '3',
              '၄': '4',
              '၅': '5',
              '၆': '6',
              '၇': '7',
              '၈': '8',
              '၉': '9',
              '၀': '0',
          };
  
      var my = moment.defineLocale('my', {
          months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(
              '_'
          ),
          monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
          weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(
              '_'
          ),
          weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
          weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
  
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[ယနေ.] LT [မှာ]',
              nextDay: '[မနက်ဖြန်] LT [မှာ]',
              nextWeek: 'dddd LT [မှာ]',
              lastDay: '[မနေ.က] LT [မှာ]',
              lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'လာမည့် %s မှာ',
              past: 'လွန်ခဲ့သော %s က',
              s: 'စက္ကန်.အနည်းငယ်',
              ss: '%d စက္ကန့်',
              m: 'တစ်မိနစ်',
              mm: '%d မိနစ်',
              h: 'တစ်နာရီ',
              hh: '%d နာရီ',
              d: 'တစ်ရက်',
              dd: '%d ရက်',
              M: 'တစ်လ',
              MM: '%d လ',
              y: 'တစ်နှစ်',
              yy: '%d နှစ်',
          },
          preparse: function (string) {
              return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
                  return numberMap[match];
              });
          },
          postformat: function (string) {
              return string.replace(/\d/g, function (match) {
                  return symbolMap[match];
              });
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return my;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/nb.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/nb.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Norwegian Bokmål [nb]
  //! authors : Espen Hovlandsdal : https://github.com/rexxars
  //!           Sigurd Gartmann : https://github.com/sigurdga
  //!           Stephen Ramthun : https://github.com/stephenramthun
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var nb = moment.defineLocale('nb', {
          months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(
              '_'
          ),
          monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
          weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),
          weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D. MMMM YYYY',
              LLL: 'D. MMMM YYYY [kl.] HH:mm',
              LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',
          },
          calendar: {
              sameDay: '[i dag kl.] LT',
              nextDay: '[i morgen kl.] LT',
              nextWeek: 'dddd [kl.] LT',
              lastDay: '[i går kl.] LT',
              lastWeek: '[forrige] dddd [kl.] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'om %s',
              past: '%s siden',
              s: 'noen sekunder',
              ss: '%d sekunder',
              m: 'ett minutt',
              mm: '%d minutter',
              h: 'en time',
              hh: '%d timer',
              d: 'en dag',
              dd: '%d dager',
              w: 'en uke',
              ww: '%d uker',
              M: 'en måned',
              MM: '%d måneder',
              y: 'ett år',
              yy: '%d år',
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return nb;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ne.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ne.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Nepalese [ne]
  //! author : suvash : https://github.com/suvash
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '१',
              2: '२',
              3: '३',
              4: '४',
              5: '५',
              6: '६',
              7: '७',
              8: '८',
              9: '९',
              0: '०',
          },
          numberMap = {
              '१': '1',
              '२': '2',
              '३': '3',
              '४': '4',
              '५': '5',
              '६': '6',
              '७': '7',
              '८': '8',
              '९': '9',
              '०': '0',
          };
  
      var ne = moment.defineLocale('ne', {
          months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(
              '_'
          ),
          monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(
              '_'
          ),
          weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
          weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'Aको h:mm बजे',
              LTS: 'Aको h:mm:ss बजे',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY, Aको h:mm बजे',
              LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',
          },
          preparse: function (string) {
              return string.replace(/[१२३४५६७८९०]/g, function (match) {
                  return numberMap[match];
              });
          },
          postformat: function (string) {
              return string.replace(/\d/g, function (match) {
                  return symbolMap[match];
              });
          },
          meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'राति') {
                  return hour < 4 ? hour : hour + 12;
              } else if (meridiem === 'बिहान') {
                  return hour;
              } else if (meridiem === 'दिउँसो') {
                  return hour >= 10 ? hour : hour + 12;
              } else if (meridiem === 'साँझ') {
                  return hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 3) {
                  return 'राति';
              } else if (hour < 12) {
                  return 'बिहान';
              } else if (hour < 16) {
                  return 'दिउँसो';
              } else if (hour < 20) {
                  return 'साँझ';
              } else {
                  return 'राति';
              }
          },
          calendar: {
              sameDay: '[आज] LT',
              nextDay: '[भोलि] LT',
              nextWeek: '[आउँदो] dddd[,] LT',
              lastDay: '[हिजो] LT',
              lastWeek: '[गएको] dddd[,] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%sमा',
              past: '%s अगाडि',
              s: 'केही क्षण',
              ss: '%d सेकेण्ड',
              m: 'एक मिनेट',
              mm: '%d मिनेट',
              h: 'एक घण्टा',
              hh: '%d घण्टा',
              d: 'एक दिन',
              dd: '%d दिन',
              M: 'एक महिना',
              MM: '%d महिना',
              y: 'एक बर्ष',
              yy: '%d बर्ष',
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 6th is the first week of the year.
          },
      });
  
      return ne;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/nl-be.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/nl-be.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Dutch (Belgium) [nl-be]
  //! author : Joris Röling : https://github.com/jorisroling
  //! author : Jacob Middag : https://github.com/middagj
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(
              '_'
          ),
          monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(
              '_'
          ),
          monthsParse = [
              /^jan/i,
              /^feb/i,
              /^maart|mrt.?$/i,
              /^apr/i,
              /^mei$/i,
              /^jun[i.]?$/i,
              /^jul[i.]?$/i,
              /^aug/i,
              /^sep/i,
              /^okt/i,
              /^nov/i,
              /^dec/i,
          ],
          monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
  
      var nlBe = moment.defineLocale('nl-be', {
          months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(
              '_'
          ),
          monthsShort: function (m, format) {
              if (!m) {
                  return monthsShortWithDots;
              } else if (/-MMM-/.test(format)) {
                  return monthsShortWithoutDots[m.month()];
              } else {
                  return monthsShortWithDots[m.month()];
              }
          },
  
          monthsRegex: monthsRegex,
          monthsShortRegex: monthsRegex,
          monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
          monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
  
          monthsParse: monthsParse,
          longMonthsParse: monthsParse,
          shortMonthsParse: monthsParse,
  
          weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(
              '_'
          ),
          weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
          weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[vandaag om] LT',
              nextDay: '[morgen om] LT',
              nextWeek: 'dddd [om] LT',
              lastDay: '[gisteren om] LT',
              lastWeek: '[afgelopen] dddd [om] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'over %s',
              past: '%s geleden',
              s: 'een paar seconden',
              ss: '%d seconden',
              m: 'één minuut',
              mm: '%d minuten',
              h: 'één uur',
              hh: '%d uur',
              d: 'één dag',
              dd: '%d dagen',
              M: 'één maand',
              MM: '%d maanden',
              y: 'één jaar',
              yy: '%d jaar',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
          ordinal: function (number) {
              return (
                  number +
                  (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')
              );
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return nlBe;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/nl.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/nl.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Dutch [nl]
  //! author : Joris Röling : https://github.com/jorisroling
  //! author : Jacob Middag : https://github.com/middagj
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(
              '_'
          ),
          monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(
              '_'
          ),
          monthsParse = [
              /^jan/i,
              /^feb/i,
              /^maart|mrt.?$/i,
              /^apr/i,
              /^mei$/i,
              /^jun[i.]?$/i,
              /^jul[i.]?$/i,
              /^aug/i,
              /^sep/i,
              /^okt/i,
              /^nov/i,
              /^dec/i,
          ],
          monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
  
      var nl = moment.defineLocale('nl', {
          months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(
              '_'
          ),
          monthsShort: function (m, format) {
              if (!m) {
                  return monthsShortWithDots;
              } else if (/-MMM-/.test(format)) {
                  return monthsShortWithoutDots[m.month()];
              } else {
                  return monthsShortWithDots[m.month()];
              }
          },
  
          monthsRegex: monthsRegex,
          monthsShortRegex: monthsRegex,
          monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
          monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
  
          monthsParse: monthsParse,
          longMonthsParse: monthsParse,
          shortMonthsParse: monthsParse,
  
          weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(
              '_'
          ),
          weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
          weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD-MM-YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[vandaag om] LT',
              nextDay: '[morgen om] LT',
              nextWeek: 'dddd [om] LT',
              lastDay: '[gisteren om] LT',
              lastWeek: '[afgelopen] dddd [om] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'over %s',
              past: '%s geleden',
              s: 'een paar seconden',
              ss: '%d seconden',
              m: 'één minuut',
              mm: '%d minuten',
              h: 'één uur',
              hh: '%d uur',
              d: 'één dag',
              dd: '%d dagen',
              w: 'één week',
              ww: '%d weken',
              M: 'één maand',
              MM: '%d maanden',
              y: 'één jaar',
              yy: '%d jaar',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
          ordinal: function (number) {
              return (
                  number +
                  (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')
              );
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return nl;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/nn.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/nn.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Nynorsk [nn]
  //! authors : https://github.com/mechuwind
  //!           Stephen Ramthun : https://github.com/stephenramthun
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var nn = moment.defineLocale('nn', {
          months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(
              '_'
          ),
          monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
          weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),
          weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D. MMMM YYYY',
              LLL: 'D. MMMM YYYY [kl.] H:mm',
              LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',
          },
          calendar: {
              sameDay: '[I dag klokka] LT',
              nextDay: '[I morgon klokka] LT',
              nextWeek: 'dddd [klokka] LT',
              lastDay: '[I går klokka] LT',
              lastWeek: '[Føregåande] dddd [klokka] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'om %s',
              past: '%s sidan',
              s: 'nokre sekund',
              ss: '%d sekund',
              m: 'eit minutt',
              mm: '%d minutt',
              h: 'ein time',
              hh: '%d timar',
              d: 'ein dag',
              dd: '%d dagar',
              w: 'ei veke',
              ww: '%d veker',
              M: 'ein månad',
              MM: '%d månader',
              y: 'eit år',
              yy: '%d år',
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return nn;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/oc-lnc.js":
  /*!**********************************************!*\
    !*** ./node_modules/moment/locale/oc-lnc.js ***!
    \**********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Occitan, lengadocian dialecte [oc-lnc]
  //! author : Quentin PAGÈS : https://github.com/Quenty31
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var ocLnc = moment.defineLocale('oc-lnc', {
          months: {
              standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(
                  '_'
              ),
              format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split(
                  '_'
              ),
              isFormat: /D[oD]?(\s)+MMMM/,
          },
          monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(
              '_'
          ),
          weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),
          weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM [de] YYYY',
              ll: 'D MMM YYYY',
              LLL: 'D MMMM [de] YYYY [a] H:mm',
              lll: 'D MMM YYYY, H:mm',
              LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',
              llll: 'ddd D MMM YYYY, H:mm',
          },
          calendar: {
              sameDay: '[uèi a] LT',
              nextDay: '[deman a] LT',
              nextWeek: 'dddd [a] LT',
              lastDay: '[ièr a] LT',
              lastWeek: 'dddd [passat a] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: "d'aquí %s",
              past: 'fa %s',
              s: 'unas segondas',
              ss: '%d segondas',
              m: 'una minuta',
              mm: '%d minutas',
              h: 'una ora',
              hh: '%d oras',
              d: 'un jorn',
              dd: '%d jorns',
              M: 'un mes',
              MM: '%d meses',
              y: 'un an',
              yy: '%d ans',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
          ordinal: function (number, period) {
              var output =
                  number === 1
                      ? 'r'
                      : number === 2
                      ? 'n'
                      : number === 3
                      ? 'r'
                      : number === 4
                      ? 't'
                      : 'è';
              if (period === 'w' || period === 'W') {
                  output = 'a';
              }
              return number + output;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4,
          },
      });
  
      return ocLnc;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/pa-in.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/pa-in.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Punjabi (India) [pa-in]
  //! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '੧',
              2: '੨',
              3: '੩',
              4: '੪',
              5: '੫',
              6: '੬',
              7: '੭',
              8: '੮',
              9: '੯',
              0: '੦',
          },
          numberMap = {
              '੧': '1',
              '੨': '2',
              '੩': '3',
              '੪': '4',
              '੫': '5',
              '੬': '6',
              '੭': '7',
              '੮': '8',
              '੯': '9',
              '੦': '0',
          };
  
      var paIn = moment.defineLocale('pa-in', {
          // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.
          months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(
              '_'
          ),
          monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(
              '_'
          ),
          weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(
              '_'
          ),
          weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
          weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
          longDateFormat: {
              LT: 'A h:mm ਵਜੇ',
              LTS: 'A h:mm:ss ਵਜੇ',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',
              LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',
          },
          calendar: {
              sameDay: '[ਅਜ] LT',
              nextDay: '[ਕਲ] LT',
              nextWeek: '[ਅਗਲਾ] dddd, LT',
              lastDay: '[ਕਲ] LT',
              lastWeek: '[ਪਿਛਲੇ] dddd, LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s ਵਿੱਚ',
              past: '%s ਪਿਛਲੇ',
              s: 'ਕੁਝ ਸਕਿੰਟ',
              ss: '%d ਸਕਿੰਟ',
              m: 'ਇਕ ਮਿੰਟ',
              mm: '%d ਮਿੰਟ',
              h: 'ਇੱਕ ਘੰਟਾ',
              hh: '%d ਘੰਟੇ',
              d: 'ਇੱਕ ਦਿਨ',
              dd: '%d ਦਿਨ',
              M: 'ਇੱਕ ਮਹੀਨਾ',
              MM: '%d ਮਹੀਨੇ',
              y: 'ਇੱਕ ਸਾਲ',
              yy: '%d ਸਾਲ',
          },
          preparse: function (string) {
              return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
                  return numberMap[match];
              });
          },
          postformat: function (string) {
              return string.replace(/\d/g, function (match) {
                  return symbolMap[match];
              });
          },
          // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
          // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
          meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'ਰਾਤ') {
                  return hour < 4 ? hour : hour + 12;
              } else if (meridiem === 'ਸਵੇਰ') {
                  return hour;
              } else if (meridiem === 'ਦੁਪਹਿਰ') {
                  return hour >= 10 ? hour : hour + 12;
              } else if (meridiem === 'ਸ਼ਾਮ') {
                  return hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'ਰਾਤ';
              } else if (hour < 10) {
                  return 'ਸਵੇਰ';
              } else if (hour < 17) {
                  return 'ਦੁਪਹਿਰ';
              } else if (hour < 20) {
                  return 'ਸ਼ਾਮ';
              } else {
                  return 'ਰਾਤ';
              }
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 6th is the first week of the year.
          },
      });
  
      return paIn;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/pl.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/pl.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Polish [pl]
  //! author : Rafal Hirsz : https://github.com/evoL
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(
              '_'
          ),
          monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(
              '_'
          ),
          monthsParse = [
              /^sty/i,
              /^lut/i,
              /^mar/i,
              /^kwi/i,
              /^maj/i,
              /^cze/i,
              /^lip/i,
              /^sie/i,
              /^wrz/i,
              /^paź/i,
              /^lis/i,
              /^gru/i,
          ];
      function plural(n) {
          return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;
      }
      function translate(number, withoutSuffix, key) {
          var result = number + ' ';
          switch (key) {
              case 'ss':
                  return result + (plural(number) ? 'sekundy' : 'sekund');
              case 'm':
                  return withoutSuffix ? 'minuta' : 'minutę';
              case 'mm':
                  return result + (plural(number) ? 'minuty' : 'minut');
              case 'h':
                  return withoutSuffix ? 'godzina' : 'godzinę';
              case 'hh':
                  return result + (plural(number) ? 'godziny' : 'godzin');
              case 'ww':
                  return result + (plural(number) ? 'tygodnie' : 'tygodni');
              case 'MM':
                  return result + (plural(number) ? 'miesiące' : 'miesięcy');
              case 'yy':
                  return result + (plural(number) ? 'lata' : 'lat');
          }
      }
  
      var pl = moment.defineLocale('pl', {
          months: function (momentToFormat, format) {
              if (!momentToFormat) {
                  return monthsNominative;
              } else if (/D MMMM/.test(format)) {
                  return monthsSubjective[momentToFormat.month()];
              } else {
                  return monthsNominative[momentToFormat.month()];
              }
          },
          monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
          monthsParse: monthsParse,
          longMonthsParse: monthsParse,
          shortMonthsParse: monthsParse,
          weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split(
              '_'
          ),
          weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),
          weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Dziś o] LT',
              nextDay: '[Jutro o] LT',
              nextWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[W niedzielę o] LT';
  
                      case 2:
                          return '[We wtorek o] LT';
  
                      case 3:
                          return '[W środę o] LT';
  
                      case 6:
                          return '[W sobotę o] LT';
  
                      default:
                          return '[W] dddd [o] LT';
                  }
              },
              lastDay: '[Wczoraj o] LT',
              lastWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[W zeszłą niedzielę o] LT';
                      case 3:
                          return '[W zeszłą środę o] LT';
                      case 6:
                          return '[W zeszłą sobotę o] LT';
                      default:
                          return '[W zeszły] dddd [o] LT';
                  }
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'za %s',
              past: '%s temu',
              s: 'kilka sekund',
              ss: translate,
              m: translate,
              mm: translate,
              h: translate,
              hh: translate,
              d: '1 dzień',
              dd: '%d dni',
              w: 'tydzień',
              ww: translate,
              M: 'miesiąc',
              MM: translate,
              y: 'rok',
              yy: translate,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return pl;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/pt-br.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/pt-br.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Portuguese (Brazil) [pt-br]
  //! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var ptBr = moment.defineLocale('pt-br', {
          months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(
              '_'
          ),
          monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
          weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(
              '_'
          ),
          weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),
          weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D [de] MMMM [de] YYYY',
              LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',
              LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',
          },
          calendar: {
              sameDay: '[Hoje às] LT',
              nextDay: '[Amanhã às] LT',
              nextWeek: 'dddd [às] LT',
              lastDay: '[Ontem às] LT',
              lastWeek: function () {
                  return this.day() === 0 || this.day() === 6
                      ? '[Último] dddd [às] LT' // Saturday + Sunday
                      : '[Última] dddd [às] LT'; // Monday - Friday
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'em %s',
              past: 'há %s',
              s: 'poucos segundos',
              ss: '%d segundos',
              m: 'um minuto',
              mm: '%d minutos',
              h: 'uma hora',
              hh: '%d horas',
              d: 'um dia',
              dd: '%d dias',
              M: 'um mês',
              MM: '%d meses',
              y: 'um ano',
              yy: '%d anos',
          },
          dayOfMonthOrdinalParse: /\d{1,2}º/,
          ordinal: '%dº',
          invalidDate: 'Data inválida',
      });
  
      return ptBr;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/pt.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/pt.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Portuguese [pt]
  //! author : Jefferson : https://github.com/jalex79
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var pt = moment.defineLocale('pt', {
          months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(
              '_'
          ),
          monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
          weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(
              '_'
          ),
          weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
          weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D [de] MMMM [de] YYYY',
              LLL: 'D [de] MMMM [de] YYYY HH:mm',
              LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Hoje às] LT',
              nextDay: '[Amanhã às] LT',
              nextWeek: 'dddd [às] LT',
              lastDay: '[Ontem às] LT',
              lastWeek: function () {
                  return this.day() === 0 || this.day() === 6
                      ? '[Último] dddd [às] LT' // Saturday + Sunday
                      : '[Última] dddd [às] LT'; // Monday - Friday
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'em %s',
              past: 'há %s',
              s: 'segundos',
              ss: '%d segundos',
              m: 'um minuto',
              mm: '%d minutos',
              h: 'uma hora',
              hh: '%d horas',
              d: 'um dia',
              dd: '%d dias',
              w: 'uma semana',
              ww: '%d semanas',
              M: 'um mês',
              MM: '%d meses',
              y: 'um ano',
              yy: '%d anos',
          },
          dayOfMonthOrdinalParse: /\d{1,2}º/,
          ordinal: '%dº',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return pt;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ro.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ro.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Romanian [ro]
  //! author : Vlad Gurdiga : https://github.com/gurdiga
  //! author : Valentin Agachi : https://github.com/avaly
  //! author : Emanuel Cepoi : https://github.com/cepem
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function relativeTimeWithPlural(number, withoutSuffix, key) {
          var format = {
                  ss: 'secunde',
                  mm: 'minute',
                  hh: 'ore',
                  dd: 'zile',
                  ww: 'săptămâni',
                  MM: 'luni',
                  yy: 'ani',
              },
              separator = ' ';
          if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {
              separator = ' de ';
          }
          return number + separator + format[key];
      }
  
      var ro = moment.defineLocale('ro', {
          months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(
              '_'
          ),
          monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
          weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
          weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY H:mm',
              LLLL: 'dddd, D MMMM YYYY H:mm',
          },
          calendar: {
              sameDay: '[azi la] LT',
              nextDay: '[mâine la] LT',
              nextWeek: 'dddd [la] LT',
              lastDay: '[ieri la] LT',
              lastWeek: '[fosta] dddd [la] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'peste %s',
              past: '%s în urmă',
              s: 'câteva secunde',
              ss: relativeTimeWithPlural,
              m: 'un minut',
              mm: relativeTimeWithPlural,
              h: 'o oră',
              hh: relativeTimeWithPlural,
              d: 'o zi',
              dd: relativeTimeWithPlural,
              w: 'o săptămână',
              ww: relativeTimeWithPlural,
              M: 'o lună',
              MM: relativeTimeWithPlural,
              y: 'un an',
              yy: relativeTimeWithPlural,
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return ro;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ru.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ru.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Russian [ru]
  //! author : Viktorminator : https://github.com/Viktorminator
  //! author : Menelion Elensúle : https://github.com/Oire
  //! author : Коренберг Марк : https://github.com/socketpair
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function plural(word, num) {
          var forms = word.split('_');
          return num % 10 === 1 && num % 100 !== 11
              ? forms[0]
              : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
              ? forms[1]
              : forms[2];
      }
      function relativeTimeWithPlural(number, withoutSuffix, key) {
          var format = {
              ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
              mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
              hh: 'час_часа_часов',
              dd: 'день_дня_дней',
              ww: 'неделя_недели_недель',
              MM: 'месяц_месяца_месяцев',
              yy: 'год_года_лет',
          };
          if (key === 'm') {
              return withoutSuffix ? 'минута' : 'минуту';
          } else {
              return number + ' ' + plural(format[key], +number);
          }
      }
      var monthsParse = [
          /^янв/i,
          /^фев/i,
          /^мар/i,
          /^апр/i,
          /^ма[йя]/i,
          /^июн/i,
          /^июл/i,
          /^авг/i,
          /^сен/i,
          /^окт/i,
          /^ноя/i,
          /^дек/i,
      ];
  
      // http://new.gramota.ru/spravka/rules/139-prop : § 103
      // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
      // CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
      var ru = moment.defineLocale('ru', {
          months: {
              format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(
                  '_'
              ),
              standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(
                  '_'
              ),
          },
          monthsShort: {
              // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку?
              format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(
                  '_'
              ),
              standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(
                  '_'
              ),
          },
          weekdays: {
              standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(
                  '_'
              ),
              format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(
                  '_'
              ),
              isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,
          },
          weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
          weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
          monthsParse: monthsParse,
          longMonthsParse: monthsParse,
          shortMonthsParse: monthsParse,
  
          // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
          monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
  
          // копия предыдущего
          monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
  
          // полные названия с падежами
          monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
  
          // Выражение, которое соответствует только сокращённым формам
          monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY г.',
              LLL: 'D MMMM YYYY г., H:mm',
              LLLL: 'dddd, D MMMM YYYY г., H:mm',
          },
          calendar: {
              sameDay: '[Сегодня, в] LT',
              nextDay: '[Завтра, в] LT',
              lastDay: '[Вчера, в] LT',
              nextWeek: function (now) {
                  if (now.week() !== this.week()) {
                      switch (this.day()) {
                          case 0:
                              return '[В следующее] dddd, [в] LT';
                          case 1:
                          case 2:
                          case 4:
                              return '[В следующий] dddd, [в] LT';
                          case 3:
                          case 5:
                          case 6:
                              return '[В следующую] dddd, [в] LT';
                      }
                  } else {
                      if (this.day() === 2) {
                          return '[Во] dddd, [в] LT';
                      } else {
                          return '[В] dddd, [в] LT';
                      }
                  }
              },
              lastWeek: function (now) {
                  if (now.week() !== this.week()) {
                      switch (this.day()) {
                          case 0:
                              return '[В прошлое] dddd, [в] LT';
                          case 1:
                          case 2:
                          case 4:
                              return '[В прошлый] dddd, [в] LT';
                          case 3:
                          case 5:
                          case 6:
                              return '[В прошлую] dddd, [в] LT';
                      }
                  } else {
                      if (this.day() === 2) {
                          return '[Во] dddd, [в] LT';
                      } else {
                          return '[В] dddd, [в] LT';
                      }
                  }
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'через %s',
              past: '%s назад',
              s: 'несколько секунд',
              ss: relativeTimeWithPlural,
              m: relativeTimeWithPlural,
              mm: relativeTimeWithPlural,
              h: 'час',
              hh: relativeTimeWithPlural,
              d: 'день',
              dd: relativeTimeWithPlural,
              w: 'неделя',
              ww: relativeTimeWithPlural,
              M: 'месяц',
              MM: relativeTimeWithPlural,
              y: 'год',
              yy: relativeTimeWithPlural,
          },
          meridiemParse: /ночи|утра|дня|вечера/i,
          isPM: function (input) {
              return /^(дня|вечера)$/.test(input);
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'ночи';
              } else if (hour < 12) {
                  return 'утра';
              } else if (hour < 17) {
                  return 'дня';
              } else {
                  return 'вечера';
              }
          },
          dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
          ordinal: function (number, period) {
              switch (period) {
                  case 'M':
                  case 'd':
                  case 'DDD':
                      return number + '-й';
                  case 'D':
                      return number + '-го';
                  case 'w':
                  case 'W':
                      return number + '-я';
                  default:
                      return number;
              }
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return ru;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/sd.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/sd.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Sindhi [sd]
  //! author : Narain Sagar : https://github.com/narainsagar
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var months = [
              'جنوري',
              'فيبروري',
              'مارچ',
              'اپريل',
              'مئي',
              'جون',
              'جولاءِ',
              'آگسٽ',
              'سيپٽمبر',
              'آڪٽوبر',
              'نومبر',
              'ڊسمبر',
          ],
          days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];
  
      var sd = moment.defineLocale('sd', {
          months: months,
          monthsShort: months,
          weekdays: days,
          weekdaysShort: days,
          weekdaysMin: days,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd، D MMMM YYYY HH:mm',
          },
          meridiemParse: /صبح|شام/,
          isPM: function (input) {
              return 'شام' === input;
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 12) {
                  return 'صبح';
              }
              return 'شام';
          },
          calendar: {
              sameDay: '[اڄ] LT',
              nextDay: '[سڀاڻي] LT',
              nextWeek: 'dddd [اڳين هفتي تي] LT',
              lastDay: '[ڪالهه] LT',
              lastWeek: '[گزريل هفتي] dddd [تي] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s پوء',
              past: '%s اڳ',
              s: 'چند سيڪنڊ',
              ss: '%d سيڪنڊ',
              m: 'هڪ منٽ',
              mm: '%d منٽ',
              h: 'هڪ ڪلاڪ',
              hh: '%d ڪلاڪ',
              d: 'هڪ ڏينهن',
              dd: '%d ڏينهن',
              M: 'هڪ مهينو',
              MM: '%d مهينا',
              y: 'هڪ سال',
              yy: '%d سال',
          },
          preparse: function (string) {
              return string.replace(/،/g, ',');
          },
          postformat: function (string) {
              return string.replace(/,/g, '،');
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return sd;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/se.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/se.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Northern Sami [se]
  //! authors : Bård Rolstad Henriksen : https://github.com/karamell
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var se = moment.defineLocale('se', {
          months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(
              '_'
          ),
          monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split(
              '_'
          ),
          weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(
              '_'
          ),
          weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
          weekdaysMin: 's_v_m_g_d_b_L'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'MMMM D. [b.] YYYY',
              LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',
              LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',
          },
          calendar: {
              sameDay: '[otne ti] LT',
              nextDay: '[ihttin ti] LT',
              nextWeek: 'dddd [ti] LT',
              lastDay: '[ikte ti] LT',
              lastWeek: '[ovddit] dddd [ti] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s geažes',
              past: 'maŋit %s',
              s: 'moadde sekunddat',
              ss: '%d sekunddat',
              m: 'okta minuhta',
              mm: '%d minuhtat',
              h: 'okta diimmu',
              hh: '%d diimmut',
              d: 'okta beaivi',
              dd: '%d beaivvit',
              M: 'okta mánnu',
              MM: '%d mánut',
              y: 'okta jahki',
              yy: '%d jagit',
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return se;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/si.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/si.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Sinhalese [si]
  //! author : Sampath Sitinamaluwa : https://github.com/sampathsris
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      /*jshint -W100*/
      var si = moment.defineLocale('si', {
          months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(
              '_'
          ),
          monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(
              '_'
          ),
          weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(
              '_'
          ),
          weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),
          weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'a h:mm',
              LTS: 'a h:mm:ss',
              L: 'YYYY/MM/DD',
              LL: 'YYYY MMMM D',
              LLL: 'YYYY MMMM D, a h:mm',
              LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',
          },
          calendar: {
              sameDay: '[අද] LT[ට]',
              nextDay: '[හෙට] LT[ට]',
              nextWeek: 'dddd LT[ට]',
              lastDay: '[ඊයේ] LT[ට]',
              lastWeek: '[පසුගිය] dddd LT[ට]',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%sකින්',
              past: '%sකට පෙර',
              s: 'තත්පර කිහිපය',
              ss: 'තත්පර %d',
              m: 'මිනිත්තුව',
              mm: 'මිනිත්තු %d',
              h: 'පැය',
              hh: 'පැය %d',
              d: 'දිනය',
              dd: 'දින %d',
              M: 'මාසය',
              MM: 'මාස %d',
              y: 'වසර',
              yy: 'වසර %d',
          },
          dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
          ordinal: function (number) {
              return number + ' වැනි';
          },
          meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
          isPM: function (input) {
              return input === 'ප.ව.' || input === 'පස් වරු';
          },
          meridiem: function (hours, minutes, isLower) {
              if (hours > 11) {
                  return isLower ? 'ප.ව.' : 'පස් වරු';
              } else {
                  return isLower ? 'පෙ.ව.' : 'පෙර වරු';
              }
          },
      });
  
      return si;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/sk.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/sk.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Slovak [sk]
  //! author : Martin Minka : https://github.com/k2s
  //! based on work of petrbela : https://github.com/petrbela
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(
              '_'
          ),
          monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
      function plural(n) {
          return n > 1 && n < 5;
      }
      function translate(number, withoutSuffix, key, isFuture) {
          var result = number + ' ';
          switch (key) {
              case 's': // a few seconds / in a few seconds / a few seconds ago
                  return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';
              case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
                  if (withoutSuffix || isFuture) {
                      return result + (plural(number) ? 'sekundy' : 'sekúnd');
                  } else {
                      return result + 'sekundami';
                  }
              case 'm': // a minute / in a minute / a minute ago
                  return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';
              case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
                  if (withoutSuffix || isFuture) {
                      return result + (plural(number) ? 'minúty' : 'minút');
                  } else {
                      return result + 'minútami';
                  }
              case 'h': // an hour / in an hour / an hour ago
                  return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
              case 'hh': // 9 hours / in 9 hours / 9 hours ago
                  if (withoutSuffix || isFuture) {
                      return result + (plural(number) ? 'hodiny' : 'hodín');
                  } else {
                      return result + 'hodinami';
                  }
              case 'd': // a day / in a day / a day ago
                  return withoutSuffix || isFuture ? 'deň' : 'dňom';
              case 'dd': // 9 days / in 9 days / 9 days ago
                  if (withoutSuffix || isFuture) {
                      return result + (plural(number) ? 'dni' : 'dní');
                  } else {
                      return result + 'dňami';
                  }
              case 'M': // a month / in a month / a month ago
                  return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';
              case 'MM': // 9 months / in 9 months / 9 months ago
                  if (withoutSuffix || isFuture) {
                      return result + (plural(number) ? 'mesiace' : 'mesiacov');
                  } else {
                      return result + 'mesiacmi';
                  }
              case 'y': // a year / in a year / a year ago
                  return withoutSuffix || isFuture ? 'rok' : 'rokom';
              case 'yy': // 9 years / in 9 years / 9 years ago
                  if (withoutSuffix || isFuture) {
                      return result + (plural(number) ? 'roky' : 'rokov');
                  } else {
                      return result + 'rokmi';
                  }
          }
      }
  
      var sk = moment.defineLocale('sk', {
          months: months,
          monthsShort: monthsShort,
          weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
          weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),
          weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D. MMMM YYYY',
              LLL: 'D. MMMM YYYY H:mm',
              LLLL: 'dddd D. MMMM YYYY H:mm',
          },
          calendar: {
              sameDay: '[dnes o] LT',
              nextDay: '[zajtra o] LT',
              nextWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[v nedeľu o] LT';
                      case 1:
                      case 2:
                          return '[v] dddd [o] LT';
                      case 3:
                          return '[v stredu o] LT';
                      case 4:
                          return '[vo štvrtok o] LT';
                      case 5:
                          return '[v piatok o] LT';
                      case 6:
                          return '[v sobotu o] LT';
                  }
              },
              lastDay: '[včera o] LT',
              lastWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[minulú nedeľu o] LT';
                      case 1:
                      case 2:
                          return '[minulý] dddd [o] LT';
                      case 3:
                          return '[minulú stredu o] LT';
                      case 4:
                      case 5:
                          return '[minulý] dddd [o] LT';
                      case 6:
                          return '[minulú sobotu o] LT';
                  }
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'za %s',
              past: 'pred %s',
              s: translate,
              ss: translate,
              m: translate,
              mm: translate,
              h: translate,
              hh: translate,
              d: translate,
              dd: translate,
              M: translate,
              MM: translate,
              y: translate,
              yy: translate,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return sk;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/sl.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/sl.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Slovenian [sl]
  //! author : Robert Sedovšek : https://github.com/sedovsek
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function processRelativeTime(number, withoutSuffix, key, isFuture) {
          var result = number + ' ';
          switch (key) {
              case 's':
                  return withoutSuffix || isFuture
                      ? 'nekaj sekund'
                      : 'nekaj sekundami';
              case 'ss':
                  if (number === 1) {
                      result += withoutSuffix ? 'sekundo' : 'sekundi';
                  } else if (number === 2) {
                      result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';
                  } else if (number < 5) {
                      result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';
                  } else {
                      result += 'sekund';
                  }
                  return result;
              case 'm':
                  return withoutSuffix ? 'ena minuta' : 'eno minuto';
              case 'mm':
                  if (number === 1) {
                      result += withoutSuffix ? 'minuta' : 'minuto';
                  } else if (number === 2) {
                      result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
                  } else if (number < 5) {
                      result += withoutSuffix || isFuture ? 'minute' : 'minutami';
                  } else {
                      result += withoutSuffix || isFuture ? 'minut' : 'minutami';
                  }
                  return result;
              case 'h':
                  return withoutSuffix ? 'ena ura' : 'eno uro';
              case 'hh':
                  if (number === 1) {
                      result += withoutSuffix ? 'ura' : 'uro';
                  } else if (number === 2) {
                      result += withoutSuffix || isFuture ? 'uri' : 'urama';
                  } else if (number < 5) {
                      result += withoutSuffix || isFuture ? 'ure' : 'urami';
                  } else {
                      result += withoutSuffix || isFuture ? 'ur' : 'urami';
                  }
                  return result;
              case 'd':
                  return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
              case 'dd':
                  if (number === 1) {
                      result += withoutSuffix || isFuture ? 'dan' : 'dnem';
                  } else if (number === 2) {
                      result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
                  } else {
                      result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
                  }
                  return result;
              case 'M':
                  return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
              case 'MM':
                  if (number === 1) {
                      result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
                  } else if (number === 2) {
                      result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
                  } else if (number < 5) {
                      result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
                  } else {
                      result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
                  }
                  return result;
              case 'y':
                  return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
              case 'yy':
                  if (number === 1) {
                      result += withoutSuffix || isFuture ? 'leto' : 'letom';
                  } else if (number === 2) {
                      result += withoutSuffix || isFuture ? 'leti' : 'letoma';
                  } else if (number < 5) {
                      result += withoutSuffix || isFuture ? 'leta' : 'leti';
                  } else {
                      result += withoutSuffix || isFuture ? 'let' : 'leti';
                  }
                  return result;
          }
      }
  
      var sl = moment.defineLocale('sl', {
          months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(
              '_'
          ),
          monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
          weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
          weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD. MM. YYYY',
              LL: 'D. MMMM YYYY',
              LLL: 'D. MMMM YYYY H:mm',
              LLLL: 'dddd, D. MMMM YYYY H:mm',
          },
          calendar: {
              sameDay: '[danes ob] LT',
              nextDay: '[jutri ob] LT',
  
              nextWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[v] [nedeljo] [ob] LT';
                      case 3:
                          return '[v] [sredo] [ob] LT';
                      case 6:
                          return '[v] [soboto] [ob] LT';
                      case 1:
                      case 2:
                      case 4:
                      case 5:
                          return '[v] dddd [ob] LT';
                  }
              },
              lastDay: '[včeraj ob] LT',
              lastWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[prejšnjo] [nedeljo] [ob] LT';
                      case 3:
                          return '[prejšnjo] [sredo] [ob] LT';
                      case 6:
                          return '[prejšnjo] [soboto] [ob] LT';
                      case 1:
                      case 2:
                      case 4:
                      case 5:
                          return '[prejšnji] dddd [ob] LT';
                  }
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'čez %s',
              past: 'pred %s',
              s: processRelativeTime,
              ss: processRelativeTime,
              m: processRelativeTime,
              mm: processRelativeTime,
              h: processRelativeTime,
              hh: processRelativeTime,
              d: processRelativeTime,
              dd: processRelativeTime,
              M: processRelativeTime,
              MM: processRelativeTime,
              y: processRelativeTime,
              yy: processRelativeTime,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return sl;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/sq.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/sq.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Albanian [sq]
  //! author : Flakërim Ismani : https://github.com/flakerimi
  //! author : Menelion Elensúle : https://github.com/Oire
  //! author : Oerd Cukalla : https://github.com/oerd
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var sq = moment.defineLocale('sq', {
          months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(
              '_'
          ),
          monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
          weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(
              '_'
          ),
          weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
          weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),
          weekdaysParseExact: true,
          meridiemParse: /PD|MD/,
          isPM: function (input) {
              return input.charAt(0) === 'M';
          },
          meridiem: function (hours, minutes, isLower) {
              return hours < 12 ? 'PD' : 'MD';
          },
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Sot në] LT',
              nextDay: '[Nesër në] LT',
              nextWeek: 'dddd [në] LT',
              lastDay: '[Dje në] LT',
              lastWeek: 'dddd [e kaluar në] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'në %s',
              past: '%s më parë',
              s: 'disa sekonda',
              ss: '%d sekonda',
              m: 'një minutë',
              mm: '%d minuta',
              h: 'një orë',
              hh: '%d orë',
              d: 'një ditë',
              dd: '%d ditë',
              M: 'një muaj',
              MM: '%d muaj',
              y: 'një vit',
              yy: '%d vite',
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return sq;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/sr-cyrl.js":
  /*!***********************************************!*\
    !*** ./node_modules/moment/locale/sr-cyrl.js ***!
    \***********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Serbian Cyrillic [sr-cyrl]
  //! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
  //! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var translator = {
          words: {
              //Different grammatical cases
              ss: ['секунда', 'секунде', 'секунди'],
              m: ['један минут', 'једне минуте'],
              mm: ['минут', 'минуте', 'минута'],
              h: ['један сат', 'једног сата'],
              hh: ['сат', 'сата', 'сати'],
              dd: ['дан', 'дана', 'дана'],
              MM: ['месец', 'месеца', 'месеци'],
              yy: ['година', 'године', 'година'],
          },
          correctGrammaticalCase: function (number, wordKey) {
              return number === 1
                  ? wordKey[0]
                  : number >= 2 && number <= 4
                  ? wordKey[1]
                  : wordKey[2];
          },
          translate: function (number, withoutSuffix, key) {
              var wordKey = translator.words[key];
              if (key.length === 1) {
                  return withoutSuffix ? wordKey[0] : wordKey[1];
              } else {
                  return (
                      number +
                      ' ' +
                      translator.correctGrammaticalCase(number, wordKey)
                  );
              }
          },
      };
  
      var srCyrl = moment.defineLocale('sr-cyrl', {
          months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(
              '_'
          ),
          monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),
          weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
          weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'D. M. YYYY.',
              LL: 'D. MMMM YYYY.',
              LLL: 'D. MMMM YYYY. H:mm',
              LLLL: 'dddd, D. MMMM YYYY. H:mm',
          },
          calendar: {
              sameDay: '[данас у] LT',
              nextDay: '[сутра у] LT',
              nextWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[у] [недељу] [у] LT';
                      case 3:
                          return '[у] [среду] [у] LT';
                      case 6:
                          return '[у] [суботу] [у] LT';
                      case 1:
                      case 2:
                      case 4:
                      case 5:
                          return '[у] dddd [у] LT';
                  }
              },
              lastDay: '[јуче у] LT',
              lastWeek: function () {
                  var lastWeekDays = [
                      '[прошле] [недеље] [у] LT',
                      '[прошлог] [понедељка] [у] LT',
                      '[прошлог] [уторка] [у] LT',
                      '[прошле] [среде] [у] LT',
                      '[прошлог] [четвртка] [у] LT',
                      '[прошлог] [петка] [у] LT',
                      '[прошле] [суботе] [у] LT',
                  ];
                  return lastWeekDays[this.day()];
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'за %s',
              past: 'пре %s',
              s: 'неколико секунди',
              ss: translator.translate,
              m: translator.translate,
              mm: translator.translate,
              h: translator.translate,
              hh: translator.translate,
              d: 'дан',
              dd: translator.translate,
              M: 'месец',
              MM: translator.translate,
              y: 'годину',
              yy: translator.translate,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 1st is the first week of the year.
          },
      });
  
      return srCyrl;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/sr.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/sr.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Serbian [sr]
  //! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
  //! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var translator = {
          words: {
              //Different grammatical cases
              ss: ['sekunda', 'sekunde', 'sekundi'],
              m: ['jedan minut', 'jedne minute'],
              mm: ['minut', 'minute', 'minuta'],
              h: ['jedan sat', 'jednog sata'],
              hh: ['sat', 'sata', 'sati'],
              dd: ['dan', 'dana', 'dana'],
              MM: ['mesec', 'meseca', 'meseci'],
              yy: ['godina', 'godine', 'godina'],
          },
          correctGrammaticalCase: function (number, wordKey) {
              return number === 1
                  ? wordKey[0]
                  : number >= 2 && number <= 4
                  ? wordKey[1]
                  : wordKey[2];
          },
          translate: function (number, withoutSuffix, key) {
              var wordKey = translator.words[key];
              if (key.length === 1) {
                  return withoutSuffix ? wordKey[0] : wordKey[1];
              } else {
                  return (
                      number +
                      ' ' +
                      translator.correctGrammaticalCase(number, wordKey)
                  );
              }
          },
      };
  
      var sr = moment.defineLocale('sr', {
          months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(
              '_'
          ),
          monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(
              '_'
          ),
          weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),
          weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'D. M. YYYY.',
              LL: 'D. MMMM YYYY.',
              LLL: 'D. MMMM YYYY. H:mm',
              LLLL: 'dddd, D. MMMM YYYY. H:mm',
          },
          calendar: {
              sameDay: '[danas u] LT',
              nextDay: '[sutra u] LT',
              nextWeek: function () {
                  switch (this.day()) {
                      case 0:
                          return '[u] [nedelju] [u] LT';
                      case 3:
                          return '[u] [sredu] [u] LT';
                      case 6:
                          return '[u] [subotu] [u] LT';
                      case 1:
                      case 2:
                      case 4:
                      case 5:
                          return '[u] dddd [u] LT';
                  }
              },
              lastDay: '[juče u] LT',
              lastWeek: function () {
                  var lastWeekDays = [
                      '[prošle] [nedelje] [u] LT',
                      '[prošlog] [ponedeljka] [u] LT',
                      '[prošlog] [utorka] [u] LT',
                      '[prošle] [srede] [u] LT',
                      '[prošlog] [četvrtka] [u] LT',
                      '[prošlog] [petka] [u] LT',
                      '[prošle] [subote] [u] LT',
                  ];
                  return lastWeekDays[this.day()];
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'za %s',
              past: 'pre %s',
              s: 'nekoliko sekundi',
              ss: translator.translate,
              m: translator.translate,
              mm: translator.translate,
              h: translator.translate,
              hh: translator.translate,
              d: 'dan',
              dd: translator.translate,
              M: 'mesec',
              MM: translator.translate,
              y: 'godinu',
              yy: translator.translate,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return sr;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ss.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ss.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : siSwati [ss]
  //! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var ss = moment.defineLocale('ss', {
          months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split(
              '_'
          ),
          monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
          weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(
              '_'
          ),
          weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
          weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'h:mm A',
              LTS: 'h:mm:ss A',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY h:mm A',
              LLLL: 'dddd, D MMMM YYYY h:mm A',
          },
          calendar: {
              sameDay: '[Namuhla nga] LT',
              nextDay: '[Kusasa nga] LT',
              nextWeek: 'dddd [nga] LT',
              lastDay: '[Itolo nga] LT',
              lastWeek: 'dddd [leliphelile] [nga] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'nga %s',
              past: 'wenteka nga %s',
              s: 'emizuzwana lomcane',
              ss: '%d mzuzwana',
              m: 'umzuzu',
              mm: '%d emizuzu',
              h: 'lihora',
              hh: '%d emahora',
              d: 'lilanga',
              dd: '%d emalanga',
              M: 'inyanga',
              MM: '%d tinyanga',
              y: 'umnyaka',
              yy: '%d iminyaka',
          },
          meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
          meridiem: function (hours, minutes, isLower) {
              if (hours < 11) {
                  return 'ekuseni';
              } else if (hours < 15) {
                  return 'emini';
              } else if (hours < 19) {
                  return 'entsambama';
              } else {
                  return 'ebusuku';
              }
          },
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'ekuseni') {
                  return hour;
              } else if (meridiem === 'emini') {
                  return hour >= 11 ? hour : hour + 12;
              } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
                  if (hour === 0) {
                      return 0;
                  }
                  return hour + 12;
              }
          },
          dayOfMonthOrdinalParse: /\d{1,2}/,
          ordinal: '%d',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return ss;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/sv.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/sv.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Swedish [sv]
  //! author : Jens Alm : https://github.com/ulmus
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var sv = moment.defineLocale('sv', {
          months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(
              '_'
          ),
          monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
          weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
          weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
          weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'YYYY-MM-DD',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY [kl.] HH:mm',
              LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',
              lll: 'D MMM YYYY HH:mm',
              llll: 'ddd D MMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Idag] LT',
              nextDay: '[Imorgon] LT',
              lastDay: '[Igår] LT',
              nextWeek: '[På] dddd LT',
              lastWeek: '[I] dddd[s] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'om %s',
              past: 'för %s sedan',
              s: 'några sekunder',
              ss: '%d sekunder',
              m: 'en minut',
              mm: '%d minuter',
              h: 'en timme',
              hh: '%d timmar',
              d: 'en dag',
              dd: '%d dagar',
              M: 'en månad',
              MM: '%d månader',
              y: 'ett år',
              yy: '%d år',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/,
          ordinal: function (number) {
              var b = number % 10,
                  output =
                      ~~((number % 100) / 10) === 1
                          ? ':e'
                          : b === 1
                          ? ':a'
                          : b === 2
                          ? ':a'
                          : b === 3
                          ? ':e'
                          : ':e';
              return number + output;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return sv;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/sw.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/sw.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Swahili [sw]
  //! author : Fahad Kassim : https://github.com/fadsel
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var sw = moment.defineLocale('sw', {
          months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(
              '_'
          ),
          monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
          weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(
              '_'
          ),
          weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
          weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'hh:mm A',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[leo saa] LT',
              nextDay: '[kesho saa] LT',
              nextWeek: '[wiki ijayo] dddd [saat] LT',
              lastDay: '[jana] LT',
              lastWeek: '[wiki iliyopita] dddd [saat] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s baadaye',
              past: 'tokea %s',
              s: 'hivi punde',
              ss: 'sekunde %d',
              m: 'dakika moja',
              mm: 'dakika %d',
              h: 'saa limoja',
              hh: 'masaa %d',
              d: 'siku moja',
              dd: 'siku %d',
              M: 'mwezi mmoja',
              MM: 'miezi %d',
              y: 'mwaka mmoja',
              yy: 'miaka %d',
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return sw;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ta.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ta.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Tamil [ta]
  //! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var symbolMap = {
              1: '௧',
              2: '௨',
              3: '௩',
              4: '௪',
              5: '௫',
              6: '௬',
              7: '௭',
              8: '௮',
              9: '௯',
              0: '௦',
          },
          numberMap = {
              '௧': '1',
              '௨': '2',
              '௩': '3',
              '௪': '4',
              '௫': '5',
              '௬': '6',
              '௭': '7',
              '௮': '8',
              '௯': '9',
              '௦': '0',
          };
  
      var ta = moment.defineLocale('ta', {
          months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(
              '_'
          ),
          monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(
              '_'
          ),
          weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(
              '_'
          ),
          weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(
              '_'
          ),
          weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY, HH:mm',
              LLLL: 'dddd, D MMMM YYYY, HH:mm',
          },
          calendar: {
              sameDay: '[இன்று] LT',
              nextDay: '[நாளை] LT',
              nextWeek: 'dddd, LT',
              lastDay: '[நேற்று] LT',
              lastWeek: '[கடந்த வாரம்] dddd, LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s இல்',
              past: '%s முன்',
              s: 'ஒரு சில விநாடிகள்',
              ss: '%d விநாடிகள்',
              m: 'ஒரு நிமிடம்',
              mm: '%d நிமிடங்கள்',
              h: 'ஒரு மணி நேரம்',
              hh: '%d மணி நேரம்',
              d: 'ஒரு நாள்',
              dd: '%d நாட்கள்',
              M: 'ஒரு மாதம்',
              MM: '%d மாதங்கள்',
              y: 'ஒரு வருடம்',
              yy: '%d ஆண்டுகள்',
          },
          dayOfMonthOrdinalParse: /\d{1,2}வது/,
          ordinal: function (number) {
              return number + 'வது';
          },
          preparse: function (string) {
              return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
                  return numberMap[match];
              });
          },
          postformat: function (string) {
              return string.replace(/\d/g, function (match) {
                  return symbolMap[match];
              });
          },
          // refer http://ta.wikipedia.org/s/1er1
          meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
          meridiem: function (hour, minute, isLower) {
              if (hour < 2) {
                  return ' யாமம்';
              } else if (hour < 6) {
                  return ' வைகறை'; // வைகறை
              } else if (hour < 10) {
                  return ' காலை'; // காலை
              } else if (hour < 14) {
                  return ' நண்பகல்'; // நண்பகல்
              } else if (hour < 18) {
                  return ' எற்பாடு'; // எற்பாடு
              } else if (hour < 22) {
                  return ' மாலை'; // மாலை
              } else {
                  return ' யாமம்';
              }
          },
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'யாமம்') {
                  return hour < 2 ? hour : hour + 12;
              } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
                  return hour;
              } else if (meridiem === 'நண்பகல்') {
                  return hour >= 10 ? hour : hour + 12;
              } else {
                  return hour + 12;
              }
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 6th is the first week of the year.
          },
      });
  
      return ta;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/te.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/te.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Telugu [te]
  //! author : Krishna Chaitanya Thota : https://github.com/kcthota
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var te = moment.defineLocale('te', {
          months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(
              '_'
          ),
          monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(
              '_'
          ),
          weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
          weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
          longDateFormat: {
              LT: 'A h:mm',
              LTS: 'A h:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY, A h:mm',
              LLLL: 'dddd, D MMMM YYYY, A h:mm',
          },
          calendar: {
              sameDay: '[నేడు] LT',
              nextDay: '[రేపు] LT',
              nextWeek: 'dddd, LT',
              lastDay: '[నిన్న] LT',
              lastWeek: '[గత] dddd, LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s లో',
              past: '%s క్రితం',
              s: 'కొన్ని క్షణాలు',
              ss: '%d సెకన్లు',
              m: 'ఒక నిమిషం',
              mm: '%d నిమిషాలు',
              h: 'ఒక గంట',
              hh: '%d గంటలు',
              d: 'ఒక రోజు',
              dd: '%d రోజులు',
              M: 'ఒక నెల',
              MM: '%d నెలలు',
              y: 'ఒక సంవత్సరం',
              yy: '%d సంవత్సరాలు',
          },
          dayOfMonthOrdinalParse: /\d{1,2}వ/,
          ordinal: '%dవ',
          meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'రాత్రి') {
                  return hour < 4 ? hour : hour + 12;
              } else if (meridiem === 'ఉదయం') {
                  return hour;
              } else if (meridiem === 'మధ్యాహ్నం') {
                  return hour >= 10 ? hour : hour + 12;
              } else if (meridiem === 'సాయంత్రం') {
                  return hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'రాత్రి';
              } else if (hour < 10) {
                  return 'ఉదయం';
              } else if (hour < 17) {
                  return 'మధ్యాహ్నం';
              } else if (hour < 20) {
                  return 'సాయంత్రం';
              } else {
                  return 'రాత్రి';
              }
          },
          week: {
              dow: 0, // Sunday is the first day of the week.
              doy: 6, // The week that contains Jan 6th is the first week of the year.
          },
      });
  
      return te;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/tet.js":
  /*!*******************************************!*\
    !*** ./node_modules/moment/locale/tet.js ***!
    \*******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Tetun Dili (East Timor) [tet]
  //! author : Joshua Brooks : https://github.com/joshbrooks
  //! author : Onorio De J. Afonso : https://github.com/marobo
  //! author : Sonia Simoes : https://github.com/soniasimoes
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var tet = moment.defineLocale('tet', {
          months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(
              '_'
          ),
          monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
          weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),
          weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),
          weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Ohin iha] LT',
              nextDay: '[Aban iha] LT',
              nextWeek: 'dddd [iha] LT',
              lastDay: '[Horiseik iha] LT',
              lastWeek: 'dddd [semana kotuk] [iha] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'iha %s',
              past: '%s liuba',
              s: 'segundu balun',
              ss: 'segundu %d',
              m: 'minutu ida',
              mm: 'minutu %d',
              h: 'oras ida',
              hh: 'oras %d',
              d: 'loron ida',
              dd: 'loron %d',
              M: 'fulan ida',
              MM: 'fulan %d',
              y: 'tinan ida',
              yy: 'tinan %d',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
          ordinal: function (number) {
              var b = number % 10,
                  output =
                      ~~((number % 100) / 10) === 1
                          ? 'th'
                          : b === 1
                          ? 'st'
                          : b === 2
                          ? 'nd'
                          : b === 3
                          ? 'rd'
                          : 'th';
              return number + output;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return tet;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/tg.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/tg.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Tajik [tg]
  //! author : Orif N. Jr. : https://github.com/orif-jr
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var suffixes = {
          0: '-ум',
          1: '-ум',
          2: '-юм',
          3: '-юм',
          4: '-ум',
          5: '-ум',
          6: '-ум',
          7: '-ум',
          8: '-ум',
          9: '-ум',
          10: '-ум',
          12: '-ум',
          13: '-ум',
          20: '-ум',
          30: '-юм',
          40: '-ум',
          50: '-ум',
          60: '-ум',
          70: '-ум',
          80: '-ум',
          90: '-ум',
          100: '-ум',
      };
  
      var tg = moment.defineLocale('tg', {
          months: {
              format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(
                  '_'
              ),
              standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(
                  '_'
              ),
          },
          monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
          weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(
              '_'
          ),
          weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),
          weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Имрӯз соати] LT',
              nextDay: '[Фардо соати] LT',
              lastDay: '[Дирӯз соати] LT',
              nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',
              lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'баъди %s',
              past: '%s пеш',
              s: 'якчанд сония',
              m: 'як дақиқа',
              mm: '%d дақиқа',
              h: 'як соат',
              hh: '%d соат',
              d: 'як рӯз',
              dd: '%d рӯз',
              M: 'як моҳ',
              MM: '%d моҳ',
              y: 'як сол',
              yy: '%d сол',
          },
          meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === 'шаб') {
                  return hour < 4 ? hour : hour + 12;
              } else if (meridiem === 'субҳ') {
                  return hour;
              } else if (meridiem === 'рӯз') {
                  return hour >= 11 ? hour : hour + 12;
              } else if (meridiem === 'бегоҳ') {
                  return hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'шаб';
              } else if (hour < 11) {
                  return 'субҳ';
              } else if (hour < 16) {
                  return 'рӯз';
              } else if (hour < 19) {
                  return 'бегоҳ';
              } else {
                  return 'шаб';
              }
          },
          dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
          ordinal: function (number) {
              var a = number % 10,
                  b = number >= 100 ? 100 : null;
              return number + (suffixes[number] || suffixes[a] || suffixes[b]);
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 1th is the first week of the year.
          },
      });
  
      return tg;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/th.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/th.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Thai [th]
  //! author : Kridsada Thanabulpong : https://github.com/sirn
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var th = moment.defineLocale('th', {
          months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(
              '_'
          ),
          monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
          weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
          weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'H:mm',
              LTS: 'H:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY เวลา H:mm',
              LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',
          },
          meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
          isPM: function (input) {
              return input === 'หลังเที่ยง';
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 12) {
                  return 'ก่อนเที่ยง';
              } else {
                  return 'หลังเที่ยง';
              }
          },
          calendar: {
              sameDay: '[วันนี้ เวลา] LT',
              nextDay: '[พรุ่งนี้ เวลา] LT',
              nextWeek: 'dddd[หน้า เวลา] LT',
              lastDay: '[เมื่อวานนี้ เวลา] LT',
              lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'อีก %s',
              past: '%sที่แล้ว',
              s: 'ไม่กี่วินาที',
              ss: '%d วินาที',
              m: '1 นาที',
              mm: '%d นาที',
              h: '1 ชั่วโมง',
              hh: '%d ชั่วโมง',
              d: '1 วัน',
              dd: '%d วัน',
              w: '1 สัปดาห์',
              ww: '%d สัปดาห์',
              M: '1 เดือน',
              MM: '%d เดือน',
              y: '1 ปี',
              yy: '%d ปี',
          },
      });
  
      return th;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/tk.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/tk.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Turkmen [tk]
  //! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var suffixes = {
          1: "'inji",
          5: "'inji",
          8: "'inji",
          70: "'inji",
          80: "'inji",
          2: "'nji",
          7: "'nji",
          20: "'nji",
          50: "'nji",
          3: "'ünji",
          4: "'ünji",
          100: "'ünji",
          6: "'njy",
          9: "'unjy",
          10: "'unjy",
          30: "'unjy",
          60: "'ynjy",
          90: "'ynjy",
      };
  
      var tk = moment.defineLocale('tk', {
          months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(
              '_'
          ),
          monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),
          weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(
              '_'
          ),
          weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),
          weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[bugün sagat] LT',
              nextDay: '[ertir sagat] LT',
              nextWeek: '[indiki] dddd [sagat] LT',
              lastDay: '[düýn] LT',
              lastWeek: '[geçen] dddd [sagat] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s soň',
              past: '%s öň',
              s: 'birnäçe sekunt',
              m: 'bir minut',
              mm: '%d minut',
              h: 'bir sagat',
              hh: '%d sagat',
              d: 'bir gün',
              dd: '%d gün',
              M: 'bir aý',
              MM: '%d aý',
              y: 'bir ýyl',
              yy: '%d ýyl',
          },
          ordinal: function (number, period) {
              switch (period) {
                  case 'd':
                  case 'D':
                  case 'Do':
                  case 'DD':
                      return number;
                  default:
                      if (number === 0) {
                          // special case for zero
                          return number + "'unjy";
                      }
                      var a = number % 10,
                          b = (number % 100) - a,
                          c = number >= 100 ? 100 : null;
                      return number + (suffixes[a] || suffixes[b] || suffixes[c]);
              }
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return tk;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/tl-ph.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/tl-ph.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Tagalog (Philippines) [tl-ph]
  //! author : Dan Hagman : https://github.com/hagmandan
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var tlPh = moment.defineLocale('tl-ph', {
          months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(
              '_'
          ),
          monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
          weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(
              '_'
          ),
          weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
          weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'MM/D/YYYY',
              LL: 'MMMM D, YYYY',
              LLL: 'MMMM D, YYYY HH:mm',
              LLLL: 'dddd, MMMM DD, YYYY HH:mm',
          },
          calendar: {
              sameDay: 'LT [ngayong araw]',
              nextDay: '[Bukas ng] LT',
              nextWeek: 'LT [sa susunod na] dddd',
              lastDay: 'LT [kahapon]',
              lastWeek: 'LT [noong nakaraang] dddd',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'sa loob ng %s',
              past: '%s ang nakalipas',
              s: 'ilang segundo',
              ss: '%d segundo',
              m: 'isang minuto',
              mm: '%d minuto',
              h: 'isang oras',
              hh: '%d oras',
              d: 'isang araw',
              dd: '%d araw',
              M: 'isang buwan',
              MM: '%d buwan',
              y: 'isang taon',
              yy: '%d taon',
          },
          dayOfMonthOrdinalParse: /\d{1,2}/,
          ordinal: function (number) {
              return number;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return tlPh;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/tlh.js":
  /*!*******************************************!*\
    !*** ./node_modules/moment/locale/tlh.js ***!
    \*******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Klingon [tlh]
  //! author : Dominika Kruk : https://github.com/amaranthrose
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
  
      function translateFuture(output) {
          var time = output;
          time =
              output.indexOf('jaj') !== -1
                  ? time.slice(0, -3) + 'leS'
                  : output.indexOf('jar') !== -1
                  ? time.slice(0, -3) + 'waQ'
                  : output.indexOf('DIS') !== -1
                  ? time.slice(0, -3) + 'nem'
                  : time + ' pIq';
          return time;
      }
  
      function translatePast(output) {
          var time = output;
          time =
              output.indexOf('jaj') !== -1
                  ? time.slice(0, -3) + 'Hu’'
                  : output.indexOf('jar') !== -1
                  ? time.slice(0, -3) + 'wen'
                  : output.indexOf('DIS') !== -1
                  ? time.slice(0, -3) + 'ben'
                  : time + ' ret';
          return time;
      }
  
      function translate(number, withoutSuffix, string, isFuture) {
          var numberNoun = numberAsNoun(number);
          switch (string) {
              case 'ss':
                  return numberNoun + ' lup';
              case 'mm':
                  return numberNoun + ' tup';
              case 'hh':
                  return numberNoun + ' rep';
              case 'dd':
                  return numberNoun + ' jaj';
              case 'MM':
                  return numberNoun + ' jar';
              case 'yy':
                  return numberNoun + ' DIS';
          }
      }
  
      function numberAsNoun(number) {
          var hundred = Math.floor((number % 1000) / 100),
              ten = Math.floor((number % 100) / 10),
              one = number % 10,
              word = '';
          if (hundred > 0) {
              word += numbersNouns[hundred] + 'vatlh';
          }
          if (ten > 0) {
              word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';
          }
          if (one > 0) {
              word += (word !== '' ? ' ' : '') + numbersNouns[one];
          }
          return word === '' ? 'pagh' : word;
      }
  
      var tlh = moment.defineLocale('tlh', {
          months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(
              '_'
          ),
          monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
              '_'
          ),
          weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
              '_'
          ),
          weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
              '_'
          ),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[DaHjaj] LT',
              nextDay: '[wa’leS] LT',
              nextWeek: 'LLL',
              lastDay: '[wa’Hu’] LT',
              lastWeek: 'LLL',
              sameElse: 'L',
          },
          relativeTime: {
              future: translateFuture,
              past: translatePast,
              s: 'puS lup',
              ss: translate,
              m: 'wa’ tup',
              mm: translate,
              h: 'wa’ rep',
              hh: translate,
              d: 'wa’ jaj',
              dd: translate,
              M: 'wa’ jar',
              MM: translate,
              y: 'wa’ DIS',
              yy: translate,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return tlh;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/tr.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/tr.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Turkish [tr]
  //! authors : Erhan Gundogan : https://github.com/erhangundogan,
  //!           Burak Yiğit Kaya: https://github.com/BYK
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var suffixes = {
          1: "'inci",
          5: "'inci",
          8: "'inci",
          70: "'inci",
          80: "'inci",
          2: "'nci",
          7: "'nci",
          20: "'nci",
          50: "'nci",
          3: "'üncü",
          4: "'üncü",
          100: "'üncü",
          6: "'ncı",
          9: "'uncu",
          10: "'uncu",
          30: "'uncu",
          60: "'ıncı",
          90: "'ıncı",
      };
  
      var tr = moment.defineLocale('tr', {
          months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(
              '_'
          ),
          monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),
          weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(
              '_'
          ),
          weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
          weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
          meridiem: function (hours, minutes, isLower) {
              if (hours < 12) {
                  return isLower ? 'öö' : 'ÖÖ';
              } else {
                  return isLower ? 'ös' : 'ÖS';
              }
          },
          meridiemParse: /öö|ÖÖ|ös|ÖS/,
          isPM: function (input) {
              return input === 'ös' || input === 'ÖS';
          },
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[bugün saat] LT',
              nextDay: '[yarın saat] LT',
              nextWeek: '[gelecek] dddd [saat] LT',
              lastDay: '[dün] LT',
              lastWeek: '[geçen] dddd [saat] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s sonra',
              past: '%s önce',
              s: 'birkaç saniye',
              ss: '%d saniye',
              m: 'bir dakika',
              mm: '%d dakika',
              h: 'bir saat',
              hh: '%d saat',
              d: 'bir gün',
              dd: '%d gün',
              w: 'bir hafta',
              ww: '%d hafta',
              M: 'bir ay',
              MM: '%d ay',
              y: 'bir yıl',
              yy: '%d yıl',
          },
          ordinal: function (number, period) {
              switch (period) {
                  case 'd':
                  case 'D':
                  case 'Do':
                  case 'DD':
                      return number;
                  default:
                      if (number === 0) {
                          // special case for zero
                          return number + "'ıncı";
                      }
                      var a = number % 10,
                          b = (number % 100) - a,
                          c = number >= 100 ? 100 : null;
                      return number + (suffixes[a] || suffixes[b] || suffixes[c]);
              }
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return tr;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/tzl.js":
  /*!*******************************************!*\
    !*** ./node_modules/moment/locale/tzl.js ***!
    \*******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Talossan [tzl]
  //! author : Robin van der Vliet : https://github.com/robin0van0der0v
  //! author : Iustì Canun
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
      // This is currently too difficult (maybe even impossible) to add.
      var tzl = moment.defineLocale('tzl', {
          months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(
              '_'
          ),
          monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
          weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
          weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
          weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
          longDateFormat: {
              LT: 'HH.mm',
              LTS: 'HH.mm.ss',
              L: 'DD.MM.YYYY',
              LL: 'D. MMMM [dallas] YYYY',
              LLL: 'D. MMMM [dallas] YYYY HH.mm',
              LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',
          },
          meridiemParse: /d\'o|d\'a/i,
          isPM: function (input) {
              return "d'o" === input.toLowerCase();
          },
          meridiem: function (hours, minutes, isLower) {
              if (hours > 11) {
                  return isLower ? "d'o" : "D'O";
              } else {
                  return isLower ? "d'a" : "D'A";
              }
          },
          calendar: {
              sameDay: '[oxhi à] LT',
              nextDay: '[demà à] LT',
              nextWeek: 'dddd [à] LT',
              lastDay: '[ieiri à] LT',
              lastWeek: '[sür el] dddd [lasteu à] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'osprei %s',
              past: 'ja%s',
              s: processRelativeTime,
              ss: processRelativeTime,
              m: processRelativeTime,
              mm: processRelativeTime,
              h: processRelativeTime,
              hh: processRelativeTime,
              d: processRelativeTime,
              dd: processRelativeTime,
              M: processRelativeTime,
              MM: processRelativeTime,
              y: processRelativeTime,
              yy: processRelativeTime,
          },
          dayOfMonthOrdinalParse: /\d{1,2}\./,
          ordinal: '%d.',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      function processRelativeTime(number, withoutSuffix, key, isFuture) {
          var format = {
              s: ['viensas secunds', "'iensas secunds"],
              ss: [number + ' secunds', '' + number + ' secunds'],
              m: ["'n míut", "'iens míut"],
              mm: [number + ' míuts', '' + number + ' míuts'],
              h: ["'n þora", "'iensa þora"],
              hh: [number + ' þoras', '' + number + ' þoras'],
              d: ["'n ziua", "'iensa ziua"],
              dd: [number + ' ziuas', '' + number + ' ziuas'],
              M: ["'n mes", "'iens mes"],
              MM: [number + ' mesen', '' + number + ' mesen'],
              y: ["'n ar", "'iens ar"],
              yy: [number + ' ars', '' + number + ' ars'],
          };
          return isFuture
              ? format[key][0]
              : withoutSuffix
              ? format[key][0]
              : format[key][1];
      }
  
      return tzl;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/tzm-latn.js":
  /*!************************************************!*\
    !*** ./node_modules/moment/locale/tzm-latn.js ***!
    \************************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Central Atlas Tamazight Latin [tzm-latn]
  //! author : Abdel Said : https://github.com/abdelsaid
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var tzmLatn = moment.defineLocale('tzm-latn', {
          months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(
              '_'
          ),
          monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(
              '_'
          ),
          weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
          weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
          weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[asdkh g] LT',
              nextDay: '[aska g] LT',
              nextWeek: 'dddd [g] LT',
              lastDay: '[assant g] LT',
              lastWeek: 'dddd [g] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'dadkh s yan %s',
              past: 'yan %s',
              s: 'imik',
              ss: '%d imik',
              m: 'minuḍ',
              mm: '%d minuḍ',
              h: 'saɛa',
              hh: '%d tassaɛin',
              d: 'ass',
              dd: '%d ossan',
              M: 'ayowr',
              MM: '%d iyyirn',
              y: 'asgas',
              yy: '%d isgasn',
          },
          week: {
              dow: 6, // Saturday is the first day of the week.
              doy: 12, // The week that contains Jan 12th is the first week of the year.
          },
      });
  
      return tzmLatn;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/tzm.js":
  /*!*******************************************!*\
    !*** ./node_modules/moment/locale/tzm.js ***!
    \*******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Central Atlas Tamazight [tzm]
  //! author : Abdel Said : https://github.com/abdelsaid
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var tzm = moment.defineLocale('tzm', {
          months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(
              '_'
          ),
          monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(
              '_'
          ),
          weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
          weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
          weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',
              nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
              nextWeek: 'dddd [ⴴ] LT',
              lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
              lastWeek: 'dddd [ⴴ] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
              past: 'ⵢⴰⵏ %s',
              s: 'ⵉⵎⵉⴽ',
              ss: '%d ⵉⵎⵉⴽ',
              m: 'ⵎⵉⵏⵓⴺ',
              mm: '%d ⵎⵉⵏⵓⴺ',
              h: 'ⵙⴰⵄⴰ',
              hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
              d: 'ⴰⵙⵙ',
              dd: '%d oⵙⵙⴰⵏ',
              M: 'ⴰⵢoⵓⵔ',
              MM: '%d ⵉⵢⵢⵉⵔⵏ',
              y: 'ⴰⵙⴳⴰⵙ',
              yy: '%d ⵉⵙⴳⴰⵙⵏ',
          },
          week: {
              dow: 6, // Saturday is the first day of the week.
              doy: 12, // The week that contains Jan 12th is the first week of the year.
          },
      });
  
      return tzm;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ug-cn.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/ug-cn.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Uyghur (China) [ug-cn]
  //! author: boyaq : https://github.com/boyaq
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var ugCn = moment.defineLocale('ug-cn', {
          months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
              '_'
          ),
          monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
              '_'
          ),
          weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(
              '_'
          ),
          weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
          weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'YYYY-MM-DD',
              LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
              LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
              LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
          },
          meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (
                  meridiem === 'يېرىم كېچە' ||
                  meridiem === 'سەھەر' ||
                  meridiem === 'چۈشتىن بۇرۇن'
              ) {
                  return hour;
              } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {
                  return hour + 12;
              } else {
                  return hour >= 11 ? hour : hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              var hm = hour * 100 + minute;
              if (hm < 600) {
                  return 'يېرىم كېچە';
              } else if (hm < 900) {
                  return 'سەھەر';
              } else if (hm < 1130) {
                  return 'چۈشتىن بۇرۇن';
              } else if (hm < 1230) {
                  return 'چۈش';
              } else if (hm < 1800) {
                  return 'چۈشتىن كېيىن';
              } else {
                  return 'كەچ';
              }
          },
          calendar: {
              sameDay: '[بۈگۈن سائەت] LT',
              nextDay: '[ئەتە سائەت] LT',
              nextWeek: '[كېلەركى] dddd [سائەت] LT',
              lastDay: '[تۆنۈگۈن] LT',
              lastWeek: '[ئالدىنقى] dddd [سائەت] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s كېيىن',
              past: '%s بۇرۇن',
              s: 'نەچچە سېكونت',
              ss: '%d سېكونت',
              m: 'بىر مىنۇت',
              mm: '%d مىنۇت',
              h: 'بىر سائەت',
              hh: '%d سائەت',
              d: 'بىر كۈن',
              dd: '%d كۈن',
              M: 'بىر ئاي',
              MM: '%d ئاي',
              y: 'بىر يىل',
              yy: '%d يىل',
          },
  
          dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
          ordinal: function (number, period) {
              switch (period) {
                  case 'd':
                  case 'D':
                  case 'DDD':
                      return number + '-كۈنى';
                  case 'w':
                  case 'W':
                      return number + '-ھەپتە';
                  default:
                      return number;
              }
          },
          preparse: function (string) {
              return string.replace(/،/g, ',');
          },
          postformat: function (string) {
              return string.replace(/,/g, '،');
          },
          week: {
              // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 1st is the first week of the year.
          },
      });
  
      return ugCn;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/uk.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/uk.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Ukrainian [uk]
  //! author : zemlanin : https://github.com/zemlanin
  //! Author : Menelion Elensúle : https://github.com/Oire
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      function plural(word, num) {
          var forms = word.split('_');
          return num % 10 === 1 && num % 100 !== 11
              ? forms[0]
              : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
              ? forms[1]
              : forms[2];
      }
      function relativeTimeWithPlural(number, withoutSuffix, key) {
          var format = {
              ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
              mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
              hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
              dd: 'день_дні_днів',
              MM: 'місяць_місяці_місяців',
              yy: 'рік_роки_років',
          };
          if (key === 'm') {
              return withoutSuffix ? 'хвилина' : 'хвилину';
          } else if (key === 'h') {
              return withoutSuffix ? 'година' : 'годину';
          } else {
              return number + ' ' + plural(format[key], +number);
          }
      }
      function weekdaysCaseReplace(m, format) {
          var weekdays = {
                  nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(
                      '_'
                  ),
                  accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(
                      '_'
                  ),
                  genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(
                      '_'
                  ),
              },
              nounCase;
  
          if (m === true) {
              return weekdays['nominative']
                  .slice(1, 7)
                  .concat(weekdays['nominative'].slice(0, 1));
          }
          if (!m) {
              return weekdays['nominative'];
          }
  
          nounCase = /(\[[ВвУу]\]) ?dddd/.test(format)
              ? 'accusative'
              : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format)
              ? 'genitive'
              : 'nominative';
          return weekdays[nounCase][m.day()];
      }
      function processHoursFunction(str) {
          return function () {
              return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
          };
      }
  
      var uk = moment.defineLocale('uk', {
          months: {
              format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(
                  '_'
              ),
              standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(
                  '_'
              ),
          },
          monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(
              '_'
          ),
          weekdays: weekdaysCaseReplace,
          weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
          weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD.MM.YYYY',
              LL: 'D MMMM YYYY р.',
              LLL: 'D MMMM YYYY р., HH:mm',
              LLLL: 'dddd, D MMMM YYYY р., HH:mm',
          },
          calendar: {
              sameDay: processHoursFunction('[Сьогодні '),
              nextDay: processHoursFunction('[Завтра '),
              lastDay: processHoursFunction('[Вчора '),
              nextWeek: processHoursFunction('[У] dddd ['),
              lastWeek: function () {
                  switch (this.day()) {
                      case 0:
                      case 3:
                      case 5:
                      case 6:
                          return processHoursFunction('[Минулої] dddd [').call(this);
                      case 1:
                      case 2:
                      case 4:
                          return processHoursFunction('[Минулого] dddd [').call(this);
                  }
              },
              sameElse: 'L',
          },
          relativeTime: {
              future: 'за %s',
              past: '%s тому',
              s: 'декілька секунд',
              ss: relativeTimeWithPlural,
              m: relativeTimeWithPlural,
              mm: relativeTimeWithPlural,
              h: 'годину',
              hh: relativeTimeWithPlural,
              d: 'день',
              dd: relativeTimeWithPlural,
              M: 'місяць',
              MM: relativeTimeWithPlural,
              y: 'рік',
              yy: relativeTimeWithPlural,
          },
          // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
          meridiemParse: /ночі|ранку|дня|вечора/,
          isPM: function (input) {
              return /^(дня|вечора)$/.test(input);
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 4) {
                  return 'ночі';
              } else if (hour < 12) {
                  return 'ранку';
              } else if (hour < 17) {
                  return 'дня';
              } else {
                  return 'вечора';
              }
          },
          dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
          ordinal: function (number, period) {
              switch (period) {
                  case 'M':
                  case 'd':
                  case 'DDD':
                  case 'w':
                  case 'W':
                      return number + '-й';
                  case 'D':
                      return number + '-го';
                  default:
                      return number;
              }
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return uk;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/ur.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/ur.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Urdu [ur]
  //! author : Sawood Alam : https://github.com/ibnesayeed
  //! author : Zack : https://github.com/ZackVision
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var months = [
              'جنوری',
              'فروری',
              'مارچ',
              'اپریل',
              'مئی',
              'جون',
              'جولائی',
              'اگست',
              'ستمبر',
              'اکتوبر',
              'نومبر',
              'دسمبر',
          ],
          days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];
  
      var ur = moment.defineLocale('ur', {
          months: months,
          monthsShort: months,
          weekdays: days,
          weekdaysShort: days,
          weekdaysMin: days,
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd، D MMMM YYYY HH:mm',
          },
          meridiemParse: /صبح|شام/,
          isPM: function (input) {
              return 'شام' === input;
          },
          meridiem: function (hour, minute, isLower) {
              if (hour < 12) {
                  return 'صبح';
              }
              return 'شام';
          },
          calendar: {
              sameDay: '[آج بوقت] LT',
              nextDay: '[کل بوقت] LT',
              nextWeek: 'dddd [بوقت] LT',
              lastDay: '[گذشتہ روز بوقت] LT',
              lastWeek: '[گذشتہ] dddd [بوقت] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s بعد',
              past: '%s قبل',
              s: 'چند سیکنڈ',
              ss: '%d سیکنڈ',
              m: 'ایک منٹ',
              mm: '%d منٹ',
              h: 'ایک گھنٹہ',
              hh: '%d گھنٹے',
              d: 'ایک دن',
              dd: '%d دن',
              M: 'ایک ماہ',
              MM: '%d ماہ',
              y: 'ایک سال',
              yy: '%d سال',
          },
          preparse: function (string) {
              return string.replace(/،/g, ',');
          },
          postformat: function (string) {
              return string.replace(/,/g, '،');
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return ur;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/uz-latn.js":
  /*!***********************************************!*\
    !*** ./node_modules/moment/locale/uz-latn.js ***!
    \***********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Uzbek Latin [uz-latn]
  //! author : Rasulbek Mirzayev : github.com/Rasulbeeek
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var uzLatn = moment.defineLocale('uz-latn', {
          months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(
              '_'
          ),
          monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),
          weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(
              '_'
          ),
          weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),
          weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'D MMMM YYYY, dddd HH:mm',
          },
          calendar: {
              sameDay: '[Bugun soat] LT [da]',
              nextDay: '[Ertaga] LT [da]',
              nextWeek: 'dddd [kuni soat] LT [da]',
              lastDay: '[Kecha soat] LT [da]',
              lastWeek: "[O'tgan] dddd [kuni soat] LT [da]",
              sameElse: 'L',
          },
          relativeTime: {
              future: 'Yaqin %s ichida',
              past: 'Bir necha %s oldin',
              s: 'soniya',
              ss: '%d soniya',
              m: 'bir daqiqa',
              mm: '%d daqiqa',
              h: 'bir soat',
              hh: '%d soat',
              d: 'bir kun',
              dd: '%d kun',
              M: 'bir oy',
              MM: '%d oy',
              y: 'bir yil',
              yy: '%d yil',
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 7th is the first week of the year.
          },
      });
  
      return uzLatn;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/uz.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/uz.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Uzbek [uz]
  //! author : Sardor Muminov : https://github.com/muminoff
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var uz = moment.defineLocale('uz', {
          months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(
              '_'
          ),
          monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
          weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
          weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
          weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'D MMMM YYYY, dddd HH:mm',
          },
          calendar: {
              sameDay: '[Бугун соат] LT [да]',
              nextDay: '[Эртага] LT [да]',
              nextWeek: 'dddd [куни соат] LT [да]',
              lastDay: '[Кеча соат] LT [да]',
              lastWeek: '[Утган] dddd [куни соат] LT [да]',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'Якин %s ичида',
              past: 'Бир неча %s олдин',
              s: 'фурсат',
              ss: '%d фурсат',
              m: 'бир дакика',
              mm: '%d дакика',
              h: 'бир соат',
              hh: '%d соат',
              d: 'бир кун',
              dd: '%d кун',
              M: 'бир ой',
              MM: '%d ой',
              y: 'бир йил',
              yy: '%d йил',
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 7, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return uz;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/vi.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/vi.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Vietnamese [vi]
  //! author : Bang Nguyen : https://github.com/bangnk
  //! author : Chien Kira : https://github.com/chienkira
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var vi = moment.defineLocale('vi', {
          months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(
              '_'
          ),
          monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(
              '_'
          ),
          weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
          weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
          weekdaysParseExact: true,
          meridiemParse: /sa|ch/i,
          isPM: function (input) {
              return /^ch$/i.test(input);
          },
          meridiem: function (hours, minutes, isLower) {
              if (hours < 12) {
                  return isLower ? 'sa' : 'SA';
              } else {
                  return isLower ? 'ch' : 'CH';
              }
          },
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM [năm] YYYY',
              LLL: 'D MMMM [năm] YYYY HH:mm',
              LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',
              l: 'DD/M/YYYY',
              ll: 'D MMM YYYY',
              lll: 'D MMM YYYY HH:mm',
              llll: 'ddd, D MMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[Hôm nay lúc] LT',
              nextDay: '[Ngày mai lúc] LT',
              nextWeek: 'dddd [tuần tới lúc] LT',
              lastDay: '[Hôm qua lúc] LT',
              lastWeek: 'dddd [tuần trước lúc] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: '%s tới',
              past: '%s trước',
              s: 'vài giây',
              ss: '%d giây',
              m: 'một phút',
              mm: '%d phút',
              h: 'một giờ',
              hh: '%d giờ',
              d: 'một ngày',
              dd: '%d ngày',
              w: 'một tuần',
              ww: '%d tuần',
              M: 'một tháng',
              MM: '%d tháng',
              y: 'một năm',
              yy: '%d năm',
          },
          dayOfMonthOrdinalParse: /\d{1,2}/,
          ordinal: function (number) {
              return number;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return vi;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/x-pseudo.js":
  /*!************************************************!*\
    !*** ./node_modules/moment/locale/x-pseudo.js ***!
    \************************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Pseudo [x-pseudo]
  //! author : Andrew Hood : https://github.com/andrewhood125
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var xPseudo = moment.defineLocale('x-pseudo', {
          months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(
              '_'
          ),
          monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(
              '_'
          ),
          monthsParseExact: true,
          weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(
              '_'
          ),
          weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
          weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
          weekdaysParseExact: true,
          longDateFormat: {
              LT: 'HH:mm',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY HH:mm',
              LLLL: 'dddd, D MMMM YYYY HH:mm',
          },
          calendar: {
              sameDay: '[T~ódá~ý át] LT',
              nextDay: '[T~ómó~rró~w át] LT',
              nextWeek: 'dddd [át] LT',
              lastDay: '[Ý~ést~érdá~ý át] LT',
              lastWeek: '[L~ást] dddd [át] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'í~ñ %s',
              past: '%s á~gó',
              s: 'á ~féw ~sécó~ñds',
              ss: '%d s~écóñ~ds',
              m: 'á ~míñ~úté',
              mm: '%d m~íñú~tés',
              h: 'á~ñ hó~úr',
              hh: '%d h~óúrs',
              d: 'á ~dáý',
              dd: '%d d~áýs',
              M: 'á ~móñ~th',
              MM: '%d m~óñt~hs',
              y: 'á ~ýéár',
              yy: '%d ý~éárs',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
          ordinal: function (number) {
              var b = number % 10,
                  output =
                      ~~((number % 100) / 10) === 1
                          ? 'th'
                          : b === 1
                          ? 'st'
                          : b === 2
                          ? 'nd'
                          : b === 3
                          ? 'rd'
                          : 'th';
              return number + output;
          },
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return xPseudo;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/yo.js":
  /*!******************************************!*\
    !*** ./node_modules/moment/locale/yo.js ***!
    \******************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Yoruba Nigeria [yo]
  //! author : Atolagbe Abisoye : https://github.com/andela-batolagbe
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var yo = moment.defineLocale('yo', {
          months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(
              '_'
          ),
          monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),
          weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),
          weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),
          weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),
          longDateFormat: {
              LT: 'h:mm A',
              LTS: 'h:mm:ss A',
              L: 'DD/MM/YYYY',
              LL: 'D MMMM YYYY',
              LLL: 'D MMMM YYYY h:mm A',
              LLLL: 'dddd, D MMMM YYYY h:mm A',
          },
          calendar: {
              sameDay: '[Ònì ni] LT',
              nextDay: '[Ọ̀la ni] LT',
              nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT",
              lastDay: '[Àna ni] LT',
              lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',
              sameElse: 'L',
          },
          relativeTime: {
              future: 'ní %s',
              past: '%s kọjá',
              s: 'ìsẹjú aayá die',
              ss: 'aayá %d',
              m: 'ìsẹjú kan',
              mm: 'ìsẹjú %d',
              h: 'wákati kan',
              hh: 'wákati %d',
              d: 'ọjọ́ kan',
              dd: 'ọjọ́ %d',
              M: 'osù kan',
              MM: 'osù %d',
              y: 'ọdún kan',
              yy: 'ọdún %d',
          },
          dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/,
          ordinal: 'ọjọ́ %d',
          week: {
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return yo;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/zh-cn.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/zh-cn.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Chinese (China) [zh-cn]
  //! author : suupic : https://github.com/suupic
  //! author : Zeno Zeng : https://github.com/zenozeng
  //! author : uu109 : https://github.com/uu109
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var zhCn = moment.defineLocale('zh-cn', {
          months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
              '_'
          ),
          monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
              '_'
          ),
          weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
          weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),
          weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'YYYY/MM/DD',
              LL: 'YYYY年M月D日',
              LLL: 'YYYY年M月D日Ah点mm分',
              LLLL: 'YYYY年M月D日ddddAh点mm分',
              l: 'YYYY/M/D',
              ll: 'YYYY年M月D日',
              lll: 'YYYY年M月D日 HH:mm',
              llll: 'YYYY年M月D日dddd HH:mm',
          },
          meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
                  return hour;
              } else if (meridiem === '下午' || meridiem === '晚上') {
                  return hour + 12;
              } else {
                  // '中午'
                  return hour >= 11 ? hour : hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              var hm = hour * 100 + minute;
              if (hm < 600) {
                  return '凌晨';
              } else if (hm < 900) {
                  return '早上';
              } else if (hm < 1130) {
                  return '上午';
              } else if (hm < 1230) {
                  return '中午';
              } else if (hm < 1800) {
                  return '下午';
              } else {
                  return '晚上';
              }
          },
          calendar: {
              sameDay: '[今天]LT',
              nextDay: '[明天]LT',
              nextWeek: function (now) {
                  if (now.week() !== this.week()) {
                      return '[下]dddLT';
                  } else {
                      return '[本]dddLT';
                  }
              },
              lastDay: '[昨天]LT',
              lastWeek: function (now) {
                  if (this.week() !== now.week()) {
                      return '[上]dddLT';
                  } else {
                      return '[本]dddLT';
                  }
              },
              sameElse: 'L',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
          ordinal: function (number, period) {
              switch (period) {
                  case 'd':
                  case 'D':
                  case 'DDD':
                      return number + '日';
                  case 'M':
                      return number + '月';
                  case 'w':
                  case 'W':
                      return number + '周';
                  default:
                      return number;
              }
          },
          relativeTime: {
              future: '%s后',
              past: '%s前',
              s: '几秒',
              ss: '%d 秒',
              m: '1 分钟',
              mm: '%d 分钟',
              h: '1 小时',
              hh: '%d 小时',
              d: '1 天',
              dd: '%d 天',
              w: '1 周',
              ww: '%d 周',
              M: '1 个月',
              MM: '%d 个月',
              y: '1 年',
              yy: '%d 年',
          },
          week: {
              // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
              dow: 1, // Monday is the first day of the week.
              doy: 4, // The week that contains Jan 4th is the first week of the year.
          },
      });
  
      return zhCn;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/zh-hk.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/zh-hk.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Chinese (Hong Kong) [zh-hk]
  //! author : Ben : https://github.com/ben-lin
  //! author : Chris Lam : https://github.com/hehachris
  //! author : Konstantin : https://github.com/skfd
  //! author : Anthony : https://github.com/anthonylau
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var zhHk = moment.defineLocale('zh-hk', {
          months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
              '_'
          ),
          monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
              '_'
          ),
          weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
          weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
          weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'YYYY/MM/DD',
              LL: 'YYYY年M月D日',
              LLL: 'YYYY年M月D日 HH:mm',
              LLLL: 'YYYY年M月D日dddd HH:mm',
              l: 'YYYY/M/D',
              ll: 'YYYY年M月D日',
              lll: 'YYYY年M月D日 HH:mm',
              llll: 'YYYY年M月D日dddd HH:mm',
          },
          meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
                  return hour;
              } else if (meridiem === '中午') {
                  return hour >= 11 ? hour : hour + 12;
              } else if (meridiem === '下午' || meridiem === '晚上') {
                  return hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              var hm = hour * 100 + minute;
              if (hm < 600) {
                  return '凌晨';
              } else if (hm < 900) {
                  return '早上';
              } else if (hm < 1200) {
                  return '上午';
              } else if (hm === 1200) {
                  return '中午';
              } else if (hm < 1800) {
                  return '下午';
              } else {
                  return '晚上';
              }
          },
          calendar: {
              sameDay: '[今天]LT',
              nextDay: '[明天]LT',
              nextWeek: '[下]ddddLT',
              lastDay: '[昨天]LT',
              lastWeek: '[上]ddddLT',
              sameElse: 'L',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
          ordinal: function (number, period) {
              switch (period) {
                  case 'd':
                  case 'D':
                  case 'DDD':
                      return number + '日';
                  case 'M':
                      return number + '月';
                  case 'w':
                  case 'W':
                      return number + '週';
                  default:
                      return number;
              }
          },
          relativeTime: {
              future: '%s後',
              past: '%s前',
              s: '幾秒',
              ss: '%d 秒',
              m: '1 分鐘',
              mm: '%d 分鐘',
              h: '1 小時',
              hh: '%d 小時',
              d: '1 天',
              dd: '%d 天',
              M: '1 個月',
              MM: '%d 個月',
              y: '1 年',
              yy: '%d 年',
          },
      });
  
      return zhHk;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/zh-mo.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/zh-mo.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Chinese (Macau) [zh-mo]
  //! author : Ben : https://github.com/ben-lin
  //! author : Chris Lam : https://github.com/hehachris
  //! author : Tan Yuanhong : https://github.com/le0tan
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var zhMo = moment.defineLocale('zh-mo', {
          months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
              '_'
          ),
          monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
              '_'
          ),
          weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
          weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
          weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'DD/MM/YYYY',
              LL: 'YYYY年M月D日',
              LLL: 'YYYY年M月D日 HH:mm',
              LLLL: 'YYYY年M月D日dddd HH:mm',
              l: 'D/M/YYYY',
              ll: 'YYYY年M月D日',
              lll: 'YYYY年M月D日 HH:mm',
              llll: 'YYYY年M月D日dddd HH:mm',
          },
          meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
                  return hour;
              } else if (meridiem === '中午') {
                  return hour >= 11 ? hour : hour + 12;
              } else if (meridiem === '下午' || meridiem === '晚上') {
                  return hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              var hm = hour * 100 + minute;
              if (hm < 600) {
                  return '凌晨';
              } else if (hm < 900) {
                  return '早上';
              } else if (hm < 1130) {
                  return '上午';
              } else if (hm < 1230) {
                  return '中午';
              } else if (hm < 1800) {
                  return '下午';
              } else {
                  return '晚上';
              }
          },
          calendar: {
              sameDay: '[今天] LT',
              nextDay: '[明天] LT',
              nextWeek: '[下]dddd LT',
              lastDay: '[昨天] LT',
              lastWeek: '[上]dddd LT',
              sameElse: 'L',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
          ordinal: function (number, period) {
              switch (period) {
                  case 'd':
                  case 'D':
                  case 'DDD':
                      return number + '日';
                  case 'M':
                      return number + '月';
                  case 'w':
                  case 'W':
                      return number + '週';
                  default:
                      return number;
              }
          },
          relativeTime: {
              future: '%s內',
              past: '%s前',
              s: '幾秒',
              ss: '%d 秒',
              m: '1 分鐘',
              mm: '%d 分鐘',
              h: '1 小時',
              hh: '%d 小時',
              d: '1 天',
              dd: '%d 天',
              M: '1 個月',
              MM: '%d 個月',
              y: '1 年',
              yy: '%d 年',
          },
      });
  
      return zhMo;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale/zh-tw.js":
  /*!*********************************************!*\
    !*** ./node_modules/moment/locale/zh-tw.js ***!
    \*********************************************/
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
  
  //! moment.js locale configuration
  //! locale : Chinese (Taiwan) [zh-tw]
  //! author : Ben : https://github.com/ben-lin
  //! author : Chris Lam : https://github.com/hehachris
  
  ;(function (global, factory) {
      true ? factory(__webpack_require__(/*! ../moment */ "./node_modules/moment/moment.js")) :
     0
  }(this, (function (moment) { 'use strict';
  
      //! moment.js locale configuration
  
      var zhTw = moment.defineLocale('zh-tw', {
          months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
              '_'
          ),
          monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
              '_'
          ),
          weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
          weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
          weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
          longDateFormat: {
              LT: 'HH:mm',
              LTS: 'HH:mm:ss',
              L: 'YYYY/MM/DD',
              LL: 'YYYY年M月D日',
              LLL: 'YYYY年M月D日 HH:mm',
              LLLL: 'YYYY年M月D日dddd HH:mm',
              l: 'YYYY/M/D',
              ll: 'YYYY年M月D日',
              lll: 'YYYY年M月D日 HH:mm',
              llll: 'YYYY年M月D日dddd HH:mm',
          },
          meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
          meridiemHour: function (hour, meridiem) {
              if (hour === 12) {
                  hour = 0;
              }
              if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
                  return hour;
              } else if (meridiem === '中午') {
                  return hour >= 11 ? hour : hour + 12;
              } else if (meridiem === '下午' || meridiem === '晚上') {
                  return hour + 12;
              }
          },
          meridiem: function (hour, minute, isLower) {
              var hm = hour * 100 + minute;
              if (hm < 600) {
                  return '凌晨';
              } else if (hm < 900) {
                  return '早上';
              } else if (hm < 1130) {
                  return '上午';
              } else if (hm < 1230) {
                  return '中午';
              } else if (hm < 1800) {
                  return '下午';
              } else {
                  return '晚上';
              }
          },
          calendar: {
              sameDay: '[今天] LT',
              nextDay: '[明天] LT',
              nextWeek: '[下]dddd LT',
              lastDay: '[昨天] LT',
              lastWeek: '[上]dddd LT',
              sameElse: 'L',
          },
          dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
          ordinal: function (number, period) {
              switch (period) {
                  case 'd':
                  case 'D':
                  case 'DDD':
                      return number + '日';
                  case 'M':
                      return number + '月';
                  case 'w':
                  case 'W':
                      return number + '週';
                  default:
                      return number;
              }
          },
          relativeTime: {
              future: '%s後',
              past: '%s前',
              s: '幾秒',
              ss: '%d 秒',
              m: '1 分鐘',
              mm: '%d 分鐘',
              h: '1 小時',
              hh: '%d 小時',
              d: '1 天',
              dd: '%d 天',
              M: '1 個月',
              MM: '%d 個月',
              y: '1 年',
              yy: '%d 年',
          },
      });
  
      return zhTw;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/moment/locale sync recursive ^\\.\\/.*$":
  /*!***************************************************!*\
    !*** ./node_modules/moment/locale/ sync ^\.\/.*$ ***!
    \***************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var map = {
  	"./af": "./node_modules/moment/locale/af.js",
  	"./af.js": "./node_modules/moment/locale/af.js",
  	"./ar": "./node_modules/moment/locale/ar.js",
  	"./ar-dz": "./node_modules/moment/locale/ar-dz.js",
  	"./ar-dz.js": "./node_modules/moment/locale/ar-dz.js",
  	"./ar-kw": "./node_modules/moment/locale/ar-kw.js",
  	"./ar-kw.js": "./node_modules/moment/locale/ar-kw.js",
  	"./ar-ly": "./node_modules/moment/locale/ar-ly.js",
  	"./ar-ly.js": "./node_modules/moment/locale/ar-ly.js",
  	"./ar-ma": "./node_modules/moment/locale/ar-ma.js",
  	"./ar-ma.js": "./node_modules/moment/locale/ar-ma.js",
  	"./ar-sa": "./node_modules/moment/locale/ar-sa.js",
  	"./ar-sa.js": "./node_modules/moment/locale/ar-sa.js",
  	"./ar-tn": "./node_modules/moment/locale/ar-tn.js",
  	"./ar-tn.js": "./node_modules/moment/locale/ar-tn.js",
  	"./ar.js": "./node_modules/moment/locale/ar.js",
  	"./az": "./node_modules/moment/locale/az.js",
  	"./az.js": "./node_modules/moment/locale/az.js",
  	"./be": "./node_modules/moment/locale/be.js",
  	"./be.js": "./node_modules/moment/locale/be.js",
  	"./bg": "./node_modules/moment/locale/bg.js",
  	"./bg.js": "./node_modules/moment/locale/bg.js",
  	"./bm": "./node_modules/moment/locale/bm.js",
  	"./bm.js": "./node_modules/moment/locale/bm.js",
  	"./bn": "./node_modules/moment/locale/bn.js",
  	"./bn-bd": "./node_modules/moment/locale/bn-bd.js",
  	"./bn-bd.js": "./node_modules/moment/locale/bn-bd.js",
  	"./bn.js": "./node_modules/moment/locale/bn.js",
  	"./bo": "./node_modules/moment/locale/bo.js",
  	"./bo.js": "./node_modules/moment/locale/bo.js",
  	"./br": "./node_modules/moment/locale/br.js",
  	"./br.js": "./node_modules/moment/locale/br.js",
  	"./bs": "./node_modules/moment/locale/bs.js",
  	"./bs.js": "./node_modules/moment/locale/bs.js",
  	"./ca": "./node_modules/moment/locale/ca.js",
  	"./ca.js": "./node_modules/moment/locale/ca.js",
  	"./cs": "./node_modules/moment/locale/cs.js",
  	"./cs.js": "./node_modules/moment/locale/cs.js",
  	"./cv": "./node_modules/moment/locale/cv.js",
  	"./cv.js": "./node_modules/moment/locale/cv.js",
  	"./cy": "./node_modules/moment/locale/cy.js",
  	"./cy.js": "./node_modules/moment/locale/cy.js",
  	"./da": "./node_modules/moment/locale/da.js",
  	"./da.js": "./node_modules/moment/locale/da.js",
  	"./de": "./node_modules/moment/locale/de.js",
  	"./de-at": "./node_modules/moment/locale/de-at.js",
  	"./de-at.js": "./node_modules/moment/locale/de-at.js",
  	"./de-ch": "./node_modules/moment/locale/de-ch.js",
  	"./de-ch.js": "./node_modules/moment/locale/de-ch.js",
  	"./de.js": "./node_modules/moment/locale/de.js",
  	"./dv": "./node_modules/moment/locale/dv.js",
  	"./dv.js": "./node_modules/moment/locale/dv.js",
  	"./el": "./node_modules/moment/locale/el.js",
  	"./el.js": "./node_modules/moment/locale/el.js",
  	"./en-au": "./node_modules/moment/locale/en-au.js",
  	"./en-au.js": "./node_modules/moment/locale/en-au.js",
  	"./en-ca": "./node_modules/moment/locale/en-ca.js",
  	"./en-ca.js": "./node_modules/moment/locale/en-ca.js",
  	"./en-gb": "./node_modules/moment/locale/en-gb.js",
  	"./en-gb.js": "./node_modules/moment/locale/en-gb.js",
  	"./en-ie": "./node_modules/moment/locale/en-ie.js",
  	"./en-ie.js": "./node_modules/moment/locale/en-ie.js",
  	"./en-il": "./node_modules/moment/locale/en-il.js",
  	"./en-il.js": "./node_modules/moment/locale/en-il.js",
  	"./en-in": "./node_modules/moment/locale/en-in.js",
  	"./en-in.js": "./node_modules/moment/locale/en-in.js",
  	"./en-nz": "./node_modules/moment/locale/en-nz.js",
  	"./en-nz.js": "./node_modules/moment/locale/en-nz.js",
  	"./en-sg": "./node_modules/moment/locale/en-sg.js",
  	"./en-sg.js": "./node_modules/moment/locale/en-sg.js",
  	"./eo": "./node_modules/moment/locale/eo.js",
  	"./eo.js": "./node_modules/moment/locale/eo.js",
  	"./es": "./node_modules/moment/locale/es.js",
  	"./es-do": "./node_modules/moment/locale/es-do.js",
  	"./es-do.js": "./node_modules/moment/locale/es-do.js",
  	"./es-mx": "./node_modules/moment/locale/es-mx.js",
  	"./es-mx.js": "./node_modules/moment/locale/es-mx.js",
  	"./es-us": "./node_modules/moment/locale/es-us.js",
  	"./es-us.js": "./node_modules/moment/locale/es-us.js",
  	"./es.js": "./node_modules/moment/locale/es.js",
  	"./et": "./node_modules/moment/locale/et.js",
  	"./et.js": "./node_modules/moment/locale/et.js",
  	"./eu": "./node_modules/moment/locale/eu.js",
  	"./eu.js": "./node_modules/moment/locale/eu.js",
  	"./fa": "./node_modules/moment/locale/fa.js",
  	"./fa.js": "./node_modules/moment/locale/fa.js",
  	"./fi": "./node_modules/moment/locale/fi.js",
  	"./fi.js": "./node_modules/moment/locale/fi.js",
  	"./fil": "./node_modules/moment/locale/fil.js",
  	"./fil.js": "./node_modules/moment/locale/fil.js",
  	"./fo": "./node_modules/moment/locale/fo.js",
  	"./fo.js": "./node_modules/moment/locale/fo.js",
  	"./fr": "./node_modules/moment/locale/fr.js",
  	"./fr-ca": "./node_modules/moment/locale/fr-ca.js",
  	"./fr-ca.js": "./node_modules/moment/locale/fr-ca.js",
  	"./fr-ch": "./node_modules/moment/locale/fr-ch.js",
  	"./fr-ch.js": "./node_modules/moment/locale/fr-ch.js",
  	"./fr.js": "./node_modules/moment/locale/fr.js",
  	"./fy": "./node_modules/moment/locale/fy.js",
  	"./fy.js": "./node_modules/moment/locale/fy.js",
  	"./ga": "./node_modules/moment/locale/ga.js",
  	"./ga.js": "./node_modules/moment/locale/ga.js",
  	"./gd": "./node_modules/moment/locale/gd.js",
  	"./gd.js": "./node_modules/moment/locale/gd.js",
  	"./gl": "./node_modules/moment/locale/gl.js",
  	"./gl.js": "./node_modules/moment/locale/gl.js",
  	"./gom-deva": "./node_modules/moment/locale/gom-deva.js",
  	"./gom-deva.js": "./node_modules/moment/locale/gom-deva.js",
  	"./gom-latn": "./node_modules/moment/locale/gom-latn.js",
  	"./gom-latn.js": "./node_modules/moment/locale/gom-latn.js",
  	"./gu": "./node_modules/moment/locale/gu.js",
  	"./gu.js": "./node_modules/moment/locale/gu.js",
  	"./he": "./node_modules/moment/locale/he.js",
  	"./he.js": "./node_modules/moment/locale/he.js",
  	"./hi": "./node_modules/moment/locale/hi.js",
  	"./hi.js": "./node_modules/moment/locale/hi.js",
  	"./hr": "./node_modules/moment/locale/hr.js",
  	"./hr.js": "./node_modules/moment/locale/hr.js",
  	"./hu": "./node_modules/moment/locale/hu.js",
  	"./hu.js": "./node_modules/moment/locale/hu.js",
  	"./hy-am": "./node_modules/moment/locale/hy-am.js",
  	"./hy-am.js": "./node_modules/moment/locale/hy-am.js",
  	"./id": "./node_modules/moment/locale/id.js",
  	"./id.js": "./node_modules/moment/locale/id.js",
  	"./is": "./node_modules/moment/locale/is.js",
  	"./is.js": "./node_modules/moment/locale/is.js",
  	"./it": "./node_modules/moment/locale/it.js",
  	"./it-ch": "./node_modules/moment/locale/it-ch.js",
  	"./it-ch.js": "./node_modules/moment/locale/it-ch.js",
  	"./it.js": "./node_modules/moment/locale/it.js",
  	"./ja": "./node_modules/moment/locale/ja.js",
  	"./ja.js": "./node_modules/moment/locale/ja.js",
  	"./jv": "./node_modules/moment/locale/jv.js",
  	"./jv.js": "./node_modules/moment/locale/jv.js",
  	"./ka": "./node_modules/moment/locale/ka.js",
  	"./ka.js": "./node_modules/moment/locale/ka.js",
  	"./kk": "./node_modules/moment/locale/kk.js",
  	"./kk.js": "./node_modules/moment/locale/kk.js",
  	"./km": "./node_modules/moment/locale/km.js",
  	"./km.js": "./node_modules/moment/locale/km.js",
  	"./kn": "./node_modules/moment/locale/kn.js",
  	"./kn.js": "./node_modules/moment/locale/kn.js",
  	"./ko": "./node_modules/moment/locale/ko.js",
  	"./ko.js": "./node_modules/moment/locale/ko.js",
  	"./ku": "./node_modules/moment/locale/ku.js",
  	"./ku.js": "./node_modules/moment/locale/ku.js",
  	"./ky": "./node_modules/moment/locale/ky.js",
  	"./ky.js": "./node_modules/moment/locale/ky.js",
  	"./lb": "./node_modules/moment/locale/lb.js",
  	"./lb.js": "./node_modules/moment/locale/lb.js",
  	"./lo": "./node_modules/moment/locale/lo.js",
  	"./lo.js": "./node_modules/moment/locale/lo.js",
  	"./lt": "./node_modules/moment/locale/lt.js",
  	"./lt.js": "./node_modules/moment/locale/lt.js",
  	"./lv": "./node_modules/moment/locale/lv.js",
  	"./lv.js": "./node_modules/moment/locale/lv.js",
  	"./me": "./node_modules/moment/locale/me.js",
  	"./me.js": "./node_modules/moment/locale/me.js",
  	"./mi": "./node_modules/moment/locale/mi.js",
  	"./mi.js": "./node_modules/moment/locale/mi.js",
  	"./mk": "./node_modules/moment/locale/mk.js",
  	"./mk.js": "./node_modules/moment/locale/mk.js",
  	"./ml": "./node_modules/moment/locale/ml.js",
  	"./ml.js": "./node_modules/moment/locale/ml.js",
  	"./mn": "./node_modules/moment/locale/mn.js",
  	"./mn.js": "./node_modules/moment/locale/mn.js",
  	"./mr": "./node_modules/moment/locale/mr.js",
  	"./mr.js": "./node_modules/moment/locale/mr.js",
  	"./ms": "./node_modules/moment/locale/ms.js",
  	"./ms-my": "./node_modules/moment/locale/ms-my.js",
  	"./ms-my.js": "./node_modules/moment/locale/ms-my.js",
  	"./ms.js": "./node_modules/moment/locale/ms.js",
  	"./mt": "./node_modules/moment/locale/mt.js",
  	"./mt.js": "./node_modules/moment/locale/mt.js",
  	"./my": "./node_modules/moment/locale/my.js",
  	"./my.js": "./node_modules/moment/locale/my.js",
  	"./nb": "./node_modules/moment/locale/nb.js",
  	"./nb.js": "./node_modules/moment/locale/nb.js",
  	"./ne": "./node_modules/moment/locale/ne.js",
  	"./ne.js": "./node_modules/moment/locale/ne.js",
  	"./nl": "./node_modules/moment/locale/nl.js",
  	"./nl-be": "./node_modules/moment/locale/nl-be.js",
  	"./nl-be.js": "./node_modules/moment/locale/nl-be.js",
  	"./nl.js": "./node_modules/moment/locale/nl.js",
  	"./nn": "./node_modules/moment/locale/nn.js",
  	"./nn.js": "./node_modules/moment/locale/nn.js",
  	"./oc-lnc": "./node_modules/moment/locale/oc-lnc.js",
  	"./oc-lnc.js": "./node_modules/moment/locale/oc-lnc.js",
  	"./pa-in": "./node_modules/moment/locale/pa-in.js",
  	"./pa-in.js": "./node_modules/moment/locale/pa-in.js",
  	"./pl": "./node_modules/moment/locale/pl.js",
  	"./pl.js": "./node_modules/moment/locale/pl.js",
  	"./pt": "./node_modules/moment/locale/pt.js",
  	"./pt-br": "./node_modules/moment/locale/pt-br.js",
  	"./pt-br.js": "./node_modules/moment/locale/pt-br.js",
  	"./pt.js": "./node_modules/moment/locale/pt.js",
  	"./ro": "./node_modules/moment/locale/ro.js",
  	"./ro.js": "./node_modules/moment/locale/ro.js",
  	"./ru": "./node_modules/moment/locale/ru.js",
  	"./ru.js": "./node_modules/moment/locale/ru.js",
  	"./sd": "./node_modules/moment/locale/sd.js",
  	"./sd.js": "./node_modules/moment/locale/sd.js",
  	"./se": "./node_modules/moment/locale/se.js",
  	"./se.js": "./node_modules/moment/locale/se.js",
  	"./si": "./node_modules/moment/locale/si.js",
  	"./si.js": "./node_modules/moment/locale/si.js",
  	"./sk": "./node_modules/moment/locale/sk.js",
  	"./sk.js": "./node_modules/moment/locale/sk.js",
  	"./sl": "./node_modules/moment/locale/sl.js",
  	"./sl.js": "./node_modules/moment/locale/sl.js",
  	"./sq": "./node_modules/moment/locale/sq.js",
  	"./sq.js": "./node_modules/moment/locale/sq.js",
  	"./sr": "./node_modules/moment/locale/sr.js",
  	"./sr-cyrl": "./node_modules/moment/locale/sr-cyrl.js",
  	"./sr-cyrl.js": "./node_modules/moment/locale/sr-cyrl.js",
  	"./sr.js": "./node_modules/moment/locale/sr.js",
  	"./ss": "./node_modules/moment/locale/ss.js",
  	"./ss.js": "./node_modules/moment/locale/ss.js",
  	"./sv": "./node_modules/moment/locale/sv.js",
  	"./sv.js": "./node_modules/moment/locale/sv.js",
  	"./sw": "./node_modules/moment/locale/sw.js",
  	"./sw.js": "./node_modules/moment/locale/sw.js",
  	"./ta": "./node_modules/moment/locale/ta.js",
  	"./ta.js": "./node_modules/moment/locale/ta.js",
  	"./te": "./node_modules/moment/locale/te.js",
  	"./te.js": "./node_modules/moment/locale/te.js",
  	"./tet": "./node_modules/moment/locale/tet.js",
  	"./tet.js": "./node_modules/moment/locale/tet.js",
  	"./tg": "./node_modules/moment/locale/tg.js",
  	"./tg.js": "./node_modules/moment/locale/tg.js",
  	"./th": "./node_modules/moment/locale/th.js",
  	"./th.js": "./node_modules/moment/locale/th.js",
  	"./tk": "./node_modules/moment/locale/tk.js",
  	"./tk.js": "./node_modules/moment/locale/tk.js",
  	"./tl-ph": "./node_modules/moment/locale/tl-ph.js",
  	"./tl-ph.js": "./node_modules/moment/locale/tl-ph.js",
  	"./tlh": "./node_modules/moment/locale/tlh.js",
  	"./tlh.js": "./node_modules/moment/locale/tlh.js",
  	"./tr": "./node_modules/moment/locale/tr.js",
  	"./tr.js": "./node_modules/moment/locale/tr.js",
  	"./tzl": "./node_modules/moment/locale/tzl.js",
  	"./tzl.js": "./node_modules/moment/locale/tzl.js",
  	"./tzm": "./node_modules/moment/locale/tzm.js",
  	"./tzm-latn": "./node_modules/moment/locale/tzm-latn.js",
  	"./tzm-latn.js": "./node_modules/moment/locale/tzm-latn.js",
  	"./tzm.js": "./node_modules/moment/locale/tzm.js",
  	"./ug-cn": "./node_modules/moment/locale/ug-cn.js",
  	"./ug-cn.js": "./node_modules/moment/locale/ug-cn.js",
  	"./uk": "./node_modules/moment/locale/uk.js",
  	"./uk.js": "./node_modules/moment/locale/uk.js",
  	"./ur": "./node_modules/moment/locale/ur.js",
  	"./ur.js": "./node_modules/moment/locale/ur.js",
  	"./uz": "./node_modules/moment/locale/uz.js",
  	"./uz-latn": "./node_modules/moment/locale/uz-latn.js",
  	"./uz-latn.js": "./node_modules/moment/locale/uz-latn.js",
  	"./uz.js": "./node_modules/moment/locale/uz.js",
  	"./vi": "./node_modules/moment/locale/vi.js",
  	"./vi.js": "./node_modules/moment/locale/vi.js",
  	"./x-pseudo": "./node_modules/moment/locale/x-pseudo.js",
  	"./x-pseudo.js": "./node_modules/moment/locale/x-pseudo.js",
  	"./yo": "./node_modules/moment/locale/yo.js",
  	"./yo.js": "./node_modules/moment/locale/yo.js",
  	"./zh-cn": "./node_modules/moment/locale/zh-cn.js",
  	"./zh-cn.js": "./node_modules/moment/locale/zh-cn.js",
  	"./zh-hk": "./node_modules/moment/locale/zh-hk.js",
  	"./zh-hk.js": "./node_modules/moment/locale/zh-hk.js",
  	"./zh-mo": "./node_modules/moment/locale/zh-mo.js",
  	"./zh-mo.js": "./node_modules/moment/locale/zh-mo.js",
  	"./zh-tw": "./node_modules/moment/locale/zh-tw.js",
  	"./zh-tw.js": "./node_modules/moment/locale/zh-tw.js"
  };
  
  
  function webpackContext(req) {
  	var id = webpackContextResolve(req);
  	return __webpack_require__(id);
  }
  function webpackContextResolve(req) {
  	if(!__webpack_require__.o(map, req)) {
  		var e = new Error("Cannot find module '" + req + "'");
  		e.code = 'MODULE_NOT_FOUND';
  		throw e;
  	}
  	return map[req];
  }
  webpackContext.keys = function webpackContextKeys() {
  	return Object.keys(map);
  };
  webpackContext.resolve = webpackContextResolve;
  module.exports = webpackContext;
  webpackContext.id = "./node_modules/moment/locale sync recursive ^\\.\\/.*$";
  
  /***/ }),
  
  /***/ "./node_modules/moment/moment.js":
  /*!***************************************!*\
    !*** ./node_modules/moment/moment.js ***!
    \***************************************/
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
  
  /* module decorator */ module = __webpack_require__.nmd(module);
  //! moment.js
  //! version : 2.29.1
  //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
  //! license : MIT
  //! momentjs.com
  
  ;(function (global, factory) {
       true ? module.exports = factory() :
      0
  }(this, (function () { 'use strict';
  
      var hookCallback;
  
      function hooks() {
          return hookCallback.apply(null, arguments);
      }
  
      // This is done to register the method called with moment()
      // without creating circular dependencies.
      function setHookCallback(callback) {
          hookCallback = callback;
      }
  
      function isArray(input) {
          return (
              input instanceof Array ||
              Object.prototype.toString.call(input) === '[object Array]'
          );
      }
  
      function isObject(input) {
          // IE8 will treat undefined and null as object if it wasn't for
          // input != null
          return (
              input != null &&
              Object.prototype.toString.call(input) === '[object Object]'
          );
      }
  
      function hasOwnProp(a, b) {
          return Object.prototype.hasOwnProperty.call(a, b);
      }
  
      function isObjectEmpty(obj) {
          if (Object.getOwnPropertyNames) {
              return Object.getOwnPropertyNames(obj).length === 0;
          } else {
              var k;
              for (k in obj) {
                  if (hasOwnProp(obj, k)) {
                      return false;
                  }
              }
              return true;
          }
      }
  
      function isUndefined(input) {
          return input === void 0;
      }
  
      function isNumber(input) {
          return (
              typeof input === 'number' ||
              Object.prototype.toString.call(input) === '[object Number]'
          );
      }
  
      function isDate(input) {
          return (
              input instanceof Date ||
              Object.prototype.toString.call(input) === '[object Date]'
          );
      }
  
      function map(arr, fn) {
          var res = [],
              i;
          for (i = 0; i < arr.length; ++i) {
              res.push(fn(arr[i], i));
          }
          return res;
      }
  
      function extend(a, b) {
          for (var i in b) {
              if (hasOwnProp(b, i)) {
                  a[i] = b[i];
              }
          }
  
          if (hasOwnProp(b, 'toString')) {
              a.toString = b.toString;
          }
  
          if (hasOwnProp(b, 'valueOf')) {
              a.valueOf = b.valueOf;
          }
  
          return a;
      }
  
      function createUTC(input, format, locale, strict) {
          return createLocalOrUTC(input, format, locale, strict, true).utc();
      }
  
      function defaultParsingFlags() {
          // We need to deep clone this object.
          return {
              empty: false,
              unusedTokens: [],
              unusedInput: [],
              overflow: -2,
              charsLeftOver: 0,
              nullInput: false,
              invalidEra: null,
              invalidMonth: null,
              invalidFormat: false,
              userInvalidated: false,
              iso: false,
              parsedDateParts: [],
              era: null,
              meridiem: null,
              rfc2822: false,
              weekdayMismatch: false,
          };
      }
  
      function getParsingFlags(m) {
          if (m._pf == null) {
              m._pf = defaultParsingFlags();
          }
          return m._pf;
      }
  
      var some;
      if (Array.prototype.some) {
          some = Array.prototype.some;
      } else {
          some = function (fun) {
              var t = Object(this),
                  len = t.length >>> 0,
                  i;
  
              for (i = 0; i < len; i++) {
                  if (i in t && fun.call(this, t[i], i, t)) {
                      return true;
                  }
              }
  
              return false;
          };
      }
  
      function isValid(m) {
          if (m._isValid == null) {
              var flags = getParsingFlags(m),
                  parsedParts = some.call(flags.parsedDateParts, function (i) {
                      return i != null;
                  }),
                  isNowValid =
                      !isNaN(m._d.getTime()) &&
                      flags.overflow < 0 &&
                      !flags.empty &&
                      !flags.invalidEra &&
                      !flags.invalidMonth &&
                      !flags.invalidWeekday &&
                      !flags.weekdayMismatch &&
                      !flags.nullInput &&
                      !flags.invalidFormat &&
                      !flags.userInvalidated &&
                      (!flags.meridiem || (flags.meridiem && parsedParts));
  
              if (m._strict) {
                  isNowValid =
                      isNowValid &&
                      flags.charsLeftOver === 0 &&
                      flags.unusedTokens.length === 0 &&
                      flags.bigHour === undefined;
              }
  
              if (Object.isFrozen == null || !Object.isFrozen(m)) {
                  m._isValid = isNowValid;
              } else {
                  return isNowValid;
              }
          }
          return m._isValid;
      }
  
      function createInvalid(flags) {
          var m = createUTC(NaN);
          if (flags != null) {
              extend(getParsingFlags(m), flags);
          } else {
              getParsingFlags(m).userInvalidated = true;
          }
  
          return m;
      }
  
      // Plugins that add properties should also add the key here (null value),
      // so we can properly clone ourselves.
      var momentProperties = (hooks.momentProperties = []),
          updateInProgress = false;
  
      function copyConfig(to, from) {
          var i, prop, val;
  
          if (!isUndefined(from._isAMomentObject)) {
              to._isAMomentObject = from._isAMomentObject;
          }
          if (!isUndefined(from._i)) {
              to._i = from._i;
          }
          if (!isUndefined(from._f)) {
              to._f = from._f;
          }
          if (!isUndefined(from._l)) {
              to._l = from._l;
          }
          if (!isUndefined(from._strict)) {
              to._strict = from._strict;
          }
          if (!isUndefined(from._tzm)) {
              to._tzm = from._tzm;
          }
          if (!isUndefined(from._isUTC)) {
              to._isUTC = from._isUTC;
          }
          if (!isUndefined(from._offset)) {
              to._offset = from._offset;
          }
          if (!isUndefined(from._pf)) {
              to._pf = getParsingFlags(from);
          }
          if (!isUndefined(from._locale)) {
              to._locale = from._locale;
          }
  
          if (momentProperties.length > 0) {
              for (i = 0; i < momentProperties.length; i++) {
                  prop = momentProperties[i];
                  val = from[prop];
                  if (!isUndefined(val)) {
                      to[prop] = val;
                  }
              }
          }
  
          return to;
      }
  
      // Moment prototype object
      function Moment(config) {
          copyConfig(this, config);
          this._d = new Date(config._d != null ? config._d.getTime() : NaN);
          if (!this.isValid()) {
              this._d = new Date(NaN);
          }
          // Prevent infinite loop in case updateOffset creates new moment
          // objects.
          if (updateInProgress === false) {
              updateInProgress = true;
              hooks.updateOffset(this);
              updateInProgress = false;
          }
      }
  
      function isMoment(obj) {
          return (
              obj instanceof Moment || (obj != null && obj._isAMomentObject != null)
          );
      }
  
      function warn(msg) {
          if (
              hooks.suppressDeprecationWarnings === false &&
              typeof console !== 'undefined' &&
              console.warn
          ) {
              console.warn('Deprecation warning: ' + msg);
          }
      }
  
      function deprecate(msg, fn) {
          var firstTime = true;
  
          return extend(function () {
              if (hooks.deprecationHandler != null) {
                  hooks.deprecationHandler(null, msg);
              }
              if (firstTime) {
                  var args = [],
                      arg,
                      i,
                      key;
                  for (i = 0; i < arguments.length; i++) {
                      arg = '';
                      if (typeof arguments[i] === 'object') {
                          arg += '\n[' + i + '] ';
                          for (key in arguments[0]) {
                              if (hasOwnProp(arguments[0], key)) {
                                  arg += key + ': ' + arguments[0][key] + ', ';
                              }
                          }
                          arg = arg.slice(0, -2); // Remove trailing comma and space
                      } else {
                          arg = arguments[i];
                      }
                      args.push(arg);
                  }
                  warn(
                      msg +
                          '\nArguments: ' +
                          Array.prototype.slice.call(args).join('') +
                          '\n' +
                          new Error().stack
                  );
                  firstTime = false;
              }
              return fn.apply(this, arguments);
          }, fn);
      }
  
      var deprecations = {};
  
      function deprecateSimple(name, msg) {
          if (hooks.deprecationHandler != null) {
              hooks.deprecationHandler(name, msg);
          }
          if (!deprecations[name]) {
              warn(msg);
              deprecations[name] = true;
          }
      }
  
      hooks.suppressDeprecationWarnings = false;
      hooks.deprecationHandler = null;
  
      function isFunction(input) {
          return (
              (typeof Function !== 'undefined' && input instanceof Function) ||
              Object.prototype.toString.call(input) === '[object Function]'
          );
      }
  
      function set(config) {
          var prop, i;
          for (i in config) {
              if (hasOwnProp(config, i)) {
                  prop = config[i];
                  if (isFunction(prop)) {
                      this[i] = prop;
                  } else {
                      this['_' + i] = prop;
                  }
              }
          }
          this._config = config;
          // Lenient ordinal parsing accepts just a number in addition to
          // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
          // TODO: Remove "ordinalParse" fallback in next major release.
          this._dayOfMonthOrdinalParseLenient = new RegExp(
              (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
                  '|' +
                  /\d{1,2}/.source
          );
      }
  
      function mergeConfigs(parentConfig, childConfig) {
          var res = extend({}, parentConfig),
              prop;
          for (prop in childConfig) {
              if (hasOwnProp(childConfig, prop)) {
                  if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
                      res[prop] = {};
                      extend(res[prop], parentConfig[prop]);
                      extend(res[prop], childConfig[prop]);
                  } else if (childConfig[prop] != null) {
                      res[prop] = childConfig[prop];
                  } else {
                      delete res[prop];
                  }
              }
          }
          for (prop in parentConfig) {
              if (
                  hasOwnProp(parentConfig, prop) &&
                  !hasOwnProp(childConfig, prop) &&
                  isObject(parentConfig[prop])
              ) {
                  // make sure changes to properties don't modify parent config
                  res[prop] = extend({}, res[prop]);
              }
          }
          return res;
      }
  
      function Locale(config) {
          if (config != null) {
              this.set(config);
          }
      }
  
      var keys;
  
      if (Object.keys) {
          keys = Object.keys;
      } else {
          keys = function (obj) {
              var i,
                  res = [];
              for (i in obj) {
                  if (hasOwnProp(obj, i)) {
                      res.push(i);
                  }
              }
              return res;
          };
      }
  
      var defaultCalendar = {
          sameDay: '[Today at] LT',
          nextDay: '[Tomorrow at] LT',
          nextWeek: 'dddd [at] LT',
          lastDay: '[Yesterday at] LT',
          lastWeek: '[Last] dddd [at] LT',
          sameElse: 'L',
      };
  
      function calendar(key, mom, now) {
          var output = this._calendar[key] || this._calendar['sameElse'];
          return isFunction(output) ? output.call(mom, now) : output;
      }
  
      function zeroFill(number, targetLength, forceSign) {
          var absNumber = '' + Math.abs(number),
              zerosToFill = targetLength - absNumber.length,
              sign = number >= 0;
          return (
              (sign ? (forceSign ? '+' : '') : '-') +
              Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +
              absNumber
          );
      }
  
      var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,
          localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
          formatFunctions = {},
          formatTokenFunctions = {};
  
      // token:    'M'
      // padded:   ['MM', 2]
      // ordinal:  'Mo'
      // callback: function () { this.month() + 1 }
      function addFormatToken(token, padded, ordinal, callback) {
          var func = callback;
          if (typeof callback === 'string') {
              func = function () {
                  return this[callback]();
              };
          }
          if (token) {
              formatTokenFunctions[token] = func;
          }
          if (padded) {
              formatTokenFunctions[padded[0]] = function () {
                  return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
              };
          }
          if (ordinal) {
              formatTokenFunctions[ordinal] = function () {
                  return this.localeData().ordinal(
                      func.apply(this, arguments),
                      token
                  );
              };
          }
      }
  
      function removeFormattingTokens(input) {
          if (input.match(/\[[\s\S]/)) {
              return input.replace(/^\[|\]$/g, '');
          }
          return input.replace(/\\/g, '');
      }
  
      function makeFormatFunction(format) {
          var array = format.match(formattingTokens),
              i,
              length;
  
          for (i = 0, length = array.length; i < length; i++) {
              if (formatTokenFunctions[array[i]]) {
                  array[i] = formatTokenFunctions[array[i]];
              } else {
                  array[i] = removeFormattingTokens(array[i]);
              }
          }
  
          return function (mom) {
              var output = '',
                  i;
              for (i = 0; i < length; i++) {
                  output += isFunction(array[i])
                      ? array[i].call(mom, format)
                      : array[i];
              }
              return output;
          };
      }
  
      // format date using native date object
      function formatMoment(m, format) {
          if (!m.isValid()) {
              return m.localeData().invalidDate();
          }
  
          format = expandFormat(format, m.localeData());
          formatFunctions[format] =
              formatFunctions[format] || makeFormatFunction(format);
  
          return formatFunctions[format](m);
      }
  
      function expandFormat(format, locale) {
          var i = 5;
  
          function replaceLongDateFormatTokens(input) {
              return locale.longDateFormat(input) || input;
          }
  
          localFormattingTokens.lastIndex = 0;
          while (i >= 0 && localFormattingTokens.test(format)) {
              format = format.replace(
                  localFormattingTokens,
                  replaceLongDateFormatTokens
              );
              localFormattingTokens.lastIndex = 0;
              i -= 1;
          }
  
          return format;
      }
  
      var defaultLongDateFormat = {
          LTS: 'h:mm:ss A',
          LT: 'h:mm A',
          L: 'MM/DD/YYYY',
          LL: 'MMMM D, YYYY',
          LLL: 'MMMM D, YYYY h:mm A',
          LLLL: 'dddd, MMMM D, YYYY h:mm A',
      };
  
      function longDateFormat(key) {
          var format = this._longDateFormat[key],
              formatUpper = this._longDateFormat[key.toUpperCase()];
  
          if (format || !formatUpper) {
              return format;
          }
  
          this._longDateFormat[key] = formatUpper
              .match(formattingTokens)
              .map(function (tok) {
                  if (
                      tok === 'MMMM' ||
                      tok === 'MM' ||
                      tok === 'DD' ||
                      tok === 'dddd'
                  ) {
                      return tok.slice(1);
                  }
                  return tok;
              })
              .join('');
  
          return this._longDateFormat[key];
      }
  
      var defaultInvalidDate = 'Invalid date';
  
      function invalidDate() {
          return this._invalidDate;
      }
  
      var defaultOrdinal = '%d',
          defaultDayOfMonthOrdinalParse = /\d{1,2}/;
  
      function ordinal(number) {
          return this._ordinal.replace('%d', number);
      }
  
      var defaultRelativeTime = {
          future: 'in %s',
          past: '%s ago',
          s: 'a few seconds',
          ss: '%d seconds',
          m: 'a minute',
          mm: '%d minutes',
          h: 'an hour',
          hh: '%d hours',
          d: 'a day',
          dd: '%d days',
          w: 'a week',
          ww: '%d weeks',
          M: 'a month',
          MM: '%d months',
          y: 'a year',
          yy: '%d years',
      };
  
      function relativeTime(number, withoutSuffix, string, isFuture) {
          var output = this._relativeTime[string];
          return isFunction(output)
              ? output(number, withoutSuffix, string, isFuture)
              : output.replace(/%d/i, number);
      }
  
      function pastFuture(diff, output) {
          var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
          return isFunction(format) ? format(output) : format.replace(/%s/i, output);
      }
  
      var aliases = {};
  
      function addUnitAlias(unit, shorthand) {
          var lowerCase = unit.toLowerCase();
          aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
      }
  
      function normalizeUnits(units) {
          return typeof units === 'string'
              ? aliases[units] || aliases[units.toLowerCase()]
              : undefined;
      }
  
      function normalizeObjectUnits(inputObject) {
          var normalizedInput = {},
              normalizedProp,
              prop;
  
          for (prop in inputObject) {
              if (hasOwnProp(inputObject, prop)) {
                  normalizedProp = normalizeUnits(prop);
                  if (normalizedProp) {
                      normalizedInput[normalizedProp] = inputObject[prop];
                  }
              }
          }
  
          return normalizedInput;
      }
  
      var priorities = {};
  
      function addUnitPriority(unit, priority) {
          priorities[unit] = priority;
      }
  
      function getPrioritizedUnits(unitsObj) {
          var units = [],
              u;
          for (u in unitsObj) {
              if (hasOwnProp(unitsObj, u)) {
                  units.push({ unit: u, priority: priorities[u] });
              }
          }
          units.sort(function (a, b) {
              return a.priority - b.priority;
          });
          return units;
      }
  
      function isLeapYear(year) {
          return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
      }
  
      function absFloor(number) {
          if (number < 0) {
              // -0 -> 0
              return Math.ceil(number) || 0;
          } else {
              return Math.floor(number);
          }
      }
  
      function toInt(argumentForCoercion) {
          var coercedNumber = +argumentForCoercion,
              value = 0;
  
          if (coercedNumber !== 0 && isFinite(coercedNumber)) {
              value = absFloor(coercedNumber);
          }
  
          return value;
      }
  
      function makeGetSet(unit, keepTime) {
          return function (value) {
              if (value != null) {
                  set$1(this, unit, value);
                  hooks.updateOffset(this, keepTime);
                  return this;
              } else {
                  return get(this, unit);
              }
          };
      }
  
      function get(mom, unit) {
          return mom.isValid()
              ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()
              : NaN;
      }
  
      function set$1(mom, unit, value) {
          if (mom.isValid() && !isNaN(value)) {
              if (
                  unit === 'FullYear' &&
                  isLeapYear(mom.year()) &&
                  mom.month() === 1 &&
                  mom.date() === 29
              ) {
                  value = toInt(value);
                  mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](
                      value,
                      mom.month(),
                      daysInMonth(value, mom.month())
                  );
              } else {
                  mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
              }
          }
      }
  
      // MOMENTS
  
      function stringGet(units) {
          units = normalizeUnits(units);
          if (isFunction(this[units])) {
              return this[units]();
          }
          return this;
      }
  
      function stringSet(units, value) {
          if (typeof units === 'object') {
              units = normalizeObjectUnits(units);
              var prioritized = getPrioritizedUnits(units),
                  i;
              for (i = 0; i < prioritized.length; i++) {
                  this[prioritized[i].unit](units[prioritized[i].unit]);
              }
          } else {
              units = normalizeUnits(units);
              if (isFunction(this[units])) {
                  return this[units](value);
              }
          }
          return this;
      }
  
      var match1 = /\d/, //       0 - 9
          match2 = /\d\d/, //      00 - 99
          match3 = /\d{3}/, //     000 - 999
          match4 = /\d{4}/, //    0000 - 9999
          match6 = /[+-]?\d{6}/, // -999999 - 999999
          match1to2 = /\d\d?/, //       0 - 99
          match3to4 = /\d\d\d\d?/, //     999 - 9999
          match5to6 = /\d\d\d\d\d\d?/, //   99999 - 999999
          match1to3 = /\d{1,3}/, //       0 - 999
          match1to4 = /\d{1,4}/, //       0 - 9999
          match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999
          matchUnsigned = /\d+/, //       0 - inf
          matchSigned = /[+-]?\d+/, //    -inf - inf
          matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z
          matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z
          matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123
          // any word (or two) characters or numbers including two/three word month in arabic.
          // includes scottish gaelic two word and hyphenated months
          matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,
          regexes;
  
      regexes = {};
  
      function addRegexToken(token, regex, strictRegex) {
          regexes[token] = isFunction(regex)
              ? regex
              : function (isStrict, localeData) {
                    return isStrict && strictRegex ? strictRegex : regex;
                };
      }
  
      function getParseRegexForToken(token, config) {
          if (!hasOwnProp(regexes, token)) {
              return new RegExp(unescapeFormat(token));
          }
  
          return regexes[token](config._strict, config._locale);
      }
  
      // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
      function unescapeFormat(s) {
          return regexEscape(
              s
                  .replace('\\', '')
                  .replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (
                      matched,
                      p1,
                      p2,
                      p3,
                      p4
                  ) {
                      return p1 || p2 || p3 || p4;
                  })
          );
      }
  
      function regexEscape(s) {
          return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
      }
  
      var tokens = {};
  
      function addParseToken(token, callback) {
          var i,
              func = callback;
          if (typeof token === 'string') {
              token = [token];
          }
          if (isNumber(callback)) {
              func = function (input, array) {
                  array[callback] = toInt(input);
              };
          }
          for (i = 0; i < token.length; i++) {
              tokens[token[i]] = func;
          }
      }
  
      function addWeekParseToken(token, callback) {
          addParseToken(token, function (input, array, config, token) {
              config._w = config._w || {};
              callback(input, config._w, config, token);
          });
      }
  
      function addTimeToArrayFromToken(token, input, config) {
          if (input != null && hasOwnProp(tokens, token)) {
              tokens[token](input, config._a, config, token);
          }
      }
  
      var YEAR = 0,
          MONTH = 1,
          DATE = 2,
          HOUR = 3,
          MINUTE = 4,
          SECOND = 5,
          MILLISECOND = 6,
          WEEK = 7,
          WEEKDAY = 8;
  
      function mod(n, x) {
          return ((n % x) + x) % x;
      }
  
      var indexOf;
  
      if (Array.prototype.indexOf) {
          indexOf = Array.prototype.indexOf;
      } else {
          indexOf = function (o) {
              // I know
              var i;
              for (i = 0; i < this.length; ++i) {
                  if (this[i] === o) {
                      return i;
                  }
              }
              return -1;
          };
      }
  
      function daysInMonth(year, month) {
          if (isNaN(year) || isNaN(month)) {
              return NaN;
          }
          var modMonth = mod(month, 12);
          year += (month - modMonth) / 12;
          return modMonth === 1
              ? isLeapYear(year)
                  ? 29
                  : 28
              : 31 - ((modMonth % 7) % 2);
      }
  
      // FORMATTING
  
      addFormatToken('M', ['MM', 2], 'Mo', function () {
          return this.month() + 1;
      });
  
      addFormatToken('MMM', 0, 0, function (format) {
          return this.localeData().monthsShort(this, format);
      });
  
      addFormatToken('MMMM', 0, 0, function (format) {
          return this.localeData().months(this, format);
      });
  
      // ALIASES
  
      addUnitAlias('month', 'M');
  
      // PRIORITY
  
      addUnitPriority('month', 8);
  
      // PARSING
  
      addRegexToken('M', match1to2);
      addRegexToken('MM', match1to2, match2);
      addRegexToken('MMM', function (isStrict, locale) {
          return locale.monthsShortRegex(isStrict);
      });
      addRegexToken('MMMM', function (isStrict, locale) {
          return locale.monthsRegex(isStrict);
      });
  
      addParseToken(['M', 'MM'], function (input, array) {
          array[MONTH] = toInt(input) - 1;
      });
  
      addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
          var month = config._locale.monthsParse(input, token, config._strict);
          // if we didn't find a month name, mark the date as invalid.
          if (month != null) {
              array[MONTH] = month;
          } else {
              getParsingFlags(config).invalidMonth = input;
          }
      });
  
      // LOCALES
  
      var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
              '_'
          ),
          defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split(
              '_'
          ),
          MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,
          defaultMonthsShortRegex = matchWord,
          defaultMonthsRegex = matchWord;
  
      function localeMonths(m, format) {
          if (!m) {
              return isArray(this._months)
                  ? this._months
                  : this._months['standalone'];
          }
          return isArray(this._months)
              ? this._months[m.month()]
              : this._months[
                    (this._months.isFormat || MONTHS_IN_FORMAT).test(format)
                        ? 'format'
                        : 'standalone'
                ][m.month()];
      }
  
      function localeMonthsShort(m, format) {
          if (!m) {
              return isArray(this._monthsShort)
                  ? this._monthsShort
                  : this._monthsShort['standalone'];
          }
          return isArray(this._monthsShort)
              ? this._monthsShort[m.month()]
              : this._monthsShort[
                    MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'
                ][m.month()];
      }
  
      function handleStrictParse(monthName, format, strict) {
          var i,
              ii,
              mom,
              llc = monthName.toLocaleLowerCase();
          if (!this._monthsParse) {
              // this is not used
              this._monthsParse = [];
              this._longMonthsParse = [];
              this._shortMonthsParse = [];
              for (i = 0; i < 12; ++i) {
                  mom = createUTC([2000, i]);
                  this._shortMonthsParse[i] = this.monthsShort(
                      mom,
                      ''
                  ).toLocaleLowerCase();
                  this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
              }
          }
  
          if (strict) {
              if (format === 'MMM') {
                  ii = indexOf.call(this._shortMonthsParse, llc);
                  return ii !== -1 ? ii : null;
              } else {
                  ii = indexOf.call(this._longMonthsParse, llc);
                  return ii !== -1 ? ii : null;
              }
          } else {
              if (format === 'MMM') {
                  ii = indexOf.call(this._shortMonthsParse, llc);
                  if (ii !== -1) {
                      return ii;
                  }
                  ii = indexOf.call(this._longMonthsParse, llc);
                  return ii !== -1 ? ii : null;
              } else {
                  ii = indexOf.call(this._longMonthsParse, llc);
                  if (ii !== -1) {
                      return ii;
                  }
                  ii = indexOf.call(this._shortMonthsParse, llc);
                  return ii !== -1 ? ii : null;
              }
          }
      }
  
      function localeMonthsParse(monthName, format, strict) {
          var i, mom, regex;
  
          if (this._monthsParseExact) {
              return handleStrictParse.call(this, monthName, format, strict);
          }
  
          if (!this._monthsParse) {
              this._monthsParse = [];
              this._longMonthsParse = [];
              this._shortMonthsParse = [];
          }
  
          // TODO: add sorting
          // Sorting makes sure if one month (or abbr) is a prefix of another
          // see sorting in computeMonthsParse
          for (i = 0; i < 12; i++) {
              // make the regex if we don't have it already
              mom = createUTC([2000, i]);
              if (strict && !this._longMonthsParse[i]) {
                  this._longMonthsParse[i] = new RegExp(
                      '^' + this.months(mom, '').replace('.', '') + '$',
                      'i'
                  );
                  this._shortMonthsParse[i] = new RegExp(
                      '^' + this.monthsShort(mom, '').replace('.', '') + '$',
                      'i'
                  );
              }
              if (!strict && !this._monthsParse[i]) {
                  regex =
                      '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
                  this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
              }
              // test the regex
              if (
                  strict &&
                  format === 'MMMM' &&
                  this._longMonthsParse[i].test(monthName)
              ) {
                  return i;
              } else if (
                  strict &&
                  format === 'MMM' &&
                  this._shortMonthsParse[i].test(monthName)
              ) {
                  return i;
              } else if (!strict && this._monthsParse[i].test(monthName)) {
                  return i;
              }
          }
      }
  
      // MOMENTS
  
      function setMonth(mom, value) {
          var dayOfMonth;
  
          if (!mom.isValid()) {
              // No op
              return mom;
          }
  
          if (typeof value === 'string') {
              if (/^\d+$/.test(value)) {
                  value = toInt(value);
              } else {
                  value = mom.localeData().monthsParse(value);
                  // TODO: Another silent failure?
                  if (!isNumber(value)) {
                      return mom;
                  }
              }
          }
  
          dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
          mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
          return mom;
      }
  
      function getSetMonth(value) {
          if (value != null) {
              setMonth(this, value);
              hooks.updateOffset(this, true);
              return this;
          } else {
              return get(this, 'Month');
          }
      }
  
      function getDaysInMonth() {
          return daysInMonth(this.year(), this.month());
      }
  
      function monthsShortRegex(isStrict) {
          if (this._monthsParseExact) {
              if (!hasOwnProp(this, '_monthsRegex')) {
                  computeMonthsParse.call(this);
              }
              if (isStrict) {
                  return this._monthsShortStrictRegex;
              } else {
                  return this._monthsShortRegex;
              }
          } else {
              if (!hasOwnProp(this, '_monthsShortRegex')) {
                  this._monthsShortRegex = defaultMonthsShortRegex;
              }
              return this._monthsShortStrictRegex && isStrict
                  ? this._monthsShortStrictRegex
                  : this._monthsShortRegex;
          }
      }
  
      function monthsRegex(isStrict) {
          if (this._monthsParseExact) {
              if (!hasOwnProp(this, '_monthsRegex')) {
                  computeMonthsParse.call(this);
              }
              if (isStrict) {
                  return this._monthsStrictRegex;
              } else {
                  return this._monthsRegex;
              }
          } else {
              if (!hasOwnProp(this, '_monthsRegex')) {
                  this._monthsRegex = defaultMonthsRegex;
              }
              return this._monthsStrictRegex && isStrict
                  ? this._monthsStrictRegex
                  : this._monthsRegex;
          }
      }
  
      function computeMonthsParse() {
          function cmpLenRev(a, b) {
              return b.length - a.length;
          }
  
          var shortPieces = [],
              longPieces = [],
              mixedPieces = [],
              i,
              mom;
          for (i = 0; i < 12; i++) {
              // make the regex if we don't have it already
              mom = createUTC([2000, i]);
              shortPieces.push(this.monthsShort(mom, ''));
              longPieces.push(this.months(mom, ''));
              mixedPieces.push(this.months(mom, ''));
              mixedPieces.push(this.monthsShort(mom, ''));
          }
          // Sorting makes sure if one month (or abbr) is a prefix of another it
          // will match the longer piece.
          shortPieces.sort(cmpLenRev);
          longPieces.sort(cmpLenRev);
          mixedPieces.sort(cmpLenRev);
          for (i = 0; i < 12; i++) {
              shortPieces[i] = regexEscape(shortPieces[i]);
              longPieces[i] = regexEscape(longPieces[i]);
          }
          for (i = 0; i < 24; i++) {
              mixedPieces[i] = regexEscape(mixedPieces[i]);
          }
  
          this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
          this._monthsShortRegex = this._monthsRegex;
          this._monthsStrictRegex = new RegExp(
              '^(' + longPieces.join('|') + ')',
              'i'
          );
          this._monthsShortStrictRegex = new RegExp(
              '^(' + shortPieces.join('|') + ')',
              'i'
          );
      }
  
      // FORMATTING
  
      addFormatToken('Y', 0, 0, function () {
          var y = this.year();
          return y <= 9999 ? zeroFill(y, 4) : '+' + y;
      });
  
      addFormatToken(0, ['YY', 2], 0, function () {
          return this.year() % 100;
      });
  
      addFormatToken(0, ['YYYY', 4], 0, 'year');
      addFormatToken(0, ['YYYYY', 5], 0, 'year');
      addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
  
      // ALIASES
  
      addUnitAlias('year', 'y');
  
      // PRIORITIES
  
      addUnitPriority('year', 1);
  
      // PARSING
  
      addRegexToken('Y', matchSigned);
      addRegexToken('YY', match1to2, match2);
      addRegexToken('YYYY', match1to4, match4);
      addRegexToken('YYYYY', match1to6, match6);
      addRegexToken('YYYYYY', match1to6, match6);
  
      addParseToken(['YYYYY', 'YYYYYY'], YEAR);
      addParseToken('YYYY', function (input, array) {
          array[YEAR] =
              input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
      });
      addParseToken('YY', function (input, array) {
          array[YEAR] = hooks.parseTwoDigitYear(input);
      });
      addParseToken('Y', function (input, array) {
          array[YEAR] = parseInt(input, 10);
      });
  
      // HELPERS
  
      function daysInYear(year) {
          return isLeapYear(year) ? 366 : 365;
      }
  
      // HOOKS
  
      hooks.parseTwoDigitYear = function (input) {
          return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
      };
  
      // MOMENTS
  
      var getSetYear = makeGetSet('FullYear', true);
  
      function getIsLeapYear() {
          return isLeapYear(this.year());
      }
  
      function createDate(y, m, d, h, M, s, ms) {
          // can't just apply() to create a date:
          // https://stackoverflow.com/q/181348
          var date;
          // the date constructor remaps years 0-99 to 1900-1999
          if (y < 100 && y >= 0) {
              // preserve leap years using a full 400 year cycle, then reset
              date = new Date(y + 400, m, d, h, M, s, ms);
              if (isFinite(date.getFullYear())) {
                  date.setFullYear(y);
              }
          } else {
              date = new Date(y, m, d, h, M, s, ms);
          }
  
          return date;
      }
  
      function createUTCDate(y) {
          var date, args;
          // the Date.UTC function remaps years 0-99 to 1900-1999
          if (y < 100 && y >= 0) {
              args = Array.prototype.slice.call(arguments);
              // preserve leap years using a full 400 year cycle, then reset
              args[0] = y + 400;
              date = new Date(Date.UTC.apply(null, args));
              if (isFinite(date.getUTCFullYear())) {
                  date.setUTCFullYear(y);
              }
          } else {
              date = new Date(Date.UTC.apply(null, arguments));
          }
  
          return date;
      }
  
      // start-of-first-week - start-of-year
      function firstWeekOffset(year, dow, doy) {
          var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
              fwd = 7 + dow - doy,
              // first-week day local weekday -- which local weekday is fwd
              fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
  
          return -fwdlw + fwd - 1;
      }
  
      // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
      function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
          var localWeekday = (7 + weekday - dow) % 7,
              weekOffset = firstWeekOffset(year, dow, doy),
              dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
              resYear,
              resDayOfYear;
  
          if (dayOfYear <= 0) {
              resYear = year - 1;
              resDayOfYear = daysInYear(resYear) + dayOfYear;
          } else if (dayOfYear > daysInYear(year)) {
              resYear = year + 1;
              resDayOfYear = dayOfYear - daysInYear(year);
          } else {
              resYear = year;
              resDayOfYear = dayOfYear;
          }
  
          return {
              year: resYear,
              dayOfYear: resDayOfYear,
          };
      }
  
      function weekOfYear(mom, dow, doy) {
          var weekOffset = firstWeekOffset(mom.year(), dow, doy),
              week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
              resWeek,
              resYear;
  
          if (week < 1) {
              resYear = mom.year() - 1;
              resWeek = week + weeksInYear(resYear, dow, doy);
          } else if (week > weeksInYear(mom.year(), dow, doy)) {
              resWeek = week - weeksInYear(mom.year(), dow, doy);
              resYear = mom.year() + 1;
          } else {
              resYear = mom.year();
              resWeek = week;
          }
  
          return {
              week: resWeek,
              year: resYear,
          };
      }
  
      function weeksInYear(year, dow, doy) {
          var weekOffset = firstWeekOffset(year, dow, doy),
              weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
          return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
      }
  
      // FORMATTING
  
      addFormatToken('w', ['ww', 2], 'wo', 'week');
      addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
  
      // ALIASES
  
      addUnitAlias('week', 'w');
      addUnitAlias('isoWeek', 'W');
  
      // PRIORITIES
  
      addUnitPriority('week', 5);
      addUnitPriority('isoWeek', 5);
  
      // PARSING
  
      addRegexToken('w', match1to2);
      addRegexToken('ww', match1to2, match2);
      addRegexToken('W', match1to2);
      addRegexToken('WW', match1to2, match2);
  
      addWeekParseToken(['w', 'ww', 'W', 'WW'], function (
          input,
          week,
          config,
          token
      ) {
          week[token.substr(0, 1)] = toInt(input);
      });
  
      // HELPERS
  
      // LOCALES
  
      function localeWeek(mom) {
          return weekOfYear(mom, this._week.dow, this._week.doy).week;
      }
  
      var defaultLocaleWeek = {
          dow: 0, // Sunday is the first day of the week.
          doy: 6, // The week that contains Jan 6th is the first week of the year.
      };
  
      function localeFirstDayOfWeek() {
          return this._week.dow;
      }
  
      function localeFirstDayOfYear() {
          return this._week.doy;
      }
  
      // MOMENTS
  
      function getSetWeek(input) {
          var week = this.localeData().week(this);
          return input == null ? week : this.add((input - week) * 7, 'd');
      }
  
      function getSetISOWeek(input) {
          var week = weekOfYear(this, 1, 4).week;
          return input == null ? week : this.add((input - week) * 7, 'd');
      }
  
      // FORMATTING
  
      addFormatToken('d', 0, 'do', 'day');
  
      addFormatToken('dd', 0, 0, function (format) {
          return this.localeData().weekdaysMin(this, format);
      });
  
      addFormatToken('ddd', 0, 0, function (format) {
          return this.localeData().weekdaysShort(this, format);
      });
  
      addFormatToken('dddd', 0, 0, function (format) {
          return this.localeData().weekdays(this, format);
      });
  
      addFormatToken('e', 0, 0, 'weekday');
      addFormatToken('E', 0, 0, 'isoWeekday');
  
      // ALIASES
  
      addUnitAlias('day', 'd');
      addUnitAlias('weekday', 'e');
      addUnitAlias('isoWeekday', 'E');
  
      // PRIORITY
      addUnitPriority('day', 11);
      addUnitPriority('weekday', 11);
      addUnitPriority('isoWeekday', 11);
  
      // PARSING
  
      addRegexToken('d', match1to2);
      addRegexToken('e', match1to2);
      addRegexToken('E', match1to2);
      addRegexToken('dd', function (isStrict, locale) {
          return locale.weekdaysMinRegex(isStrict);
      });
      addRegexToken('ddd', function (isStrict, locale) {
          return locale.weekdaysShortRegex(isStrict);
      });
      addRegexToken('dddd', function (isStrict, locale) {
          return locale.weekdaysRegex(isStrict);
      });
  
      addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
          var weekday = config._locale.weekdaysParse(input, token, config._strict);
          // if we didn't get a weekday name, mark the date as invalid
          if (weekday != null) {
              week.d = weekday;
          } else {
              getParsingFlags(config).invalidWeekday = input;
          }
      });
  
      addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
          week[token] = toInt(input);
      });
  
      // HELPERS
  
      function parseWeekday(input, locale) {
          if (typeof input !== 'string') {
              return input;
          }
  
          if (!isNaN(input)) {
              return parseInt(input, 10);
          }
  
          input = locale.weekdaysParse(input);
          if (typeof input === 'number') {
              return input;
          }
  
          return null;
      }
  
      function parseIsoWeekday(input, locale) {
          if (typeof input === 'string') {
              return locale.weekdaysParse(input) % 7 || 7;
          }
          return isNaN(input) ? null : input;
      }
  
      // LOCALES
      function shiftWeekdays(ws, n) {
          return ws.slice(n, 7).concat(ws.slice(0, n));
      }
  
      var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
              '_'
          ),
          defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
          defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
          defaultWeekdaysRegex = matchWord,
          defaultWeekdaysShortRegex = matchWord,
          defaultWeekdaysMinRegex = matchWord;
  
      function localeWeekdays(m, format) {
          var weekdays = isArray(this._weekdays)
              ? this._weekdays
              : this._weekdays[
                    m && m !== true && this._weekdays.isFormat.test(format)
                        ? 'format'
                        : 'standalone'
                ];
          return m === true
              ? shiftWeekdays(weekdays, this._week.dow)
              : m
              ? weekdays[m.day()]
              : weekdays;
      }
  
      function localeWeekdaysShort(m) {
          return m === true
              ? shiftWeekdays(this._weekdaysShort, this._week.dow)
              : m
              ? this._weekdaysShort[m.day()]
              : this._weekdaysShort;
      }
  
      function localeWeekdaysMin(m) {
          return m === true
              ? shiftWeekdays(this._weekdaysMin, this._week.dow)
              : m
              ? this._weekdaysMin[m.day()]
              : this._weekdaysMin;
      }
  
      function handleStrictParse$1(weekdayName, format, strict) {
          var i,
              ii,
              mom,
              llc = weekdayName.toLocaleLowerCase();
          if (!this._weekdaysParse) {
              this._weekdaysParse = [];
              this._shortWeekdaysParse = [];
              this._minWeekdaysParse = [];
  
              for (i = 0; i < 7; ++i) {
                  mom = createUTC([2000, 1]).day(i);
                  this._minWeekdaysParse[i] = this.weekdaysMin(
                      mom,
                      ''
                  ).toLocaleLowerCase();
                  this._shortWeekdaysParse[i] = this.weekdaysShort(
                      mom,
                      ''
                  ).toLocaleLowerCase();
                  this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
              }
          }
  
          if (strict) {
              if (format === 'dddd') {
                  ii = indexOf.call(this._weekdaysParse, llc);
                  return ii !== -1 ? ii : null;
              } else if (format === 'ddd') {
                  ii = indexOf.call(this._shortWeekdaysParse, llc);
                  return ii !== -1 ? ii : null;
              } else {
                  ii = indexOf.call(this._minWeekdaysParse, llc);
                  return ii !== -1 ? ii : null;
              }
          } else {
              if (format === 'dddd') {
                  ii = indexOf.call(this._weekdaysParse, llc);
                  if (ii !== -1) {
                      return ii;
                  }
                  ii = indexOf.call(this._shortWeekdaysParse, llc);
                  if (ii !== -1) {
                      return ii;
                  }
                  ii = indexOf.call(this._minWeekdaysParse, llc);
                  return ii !== -1 ? ii : null;
              } else if (format === 'ddd') {
                  ii = indexOf.call(this._shortWeekdaysParse, llc);
                  if (ii !== -1) {
                      return ii;
                  }
                  ii = indexOf.call(this._weekdaysParse, llc);
                  if (ii !== -1) {
                      return ii;
                  }
                  ii = indexOf.call(this._minWeekdaysParse, llc);
                  return ii !== -1 ? ii : null;
              } else {
                  ii = indexOf.call(this._minWeekdaysParse, llc);
                  if (ii !== -1) {
                      return ii;
                  }
                  ii = indexOf.call(this._weekdaysParse, llc);
                  if (ii !== -1) {
                      return ii;
                  }
                  ii = indexOf.call(this._shortWeekdaysParse, llc);
                  return ii !== -1 ? ii : null;
              }
          }
      }
  
      function localeWeekdaysParse(weekdayName, format, strict) {
          var i, mom, regex;
  
          if (this._weekdaysParseExact) {
              return handleStrictParse$1.call(this, weekdayName, format, strict);
          }
  
          if (!this._weekdaysParse) {
              this._weekdaysParse = [];
              this._minWeekdaysParse = [];
              this._shortWeekdaysParse = [];
              this._fullWeekdaysParse = [];
          }
  
          for (i = 0; i < 7; i++) {
              // make the regex if we don't have it already
  
              mom = createUTC([2000, 1]).day(i);
              if (strict && !this._fullWeekdaysParse[i]) {
                  this._fullWeekdaysParse[i] = new RegExp(
                      '^' + this.weekdays(mom, '').replace('.', '\\.?') + '$',
                      'i'
                  );
                  this._shortWeekdaysParse[i] = new RegExp(
                      '^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$',
                      'i'
                  );
                  this._minWeekdaysParse[i] = new RegExp(
                      '^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$',
                      'i'
                  );
              }
              if (!this._weekdaysParse[i]) {
                  regex =
                      '^' +
                      this.weekdays(mom, '') +
                      '|^' +
                      this.weekdaysShort(mom, '') +
                      '|^' +
                      this.weekdaysMin(mom, '');
                  this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
              }
              // test the regex
              if (
                  strict &&
                  format === 'dddd' &&
                  this._fullWeekdaysParse[i].test(weekdayName)
              ) {
                  return i;
              } else if (
                  strict &&
                  format === 'ddd' &&
                  this._shortWeekdaysParse[i].test(weekdayName)
              ) {
                  return i;
              } else if (
                  strict &&
                  format === 'dd' &&
                  this._minWeekdaysParse[i].test(weekdayName)
              ) {
                  return i;
              } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
                  return i;
              }
          }
      }
  
      // MOMENTS
  
      function getSetDayOfWeek(input) {
          if (!this.isValid()) {
              return input != null ? this : NaN;
          }
          var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
          if (input != null) {
              input = parseWeekday(input, this.localeData());
              return this.add(input - day, 'd');
          } else {
              return day;
          }
      }
  
      function getSetLocaleDayOfWeek(input) {
          if (!this.isValid()) {
              return input != null ? this : NaN;
          }
          var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
          return input == null ? weekday : this.add(input - weekday, 'd');
      }
  
      function getSetISODayOfWeek(input) {
          if (!this.isValid()) {
              return input != null ? this : NaN;
          }
  
          // behaves the same as moment#day except
          // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
          // as a setter, sunday should belong to the previous week.
  
          if (input != null) {
              var weekday = parseIsoWeekday(input, this.localeData());
              return this.day(this.day() % 7 ? weekday : weekday - 7);
          } else {
              return this.day() || 7;
          }
      }
  
      function weekdaysRegex(isStrict) {
          if (this._weekdaysParseExact) {
              if (!hasOwnProp(this, '_weekdaysRegex')) {
                  computeWeekdaysParse.call(this);
              }
              if (isStrict) {
                  return this._weekdaysStrictRegex;
              } else {
                  return this._weekdaysRegex;
              }
          } else {
              if (!hasOwnProp(this, '_weekdaysRegex')) {
                  this._weekdaysRegex = defaultWeekdaysRegex;
              }
              return this._weekdaysStrictRegex && isStrict
                  ? this._weekdaysStrictRegex
                  : this._weekdaysRegex;
          }
      }
  
      function weekdaysShortRegex(isStrict) {
          if (this._weekdaysParseExact) {
              if (!hasOwnProp(this, '_weekdaysRegex')) {
                  computeWeekdaysParse.call(this);
              }
              if (isStrict) {
                  return this._weekdaysShortStrictRegex;
              } else {
                  return this._weekdaysShortRegex;
              }
          } else {
              if (!hasOwnProp(this, '_weekdaysShortRegex')) {
                  this._weekdaysShortRegex = defaultWeekdaysShortRegex;
              }
              return this._weekdaysShortStrictRegex && isStrict
                  ? this._weekdaysShortStrictRegex
                  : this._weekdaysShortRegex;
          }
      }
  
      function weekdaysMinRegex(isStrict) {
          if (this._weekdaysParseExact) {
              if (!hasOwnProp(this, '_weekdaysRegex')) {
                  computeWeekdaysParse.call(this);
              }
              if (isStrict) {
                  return this._weekdaysMinStrictRegex;
              } else {
                  return this._weekdaysMinRegex;
              }
          } else {
              if (!hasOwnProp(this, '_weekdaysMinRegex')) {
                  this._weekdaysMinRegex = defaultWeekdaysMinRegex;
              }
              return this._weekdaysMinStrictRegex && isStrict
                  ? this._weekdaysMinStrictRegex
                  : this._weekdaysMinRegex;
          }
      }
  
      function computeWeekdaysParse() {
          function cmpLenRev(a, b) {
              return b.length - a.length;
          }
  
          var minPieces = [],
              shortPieces = [],
              longPieces = [],
              mixedPieces = [],
              i,
              mom,
              minp,
              shortp,
              longp;
          for (i = 0; i < 7; i++) {
              // make the regex if we don't have it already
              mom = createUTC([2000, 1]).day(i);
              minp = regexEscape(this.weekdaysMin(mom, ''));
              shortp = regexEscape(this.weekdaysShort(mom, ''));
              longp = regexEscape(this.weekdays(mom, ''));
              minPieces.push(minp);
              shortPieces.push(shortp);
              longPieces.push(longp);
              mixedPieces.push(minp);
              mixedPieces.push(shortp);
              mixedPieces.push(longp);
          }
          // Sorting makes sure if one weekday (or abbr) is a prefix of another it
          // will match the longer piece.
          minPieces.sort(cmpLenRev);
          shortPieces.sort(cmpLenRev);
          longPieces.sort(cmpLenRev);
          mixedPieces.sort(cmpLenRev);
  
          this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
          this._weekdaysShortRegex = this._weekdaysRegex;
          this._weekdaysMinRegex = this._weekdaysRegex;
  
          this._weekdaysStrictRegex = new RegExp(
              '^(' + longPieces.join('|') + ')',
              'i'
          );
          this._weekdaysShortStrictRegex = new RegExp(
              '^(' + shortPieces.join('|') + ')',
              'i'
          );
          this._weekdaysMinStrictRegex = new RegExp(
              '^(' + minPieces.join('|') + ')',
              'i'
          );
      }
  
      // FORMATTING
  
      function hFormat() {
          return this.hours() % 12 || 12;
      }
  
      function kFormat() {
          return this.hours() || 24;
      }
  
      addFormatToken('H', ['HH', 2], 0, 'hour');
      addFormatToken('h', ['hh', 2], 0, hFormat);
      addFormatToken('k', ['kk', 2], 0, kFormat);
  
      addFormatToken('hmm', 0, 0, function () {
          return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
      });
  
      addFormatToken('hmmss', 0, 0, function () {
          return (
              '' +
              hFormat.apply(this) +
              zeroFill(this.minutes(), 2) +
              zeroFill(this.seconds(), 2)
          );
      });
  
      addFormatToken('Hmm', 0, 0, function () {
          return '' + this.hours() + zeroFill(this.minutes(), 2);
      });
  
      addFormatToken('Hmmss', 0, 0, function () {
          return (
              '' +
              this.hours() +
              zeroFill(this.minutes(), 2) +
              zeroFill(this.seconds(), 2)
          );
      });
  
      function meridiem(token, lowercase) {
          addFormatToken(token, 0, 0, function () {
              return this.localeData().meridiem(
                  this.hours(),
                  this.minutes(),
                  lowercase
              );
          });
      }
  
      meridiem('a', true);
      meridiem('A', false);
  
      // ALIASES
  
      addUnitAlias('hour', 'h');
  
      // PRIORITY
      addUnitPriority('hour', 13);
  
      // PARSING
  
      function matchMeridiem(isStrict, locale) {
          return locale._meridiemParse;
      }
  
      addRegexToken('a', matchMeridiem);
      addRegexToken('A', matchMeridiem);
      addRegexToken('H', match1to2);
      addRegexToken('h', match1to2);
      addRegexToken('k', match1to2);
      addRegexToken('HH', match1to2, match2);
      addRegexToken('hh', match1to2, match2);
      addRegexToken('kk', match1to2, match2);
  
      addRegexToken('hmm', match3to4);
      addRegexToken('hmmss', match5to6);
      addRegexToken('Hmm', match3to4);
      addRegexToken('Hmmss', match5to6);
  
      addParseToken(['H', 'HH'], HOUR);
      addParseToken(['k', 'kk'], function (input, array, config) {
          var kInput = toInt(input);
          array[HOUR] = kInput === 24 ? 0 : kInput;
      });
      addParseToken(['a', 'A'], function (input, array, config) {
          config._isPm = config._locale.isPM(input);
          config._meridiem = input;
      });
      addParseToken(['h', 'hh'], function (input, array, config) {
          array[HOUR] = toInt(input);
          getParsingFlags(config).bigHour = true;
      });
      addParseToken('hmm', function (input, array, config) {
          var pos = input.length - 2;
          array[HOUR] = toInt(input.substr(0, pos));
          array[MINUTE] = toInt(input.substr(pos));
          getParsingFlags(config).bigHour = true;
      });
      addParseToken('hmmss', function (input, array, config) {
          var pos1 = input.length - 4,
              pos2 = input.length - 2;
          array[HOUR] = toInt(input.substr(0, pos1));
          array[MINUTE] = toInt(input.substr(pos1, 2));
          array[SECOND] = toInt(input.substr(pos2));
          getParsingFlags(config).bigHour = true;
      });
      addParseToken('Hmm', function (input, array, config) {
          var pos = input.length - 2;
          array[HOUR] = toInt(input.substr(0, pos));
          array[MINUTE] = toInt(input.substr(pos));
      });
      addParseToken('Hmmss', function (input, array, config) {
          var pos1 = input.length - 4,
              pos2 = input.length - 2;
          array[HOUR] = toInt(input.substr(0, pos1));
          array[MINUTE] = toInt(input.substr(pos1, 2));
          array[SECOND] = toInt(input.substr(pos2));
      });
  
      // LOCALES
  
      function localeIsPM(input) {
          // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
          // Using charAt should be more compatible.
          return (input + '').toLowerCase().charAt(0) === 'p';
      }
  
      var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i,
          // Setting the hour should keep the time, because the user explicitly
          // specified which hour they want. So trying to maintain the same hour (in
          // a new timezone) makes sense. Adding/subtracting hours does not follow
          // this rule.
          getSetHour = makeGetSet('Hours', true);
  
      function localeMeridiem(hours, minutes, isLower) {
          if (hours > 11) {
              return isLower ? 'pm' : 'PM';
          } else {
              return isLower ? 'am' : 'AM';
          }
      }
  
      var baseConfig = {
          calendar: defaultCalendar,
          longDateFormat: defaultLongDateFormat,
          invalidDate: defaultInvalidDate,
          ordinal: defaultOrdinal,
          dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
          relativeTime: defaultRelativeTime,
  
          months: defaultLocaleMonths,
          monthsShort: defaultLocaleMonthsShort,
  
          week: defaultLocaleWeek,
  
          weekdays: defaultLocaleWeekdays,
          weekdaysMin: defaultLocaleWeekdaysMin,
          weekdaysShort: defaultLocaleWeekdaysShort,
  
          meridiemParse: defaultLocaleMeridiemParse,
      };
  
      // internal storage for locale config files
      var locales = {},
          localeFamilies = {},
          globalLocale;
  
      function commonPrefix(arr1, arr2) {
          var i,
              minl = Math.min(arr1.length, arr2.length);
          for (i = 0; i < minl; i += 1) {
              if (arr1[i] !== arr2[i]) {
                  return i;
              }
          }
          return minl;
      }
  
      function normalizeLocale(key) {
          return key ? key.toLowerCase().replace('_', '-') : key;
      }
  
      // pick the locale from the array
      // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
      // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
      function chooseLocale(names) {
          var i = 0,
              j,
              next,
              locale,
              split;
  
          while (i < names.length) {
              split = normalizeLocale(names[i]).split('-');
              j = split.length;
              next = normalizeLocale(names[i + 1]);
              next = next ? next.split('-') : null;
              while (j > 0) {
                  locale = loadLocale(split.slice(0, j).join('-'));
                  if (locale) {
                      return locale;
                  }
                  if (
                      next &&
                      next.length >= j &&
                      commonPrefix(split, next) >= j - 1
                  ) {
                      //the next array item is better than a shallower substring of this one
                      break;
                  }
                  j--;
              }
              i++;
          }
          return globalLocale;
      }
  
      function loadLocale(name) {
          var oldLocale = null,
              aliasedRequire;
          // TODO: Find a better way to register and load all the locales in Node
          if (
              locales[name] === undefined &&
              "object" !== 'undefined' &&
              module &&
              module.exports
          ) {
              try {
                  oldLocale = globalLocale._abbr;
                  aliasedRequire = undefined;
                  __webpack_require__("./node_modules/moment/locale sync recursive ^\\.\\/.*$")("./" + name);
                  getSetGlobalLocale(oldLocale);
              } catch (e) {
                  // mark as not found to avoid repeating expensive file require call causing high CPU
                  // when trying to find en-US, en_US, en-us for every format call
                  locales[name] = null; // null means not found
              }
          }
          return locales[name];
      }
  
      // This function will load locale and then set the global locale.  If
      // no arguments are passed in, it will simply return the current global
      // locale key.
      function getSetGlobalLocale(key, values) {
          var data;
          if (key) {
              if (isUndefined(values)) {
                  data = getLocale(key);
              } else {
                  data = defineLocale(key, values);
              }
  
              if (data) {
                  // moment.duration._locale = moment._locale = data;
                  globalLocale = data;
              } else {
                  if (typeof console !== 'undefined' && console.warn) {
                      //warn user if arguments are passed but the locale could not be set
                      console.warn(
                          'Locale ' + key + ' not found. Did you forget to load it?'
                      );
                  }
              }
          }
  
          return globalLocale._abbr;
      }
  
      function defineLocale(name, config) {
          if (config !== null) {
              var locale,
                  parentConfig = baseConfig;
              config.abbr = name;
              if (locales[name] != null) {
                  deprecateSimple(
                      'defineLocaleOverride',
                      'use moment.updateLocale(localeName, config) to change ' +
                          'an existing locale. moment.defineLocale(localeName, ' +
                          'config) should only be used for creating a new locale ' +
                          'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'
                  );
                  parentConfig = locales[name]._config;
              } else if (config.parentLocale != null) {
                  if (locales[config.parentLocale] != null) {
                      parentConfig = locales[config.parentLocale]._config;
                  } else {
                      locale = loadLocale(config.parentLocale);
                      if (locale != null) {
                          parentConfig = locale._config;
                      } else {
                          if (!localeFamilies[config.parentLocale]) {
                              localeFamilies[config.parentLocale] = [];
                          }
                          localeFamilies[config.parentLocale].push({
                              name: name,
                              config: config,
                          });
                          return null;
                      }
                  }
              }
              locales[name] = new Locale(mergeConfigs(parentConfig, config));
  
              if (localeFamilies[name]) {
                  localeFamilies[name].forEach(function (x) {
                      defineLocale(x.name, x.config);
                  });
              }
  
              // backwards compat for now: also set the locale
              // make sure we set the locale AFTER all child locales have been
              // created, so we won't end up with the child locale set.
              getSetGlobalLocale(name);
  
              return locales[name];
          } else {
              // useful for testing
              delete locales[name];
              return null;
          }
      }
  
      function updateLocale(name, config) {
          if (config != null) {
              var locale,
                  tmpLocale,
                  parentConfig = baseConfig;
  
              if (locales[name] != null && locales[name].parentLocale != null) {
                  // Update existing child locale in-place to avoid memory-leaks
                  locales[name].set(mergeConfigs(locales[name]._config, config));
              } else {
                  // MERGE
                  tmpLocale = loadLocale(name);
                  if (tmpLocale != null) {
                      parentConfig = tmpLocale._config;
                  }
                  config = mergeConfigs(parentConfig, config);
                  if (tmpLocale == null) {
                      // updateLocale is called for creating a new locale
                      // Set abbr so it will have a name (getters return
                      // undefined otherwise).
                      config.abbr = name;
                  }
                  locale = new Locale(config);
                  locale.parentLocale = locales[name];
                  locales[name] = locale;
              }
  
              // backwards compat for now: also set the locale
              getSetGlobalLocale(name);
          } else {
              // pass null for config to unupdate, useful for tests
              if (locales[name] != null) {
                  if (locales[name].parentLocale != null) {
                      locales[name] = locales[name].parentLocale;
                      if (name === getSetGlobalLocale()) {
                          getSetGlobalLocale(name);
                      }
                  } else if (locales[name] != null) {
                      delete locales[name];
                  }
              }
          }
          return locales[name];
      }
  
      // returns locale data
      function getLocale(key) {
          var locale;
  
          if (key && key._locale && key._locale._abbr) {
              key = key._locale._abbr;
          }
  
          if (!key) {
              return globalLocale;
          }
  
          if (!isArray(key)) {
              //short-circuit everything else
              locale = loadLocale(key);
              if (locale) {
                  return locale;
              }
              key = [key];
          }
  
          return chooseLocale(key);
      }
  
      function listLocales() {
          return keys(locales);
      }
  
      function checkOverflow(m) {
          var overflow,
              a = m._a;
  
          if (a && getParsingFlags(m).overflow === -2) {
              overflow =
                  a[MONTH] < 0 || a[MONTH] > 11
                      ? MONTH
                      : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])
                      ? DATE
                      : a[HOUR] < 0 ||
                        a[HOUR] > 24 ||
                        (a[HOUR] === 24 &&
                            (a[MINUTE] !== 0 ||
                                a[SECOND] !== 0 ||
                                a[MILLISECOND] !== 0))
                      ? HOUR
                      : a[MINUTE] < 0 || a[MINUTE] > 59
                      ? MINUTE
                      : a[SECOND] < 0 || a[SECOND] > 59
                      ? SECOND
                      : a[MILLISECOND] < 0 || a[MILLISECOND] > 999
                      ? MILLISECOND
                      : -1;
  
              if (
                  getParsingFlags(m)._overflowDayOfYear &&
                  (overflow < YEAR || overflow > DATE)
              ) {
                  overflow = DATE;
              }
              if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
                  overflow = WEEK;
              }
              if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
                  overflow = WEEKDAY;
              }
  
              getParsingFlags(m).overflow = overflow;
          }
  
          return m;
      }
  
      // iso 8601 regex
      // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
      var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
          basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
          tzRegex = /Z|[+-]\d\d(?::?\d\d)?/,
          isoDates = [
              ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
              ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
              ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
              ['GGGG-[W]WW', /\d{4}-W\d\d/, false],
              ['YYYY-DDD', /\d{4}-\d{3}/],
              ['YYYY-MM', /\d{4}-\d\d/, false],
              ['YYYYYYMMDD', /[+-]\d{10}/],
              ['YYYYMMDD', /\d{8}/],
              ['GGGG[W]WWE', /\d{4}W\d{3}/],
              ['GGGG[W]WW', /\d{4}W\d{2}/, false],
              ['YYYYDDD', /\d{7}/],
              ['YYYYMM', /\d{6}/, false],
              ['YYYY', /\d{4}/, false],
          ],
          // iso time formats and regexes
          isoTimes = [
              ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
              ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
              ['HH:mm:ss', /\d\d:\d\d:\d\d/],
              ['HH:mm', /\d\d:\d\d/],
              ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
              ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
              ['HHmmss', /\d\d\d\d\d\d/],
              ['HHmm', /\d\d\d\d/],
              ['HH', /\d\d/],
          ],
          aspNetJsonRegex = /^\/?Date\((-?\d+)/i,
          // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
          rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,
          obsOffsets = {
              UT: 0,
              GMT: 0,
              EDT: -4 * 60,
              EST: -5 * 60,
              CDT: -5 * 60,
              CST: -6 * 60,
              MDT: -6 * 60,
              MST: -7 * 60,
              PDT: -7 * 60,
              PST: -8 * 60,
          };
  
      // date from iso format
      function configFromISO(config) {
          var i,
              l,
              string = config._i,
              match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
              allowTime,
              dateFormat,
              timeFormat,
              tzFormat;
  
          if (match) {
              getParsingFlags(config).iso = true;
  
              for (i = 0, l = isoDates.length; i < l; i++) {
                  if (isoDates[i][1].exec(match[1])) {
                      dateFormat = isoDates[i][0];
                      allowTime = isoDates[i][2] !== false;
                      break;
                  }
              }
              if (dateFormat == null) {
                  config._isValid = false;
                  return;
              }
              if (match[3]) {
                  for (i = 0, l = isoTimes.length; i < l; i++) {
                      if (isoTimes[i][1].exec(match[3])) {
                          // match[2] should be 'T' or space
                          timeFormat = (match[2] || ' ') + isoTimes[i][0];
                          break;
                      }
                  }
                  if (timeFormat == null) {
                      config._isValid = false;
                      return;
                  }
              }
              if (!allowTime && timeFormat != null) {
                  config._isValid = false;
                  return;
              }
              if (match[4]) {
                  if (tzRegex.exec(match[4])) {
                      tzFormat = 'Z';
                  } else {
                      config._isValid = false;
                      return;
                  }
              }
              config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
              configFromStringAndFormat(config);
          } else {
              config._isValid = false;
          }
      }
  
      function extractFromRFC2822Strings(
          yearStr,
          monthStr,
          dayStr,
          hourStr,
          minuteStr,
          secondStr
      ) {
          var result = [
              untruncateYear(yearStr),
              defaultLocaleMonthsShort.indexOf(monthStr),
              parseInt(dayStr, 10),
              parseInt(hourStr, 10),
              parseInt(minuteStr, 10),
          ];
  
          if (secondStr) {
              result.push(parseInt(secondStr, 10));
          }
  
          return result;
      }
  
      function untruncateYear(yearStr) {
          var year = parseInt(yearStr, 10);
          if (year <= 49) {
              return 2000 + year;
          } else if (year <= 999) {
              return 1900 + year;
          }
          return year;
      }
  
      function preprocessRFC2822(s) {
          // Remove comments and folding whitespace and replace multiple-spaces with a single space
          return s
              .replace(/\([^)]*\)|[\n\t]/g, ' ')
              .replace(/(\s\s+)/g, ' ')
              .replace(/^\s\s*/, '')
              .replace(/\s\s*$/, '');
      }
  
      function checkWeekday(weekdayStr, parsedInput, config) {
          if (weekdayStr) {
              // TODO: Replace the vanilla JS Date object with an independent day-of-week check.
              var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
                  weekdayActual = new Date(
                      parsedInput[0],
                      parsedInput[1],
                      parsedInput[2]
                  ).getDay();
              if (weekdayProvided !== weekdayActual) {
                  getParsingFlags(config).weekdayMismatch = true;
                  config._isValid = false;
                  return false;
              }
          }
          return true;
      }
  
      function calculateOffset(obsOffset, militaryOffset, numOffset) {
          if (obsOffset) {
              return obsOffsets[obsOffset];
          } else if (militaryOffset) {
              // the only allowed military tz is Z
              return 0;
          } else {
              var hm = parseInt(numOffset, 10),
                  m = hm % 100,
                  h = (hm - m) / 100;
              return h * 60 + m;
          }
      }
  
      // date and time from ref 2822 format
      function configFromRFC2822(config) {
          var match = rfc2822.exec(preprocessRFC2822(config._i)),
              parsedArray;
          if (match) {
              parsedArray = extractFromRFC2822Strings(
                  match[4],
                  match[3],
                  match[2],
                  match[5],
                  match[6],
                  match[7]
              );
              if (!checkWeekday(match[1], parsedArray, config)) {
                  return;
              }
  
              config._a = parsedArray;
              config._tzm = calculateOffset(match[8], match[9], match[10]);
  
              config._d = createUTCDate.apply(null, config._a);
              config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
  
              getParsingFlags(config).rfc2822 = true;
          } else {
              config._isValid = false;
          }
      }
  
      // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict
      function configFromString(config) {
          var matched = aspNetJsonRegex.exec(config._i);
          if (matched !== null) {
              config._d = new Date(+matched[1]);
              return;
          }
  
          configFromISO(config);
          if (config._isValid === false) {
              delete config._isValid;
          } else {
              return;
          }
  
          configFromRFC2822(config);
          if (config._isValid === false) {
              delete config._isValid;
          } else {
              return;
          }
  
          if (config._strict) {
              config._isValid = false;
          } else {
              // Final attempt, use Input Fallback
              hooks.createFromInputFallback(config);
          }
      }
  
      hooks.createFromInputFallback = deprecate(
          'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +
              'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +
              'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',
          function (config) {
              config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
          }
      );
  
      // Pick the first defined of two or three arguments.
      function defaults(a, b, c) {
          if (a != null) {
              return a;
          }
          if (b != null) {
              return b;
          }
          return c;
      }
  
      function currentDateArray(config) {
          // hooks is actually the exported moment object
          var nowValue = new Date(hooks.now());
          if (config._useUTC) {
              return [
                  nowValue.getUTCFullYear(),
                  nowValue.getUTCMonth(),
                  nowValue.getUTCDate(),
              ];
          }
          return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
      }
  
      // convert an array to a date.
      // the array should mirror the parameters below
      // note: all values past the year are optional and will default to the lowest possible value.
      // [year, month, day , hour, minute, second, millisecond]
      function configFromArray(config) {
          var i,
              date,
              input = [],
              currentDate,
              expectedWeekday,
              yearToUse;
  
          if (config._d) {
              return;
          }
  
          currentDate = currentDateArray(config);
  
          //compute day of the year from weeks and weekdays
          if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
              dayOfYearFromWeekInfo(config);
          }
  
          //if the day of the year is set, figure out what it is
          if (config._dayOfYear != null) {
              yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
  
              if (
                  config._dayOfYear > daysInYear(yearToUse) ||
                  config._dayOfYear === 0
              ) {
                  getParsingFlags(config)._overflowDayOfYear = true;
              }
  
              date = createUTCDate(yearToUse, 0, config._dayOfYear);
              config._a[MONTH] = date.getUTCMonth();
              config._a[DATE] = date.getUTCDate();
          }
  
          // Default to current date.
          // * if no year, month, day of month are given, default to today
          // * if day of month is given, default month and year
          // * if month is given, default only year
          // * if year is given, don't default anything
          for (i = 0; i < 3 && config._a[i] == null; ++i) {
              config._a[i] = input[i] = currentDate[i];
          }
  
          // Zero out whatever was not defaulted, including time
          for (; i < 7; i++) {
              config._a[i] = input[i] =
                  config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];
          }
  
          // Check for 24:00:00.000
          if (
              config._a[HOUR] === 24 &&
              config._a[MINUTE] === 0 &&
              config._a[SECOND] === 0 &&
              config._a[MILLISECOND] === 0
          ) {
              config._nextDay = true;
              config._a[HOUR] = 0;
          }
  
          config._d = (config._useUTC ? createUTCDate : createDate).apply(
              null,
              input
          );
          expectedWeekday = config._useUTC
              ? config._d.getUTCDay()
              : config._d.getDay();
  
          // Apply timezone offset from input. The actual utcOffset can be changed
          // with parseZone.
          if (config._tzm != null) {
              config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
          }
  
          if (config._nextDay) {
              config._a[HOUR] = 24;
          }
  
          // check for mismatching day of week
          if (
              config._w &&
              typeof config._w.d !== 'undefined' &&
              config._w.d !== expectedWeekday
          ) {
              getParsingFlags(config).weekdayMismatch = true;
          }
      }
  
      function dayOfYearFromWeekInfo(config) {
          var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;
  
          w = config._w;
          if (w.GG != null || w.W != null || w.E != null) {
              dow = 1;
              doy = 4;
  
              // TODO: We need to take the current isoWeekYear, but that depends on
              // how we interpret now (local, utc, fixed offset). So create
              // a now version of current config (take local/utc/offset flags, and
              // create now).
              weekYear = defaults(
                  w.GG,
                  config._a[YEAR],
                  weekOfYear(createLocal(), 1, 4).year
              );
              week = defaults(w.W, 1);
              weekday = defaults(w.E, 1);
              if (weekday < 1 || weekday > 7) {
                  weekdayOverflow = true;
              }
          } else {
              dow = config._locale._week.dow;
              doy = config._locale._week.doy;
  
              curWeek = weekOfYear(createLocal(), dow, doy);
  
              weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
  
              // Default to current week.
              week = defaults(w.w, curWeek.week);
  
              if (w.d != null) {
                  // weekday -- low day numbers are considered next week
                  weekday = w.d;
                  if (weekday < 0 || weekday > 6) {
                      weekdayOverflow = true;
                  }
              } else if (w.e != null) {
                  // local weekday -- counting starts from beginning of week
                  weekday = w.e + dow;
                  if (w.e < 0 || w.e > 6) {
                      weekdayOverflow = true;
                  }
              } else {
                  // default to beginning of week
                  weekday = dow;
              }
          }
          if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
              getParsingFlags(config)._overflowWeeks = true;
          } else if (weekdayOverflow != null) {
              getParsingFlags(config)._overflowWeekday = true;
          } else {
              temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
              config._a[YEAR] = temp.year;
              config._dayOfYear = temp.dayOfYear;
          }
      }
  
      // constant that refers to the ISO standard
      hooks.ISO_8601 = function () {};
  
      // constant that refers to the RFC 2822 form
      hooks.RFC_2822 = function () {};
  
      // date from string and format string
      function configFromStringAndFormat(config) {
          // TODO: Move this to another part of the creation flow to prevent circular deps
          if (config._f === hooks.ISO_8601) {
              configFromISO(config);
              return;
          }
          if (config._f === hooks.RFC_2822) {
              configFromRFC2822(config);
              return;
          }
          config._a = [];
          getParsingFlags(config).empty = true;
  
          // This array is used to make a Date, either with `new Date` or `Date.UTC`
          var string = '' + config._i,
              i,
              parsedInput,
              tokens,
              token,
              skipped,
              stringLength = string.length,
              totalParsedInputLength = 0,
              era;
  
          tokens =
              expandFormat(config._f, config._locale).match(formattingTokens) || [];
  
          for (i = 0; i < tokens.length; i++) {
              token = tokens[i];
              parsedInput = (string.match(getParseRegexForToken(token, config)) ||
                  [])[0];
              if (parsedInput) {
                  skipped = string.substr(0, string.indexOf(parsedInput));
                  if (skipped.length > 0) {
                      getParsingFlags(config).unusedInput.push(skipped);
                  }
                  string = string.slice(
                      string.indexOf(parsedInput) + parsedInput.length
                  );
                  totalParsedInputLength += parsedInput.length;
              }
              // don't parse if it's not a known token
              if (formatTokenFunctions[token]) {
                  if (parsedInput) {
                      getParsingFlags(config).empty = false;
                  } else {
                      getParsingFlags(config).unusedTokens.push(token);
                  }
                  addTimeToArrayFromToken(token, parsedInput, config);
              } else if (config._strict && !parsedInput) {
                  getParsingFlags(config).unusedTokens.push(token);
              }
          }
  
          // add remaining unparsed input length to the string
          getParsingFlags(config).charsLeftOver =
              stringLength - totalParsedInputLength;
          if (string.length > 0) {
              getParsingFlags(config).unusedInput.push(string);
          }
  
          // clear _12h flag if hour is <= 12
          if (
              config._a[HOUR] <= 12 &&
              getParsingFlags(config).bigHour === true &&
              config._a[HOUR] > 0
          ) {
              getParsingFlags(config).bigHour = undefined;
          }
  
          getParsingFlags(config).parsedDateParts = config._a.slice(0);
          getParsingFlags(config).meridiem = config._meridiem;
          // handle meridiem
          config._a[HOUR] = meridiemFixWrap(
              config._locale,
              config._a[HOUR],
              config._meridiem
          );
  
          // handle era
          era = getParsingFlags(config).era;
          if (era !== null) {
              config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);
          }
  
          configFromArray(config);
          checkOverflow(config);
      }
  
      function meridiemFixWrap(locale, hour, meridiem) {
          var isPm;
  
          if (meridiem == null) {
              // nothing to do
              return hour;
          }
          if (locale.meridiemHour != null) {
              return locale.meridiemHour(hour, meridiem);
          } else if (locale.isPM != null) {
              // Fallback
              isPm = locale.isPM(meridiem);
              if (isPm && hour < 12) {
                  hour += 12;
              }
              if (!isPm && hour === 12) {
                  hour = 0;
              }
              return hour;
          } else {
              // this is not supposed to happen
              return hour;
          }
      }
  
      // date from string and array of format strings
      function configFromStringAndArray(config) {
          var tempConfig,
              bestMoment,
              scoreToBeat,
              i,
              currentScore,
              validFormatFound,
              bestFormatIsValid = false;
  
          if (config._f.length === 0) {
              getParsingFlags(config).invalidFormat = true;
              config._d = new Date(NaN);
              return;
          }
  
          for (i = 0; i < config._f.length; i++) {
              currentScore = 0;
              validFormatFound = false;
              tempConfig = copyConfig({}, config);
              if (config._useUTC != null) {
                  tempConfig._useUTC = config._useUTC;
              }
              tempConfig._f = config._f[i];
              configFromStringAndFormat(tempConfig);
  
              if (isValid(tempConfig)) {
                  validFormatFound = true;
              }
  
              // if there is any input that was not parsed add a penalty for that format
              currentScore += getParsingFlags(tempConfig).charsLeftOver;
  
              //or tokens
              currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
  
              getParsingFlags(tempConfig).score = currentScore;
  
              if (!bestFormatIsValid) {
                  if (
                      scoreToBeat == null ||
                      currentScore < scoreToBeat ||
                      validFormatFound
                  ) {
                      scoreToBeat = currentScore;
                      bestMoment = tempConfig;
                      if (validFormatFound) {
                          bestFormatIsValid = true;
                      }
                  }
              } else {
                  if (currentScore < scoreToBeat) {
                      scoreToBeat = currentScore;
                      bestMoment = tempConfig;
                  }
              }
          }
  
          extend(config, bestMoment || tempConfig);
      }
  
      function configFromObject(config) {
          if (config._d) {
              return;
          }
  
          var i = normalizeObjectUnits(config._i),
              dayOrDate = i.day === undefined ? i.date : i.day;
          config._a = map(
              [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],
              function (obj) {
                  return obj && parseInt(obj, 10);
              }
          );
  
          configFromArray(config);
      }
  
      function createFromConfig(config) {
          var res = new Moment(checkOverflow(prepareConfig(config)));
          if (res._nextDay) {
              // Adding is smart enough around DST
              res.add(1, 'd');
              res._nextDay = undefined;
          }
  
          return res;
      }
  
      function prepareConfig(config) {
          var input = config._i,
              format = config._f;
  
          config._locale = config._locale || getLocale(config._l);
  
          if (input === null || (format === undefined && input === '')) {
              return createInvalid({ nullInput: true });
          }
  
          if (typeof input === 'string') {
              config._i = input = config._locale.preparse(input);
          }
  
          if (isMoment(input)) {
              return new Moment(checkOverflow(input));
          } else if (isDate(input)) {
              config._d = input;
          } else if (isArray(format)) {
              configFromStringAndArray(config);
          } else if (format) {
              configFromStringAndFormat(config);
          } else {
              configFromInput(config);
          }
  
          if (!isValid(config)) {
              config._d = null;
          }
  
          return config;
      }
  
      function configFromInput(config) {
          var input = config._i;
          if (isUndefined(input)) {
              config._d = new Date(hooks.now());
          } else if (isDate(input)) {
              config._d = new Date(input.valueOf());
          } else if (typeof input === 'string') {
              configFromString(config);
          } else if (isArray(input)) {
              config._a = map(input.slice(0), function (obj) {
                  return parseInt(obj, 10);
              });
              configFromArray(config);
          } else if (isObject(input)) {
              configFromObject(config);
          } else if (isNumber(input)) {
              // from milliseconds
              config._d = new Date(input);
          } else {
              hooks.createFromInputFallback(config);
          }
      }
  
      function createLocalOrUTC(input, format, locale, strict, isUTC) {
          var c = {};
  
          if (format === true || format === false) {
              strict = format;
              format = undefined;
          }
  
          if (locale === true || locale === false) {
              strict = locale;
              locale = undefined;
          }
  
          if (
              (isObject(input) && isObjectEmpty(input)) ||
              (isArray(input) && input.length === 0)
          ) {
              input = undefined;
          }
          // object construction must be done this way.
          // https://github.com/moment/moment/issues/1423
          c._isAMomentObject = true;
          c._useUTC = c._isUTC = isUTC;
          c._l = locale;
          c._i = input;
          c._f = format;
          c._strict = strict;
  
          return createFromConfig(c);
      }
  
      function createLocal(input, format, locale, strict) {
          return createLocalOrUTC(input, format, locale, strict, false);
      }
  
      var prototypeMin = deprecate(
              'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',
              function () {
                  var other = createLocal.apply(null, arguments);
                  if (this.isValid() && other.isValid()) {
                      return other < this ? this : other;
                  } else {
                      return createInvalid();
                  }
              }
          ),
          prototypeMax = deprecate(
              'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',
              function () {
                  var other = createLocal.apply(null, arguments);
                  if (this.isValid() && other.isValid()) {
                      return other > this ? this : other;
                  } else {
                      return createInvalid();
                  }
              }
          );
  
      // Pick a moment m from moments so that m[fn](other) is true for all
      // other. This relies on the function fn to be transitive.
      //
      // moments should either be an array of moment objects or an array, whose
      // first element is an array of moment objects.
      function pickBy(fn, moments) {
          var res, i;
          if (moments.length === 1 && isArray(moments[0])) {
              moments = moments[0];
          }
          if (!moments.length) {
              return createLocal();
          }
          res = moments[0];
          for (i = 1; i < moments.length; ++i) {
              if (!moments[i].isValid() || moments[i][fn](res)) {
                  res = moments[i];
              }
          }
          return res;
      }
  
      // TODO: Use [].sort instead?
      function min() {
          var args = [].slice.call(arguments, 0);
  
          return pickBy('isBefore', args);
      }
  
      function max() {
          var args = [].slice.call(arguments, 0);
  
          return pickBy('isAfter', args);
      }
  
      var now = function () {
          return Date.now ? Date.now() : +new Date();
      };
  
      var ordering = [
          'year',
          'quarter',
          'month',
          'week',
          'day',
          'hour',
          'minute',
          'second',
          'millisecond',
      ];
  
      function isDurationValid(m) {
          var key,
              unitHasDecimal = false,
              i;
          for (key in m) {
              if (
                  hasOwnProp(m, key) &&
                  !(
                      indexOf.call(ordering, key) !== -1 &&
                      (m[key] == null || !isNaN(m[key]))
                  )
              ) {
                  return false;
              }
          }
  
          for (i = 0; i < ordering.length; ++i) {
              if (m[ordering[i]]) {
                  if (unitHasDecimal) {
                      return false; // only allow non-integers for smallest unit
                  }
                  if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
                      unitHasDecimal = true;
                  }
              }
          }
  
          return true;
      }
  
      function isValid$1() {
          return this._isValid;
      }
  
      function createInvalid$1() {
          return createDuration(NaN);
      }
  
      function Duration(duration) {
          var normalizedInput = normalizeObjectUnits(duration),
              years = normalizedInput.year || 0,
              quarters = normalizedInput.quarter || 0,
              months = normalizedInput.month || 0,
              weeks = normalizedInput.week || normalizedInput.isoWeek || 0,
              days = normalizedInput.day || 0,
              hours = normalizedInput.hour || 0,
              minutes = normalizedInput.minute || 0,
              seconds = normalizedInput.second || 0,
              milliseconds = normalizedInput.millisecond || 0;
  
          this._isValid = isDurationValid(normalizedInput);
  
          // representation for dateAddRemove
          this._milliseconds =
              +milliseconds +
              seconds * 1e3 + // 1000
              minutes * 6e4 + // 1000 * 60
              hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
          // Because of dateAddRemove treats 24 hours as different from a
          // day when working around DST, we need to store them separately
          this._days = +days + weeks * 7;
          // It is impossible to translate months into days without knowing
          // which months you are are talking about, so we have to store
          // it separately.
          this._months = +months + quarters * 3 + years * 12;
  
          this._data = {};
  
          this._locale = getLocale();
  
          this._bubble();
      }
  
      function isDuration(obj) {
          return obj instanceof Duration;
      }
  
      function absRound(number) {
          if (number < 0) {
              return Math.round(-1 * number) * -1;
          } else {
              return Math.round(number);
          }
      }
  
      // compare two arrays, return the number of differences
      function compareArrays(array1, array2, dontConvert) {
          var len = Math.min(array1.length, array2.length),
              lengthDiff = Math.abs(array1.length - array2.length),
              diffs = 0,
              i;
          for (i = 0; i < len; i++) {
              if (
                  (dontConvert && array1[i] !== array2[i]) ||
                  (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))
              ) {
                  diffs++;
              }
          }
          return diffs + lengthDiff;
      }
  
      // FORMATTING
  
      function offset(token, separator) {
          addFormatToken(token, 0, 0, function () {
              var offset = this.utcOffset(),
                  sign = '+';
              if (offset < 0) {
                  offset = -offset;
                  sign = '-';
              }
              return (
                  sign +
                  zeroFill(~~(offset / 60), 2) +
                  separator +
                  zeroFill(~~offset % 60, 2)
              );
          });
      }
  
      offset('Z', ':');
      offset('ZZ', '');
  
      // PARSING
  
      addRegexToken('Z', matchShortOffset);
      addRegexToken('ZZ', matchShortOffset);
      addParseToken(['Z', 'ZZ'], function (input, array, config) {
          config._useUTC = true;
          config._tzm = offsetFromString(matchShortOffset, input);
      });
  
      // HELPERS
  
      // timezone chunker
      // '+10:00' > ['10',  '00']
      // '-1530'  > ['-15', '30']
      var chunkOffset = /([\+\-]|\d\d)/gi;
  
      function offsetFromString(matcher, string) {
          var matches = (string || '').match(matcher),
              chunk,
              parts,
              minutes;
  
          if (matches === null) {
              return null;
          }
  
          chunk = matches[matches.length - 1] || [];
          parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];
          minutes = +(parts[1] * 60) + toInt(parts[2]);
  
          return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;
      }
  
      // Return a moment from input, that is local/utc/zone equivalent to model.
      function cloneWithOffset(input, model) {
          var res, diff;
          if (model._isUTC) {
              res = model.clone();
              diff =
                  (isMoment(input) || isDate(input)
                      ? input.valueOf()
                      : createLocal(input).valueOf()) - res.valueOf();
              // Use low-level api, because this fn is low-level api.
              res._d.setTime(res._d.valueOf() + diff);
              hooks.updateOffset(res, false);
              return res;
          } else {
              return createLocal(input).local();
          }
      }
  
      function getDateOffset(m) {
          // On Firefox.24 Date#getTimezoneOffset returns a floating point.
          // https://github.com/moment/moment/pull/1871
          return -Math.round(m._d.getTimezoneOffset());
      }
  
      // HOOKS
  
      // This function will be called whenever a moment is mutated.
      // It is intended to keep the offset in sync with the timezone.
      hooks.updateOffset = function () {};
  
      // MOMENTS
  
      // keepLocalTime = true means only change the timezone, without
      // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
      // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
      // +0200, so we adjust the time as needed, to be valid.
      //
      // Keeping the time actually adds/subtracts (one hour)
      // from the actual represented time. That is why we call updateOffset
      // a second time. In case it wants us to change the offset again
      // _changeInProgress == true case, then we have to adjust, because
      // there is no such time in the given timezone.
      function getSetOffset(input, keepLocalTime, keepMinutes) {
          var offset = this._offset || 0,
              localAdjust;
          if (!this.isValid()) {
              return input != null ? this : NaN;
          }
          if (input != null) {
              if (typeof input === 'string') {
                  input = offsetFromString(matchShortOffset, input);
                  if (input === null) {
                      return this;
                  }
              } else if (Math.abs(input) < 16 && !keepMinutes) {
                  input = input * 60;
              }
              if (!this._isUTC && keepLocalTime) {
                  localAdjust = getDateOffset(this);
              }
              this._offset = input;
              this._isUTC = true;
              if (localAdjust != null) {
                  this.add(localAdjust, 'm');
              }
              if (offset !== input) {
                  if (!keepLocalTime || this._changeInProgress) {
                      addSubtract(
                          this,
                          createDuration(input - offset, 'm'),
                          1,
                          false
                      );
                  } else if (!this._changeInProgress) {
                      this._changeInProgress = true;
                      hooks.updateOffset(this, true);
                      this._changeInProgress = null;
                  }
              }
              return this;
          } else {
              return this._isUTC ? offset : getDateOffset(this);
          }
      }
  
      function getSetZone(input, keepLocalTime) {
          if (input != null) {
              if (typeof input !== 'string') {
                  input = -input;
              }
  
              this.utcOffset(input, keepLocalTime);
  
              return this;
          } else {
              return -this.utcOffset();
          }
      }
  
      function setOffsetToUTC(keepLocalTime) {
          return this.utcOffset(0, keepLocalTime);
      }
  
      function setOffsetToLocal(keepLocalTime) {
          if (this._isUTC) {
              this.utcOffset(0, keepLocalTime);
              this._isUTC = false;
  
              if (keepLocalTime) {
                  this.subtract(getDateOffset(this), 'm');
              }
          }
          return this;
      }
  
      function setOffsetToParsedOffset() {
          if (this._tzm != null) {
              this.utcOffset(this._tzm, false, true);
          } else if (typeof this._i === 'string') {
              var tZone = offsetFromString(matchOffset, this._i);
              if (tZone != null) {
                  this.utcOffset(tZone);
              } else {
                  this.utcOffset(0, true);
              }
          }
          return this;
      }
  
      function hasAlignedHourOffset(input) {
          if (!this.isValid()) {
              return false;
          }
          input = input ? createLocal(input).utcOffset() : 0;
  
          return (this.utcOffset() - input) % 60 === 0;
      }
  
      function isDaylightSavingTime() {
          return (
              this.utcOffset() > this.clone().month(0).utcOffset() ||
              this.utcOffset() > this.clone().month(5).utcOffset()
          );
      }
  
      function isDaylightSavingTimeShifted() {
          if (!isUndefined(this._isDSTShifted)) {
              return this._isDSTShifted;
          }
  
          var c = {},
              other;
  
          copyConfig(c, this);
          c = prepareConfig(c);
  
          if (c._a) {
              other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
              this._isDSTShifted =
                  this.isValid() && compareArrays(c._a, other.toArray()) > 0;
          } else {
              this._isDSTShifted = false;
          }
  
          return this._isDSTShifted;
      }
  
      function isLocal() {
          return this.isValid() ? !this._isUTC : false;
      }
  
      function isUtcOffset() {
          return this.isValid() ? this._isUTC : false;
      }
  
      function isUtc() {
          return this.isValid() ? this._isUTC && this._offset === 0 : false;
      }
  
      // ASP.NET json date format regex
      var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,
          // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
          // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
          // and further modified to allow for strings containing both week and day
          isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
  
      function createDuration(input, key) {
          var duration = input,
              // matching against regexp is expensive, do it on demand
              match = null,
              sign,
              ret,
              diffRes;
  
          if (isDuration(input)) {
              duration = {
                  ms: input._milliseconds,
                  d: input._days,
                  M: input._months,
              };
          } else if (isNumber(input) || !isNaN(+input)) {
              duration = {};
              if (key) {
                  duration[key] = +input;
              } else {
                  duration.milliseconds = +input;
              }
          } else if ((match = aspNetRegex.exec(input))) {
              sign = match[1] === '-' ? -1 : 1;
              duration = {
                  y: 0,
                  d: toInt(match[DATE]) * sign,
                  h: toInt(match[HOUR]) * sign,
                  m: toInt(match[MINUTE]) * sign,
                  s: toInt(match[SECOND]) * sign,
                  ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match
              };
          } else if ((match = isoRegex.exec(input))) {
              sign = match[1] === '-' ? -1 : 1;
              duration = {
                  y: parseIso(match[2], sign),
                  M: parseIso(match[3], sign),
                  w: parseIso(match[4], sign),
                  d: parseIso(match[5], sign),
                  h: parseIso(match[6], sign),
                  m: parseIso(match[7], sign),
                  s: parseIso(match[8], sign),
              };
          } else if (duration == null) {
              // checks for null or undefined
              duration = {};
          } else if (
              typeof duration === 'object' &&
              ('from' in duration || 'to' in duration)
          ) {
              diffRes = momentsDifference(
                  createLocal(duration.from),
                  createLocal(duration.to)
              );
  
              duration = {};
              duration.ms = diffRes.milliseconds;
              duration.M = diffRes.months;
          }
  
          ret = new Duration(duration);
  
          if (isDuration(input) && hasOwnProp(input, '_locale')) {
              ret._locale = input._locale;
          }
  
          if (isDuration(input) && hasOwnProp(input, '_isValid')) {
              ret._isValid = input._isValid;
          }
  
          return ret;
      }
  
      createDuration.fn = Duration.prototype;
      createDuration.invalid = createInvalid$1;
  
      function parseIso(inp, sign) {
          // We'd normally use ~~inp for this, but unfortunately it also
          // converts floats to ints.
          // inp may be undefined, so careful calling replace on it.
          var res = inp && parseFloat(inp.replace(',', '.'));
          // apply sign while we're at it
          return (isNaN(res) ? 0 : res) * sign;
      }
  
      function positiveMomentsDifference(base, other) {
          var res = {};
  
          res.months =
              other.month() - base.month() + (other.year() - base.year()) * 12;
          if (base.clone().add(res.months, 'M').isAfter(other)) {
              --res.months;
          }
  
          res.milliseconds = +other - +base.clone().add(res.months, 'M');
  
          return res;
      }
  
      function momentsDifference(base, other) {
          var res;
          if (!(base.isValid() && other.isValid())) {
              return { milliseconds: 0, months: 0 };
          }
  
          other = cloneWithOffset(other, base);
          if (base.isBefore(other)) {
              res = positiveMomentsDifference(base, other);
          } else {
              res = positiveMomentsDifference(other, base);
              res.milliseconds = -res.milliseconds;
              res.months = -res.months;
          }
  
          return res;
      }
  
      // TODO: remove 'name' arg after deprecation is removed
      function createAdder(direction, name) {
          return function (val, period) {
              var dur, tmp;
              //invert the arguments, but complain about it
              if (period !== null && !isNaN(+period)) {
                  deprecateSimple(
                      name,
                      'moment().' +
                          name +
                          '(period, number) is deprecated. Please use moment().' +
                          name +
                          '(number, period). ' +
                          'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'
                  );
                  tmp = val;
                  val = period;
                  period = tmp;
              }
  
              dur = createDuration(val, period);
              addSubtract(this, dur, direction);
              return this;
          };
      }
  
      function addSubtract(mom, duration, isAdding, updateOffset) {
          var milliseconds = duration._milliseconds,
              days = absRound(duration._days),
              months = absRound(duration._months);
  
          if (!mom.isValid()) {
              // No op
              return;
          }
  
          updateOffset = updateOffset == null ? true : updateOffset;
  
          if (months) {
              setMonth(mom, get(mom, 'Month') + months * isAdding);
          }
          if (days) {
              set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);
          }
          if (milliseconds) {
              mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
          }
          if (updateOffset) {
              hooks.updateOffset(mom, days || months);
          }
      }
  
      var add = createAdder(1, 'add'),
          subtract = createAdder(-1, 'subtract');
  
      function isString(input) {
          return typeof input === 'string' || input instanceof String;
      }
  
      // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined
      function isMomentInput(input) {
          return (
              isMoment(input) ||
              isDate(input) ||
              isString(input) ||
              isNumber(input) ||
              isNumberOrStringArray(input) ||
              isMomentInputObject(input) ||
              input === null ||
              input === undefined
          );
      }
  
      function isMomentInputObject(input) {
          var objectTest = isObject(input) && !isObjectEmpty(input),
              propertyTest = false,
              properties = [
                  'years',
                  'year',
                  'y',
                  'months',
                  'month',
                  'M',
                  'days',
                  'day',
                  'd',
                  'dates',
                  'date',
                  'D',
                  'hours',
                  'hour',
                  'h',
                  'minutes',
                  'minute',
                  'm',
                  'seconds',
                  'second',
                  's',
                  'milliseconds',
                  'millisecond',
                  'ms',
              ],
              i,
              property;
  
          for (i = 0; i < properties.length; i += 1) {
              property = properties[i];
              propertyTest = propertyTest || hasOwnProp(input, property);
          }
  
          return objectTest && propertyTest;
      }
  
      function isNumberOrStringArray(input) {
          var arrayTest = isArray(input),
              dataTypeTest = false;
          if (arrayTest) {
              dataTypeTest =
                  input.filter(function (item) {
                      return !isNumber(item) && isString(input);
                  }).length === 0;
          }
          return arrayTest && dataTypeTest;
      }
  
      function isCalendarSpec(input) {
          var objectTest = isObject(input) && !isObjectEmpty(input),
              propertyTest = false,
              properties = [
                  'sameDay',
                  'nextDay',
                  'lastDay',
                  'nextWeek',
                  'lastWeek',
                  'sameElse',
              ],
              i,
              property;
  
          for (i = 0; i < properties.length; i += 1) {
              property = properties[i];
              propertyTest = propertyTest || hasOwnProp(input, property);
          }
  
          return objectTest && propertyTest;
      }
  
      function getCalendarFormat(myMoment, now) {
          var diff = myMoment.diff(now, 'days', true);
          return diff < -6
              ? 'sameElse'
              : diff < -1
              ? 'lastWeek'
              : diff < 0
              ? 'lastDay'
              : diff < 1
              ? 'sameDay'
              : diff < 2
              ? 'nextDay'
              : diff < 7
              ? 'nextWeek'
              : 'sameElse';
      }
  
      function calendar$1(time, formats) {
          // Support for single parameter, formats only overload to the calendar function
          if (arguments.length === 1) {
              if (!arguments[0]) {
                  time = undefined;
                  formats = undefined;
              } else if (isMomentInput(arguments[0])) {
                  time = arguments[0];
                  formats = undefined;
              } else if (isCalendarSpec(arguments[0])) {
                  formats = arguments[0];
                  time = undefined;
              }
          }
          // We want to compare the start of today, vs this.
          // Getting start-of-today depends on whether we're local/utc/offset or not.
          var now = time || createLocal(),
              sod = cloneWithOffset(now, this).startOf('day'),
              format = hooks.calendarFormat(this, sod) || 'sameElse',
              output =
                  formats &&
                  (isFunction(formats[format])
                      ? formats[format].call(this, now)
                      : formats[format]);
  
          return this.format(
              output || this.localeData().calendar(format, this, createLocal(now))
          );
      }
  
      function clone() {
          return new Moment(this);
      }
  
      function isAfter(input, units) {
          var localInput = isMoment(input) ? input : createLocal(input);
          if (!(this.isValid() && localInput.isValid())) {
              return false;
          }
          units = normalizeUnits(units) || 'millisecond';
          if (units === 'millisecond') {
              return this.valueOf() > localInput.valueOf();
          } else {
              return localInput.valueOf() < this.clone().startOf(units).valueOf();
          }
      }
  
      function isBefore(input, units) {
          var localInput = isMoment(input) ? input : createLocal(input);
          if (!(this.isValid() && localInput.isValid())) {
              return false;
          }
          units = normalizeUnits(units) || 'millisecond';
          if (units === 'millisecond') {
              return this.valueOf() < localInput.valueOf();
          } else {
              return this.clone().endOf(units).valueOf() < localInput.valueOf();
          }
      }
  
      function isBetween(from, to, units, inclusivity) {
          var localFrom = isMoment(from) ? from : createLocal(from),
              localTo = isMoment(to) ? to : createLocal(to);
          if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {
              return false;
          }
          inclusivity = inclusivity || '()';
          return (
              (inclusivity[0] === '('
                  ? this.isAfter(localFrom, units)
                  : !this.isBefore(localFrom, units)) &&
              (inclusivity[1] === ')'
                  ? this.isBefore(localTo, units)
                  : !this.isAfter(localTo, units))
          );
      }
  
      function isSame(input, units) {
          var localInput = isMoment(input) ? input : createLocal(input),
              inputMs;
          if (!(this.isValid() && localInput.isValid())) {
              return false;
          }
          units = normalizeUnits(units) || 'millisecond';
          if (units === 'millisecond') {
              return this.valueOf() === localInput.valueOf();
          } else {
              inputMs = localInput.valueOf();
              return (
                  this.clone().startOf(units).valueOf() <= inputMs &&
                  inputMs <= this.clone().endOf(units).valueOf()
              );
          }
      }
  
      function isSameOrAfter(input, units) {
          return this.isSame(input, units) || this.isAfter(input, units);
      }
  
      function isSameOrBefore(input, units) {
          return this.isSame(input, units) || this.isBefore(input, units);
      }
  
      function diff(input, units, asFloat) {
          var that, zoneDelta, output;
  
          if (!this.isValid()) {
              return NaN;
          }
  
          that = cloneWithOffset(input, this);
  
          if (!that.isValid()) {
              return NaN;
          }
  
          zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
  
          units = normalizeUnits(units);
  
          switch (units) {
              case 'year':
                  output = monthDiff(this, that) / 12;
                  break;
              case 'month':
                  output = monthDiff(this, that);
                  break;
              case 'quarter':
                  output = monthDiff(this, that) / 3;
                  break;
              case 'second':
                  output = (this - that) / 1e3;
                  break; // 1000
              case 'minute':
                  output = (this - that) / 6e4;
                  break; // 1000 * 60
              case 'hour':
                  output = (this - that) / 36e5;
                  break; // 1000 * 60 * 60
              case 'day':
                  output = (this - that - zoneDelta) / 864e5;
                  break; // 1000 * 60 * 60 * 24, negate dst
              case 'week':
                  output = (this - that - zoneDelta) / 6048e5;
                  break; // 1000 * 60 * 60 * 24 * 7, negate dst
              default:
                  output = this - that;
          }
  
          return asFloat ? output : absFloor(output);
      }
  
      function monthDiff(a, b) {
          if (a.date() < b.date()) {
              // end-of-month calculations work correct when the start month has more
              // days than the end month.
              return -monthDiff(b, a);
          }
          // difference in months
          var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),
              // b is in (anchor - 1 month, anchor + 1 month)
              anchor = a.clone().add(wholeMonthDiff, 'months'),
              anchor2,
              adjust;
  
          if (b - anchor < 0) {
              anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
              // linear across the month
              adjust = (b - anchor) / (anchor - anchor2);
          } else {
              anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
              // linear across the month
              adjust = (b - anchor) / (anchor2 - anchor);
          }
  
          //check for negative zero, return zero if negative zero
          return -(wholeMonthDiff + adjust) || 0;
      }
  
      hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
      hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';
  
      function toString() {
          return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
      }
  
      function toISOString(keepOffset) {
          if (!this.isValid()) {
              return null;
          }
          var utc = keepOffset !== true,
              m = utc ? this.clone().utc() : this;
          if (m.year() < 0 || m.year() > 9999) {
              return formatMoment(
                  m,
                  utc
                      ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'
                      : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'
              );
          }
          if (isFunction(Date.prototype.toISOString)) {
              // native implementation is ~50x faster, use it when we can
              if (utc) {
                  return this.toDate().toISOString();
              } else {
                  return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)
                      .toISOString()
                      .replace('Z', formatMoment(m, 'Z'));
              }
          }
          return formatMoment(
              m,
              utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'
          );
      }
  
      /**
       * Return a human readable representation of a moment that can
       * also be evaluated to get a new moment which is the same
       *
       * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
       */
      function inspect() {
          if (!this.isValid()) {
              return 'moment.invalid(/* ' + this._i + ' */)';
          }
          var func = 'moment',
              zone = '',
              prefix,
              year,
              datetime,
              suffix;
          if (!this.isLocal()) {
              func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
              zone = 'Z';
          }
          prefix = '[' + func + '("]';
          year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';
          datetime = '-MM-DD[T]HH:mm:ss.SSS';
          suffix = zone + '[")]';
  
          return this.format(prefix + year + datetime + suffix);
      }
  
      function format(inputString) {
          if (!inputString) {
              inputString = this.isUtc()
                  ? hooks.defaultFormatUtc
                  : hooks.defaultFormat;
          }
          var output = formatMoment(this, inputString);
          return this.localeData().postformat(output);
      }
  
      function from(time, withoutSuffix) {
          if (
              this.isValid() &&
              ((isMoment(time) && time.isValid()) || createLocal(time).isValid())
          ) {
              return createDuration({ to: this, from: time })
                  .locale(this.locale())
                  .humanize(!withoutSuffix);
          } else {
              return this.localeData().invalidDate();
          }
      }
  
      function fromNow(withoutSuffix) {
          return this.from(createLocal(), withoutSuffix);
      }
  
      function to(time, withoutSuffix) {
          if (
              this.isValid() &&
              ((isMoment(time) && time.isValid()) || createLocal(time).isValid())
          ) {
              return createDuration({ from: this, to: time })
                  .locale(this.locale())
                  .humanize(!withoutSuffix);
          } else {
              return this.localeData().invalidDate();
          }
      }
  
      function toNow(withoutSuffix) {
          return this.to(createLocal(), withoutSuffix);
      }
  
      // If passed a locale key, it will set the locale for this
      // instance.  Otherwise, it will return the locale configuration
      // variables for this instance.
      function locale(key) {
          var newLocaleData;
  
          if (key === undefined) {
              return this._locale._abbr;
          } else {
              newLocaleData = getLocale(key);
              if (newLocaleData != null) {
                  this._locale = newLocaleData;
              }
              return this;
          }
      }
  
      var lang = deprecate(
          'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
          function (key) {
              if (key === undefined) {
                  return this.localeData();
              } else {
                  return this.locale(key);
              }
          }
      );
  
      function localeData() {
          return this._locale;
      }
  
      var MS_PER_SECOND = 1000,
          MS_PER_MINUTE = 60 * MS_PER_SECOND,
          MS_PER_HOUR = 60 * MS_PER_MINUTE,
          MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;
  
      // actual modulo - handles negative numbers (for dates before 1970):
      function mod$1(dividend, divisor) {
          return ((dividend % divisor) + divisor) % divisor;
      }
  
      function localStartOfDate(y, m, d) {
          // the date constructor remaps years 0-99 to 1900-1999
          if (y < 100 && y >= 0) {
              // preserve leap years using a full 400 year cycle, then reset
              return new Date(y + 400, m, d) - MS_PER_400_YEARS;
          } else {
              return new Date(y, m, d).valueOf();
          }
      }
  
      function utcStartOfDate(y, m, d) {
          // Date.UTC remaps years 0-99 to 1900-1999
          if (y < 100 && y >= 0) {
              // preserve leap years using a full 400 year cycle, then reset
              return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;
          } else {
              return Date.UTC(y, m, d);
          }
      }
  
      function startOf(units) {
          var time, startOfDate;
          units = normalizeUnits(units);
          if (units === undefined || units === 'millisecond' || !this.isValid()) {
              return this;
          }
  
          startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
  
          switch (units) {
              case 'year':
                  time = startOfDate(this.year(), 0, 1);
                  break;
              case 'quarter':
                  time = startOfDate(
                      this.year(),
                      this.month() - (this.month() % 3),
                      1
                  );
                  break;
              case 'month':
                  time = startOfDate(this.year(), this.month(), 1);
                  break;
              case 'week':
                  time = startOfDate(
                      this.year(),
                      this.month(),
                      this.date() - this.weekday()
                  );
                  break;
              case 'isoWeek':
                  time = startOfDate(
                      this.year(),
                      this.month(),
                      this.date() - (this.isoWeekday() - 1)
                  );
                  break;
              case 'day':
              case 'date':
                  time = startOfDate(this.year(), this.month(), this.date());
                  break;
              case 'hour':
                  time = this._d.valueOf();
                  time -= mod$1(
                      time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),
                      MS_PER_HOUR
                  );
                  break;
              case 'minute':
                  time = this._d.valueOf();
                  time -= mod$1(time, MS_PER_MINUTE);
                  break;
              case 'second':
                  time = this._d.valueOf();
                  time -= mod$1(time, MS_PER_SECOND);
                  break;
          }
  
          this._d.setTime(time);
          hooks.updateOffset(this, true);
          return this;
      }
  
      function endOf(units) {
          var time, startOfDate;
          units = normalizeUnits(units);
          if (units === undefined || units === 'millisecond' || !this.isValid()) {
              return this;
          }
  
          startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
  
          switch (units) {
              case 'year':
                  time = startOfDate(this.year() + 1, 0, 1) - 1;
                  break;
              case 'quarter':
                  time =
                      startOfDate(
                          this.year(),
                          this.month() - (this.month() % 3) + 3,
                          1
                      ) - 1;
                  break;
              case 'month':
                  time = startOfDate(this.year(), this.month() + 1, 1) - 1;
                  break;
              case 'week':
                  time =
                      startOfDate(
                          this.year(),
                          this.month(),
                          this.date() - this.weekday() + 7
                      ) - 1;
                  break;
              case 'isoWeek':
                  time =
                      startOfDate(
                          this.year(),
                          this.month(),
                          this.date() - (this.isoWeekday() - 1) + 7
                      ) - 1;
                  break;
              case 'day':
              case 'date':
                  time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;
                  break;
              case 'hour':
                  time = this._d.valueOf();
                  time +=
                      MS_PER_HOUR -
                      mod$1(
                          time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),
                          MS_PER_HOUR
                      ) -
                      1;
                  break;
              case 'minute':
                  time = this._d.valueOf();
                  time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;
                  break;
              case 'second':
                  time = this._d.valueOf();
                  time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;
                  break;
          }
  
          this._d.setTime(time);
          hooks.updateOffset(this, true);
          return this;
      }
  
      function valueOf() {
          return this._d.valueOf() - (this._offset || 0) * 60000;
      }
  
      function unix() {
          return Math.floor(this.valueOf() / 1000);
      }
  
      function toDate() {
          return new Date(this.valueOf());
      }
  
      function toArray() {
          var m = this;
          return [
              m.year(),
              m.month(),
              m.date(),
              m.hour(),
              m.minute(),
              m.second(),
              m.millisecond(),
          ];
      }
  
      function toObject() {
          var m = this;
          return {
              years: m.year(),
              months: m.month(),
              date: m.date(),
              hours: m.hours(),
              minutes: m.minutes(),
              seconds: m.seconds(),
              milliseconds: m.milliseconds(),
          };
      }
  
      function toJSON() {
          // new Date(NaN).toJSON() === null
          return this.isValid() ? this.toISOString() : null;
      }
  
      function isValid$2() {
          return isValid(this);
      }
  
      function parsingFlags() {
          return extend({}, getParsingFlags(this));
      }
  
      function invalidAt() {
          return getParsingFlags(this).overflow;
      }
  
      function creationData() {
          return {
              input: this._i,
              format: this._f,
              locale: this._locale,
              isUTC: this._isUTC,
              strict: this._strict,
          };
      }
  
      addFormatToken('N', 0, 0, 'eraAbbr');
      addFormatToken('NN', 0, 0, 'eraAbbr');
      addFormatToken('NNN', 0, 0, 'eraAbbr');
      addFormatToken('NNNN', 0, 0, 'eraName');
      addFormatToken('NNNNN', 0, 0, 'eraNarrow');
  
      addFormatToken('y', ['y', 1], 'yo', 'eraYear');
      addFormatToken('y', ['yy', 2], 0, 'eraYear');
      addFormatToken('y', ['yyy', 3], 0, 'eraYear');
      addFormatToken('y', ['yyyy', 4], 0, 'eraYear');
  
      addRegexToken('N', matchEraAbbr);
      addRegexToken('NN', matchEraAbbr);
      addRegexToken('NNN', matchEraAbbr);
      addRegexToken('NNNN', matchEraName);
      addRegexToken('NNNNN', matchEraNarrow);
  
      addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (
          input,
          array,
          config,
          token
      ) {
          var era = config._locale.erasParse(input, token, config._strict);
          if (era) {
              getParsingFlags(config).era = era;
          } else {
              getParsingFlags(config).invalidEra = input;
          }
      });
  
      addRegexToken('y', matchUnsigned);
      addRegexToken('yy', matchUnsigned);
      addRegexToken('yyy', matchUnsigned);
      addRegexToken('yyyy', matchUnsigned);
      addRegexToken('yo', matchEraYearOrdinal);
  
      addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);
      addParseToken(['yo'], function (input, array, config, token) {
          var match;
          if (config._locale._eraYearOrdinalRegex) {
              match = input.match(config._locale._eraYearOrdinalRegex);
          }
  
          if (config._locale.eraYearOrdinalParse) {
              array[YEAR] = config._locale.eraYearOrdinalParse(input, match);
          } else {
              array[YEAR] = parseInt(input, 10);
          }
      });
  
      function localeEras(m, format) {
          var i,
              l,
              date,
              eras = this._eras || getLocale('en')._eras;
          for (i = 0, l = eras.length; i < l; ++i) {
              switch (typeof eras[i].since) {
                  case 'string':
                      // truncate time
                      date = hooks(eras[i].since).startOf('day');
                      eras[i].since = date.valueOf();
                      break;
              }
  
              switch (typeof eras[i].until) {
                  case 'undefined':
                      eras[i].until = +Infinity;
                      break;
                  case 'string':
                      // truncate time
                      date = hooks(eras[i].until).startOf('day').valueOf();
                      eras[i].until = date.valueOf();
                      break;
              }
          }
          return eras;
      }
  
      function localeErasParse(eraName, format, strict) {
          var i,
              l,
              eras = this.eras(),
              name,
              abbr,
              narrow;
          eraName = eraName.toUpperCase();
  
          for (i = 0, l = eras.length; i < l; ++i) {
              name = eras[i].name.toUpperCase();
              abbr = eras[i].abbr.toUpperCase();
              narrow = eras[i].narrow.toUpperCase();
  
              if (strict) {
                  switch (format) {
                      case 'N':
                      case 'NN':
                      case 'NNN':
                          if (abbr === eraName) {
                              return eras[i];
                          }
                          break;
  
                      case 'NNNN':
                          if (name === eraName) {
                              return eras[i];
                          }
                          break;
  
                      case 'NNNNN':
                          if (narrow === eraName) {
                              return eras[i];
                          }
                          break;
                  }
              } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {
                  return eras[i];
              }
          }
      }
  
      function localeErasConvertYear(era, year) {
          var dir = era.since <= era.until ? +1 : -1;
          if (year === undefined) {
              return hooks(era.since).year();
          } else {
              return hooks(era.since).year() + (year - era.offset) * dir;
          }
      }
  
      function getEraName() {
          var i,
              l,
              val,
              eras = this.localeData().eras();
          for (i = 0, l = eras.length; i < l; ++i) {
              // truncate time
              val = this.clone().startOf('day').valueOf();
  
              if (eras[i].since <= val && val <= eras[i].until) {
                  return eras[i].name;
              }
              if (eras[i].until <= val && val <= eras[i].since) {
                  return eras[i].name;
              }
          }
  
          return '';
      }
  
      function getEraNarrow() {
          var i,
              l,
              val,
              eras = this.localeData().eras();
          for (i = 0, l = eras.length; i < l; ++i) {
              // truncate time
              val = this.clone().startOf('day').valueOf();
  
              if (eras[i].since <= val && val <= eras[i].until) {
                  return eras[i].narrow;
              }
              if (eras[i].until <= val && val <= eras[i].since) {
                  return eras[i].narrow;
              }
          }
  
          return '';
      }
  
      function getEraAbbr() {
          var i,
              l,
              val,
              eras = this.localeData().eras();
          for (i = 0, l = eras.length; i < l; ++i) {
              // truncate time
              val = this.clone().startOf('day').valueOf();
  
              if (eras[i].since <= val && val <= eras[i].until) {
                  return eras[i].abbr;
              }
              if (eras[i].until <= val && val <= eras[i].since) {
                  return eras[i].abbr;
              }
          }
  
          return '';
      }
  
      function getEraYear() {
          var i,
              l,
              dir,
              val,
              eras = this.localeData().eras();
          for (i = 0, l = eras.length; i < l; ++i) {
              dir = eras[i].since <= eras[i].until ? +1 : -1;
  
              // truncate time
              val = this.clone().startOf('day').valueOf();
  
              if (
                  (eras[i].since <= val && val <= eras[i].until) ||
                  (eras[i].until <= val && val <= eras[i].since)
              ) {
                  return (
                      (this.year() - hooks(eras[i].since).year()) * dir +
                      eras[i].offset
                  );
              }
          }
  
          return this.year();
      }
  
      function erasNameRegex(isStrict) {
          if (!hasOwnProp(this, '_erasNameRegex')) {
              computeErasParse.call(this);
          }
          return isStrict ? this._erasNameRegex : this._erasRegex;
      }
  
      function erasAbbrRegex(isStrict) {
          if (!hasOwnProp(this, '_erasAbbrRegex')) {
              computeErasParse.call(this);
          }
          return isStrict ? this._erasAbbrRegex : this._erasRegex;
      }
  
      function erasNarrowRegex(isStrict) {
          if (!hasOwnProp(this, '_erasNarrowRegex')) {
              computeErasParse.call(this);
          }
          return isStrict ? this._erasNarrowRegex : this._erasRegex;
      }
  
      function matchEraAbbr(isStrict, locale) {
          return locale.erasAbbrRegex(isStrict);
      }
  
      function matchEraName(isStrict, locale) {
          return locale.erasNameRegex(isStrict);
      }
  
      function matchEraNarrow(isStrict, locale) {
          return locale.erasNarrowRegex(isStrict);
      }
  
      function matchEraYearOrdinal(isStrict, locale) {
          return locale._eraYearOrdinalRegex || matchUnsigned;
      }
  
      function computeErasParse() {
          var abbrPieces = [],
              namePieces = [],
              narrowPieces = [],
              mixedPieces = [],
              i,
              l,
              eras = this.eras();
  
          for (i = 0, l = eras.length; i < l; ++i) {
              namePieces.push(regexEscape(eras[i].name));
              abbrPieces.push(regexEscape(eras[i].abbr));
              narrowPieces.push(regexEscape(eras[i].narrow));
  
              mixedPieces.push(regexEscape(eras[i].name));
              mixedPieces.push(regexEscape(eras[i].abbr));
              mixedPieces.push(regexEscape(eras[i].narrow));
          }
  
          this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
          this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');
          this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');
          this._erasNarrowRegex = new RegExp(
              '^(' + narrowPieces.join('|') + ')',
              'i'
          );
      }
  
      // FORMATTING
  
      addFormatToken(0, ['gg', 2], 0, function () {
          return this.weekYear() % 100;
      });
  
      addFormatToken(0, ['GG', 2], 0, function () {
          return this.isoWeekYear() % 100;
      });
  
      function addWeekYearFormatToken(token, getter) {
          addFormatToken(0, [token, token.length], 0, getter);
      }
  
      addWeekYearFormatToken('gggg', 'weekYear');
      addWeekYearFormatToken('ggggg', 'weekYear');
      addWeekYearFormatToken('GGGG', 'isoWeekYear');
      addWeekYearFormatToken('GGGGG', 'isoWeekYear');
  
      // ALIASES
  
      addUnitAlias('weekYear', 'gg');
      addUnitAlias('isoWeekYear', 'GG');
  
      // PRIORITY
  
      addUnitPriority('weekYear', 1);
      addUnitPriority('isoWeekYear', 1);
  
      // PARSING
  
      addRegexToken('G', matchSigned);
      addRegexToken('g', matchSigned);
      addRegexToken('GG', match1to2, match2);
      addRegexToken('gg', match1to2, match2);
      addRegexToken('GGGG', match1to4, match4);
      addRegexToken('gggg', match1to4, match4);
      addRegexToken('GGGGG', match1to6, match6);
      addRegexToken('ggggg', match1to6, match6);
  
      addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (
          input,
          week,
          config,
          token
      ) {
          week[token.substr(0, 2)] = toInt(input);
      });
  
      addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
          week[token] = hooks.parseTwoDigitYear(input);
      });
  
      // MOMENTS
  
      function getSetWeekYear(input) {
          return getSetWeekYearHelper.call(
              this,
              input,
              this.week(),
              this.weekday(),
              this.localeData()._week.dow,
              this.localeData()._week.doy
          );
      }
  
      function getSetISOWeekYear(input) {
          return getSetWeekYearHelper.call(
              this,
              input,
              this.isoWeek(),
              this.isoWeekday(),
              1,
              4
          );
      }
  
      function getISOWeeksInYear() {
          return weeksInYear(this.year(), 1, 4);
      }
  
      function getISOWeeksInISOWeekYear() {
          return weeksInYear(this.isoWeekYear(), 1, 4);
      }
  
      function getWeeksInYear() {
          var weekInfo = this.localeData()._week;
          return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
      }
  
      function getWeeksInWeekYear() {
          var weekInfo = this.localeData()._week;
          return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);
      }
  
      function getSetWeekYearHelper(input, week, weekday, dow, doy) {
          var weeksTarget;
          if (input == null) {
              return weekOfYear(this, dow, doy).year;
          } else {
              weeksTarget = weeksInYear(input, dow, doy);
              if (week > weeksTarget) {
                  week = weeksTarget;
              }
              return setWeekAll.call(this, input, week, weekday, dow, doy);
          }
      }
  
      function setWeekAll(weekYear, week, weekday, dow, doy) {
          var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
              date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
  
          this.year(date.getUTCFullYear());
          this.month(date.getUTCMonth());
          this.date(date.getUTCDate());
          return this;
      }
  
      // FORMATTING
  
      addFormatToken('Q', 0, 'Qo', 'quarter');
  
      // ALIASES
  
      addUnitAlias('quarter', 'Q');
  
      // PRIORITY
  
      addUnitPriority('quarter', 7);
  
      // PARSING
  
      addRegexToken('Q', match1);
      addParseToken('Q', function (input, array) {
          array[MONTH] = (toInt(input) - 1) * 3;
      });
  
      // MOMENTS
  
      function getSetQuarter(input) {
          return input == null
              ? Math.ceil((this.month() + 1) / 3)
              : this.month((input - 1) * 3 + (this.month() % 3));
      }
  
      // FORMATTING
  
      addFormatToken('D', ['DD', 2], 'Do', 'date');
  
      // ALIASES
  
      addUnitAlias('date', 'D');
  
      // PRIORITY
      addUnitPriority('date', 9);
  
      // PARSING
  
      addRegexToken('D', match1to2);
      addRegexToken('DD', match1to2, match2);
      addRegexToken('Do', function (isStrict, locale) {
          // TODO: Remove "ordinalParse" fallback in next major release.
          return isStrict
              ? locale._dayOfMonthOrdinalParse || locale._ordinalParse
              : locale._dayOfMonthOrdinalParseLenient;
      });
  
      addParseToken(['D', 'DD'], DATE);
      addParseToken('Do', function (input, array) {
          array[DATE] = toInt(input.match(match1to2)[0]);
      });
  
      // MOMENTS
  
      var getSetDayOfMonth = makeGetSet('Date', true);
  
      // FORMATTING
  
      addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
  
      // ALIASES
  
      addUnitAlias('dayOfYear', 'DDD');
  
      // PRIORITY
      addUnitPriority('dayOfYear', 4);
  
      // PARSING
  
      addRegexToken('DDD', match1to3);
      addRegexToken('DDDD', match3);
      addParseToken(['DDD', 'DDDD'], function (input, array, config) {
          config._dayOfYear = toInt(input);
      });
  
      // HELPERS
  
      // MOMENTS
  
      function getSetDayOfYear(input) {
          var dayOfYear =
              Math.round(
                  (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5
              ) + 1;
          return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');
      }
  
      // FORMATTING
  
      addFormatToken('m', ['mm', 2], 0, 'minute');
  
      // ALIASES
  
      addUnitAlias('minute', 'm');
  
      // PRIORITY
  
      addUnitPriority('minute', 14);
  
      // PARSING
  
      addRegexToken('m', match1to2);
      addRegexToken('mm', match1to2, match2);
      addParseToken(['m', 'mm'], MINUTE);
  
      // MOMENTS
  
      var getSetMinute = makeGetSet('Minutes', false);
  
      // FORMATTING
  
      addFormatToken('s', ['ss', 2], 0, 'second');
  
      // ALIASES
  
      addUnitAlias('second', 's');
  
      // PRIORITY
  
      addUnitPriority('second', 15);
  
      // PARSING
  
      addRegexToken('s', match1to2);
      addRegexToken('ss', match1to2, match2);
      addParseToken(['s', 'ss'], SECOND);
  
      // MOMENTS
  
      var getSetSecond = makeGetSet('Seconds', false);
  
      // FORMATTING
  
      addFormatToken('S', 0, 0, function () {
          return ~~(this.millisecond() / 100);
      });
  
      addFormatToken(0, ['SS', 2], 0, function () {
          return ~~(this.millisecond() / 10);
      });
  
      addFormatToken(0, ['SSS', 3], 0, 'millisecond');
      addFormatToken(0, ['SSSS', 4], 0, function () {
          return this.millisecond() * 10;
      });
      addFormatToken(0, ['SSSSS', 5], 0, function () {
          return this.millisecond() * 100;
      });
      addFormatToken(0, ['SSSSSS', 6], 0, function () {
          return this.millisecond() * 1000;
      });
      addFormatToken(0, ['SSSSSSS', 7], 0, function () {
          return this.millisecond() * 10000;
      });
      addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
          return this.millisecond() * 100000;
      });
      addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
          return this.millisecond() * 1000000;
      });
  
      // ALIASES
  
      addUnitAlias('millisecond', 'ms');
  
      // PRIORITY
  
      addUnitPriority('millisecond', 16);
  
      // PARSING
  
      addRegexToken('S', match1to3, match1);
      addRegexToken('SS', match1to3, match2);
      addRegexToken('SSS', match1to3, match3);
  
      var token, getSetMillisecond;
      for (token = 'SSSS'; token.length <= 9; token += 'S') {
          addRegexToken(token, matchUnsigned);
      }
  
      function parseMs(input, array) {
          array[MILLISECOND] = toInt(('0.' + input) * 1000);
      }
  
      for (token = 'S'; token.length <= 9; token += 'S') {
          addParseToken(token, parseMs);
      }
  
      getSetMillisecond = makeGetSet('Milliseconds', false);
  
      // FORMATTING
  
      addFormatToken('z', 0, 0, 'zoneAbbr');
      addFormatToken('zz', 0, 0, 'zoneName');
  
      // MOMENTS
  
      function getZoneAbbr() {
          return this._isUTC ? 'UTC' : '';
      }
  
      function getZoneName() {
          return this._isUTC ? 'Coordinated Universal Time' : '';
      }
  
      var proto = Moment.prototype;
  
      proto.add = add;
      proto.calendar = calendar$1;
      proto.clone = clone;
      proto.diff = diff;
      proto.endOf = endOf;
      proto.format = format;
      proto.from = from;
      proto.fromNow = fromNow;
      proto.to = to;
      proto.toNow = toNow;
      proto.get = stringGet;
      proto.invalidAt = invalidAt;
      proto.isAfter = isAfter;
      proto.isBefore = isBefore;
      proto.isBetween = isBetween;
      proto.isSame = isSame;
      proto.isSameOrAfter = isSameOrAfter;
      proto.isSameOrBefore = isSameOrBefore;
      proto.isValid = isValid$2;
      proto.lang = lang;
      proto.locale = locale;
      proto.localeData = localeData;
      proto.max = prototypeMax;
      proto.min = prototypeMin;
      proto.parsingFlags = parsingFlags;
      proto.set = stringSet;
      proto.startOf = startOf;
      proto.subtract = subtract;
      proto.toArray = toArray;
      proto.toObject = toObject;
      proto.toDate = toDate;
      proto.toISOString = toISOString;
      proto.inspect = inspect;
      if (typeof Symbol !== 'undefined' && Symbol.for != null) {
          proto[Symbol.for('nodejs.util.inspect.custom')] = function () {
              return 'Moment<' + this.format() + '>';
          };
      }
      proto.toJSON = toJSON;
      proto.toString = toString;
      proto.unix = unix;
      proto.valueOf = valueOf;
      proto.creationData = creationData;
      proto.eraName = getEraName;
      proto.eraNarrow = getEraNarrow;
      proto.eraAbbr = getEraAbbr;
      proto.eraYear = getEraYear;
      proto.year = getSetYear;
      proto.isLeapYear = getIsLeapYear;
      proto.weekYear = getSetWeekYear;
      proto.isoWeekYear = getSetISOWeekYear;
      proto.quarter = proto.quarters = getSetQuarter;
      proto.month = getSetMonth;
      proto.daysInMonth = getDaysInMonth;
      proto.week = proto.weeks = getSetWeek;
      proto.isoWeek = proto.isoWeeks = getSetISOWeek;
      proto.weeksInYear = getWeeksInYear;
      proto.weeksInWeekYear = getWeeksInWeekYear;
      proto.isoWeeksInYear = getISOWeeksInYear;
      proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;
      proto.date = getSetDayOfMonth;
      proto.day = proto.days = getSetDayOfWeek;
      proto.weekday = getSetLocaleDayOfWeek;
      proto.isoWeekday = getSetISODayOfWeek;
      proto.dayOfYear = getSetDayOfYear;
      proto.hour = proto.hours = getSetHour;
      proto.minute = proto.minutes = getSetMinute;
      proto.second = proto.seconds = getSetSecond;
      proto.millisecond = proto.milliseconds = getSetMillisecond;
      proto.utcOffset = getSetOffset;
      proto.utc = setOffsetToUTC;
      proto.local = setOffsetToLocal;
      proto.parseZone = setOffsetToParsedOffset;
      proto.hasAlignedHourOffset = hasAlignedHourOffset;
      proto.isDST = isDaylightSavingTime;
      proto.isLocal = isLocal;
      proto.isUtcOffset = isUtcOffset;
      proto.isUtc = isUtc;
      proto.isUTC = isUtc;
      proto.zoneAbbr = getZoneAbbr;
      proto.zoneName = getZoneName;
      proto.dates = deprecate(
          'dates accessor is deprecated. Use date instead.',
          getSetDayOfMonth
      );
      proto.months = deprecate(
          'months accessor is deprecated. Use month instead',
          getSetMonth
      );
      proto.years = deprecate(
          'years accessor is deprecated. Use year instead',
          getSetYear
      );
      proto.zone = deprecate(
          'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',
          getSetZone
      );
      proto.isDSTShifted = deprecate(
          'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',
          isDaylightSavingTimeShifted
      );
  
      function createUnix(input) {
          return createLocal(input * 1000);
      }
  
      function createInZone() {
          return createLocal.apply(null, arguments).parseZone();
      }
  
      function preParsePostFormat(string) {
          return string;
      }
  
      var proto$1 = Locale.prototype;
  
      proto$1.calendar = calendar;
      proto$1.longDateFormat = longDateFormat;
      proto$1.invalidDate = invalidDate;
      proto$1.ordinal = ordinal;
      proto$1.preparse = preParsePostFormat;
      proto$1.postformat = preParsePostFormat;
      proto$1.relativeTime = relativeTime;
      proto$1.pastFuture = pastFuture;
      proto$1.set = set;
      proto$1.eras = localeEras;
      proto$1.erasParse = localeErasParse;
      proto$1.erasConvertYear = localeErasConvertYear;
      proto$1.erasAbbrRegex = erasAbbrRegex;
      proto$1.erasNameRegex = erasNameRegex;
      proto$1.erasNarrowRegex = erasNarrowRegex;
  
      proto$1.months = localeMonths;
      proto$1.monthsShort = localeMonthsShort;
      proto$1.monthsParse = localeMonthsParse;
      proto$1.monthsRegex = monthsRegex;
      proto$1.monthsShortRegex = monthsShortRegex;
      proto$1.week = localeWeek;
      proto$1.firstDayOfYear = localeFirstDayOfYear;
      proto$1.firstDayOfWeek = localeFirstDayOfWeek;
  
      proto$1.weekdays = localeWeekdays;
      proto$1.weekdaysMin = localeWeekdaysMin;
      proto$1.weekdaysShort = localeWeekdaysShort;
      proto$1.weekdaysParse = localeWeekdaysParse;
  
      proto$1.weekdaysRegex = weekdaysRegex;
      proto$1.weekdaysShortRegex = weekdaysShortRegex;
      proto$1.weekdaysMinRegex = weekdaysMinRegex;
  
      proto$1.isPM = localeIsPM;
      proto$1.meridiem = localeMeridiem;
  
      function get$1(format, index, field, setter) {
          var locale = getLocale(),
              utc = createUTC().set(setter, index);
          return locale[field](utc, format);
      }
  
      function listMonthsImpl(format, index, field) {
          if (isNumber(format)) {
              index = format;
              format = undefined;
          }
  
          format = format || '';
  
          if (index != null) {
              return get$1(format, index, field, 'month');
          }
  
          var i,
              out = [];
          for (i = 0; i < 12; i++) {
              out[i] = get$1(format, i, field, 'month');
          }
          return out;
      }
  
      // ()
      // (5)
      // (fmt, 5)
      // (fmt)
      // (true)
      // (true, 5)
      // (true, fmt, 5)
      // (true, fmt)
      function listWeekdaysImpl(localeSorted, format, index, field) {
          if (typeof localeSorted === 'boolean') {
              if (isNumber(format)) {
                  index = format;
                  format = undefined;
              }
  
              format = format || '';
          } else {
              format = localeSorted;
              index = format;
              localeSorted = false;
  
              if (isNumber(format)) {
                  index = format;
                  format = undefined;
              }
  
              format = format || '';
          }
  
          var locale = getLocale(),
              shift = localeSorted ? locale._week.dow : 0,
              i,
              out = [];
  
          if (index != null) {
              return get$1(format, (index + shift) % 7, field, 'day');
          }
  
          for (i = 0; i < 7; i++) {
              out[i] = get$1(format, (i + shift) % 7, field, 'day');
          }
          return out;
      }
  
      function listMonths(format, index) {
          return listMonthsImpl(format, index, 'months');
      }
  
      function listMonthsShort(format, index) {
          return listMonthsImpl(format, index, 'monthsShort');
      }
  
      function listWeekdays(localeSorted, format, index) {
          return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
      }
  
      function listWeekdaysShort(localeSorted, format, index) {
          return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
      }
  
      function listWeekdaysMin(localeSorted, format, index) {
          return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
      }
  
      getSetGlobalLocale('en', {
          eras: [
              {
                  since: '0001-01-01',
                  until: +Infinity,
                  offset: 1,
                  name: 'Anno Domini',
                  narrow: 'AD',
                  abbr: 'AD',
              },
              {
                  since: '0000-12-31',
                  until: -Infinity,
                  offset: 1,
                  name: 'Before Christ',
                  narrow: 'BC',
                  abbr: 'BC',
              },
          ],
          dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
          ordinal: function (number) {
              var b = number % 10,
                  output =
                      toInt((number % 100) / 10) === 1
                          ? 'th'
                          : b === 1
                          ? 'st'
                          : b === 2
                          ? 'nd'
                          : b === 3
                          ? 'rd'
                          : 'th';
              return number + output;
          },
      });
  
      // Side effect imports
  
      hooks.lang = deprecate(
          'moment.lang is deprecated. Use moment.locale instead.',
          getSetGlobalLocale
      );
      hooks.langData = deprecate(
          'moment.langData is deprecated. Use moment.localeData instead.',
          getLocale
      );
  
      var mathAbs = Math.abs;
  
      function abs() {
          var data = this._data;
  
          this._milliseconds = mathAbs(this._milliseconds);
          this._days = mathAbs(this._days);
          this._months = mathAbs(this._months);
  
          data.milliseconds = mathAbs(data.milliseconds);
          data.seconds = mathAbs(data.seconds);
          data.minutes = mathAbs(data.minutes);
          data.hours = mathAbs(data.hours);
          data.months = mathAbs(data.months);
          data.years = mathAbs(data.years);
  
          return this;
      }
  
      function addSubtract$1(duration, input, value, direction) {
          var other = createDuration(input, value);
  
          duration._milliseconds += direction * other._milliseconds;
          duration._days += direction * other._days;
          duration._months += direction * other._months;
  
          return duration._bubble();
      }
  
      // supports only 2.0-style add(1, 's') or add(duration)
      function add$1(input, value) {
          return addSubtract$1(this, input, value, 1);
      }
  
      // supports only 2.0-style subtract(1, 's') or subtract(duration)
      function subtract$1(input, value) {
          return addSubtract$1(this, input, value, -1);
      }
  
      function absCeil(number) {
          if (number < 0) {
              return Math.floor(number);
          } else {
              return Math.ceil(number);
          }
      }
  
      function bubble() {
          var milliseconds = this._milliseconds,
              days = this._days,
              months = this._months,
              data = this._data,
              seconds,
              minutes,
              hours,
              years,
              monthsFromDays;
  
          // if we have a mix of positive and negative values, bubble down first
          // check: https://github.com/moment/moment/issues/2166
          if (
              !(
                  (milliseconds >= 0 && days >= 0 && months >= 0) ||
                  (milliseconds <= 0 && days <= 0 && months <= 0)
              )
          ) {
              milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
              days = 0;
              months = 0;
          }
  
          // The following code bubbles up values, see the tests for
          // examples of what that means.
          data.milliseconds = milliseconds % 1000;
  
          seconds = absFloor(milliseconds / 1000);
          data.seconds = seconds % 60;
  
          minutes = absFloor(seconds / 60);
          data.minutes = minutes % 60;
  
          hours = absFloor(minutes / 60);
          data.hours = hours % 24;
  
          days += absFloor(hours / 24);
  
          // convert days to months
          monthsFromDays = absFloor(daysToMonths(days));
          months += monthsFromDays;
          days -= absCeil(monthsToDays(monthsFromDays));
  
          // 12 months -> 1 year
          years = absFloor(months / 12);
          months %= 12;
  
          data.days = days;
          data.months = months;
          data.years = years;
  
          return this;
      }
  
      function daysToMonths(days) {
          // 400 years have 146097 days (taking into account leap year rules)
          // 400 years have 12 months === 4800
          return (days * 4800) / 146097;
      }
  
      function monthsToDays(months) {
          // the reverse of daysToMonths
          return (months * 146097) / 4800;
      }
  
      function as(units) {
          if (!this.isValid()) {
              return NaN;
          }
          var days,
              months,
              milliseconds = this._milliseconds;
  
          units = normalizeUnits(units);
  
          if (units === 'month' || units === 'quarter' || units === 'year') {
              days = this._days + milliseconds / 864e5;
              months = this._months + daysToMonths(days);
              switch (units) {
                  case 'month':
                      return months;
                  case 'quarter':
                      return months / 3;
                  case 'year':
                      return months / 12;
              }
          } else {
              // handle milliseconds separately because of floating point math errors (issue #1867)
              days = this._days + Math.round(monthsToDays(this._months));
              switch (units) {
                  case 'week':
                      return days / 7 + milliseconds / 6048e5;
                  case 'day':
                      return days + milliseconds / 864e5;
                  case 'hour':
                      return days * 24 + milliseconds / 36e5;
                  case 'minute':
                      return days * 1440 + milliseconds / 6e4;
                  case 'second':
                      return days * 86400 + milliseconds / 1000;
                  // Math.floor prevents floating point math errors here
                  case 'millisecond':
                      return Math.floor(days * 864e5) + milliseconds;
                  default:
                      throw new Error('Unknown unit ' + units);
              }
          }
      }
  
      // TODO: Use this.as('ms')?
      function valueOf$1() {
          if (!this.isValid()) {
              return NaN;
          }
          return (
              this._milliseconds +
              this._days * 864e5 +
              (this._months % 12) * 2592e6 +
              toInt(this._months / 12) * 31536e6
          );
      }
  
      function makeAs(alias) {
          return function () {
              return this.as(alias);
          };
      }
  
      var asMilliseconds = makeAs('ms'),
          asSeconds = makeAs('s'),
          asMinutes = makeAs('m'),
          asHours = makeAs('h'),
          asDays = makeAs('d'),
          asWeeks = makeAs('w'),
          asMonths = makeAs('M'),
          asQuarters = makeAs('Q'),
          asYears = makeAs('y');
  
      function clone$1() {
          return createDuration(this);
      }
  
      function get$2(units) {
          units = normalizeUnits(units);
          return this.isValid() ? this[units + 's']() : NaN;
      }
  
      function makeGetter(name) {
          return function () {
              return this.isValid() ? this._data[name] : NaN;
          };
      }
  
      var milliseconds = makeGetter('milliseconds'),
          seconds = makeGetter('seconds'),
          minutes = makeGetter('minutes'),
          hours = makeGetter('hours'),
          days = makeGetter('days'),
          months = makeGetter('months'),
          years = makeGetter('years');
  
      function weeks() {
          return absFloor(this.days() / 7);
      }
  
      var round = Math.round,
          thresholds = {
              ss: 44, // a few seconds to seconds
              s: 45, // seconds to minute
              m: 45, // minutes to hour
              h: 22, // hours to day
              d: 26, // days to month/week
              w: null, // weeks to month
              M: 11, // months to year
          };
  
      // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
      function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
          return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
      }
  
      function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {
          var duration = createDuration(posNegDuration).abs(),
              seconds = round(duration.as('s')),
              minutes = round(duration.as('m')),
              hours = round(duration.as('h')),
              days = round(duration.as('d')),
              months = round(duration.as('M')),
              weeks = round(duration.as('w')),
              years = round(duration.as('y')),
              a =
                  (seconds <= thresholds.ss && ['s', seconds]) ||
                  (seconds < thresholds.s && ['ss', seconds]) ||
                  (minutes <= 1 && ['m']) ||
                  (minutes < thresholds.m && ['mm', minutes]) ||
                  (hours <= 1 && ['h']) ||
                  (hours < thresholds.h && ['hh', hours]) ||
                  (days <= 1 && ['d']) ||
                  (days < thresholds.d && ['dd', days]);
  
          if (thresholds.w != null) {
              a =
                  a ||
                  (weeks <= 1 && ['w']) ||
                  (weeks < thresholds.w && ['ww', weeks]);
          }
          a = a ||
              (months <= 1 && ['M']) ||
              (months < thresholds.M && ['MM', months]) ||
              (years <= 1 && ['y']) || ['yy', years];
  
          a[2] = withoutSuffix;
          a[3] = +posNegDuration > 0;
          a[4] = locale;
          return substituteTimeAgo.apply(null, a);
      }
  
      // This function allows you to set the rounding function for relative time strings
      function getSetRelativeTimeRounding(roundingFunction) {
          if (roundingFunction === undefined) {
              return round;
          }
          if (typeof roundingFunction === 'function') {
              round = roundingFunction;
              return true;
          }
          return false;
      }
  
      // This function allows you to set a threshold for relative time strings
      function getSetRelativeTimeThreshold(threshold, limit) {
          if (thresholds[threshold] === undefined) {
              return false;
          }
          if (limit === undefined) {
              return thresholds[threshold];
          }
          thresholds[threshold] = limit;
          if (threshold === 's') {
              thresholds.ss = limit - 1;
          }
          return true;
      }
  
      function humanize(argWithSuffix, argThresholds) {
          if (!this.isValid()) {
              return this.localeData().invalidDate();
          }
  
          var withSuffix = false,
              th = thresholds,
              locale,
              output;
  
          if (typeof argWithSuffix === 'object') {
              argThresholds = argWithSuffix;
              argWithSuffix = false;
          }
          if (typeof argWithSuffix === 'boolean') {
              withSuffix = argWithSuffix;
          }
          if (typeof argThresholds === 'object') {
              th = Object.assign({}, thresholds, argThresholds);
              if (argThresholds.s != null && argThresholds.ss == null) {
                  th.ss = argThresholds.s - 1;
              }
          }
  
          locale = this.localeData();
          output = relativeTime$1(this, !withSuffix, th, locale);
  
          if (withSuffix) {
              output = locale.pastFuture(+this, output);
          }
  
          return locale.postformat(output);
      }
  
      var abs$1 = Math.abs;
  
      function sign(x) {
          return (x > 0) - (x < 0) || +x;
      }
  
      function toISOString$1() {
          // for ISO strings we do not use the normal bubbling rules:
          //  * milliseconds bubble up until they become hours
          //  * days do not bubble at all
          //  * months bubble up until they become years
          // This is because there is no context-free conversion between hours and days
          // (think of clock changes)
          // and also not between days and months (28-31 days per month)
          if (!this.isValid()) {
              return this.localeData().invalidDate();
          }
  
          var seconds = abs$1(this._milliseconds) / 1000,
              days = abs$1(this._days),
              months = abs$1(this._months),
              minutes,
              hours,
              years,
              s,
              total = this.asSeconds(),
              totalSign,
              ymSign,
              daysSign,
              hmsSign;
  
          if (!total) {
              // this is the same as C#'s (Noda) and python (isodate)...
              // but not other JS (goog.date)
              return 'P0D';
          }
  
          // 3600 seconds -> 60 minutes -> 1 hour
          minutes = absFloor(seconds / 60);
          hours = absFloor(minutes / 60);
          seconds %= 60;
          minutes %= 60;
  
          // 12 months -> 1 year
          years = absFloor(months / 12);
          months %= 12;
  
          // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
          s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
  
          totalSign = total < 0 ? '-' : '';
          ymSign = sign(this._months) !== sign(total) ? '-' : '';
          daysSign = sign(this._days) !== sign(total) ? '-' : '';
          hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';
  
          return (
              totalSign +
              'P' +
              (years ? ymSign + years + 'Y' : '') +
              (months ? ymSign + months + 'M' : '') +
              (days ? daysSign + days + 'D' : '') +
              (hours || minutes || seconds ? 'T' : '') +
              (hours ? hmsSign + hours + 'H' : '') +
              (minutes ? hmsSign + minutes + 'M' : '') +
              (seconds ? hmsSign + s + 'S' : '')
          );
      }
  
      var proto$2 = Duration.prototype;
  
      proto$2.isValid = isValid$1;
      proto$2.abs = abs;
      proto$2.add = add$1;
      proto$2.subtract = subtract$1;
      proto$2.as = as;
      proto$2.asMilliseconds = asMilliseconds;
      proto$2.asSeconds = asSeconds;
      proto$2.asMinutes = asMinutes;
      proto$2.asHours = asHours;
      proto$2.asDays = asDays;
      proto$2.asWeeks = asWeeks;
      proto$2.asMonths = asMonths;
      proto$2.asQuarters = asQuarters;
      proto$2.asYears = asYears;
      proto$2.valueOf = valueOf$1;
      proto$2._bubble = bubble;
      proto$2.clone = clone$1;
      proto$2.get = get$2;
      proto$2.milliseconds = milliseconds;
      proto$2.seconds = seconds;
      proto$2.minutes = minutes;
      proto$2.hours = hours;
      proto$2.days = days;
      proto$2.weeks = weeks;
      proto$2.months = months;
      proto$2.years = years;
      proto$2.humanize = humanize;
      proto$2.toISOString = toISOString$1;
      proto$2.toString = toISOString$1;
      proto$2.toJSON = toISOString$1;
      proto$2.locale = locale;
      proto$2.localeData = localeData;
  
      proto$2.toIsoString = deprecate(
          'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',
          toISOString$1
      );
      proto$2.lang = lang;
  
      // FORMATTING
  
      addFormatToken('X', 0, 0, 'unix');
      addFormatToken('x', 0, 0, 'valueOf');
  
      // PARSING
  
      addRegexToken('x', matchSigned);
      addRegexToken('X', matchTimestamp);
      addParseToken('X', function (input, array, config) {
          config._d = new Date(parseFloat(input) * 1000);
      });
      addParseToken('x', function (input, array, config) {
          config._d = new Date(toInt(input));
      });
  
      //! moment.js
  
      hooks.version = '2.29.1';
  
      setHookCallback(createLocal);
  
      hooks.fn = proto;
      hooks.min = min;
      hooks.max = max;
      hooks.now = now;
      hooks.utc = createUTC;
      hooks.unix = createUnix;
      hooks.months = listMonths;
      hooks.isDate = isDate;
      hooks.locale = getSetGlobalLocale;
      hooks.invalid = createInvalid;
      hooks.duration = createDuration;
      hooks.isMoment = isMoment;
      hooks.weekdays = listWeekdays;
      hooks.parseZone = createInZone;
      hooks.localeData = getLocale;
      hooks.isDuration = isDuration;
      hooks.monthsShort = listMonthsShort;
      hooks.weekdaysMin = listWeekdaysMin;
      hooks.defineLocale = defineLocale;
      hooks.updateLocale = updateLocale;
      hooks.locales = listLocales;
      hooks.weekdaysShort = listWeekdaysShort;
      hooks.normalizeUnits = normalizeUnits;
      hooks.relativeTimeRounding = getSetRelativeTimeRounding;
      hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
      hooks.calendarFormat = getCalendarFormat;
      hooks.prototype = proto;
  
      // currently HTML5 input type only supports 24-hour formats
      hooks.HTML5_FMT = {
          DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" />
          DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" />
          DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" />
          DATE: 'YYYY-MM-DD', // <input type="date" />
          TIME: 'HH:mm', // <input type="time" />
          TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" />
          TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" />
          WEEK: 'GGGG-[W]WW', // <input type="week" />
          MONTH: 'YYYY-MM', // <input type="month" />
      };
  
      return hooks;
  
  })));
  
  
  /***/ }),
  
  /***/ "./node_modules/regenerator-runtime/runtime.js":
  /*!*****************************************************!*\
    !*** ./node_modules/regenerator-runtime/runtime.js ***!
    \*****************************************************/
  /***/ ((module) => {
  
  /**
   * Copyright (c) 2014-present, Facebook, Inc.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  
  var runtime = (function (exports) {
    "use strict";
  
    var Op = Object.prototype;
    var hasOwn = Op.hasOwnProperty;
    var undefined; // More compressible than void 0.
    var $Symbol = typeof Symbol === "function" ? Symbol : {};
    var iteratorSymbol = $Symbol.iterator || "@@iterator";
    var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
    var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
  
    function define(obj, key, value) {
      Object.defineProperty(obj, key, {
        value: value,
        enumerable: true,
        configurable: true,
        writable: true
      });
      return obj[key];
    }
    try {
      // IE 8 has a broken Object.defineProperty that only works on DOM objects.
      define({}, "");
    } catch (err) {
      define = function(obj, key, value) {
        return obj[key] = value;
      };
    }
  
    function wrap(innerFn, outerFn, self, tryLocsList) {
      // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
      var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
      var generator = Object.create(protoGenerator.prototype);
      var context = new Context(tryLocsList || []);
  
      // The ._invoke method unifies the implementations of the .next,
      // .throw, and .return methods.
      generator._invoke = makeInvokeMethod(innerFn, self, context);
  
      return generator;
    }
    exports.wrap = wrap;
  
    // Try/catch helper to minimize deoptimizations. Returns a completion
    // record like context.tryEntries[i].completion. This interface could
    // have been (and was previously) designed to take a closure to be
    // invoked without arguments, but in all the cases we care about we
    // already have an existing method we want to call, so there's no need
    // to create a new function object. We can even get away with assuming
    // the method takes exactly one argument, since that happens to be true
    // in every case, so we don't have to touch the arguments object. The
    // only additional allocation required is the completion record, which
    // has a stable shape and so hopefully should be cheap to allocate.
    function tryCatch(fn, obj, arg) {
      try {
        return { type: "normal", arg: fn.call(obj, arg) };
      } catch (err) {
        return { type: "throw", arg: err };
      }
    }
  
    var GenStateSuspendedStart = "suspendedStart";
    var GenStateSuspendedYield = "suspendedYield";
    var GenStateExecuting = "executing";
    var GenStateCompleted = "completed";
  
    // Returning this object from the innerFn has the same effect as
    // breaking out of the dispatch switch statement.
    var ContinueSentinel = {};
  
    // Dummy constructor functions that we use as the .constructor and
    // .constructor.prototype properties for functions that return Generator
    // objects. For full spec compliance, you may wish to configure your
    // minifier not to mangle the names of these two functions.
    function Generator() {}
    function GeneratorFunction() {}
    function GeneratorFunctionPrototype() {}
  
    // This is a polyfill for %IteratorPrototype% for environments that
    // don't natively support it.
    var IteratorPrototype = {};
    define(IteratorPrototype, iteratorSymbol, function () {
      return this;
    });
  
    var getProto = Object.getPrototypeOf;
    var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
    if (NativeIteratorPrototype &&
        NativeIteratorPrototype !== Op &&
        hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
      // This environment has a native %IteratorPrototype%; use it instead
      // of the polyfill.
      IteratorPrototype = NativeIteratorPrototype;
    }
  
    var Gp = GeneratorFunctionPrototype.prototype =
      Generator.prototype = Object.create(IteratorPrototype);
    GeneratorFunction.prototype = GeneratorFunctionPrototype;
    define(Gp, "constructor", GeneratorFunctionPrototype);
    define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
    GeneratorFunction.displayName = define(
      GeneratorFunctionPrototype,
      toStringTagSymbol,
      "GeneratorFunction"
    );
  
    // Helper for defining the .next, .throw, and .return methods of the
    // Iterator interface in terms of a single ._invoke method.
    function defineIteratorMethods(prototype) {
      ["next", "throw", "return"].forEach(function(method) {
        define(prototype, method, function(arg) {
          return this._invoke(method, arg);
        });
      });
    }
  
    exports.isGeneratorFunction = function(genFun) {
      var ctor = typeof genFun === "function" && genFun.constructor;
      return ctor
        ? ctor === GeneratorFunction ||
          // For the native GeneratorFunction constructor, the best we can
          // do is to check its .name property.
          (ctor.displayName || ctor.name) === "GeneratorFunction"
        : false;
    };
  
    exports.mark = function(genFun) {
      if (Object.setPrototypeOf) {
        Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
      } else {
        genFun.__proto__ = GeneratorFunctionPrototype;
        define(genFun, toStringTagSymbol, "GeneratorFunction");
      }
      genFun.prototype = Object.create(Gp);
      return genFun;
    };
  
    // Within the body of any async function, `await x` is transformed to
    // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
    // `hasOwn.call(value, "__await")` to determine if the yielded value is
    // meant to be awaited.
    exports.awrap = function(arg) {
      return { __await: arg };
    };
  
    function AsyncIterator(generator, PromiseImpl) {
      function invoke(method, arg, resolve, reject) {
        var record = tryCatch(generator[method], generator, arg);
        if (record.type === "throw") {
          reject(record.arg);
        } else {
          var result = record.arg;
          var value = result.value;
          if (value &&
              typeof value === "object" &&
              hasOwn.call(value, "__await")) {
            return PromiseImpl.resolve(value.__await).then(function(value) {
              invoke("next", value, resolve, reject);
            }, function(err) {
              invoke("throw", err, resolve, reject);
            });
          }
  
          return PromiseImpl.resolve(value).then(function(unwrapped) {
            // When a yielded Promise is resolved, its final value becomes
            // the .value of the Promise<{value,done}> result for the
            // current iteration.
            result.value = unwrapped;
            resolve(result);
          }, function(error) {
            // If a rejected Promise was yielded, throw the rejection back
            // into the async generator function so it can be handled there.
            return invoke("throw", error, resolve, reject);
          });
        }
      }
  
      var previousPromise;
  
      function enqueue(method, arg) {
        function callInvokeWithMethodAndArg() {
          return new PromiseImpl(function(resolve, reject) {
            invoke(method, arg, resolve, reject);
          });
        }
  
        return previousPromise =
          // If enqueue has been called before, then we want to wait until
          // all previous Promises have been resolved before calling invoke,
          // so that results are always delivered in the correct order. If
          // enqueue has not been called before, then it is important to
          // call invoke immediately, without waiting on a callback to fire,
          // so that the async generator function has the opportunity to do
          // any necessary setup in a predictable way. This predictability
          // is why the Promise constructor synchronously invokes its
          // executor callback, and why async functions synchronously
          // execute code before the first await. Since we implement simple
          // async functions in terms of async generators, it is especially
          // important to get this right, even though it requires care.
          previousPromise ? previousPromise.then(
            callInvokeWithMethodAndArg,
            // Avoid propagating failures to Promises returned by later
            // invocations of the iterator.
            callInvokeWithMethodAndArg
          ) : callInvokeWithMethodAndArg();
      }
  
      // Define the unified helper method that is used to implement .next,
      // .throw, and .return (see defineIteratorMethods).
      this._invoke = enqueue;
    }
  
    defineIteratorMethods(AsyncIterator.prototype);
    define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
      return this;
    });
    exports.AsyncIterator = AsyncIterator;
  
    // Note that simple async functions are implemented on top of
    // AsyncIterator objects; they just return a Promise for the value of
    // the final result produced by the iterator.
    exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
      if (PromiseImpl === void 0) PromiseImpl = Promise;
  
      var iter = new AsyncIterator(
        wrap(innerFn, outerFn, self, tryLocsList),
        PromiseImpl
      );
  
      return exports.isGeneratorFunction(outerFn)
        ? iter // If outerFn is a generator, return the full iterator.
        : iter.next().then(function(result) {
            return result.done ? result.value : iter.next();
          });
    };
  
    function makeInvokeMethod(innerFn, self, context) {
      var state = GenStateSuspendedStart;
  
      return function invoke(method, arg) {
        if (state === GenStateExecuting) {
          throw new Error("Generator is already running");
        }
  
        if (state === GenStateCompleted) {
          if (method === "throw") {
            throw arg;
          }
  
          // Be forgiving, per 25.3.3.3.3 of the spec:
          // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
          return doneResult();
        }
  
        context.method = method;
        context.arg = arg;
  
        while (true) {
          var delegate = context.delegate;
          if (delegate) {
            var delegateResult = maybeInvokeDelegate(delegate, context);
            if (delegateResult) {
              if (delegateResult === ContinueSentinel) continue;
              return delegateResult;
            }
          }
  
          if (context.method === "next") {
            // Setting context._sent for legacy support of Babel's
            // function.sent implementation.
            context.sent = context._sent = context.arg;
  
          } else if (context.method === "throw") {
            if (state === GenStateSuspendedStart) {
              state = GenStateCompleted;
              throw context.arg;
            }
  
            context.dispatchException(context.arg);
  
          } else if (context.method === "return") {
            context.abrupt("return", context.arg);
          }
  
          state = GenStateExecuting;
  
          var record = tryCatch(innerFn, self, context);
          if (record.type === "normal") {
            // If an exception is thrown from innerFn, we leave state ===
            // GenStateExecuting and loop back for another invocation.
            state = context.done
              ? GenStateCompleted
              : GenStateSuspendedYield;
  
            if (record.arg === ContinueSentinel) {
              continue;
            }
  
            return {
              value: record.arg,
              done: context.done
            };
  
          } else if (record.type === "throw") {
            state = GenStateCompleted;
            // Dispatch the exception by looping back around to the
            // context.dispatchException(context.arg) call above.
            context.method = "throw";
            context.arg = record.arg;
          }
        }
      };
    }
  
    // Call delegate.iterator[context.method](context.arg) and handle the
    // result, either by returning a { value, done } result from the
    // delegate iterator, or by modifying context.method and context.arg,
    // setting context.delegate to null, and returning the ContinueSentinel.
    function maybeInvokeDelegate(delegate, context) {
      var method = delegate.iterator[context.method];
      if (method === undefined) {
        // A .throw or .return when the delegate iterator has no .throw
        // method always terminates the yield* loop.
        context.delegate = null;
  
        if (context.method === "throw") {
          // Note: ["return"] must be used for ES3 parsing compatibility.
          if (delegate.iterator["return"]) {
            // If the delegate iterator has a return method, give it a
            // chance to clean up.
            context.method = "return";
            context.arg = undefined;
            maybeInvokeDelegate(delegate, context);
  
            if (context.method === "throw") {
              // If maybeInvokeDelegate(context) changed context.method from
              // "return" to "throw", let that override the TypeError below.
              return ContinueSentinel;
            }
          }
  
          context.method = "throw";
          context.arg = new TypeError(
            "The iterator does not provide a 'throw' method");
        }
  
        return ContinueSentinel;
      }
  
      var record = tryCatch(method, delegate.iterator, context.arg);
  
      if (record.type === "throw") {
        context.method = "throw";
        context.arg = record.arg;
        context.delegate = null;
        return ContinueSentinel;
      }
  
      var info = record.arg;
  
      if (! info) {
        context.method = "throw";
        context.arg = new TypeError("iterator result is not an object");
        context.delegate = null;
        return ContinueSentinel;
      }
  
      if (info.done) {
        // Assign the result of the finished delegate to the temporary
        // variable specified by delegate.resultName (see delegateYield).
        context[delegate.resultName] = info.value;
  
        // Resume execution at the desired location (see delegateYield).
        context.next = delegate.nextLoc;
  
        // If context.method was "throw" but the delegate handled the
        // exception, let the outer generator proceed normally. If
        // context.method was "next", forget context.arg since it has been
        // "consumed" by the delegate iterator. If context.method was
        // "return", allow the original .return call to continue in the
        // outer generator.
        if (context.method !== "return") {
          context.method = "next";
          context.arg = undefined;
        }
  
      } else {
        // Re-yield the result returned by the delegate method.
        return info;
      }
  
      // The delegate iterator is finished, so forget it and continue with
      // the outer generator.
      context.delegate = null;
      return ContinueSentinel;
    }
  
    // Define Generator.prototype.{next,throw,return} in terms of the
    // unified ._invoke helper method.
    defineIteratorMethods(Gp);
  
    define(Gp, toStringTagSymbol, "Generator");
  
    // A Generator should always return itself as the iterator object when the
    // @@iterator function is called on it. Some browsers' implementations of the
    // iterator prototype chain incorrectly implement this, causing the Generator
    // object to not be returned from this call. This ensures that doesn't happen.
    // See https://github.com/facebook/regenerator/issues/274 for more details.
    define(Gp, iteratorSymbol, function() {
      return this;
    });
  
    define(Gp, "toString", function() {
      return "[object Generator]";
    });
  
    function pushTryEntry(locs) {
      var entry = { tryLoc: locs[0] };
  
      if (1 in locs) {
        entry.catchLoc = locs[1];
      }
  
      if (2 in locs) {
        entry.finallyLoc = locs[2];
        entry.afterLoc = locs[3];
      }
  
      this.tryEntries.push(entry);
    }
  
    function resetTryEntry(entry) {
      var record = entry.completion || {};
      record.type = "normal";
      delete record.arg;
      entry.completion = record;
    }
  
    function Context(tryLocsList) {
      // The root entry object (effectively a try statement without a catch
      // or a finally block) gives us a place to store values thrown from
      // locations where there is no enclosing try statement.
      this.tryEntries = [{ tryLoc: "root" }];
      tryLocsList.forEach(pushTryEntry, this);
      this.reset(true);
    }
  
    exports.keys = function(object) {
      var keys = [];
      for (var key in object) {
        keys.push(key);
      }
      keys.reverse();
  
      // Rather than returning an object with a next method, we keep
      // things simple and return the next function itself.
      return function next() {
        while (keys.length) {
          var key = keys.pop();
          if (key in object) {
            next.value = key;
            next.done = false;
            return next;
          }
        }
  
        // To avoid creating an additional object, we just hang the .value
        // and .done properties off the next function object itself. This
        // also ensures that the minifier will not anonymize the function.
        next.done = true;
        return next;
      };
    };
  
    function values(iterable) {
      if (iterable) {
        var iteratorMethod = iterable[iteratorSymbol];
        if (iteratorMethod) {
          return iteratorMethod.call(iterable);
        }
  
        if (typeof iterable.next === "function") {
          return iterable;
        }
  
        if (!isNaN(iterable.length)) {
          var i = -1, next = function next() {
            while (++i < iterable.length) {
              if (hasOwn.call(iterable, i)) {
                next.value = iterable[i];
                next.done = false;
                return next;
              }
            }
  
            next.value = undefined;
            next.done = true;
  
            return next;
          };
  
          return next.next = next;
        }
      }
  
      // Return an iterator with no values.
      return { next: doneResult };
    }
    exports.values = values;
  
    function doneResult() {
      return { value: undefined, done: true };
    }
  
    Context.prototype = {
      constructor: Context,
  
      reset: function(skipTempReset) {
        this.prev = 0;
        this.next = 0;
        // Resetting context._sent for legacy support of Babel's
        // function.sent implementation.
        this.sent = this._sent = undefined;
        this.done = false;
        this.delegate = null;
  
        this.method = "next";
        this.arg = undefined;
  
        this.tryEntries.forEach(resetTryEntry);
  
        if (!skipTempReset) {
          for (var name in this) {
            // Not sure about the optimal order of these conditions:
            if (name.charAt(0) === "t" &&
                hasOwn.call(this, name) &&
                !isNaN(+name.slice(1))) {
              this[name] = undefined;
            }
          }
        }
      },
  
      stop: function() {
        this.done = true;
  
        var rootEntry = this.tryEntries[0];
        var rootRecord = rootEntry.completion;
        if (rootRecord.type === "throw") {
          throw rootRecord.arg;
        }
  
        return this.rval;
      },
  
      dispatchException: function(exception) {
        if (this.done) {
          throw exception;
        }
  
        var context = this;
        function handle(loc, caught) {
          record.type = "throw";
          record.arg = exception;
          context.next = loc;
  
          if (caught) {
            // If the dispatched exception was caught by a catch block,
            // then let that catch block handle the exception normally.
            context.method = "next";
            context.arg = undefined;
          }
  
          return !! caught;
        }
  
        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];
          var record = entry.completion;
  
          if (entry.tryLoc === "root") {
            // Exception thrown outside of any try block that could handle
            // it, so set the completion value of the entire function to
            // throw the exception.
            return handle("end");
          }
  
          if (entry.tryLoc <= this.prev) {
            var hasCatch = hasOwn.call(entry, "catchLoc");
            var hasFinally = hasOwn.call(entry, "finallyLoc");
  
            if (hasCatch && hasFinally) {
              if (this.prev < entry.catchLoc) {
                return handle(entry.catchLoc, true);
              } else if (this.prev < entry.finallyLoc) {
                return handle(entry.finallyLoc);
              }
  
            } else if (hasCatch) {
              if (this.prev < entry.catchLoc) {
                return handle(entry.catchLoc, true);
              }
  
            } else if (hasFinally) {
              if (this.prev < entry.finallyLoc) {
                return handle(entry.finallyLoc);
              }
  
            } else {
              throw new Error("try statement without catch or finally");
            }
          }
        }
      },
  
      abrupt: function(type, arg) {
        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];
          if (entry.tryLoc <= this.prev &&
              hasOwn.call(entry, "finallyLoc") &&
              this.prev < entry.finallyLoc) {
            var finallyEntry = entry;
            break;
          }
        }
  
        if (finallyEntry &&
            (type === "break" ||
             type === "continue") &&
            finallyEntry.tryLoc <= arg &&
            arg <= finallyEntry.finallyLoc) {
          // Ignore the finally entry if control is not jumping to a
          // location outside the try/catch block.
          finallyEntry = null;
        }
  
        var record = finallyEntry ? finallyEntry.completion : {};
        record.type = type;
        record.arg = arg;
  
        if (finallyEntry) {
          this.method = "next";
          this.next = finallyEntry.finallyLoc;
          return ContinueSentinel;
        }
  
        return this.complete(record);
      },
  
      complete: function(record, afterLoc) {
        if (record.type === "throw") {
          throw record.arg;
        }
  
        if (record.type === "break" ||
            record.type === "continue") {
          this.next = record.arg;
        } else if (record.type === "return") {
          this.rval = this.arg = record.arg;
          this.method = "return";
          this.next = "end";
        } else if (record.type === "normal" && afterLoc) {
          this.next = afterLoc;
        }
  
        return ContinueSentinel;
      },
  
      finish: function(finallyLoc) {
        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];
          if (entry.finallyLoc === finallyLoc) {
            this.complete(entry.completion, entry.afterLoc);
            resetTryEntry(entry);
            return ContinueSentinel;
          }
        }
      },
  
      "catch": function(tryLoc) {
        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];
          if (entry.tryLoc === tryLoc) {
            var record = entry.completion;
            if (record.type === "throw") {
              var thrown = record.arg;
              resetTryEntry(entry);
            }
            return thrown;
          }
        }
  
        // The context.catch method must only be called with a location
        // argument that corresponds to a known catch block.
        throw new Error("illegal catch attempt");
      },
  
      delegateYield: function(iterable, resultName, nextLoc) {
        this.delegate = {
          iterator: values(iterable),
          resultName: resultName,
          nextLoc: nextLoc
        };
  
        if (this.method === "next") {
          // Deliberately forget the last sent value so that we don't
          // accidentally pass it on to the delegate.
          this.arg = undefined;
        }
  
        return ContinueSentinel;
      }
    };
  
    // Regardless of whether this script is executing as a CommonJS module
    // or not, return the runtime object so that we can declare the variable
    // regeneratorRuntime in the outer scope, which allows this module to be
    // injected easily by `bin/regenerator --include-runtime script.js`.
    return exports;
  
  }(
    // If this script is executing as a CommonJS module, use module.exports
    // as the regeneratorRuntime namespace. Otherwise create a new empty
    // object. Either way, the resulting object will be used to initialize
    // the regeneratorRuntime variable at the top of this file.
     true ? module.exports : 0
  ));
  
  try {
    regeneratorRuntime = runtime;
  } catch (accidentalStrictMode) {
    // This module should not be running in strict mode, so the above
    // assignment should always work unless something is misconfigured. Just
    // in case runtime.js accidentally runs in strict mode, in modern engines
    // we can explicitly access globalThis. In older engines we can escape
    // strict mode using a global Function call. This could conceivably fail
    // if a Content Security Policy forbids using Function, but in that case
    // the proper solution is to fix the accidental strict mode problem. If
    // you've misconfigured your bundler to force strict mode and applied a
    // CSP to forbid Function, and you're not willing to fix either of those
    // problems, please detail your unique predicament in a GitHub issue.
    if (typeof globalThis === "object") {
      globalThis.regeneratorRuntime = runtime;
    } else {
      Function("r", "regeneratorRuntime = r")(runtime);
    }
  }
  
  
  /***/ }),
  
  /***/ "./node_modules/sortablejs/modular/sortable.esm.js":
  /*!*********************************************************!*\
    !*** ./node_modules/sortablejs/modular/sortable.esm.js ***!
    \*********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "MultiDrag": () => (/* binding */ MultiDragPlugin),
  /* harmony export */   "Sortable": () => (/* binding */ Sortable),
  /* harmony export */   "Swap": () => (/* binding */ SwapPlugin)
  /* harmony export */ });
  /**!
   * Sortable 1.10.2
   * @author	RubaXa   <trash@rubaxa.org>
   * @author	owenm    <owen23355@gmail.com>
   * @license MIT
   */
  function _typeof(obj) {
    if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
      _typeof = function (obj) {
        return typeof obj;
      };
    } else {
      _typeof = function (obj) {
        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
      };
    }
  
    return _typeof(obj);
  }
  
  function _defineProperty(obj, key, value) {
    if (key in obj) {
      Object.defineProperty(obj, key, {
        value: value,
        enumerable: true,
        configurable: true,
        writable: true
      });
    } else {
      obj[key] = value;
    }
  
    return obj;
  }
  
  function _extends() {
    _extends = Object.assign || function (target) {
      for (var i = 1; i < arguments.length; i++) {
        var source = arguments[i];
  
        for (var key in source) {
          if (Object.prototype.hasOwnProperty.call(source, key)) {
            target[key] = source[key];
          }
        }
      }
  
      return target;
    };
  
    return _extends.apply(this, arguments);
  }
  
  function _objectSpread(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = arguments[i] != null ? arguments[i] : {};
      var ownKeys = Object.keys(source);
  
      if (typeof Object.getOwnPropertySymbols === 'function') {
        ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
          return Object.getOwnPropertyDescriptor(source, sym).enumerable;
        }));
      }
  
      ownKeys.forEach(function (key) {
        _defineProperty(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 _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 _toConsumableArray(arr) {
    return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
  }
  
  function _arrayWithoutHoles(arr) {
    if (Array.isArray(arr)) {
      for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
  
      return arr2;
    }
  }
  
  function _iterableToArray(iter) {
    if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
  }
  
  function _nonIterableSpread() {
    throw new TypeError("Invalid attempt to spread non-iterable instance");
  }
  
  var version = "1.10.2";
  
  function userAgent(pattern) {
    if (typeof window !== 'undefined' && window.navigator) {
      return !!
      /*@__PURE__*/
      navigator.userAgent.match(pattern);
    }
  }
  
  var IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i);
  var Edge = userAgent(/Edge/i);
  var FireFox = userAgent(/firefox/i);
  var Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);
  var IOS = userAgent(/iP(ad|od|hone)/i);
  var ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);
  
  var captureMode = {
    capture: false,
    passive: false
  };
  
  function on(el, event, fn) {
    el.addEventListener(event, fn, !IE11OrLess && captureMode);
  }
  
  function off(el, event, fn) {
    el.removeEventListener(event, fn, !IE11OrLess && captureMode);
  }
  
  function matches(
  /**HTMLElement*/
  el,
  /**String*/
  selector) {
    if (!selector) return;
    selector[0] === '>' && (selector = selector.substring(1));
  
    if (el) {
      try {
        if (el.matches) {
          return el.matches(selector);
        } else if (el.msMatchesSelector) {
          return el.msMatchesSelector(selector);
        } else if (el.webkitMatchesSelector) {
          return el.webkitMatchesSelector(selector);
        }
      } catch (_) {
        return false;
      }
    }
  
    return false;
  }
  
  function getParentOrHost(el) {
    return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;
  }
  
  function closest(
  /**HTMLElement*/
  el,
  /**String*/
  selector,
  /**HTMLElement*/
  ctx, includeCTX) {
    if (el) {
      ctx = ctx || document;
  
      do {
        if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {
          return el;
        }
  
        if (el === ctx) break;
        /* jshint boss:true */
      } while (el = getParentOrHost(el));
    }
  
    return null;
  }
  
  var R_SPACE = /\s+/g;
  
  function toggleClass(el, name, state) {
    if (el && name) {
      if (el.classList) {
        el.classList[state ? 'add' : 'remove'](name);
      } else {
        var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');
        el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');
      }
    }
  }
  
  function css(el, prop, val) {
    var style = el && el.style;
  
    if (style) {
      if (val === void 0) {
        if (document.defaultView && document.defaultView.getComputedStyle) {
          val = document.defaultView.getComputedStyle(el, '');
        } else if (el.currentStyle) {
          val = el.currentStyle;
        }
  
        return prop === void 0 ? val : val[prop];
      } else {
        if (!(prop in style) && prop.indexOf('webkit') === -1) {
          prop = '-webkit-' + prop;
        }
  
        style[prop] = val + (typeof val === 'string' ? '' : 'px');
      }
    }
  }
  
  function matrix(el, selfOnly) {
    var appliedTransforms = '';
  
    if (typeof el === 'string') {
      appliedTransforms = el;
    } else {
      do {
        var transform = css(el, 'transform');
  
        if (transform && transform !== 'none') {
          appliedTransforms = transform + ' ' + appliedTransforms;
        }
        /* jshint boss:true */
  
      } while (!selfOnly && (el = el.parentNode));
    }
  
    var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;
    /*jshint -W056 */
  
    return matrixFn && new matrixFn(appliedTransforms);
  }
  
  function find(ctx, tagName, iterator) {
    if (ctx) {
      var list = ctx.getElementsByTagName(tagName),
          i = 0,
          n = list.length;
  
      if (iterator) {
        for (; i < n; i++) {
          iterator(list[i], i);
        }
      }
  
      return list;
    }
  
    return [];
  }
  
  function getWindowScrollingElement() {
    var scrollingElement = document.scrollingElement;
  
    if (scrollingElement) {
      return scrollingElement;
    } else {
      return document.documentElement;
    }
  }
  /**
   * Returns the "bounding client rect" of given element
   * @param  {HTMLElement} el                       The element whose boundingClientRect is wanted
   * @param  {[Boolean]} relativeToContainingBlock  Whether the rect should be relative to the containing block of (including) the container
   * @param  {[Boolean]} relativeToNonStaticParent  Whether the rect should be relative to the relative parent of (including) the contaienr
   * @param  {[Boolean]} undoScale                  Whether the container's scale() should be undone
   * @param  {[HTMLElement]} container              The parent the element will be placed in
   * @return {Object}                               The boundingClientRect of el, with specified adjustments
   */
  
  
  function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {
    if (!el.getBoundingClientRect && el !== window) return;
    var elRect, top, left, bottom, right, height, width;
  
    if (el !== window && el !== getWindowScrollingElement()) {
      elRect = el.getBoundingClientRect();
      top = elRect.top;
      left = elRect.left;
      bottom = elRect.bottom;
      right = elRect.right;
      height = elRect.height;
      width = elRect.width;
    } else {
      top = 0;
      left = 0;
      bottom = window.innerHeight;
      right = window.innerWidth;
      height = window.innerHeight;
      width = window.innerWidth;
    }
  
    if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {
      // Adjust for translate()
      container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)
      // Not needed on <= IE11
  
      if (!IE11OrLess) {
        do {
          if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {
            var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container
  
            top -= containerRect.top + parseInt(css(container, 'border-top-width'));
            left -= containerRect.left + parseInt(css(container, 'border-left-width'));
            bottom = top + elRect.height;
            right = left + elRect.width;
            break;
          }
          /* jshint boss:true */
  
        } while (container = container.parentNode);
      }
    }
  
    if (undoScale && el !== window) {
      // Adjust for scale()
      var elMatrix = matrix(container || el),
          scaleX = elMatrix && elMatrix.a,
          scaleY = elMatrix && elMatrix.d;
  
      if (elMatrix) {
        top /= scaleY;
        left /= scaleX;
        width /= scaleX;
        height /= scaleY;
        bottom = top + height;
        right = left + width;
      }
    }
  
    return {
      top: top,
      left: left,
      bottom: bottom,
      right: right,
      width: width,
      height: height
    };
  }
  /**
   * Checks if a side of an element is scrolled past a side of its parents
   * @param  {HTMLElement}  el           The element who's side being scrolled out of view is in question
   * @param  {String}       elSide       Side of the element in question ('top', 'left', 'right', 'bottom')
   * @param  {String}       parentSide   Side of the parent in question ('top', 'left', 'right', 'bottom')
   * @return {HTMLElement}               The parent scroll element that the el's side is scrolled past, or null if there is no such element
   */
  
  
  function isScrolledPast(el, elSide, parentSide) {
    var parent = getParentAutoScrollElement(el, true),
        elSideVal = getRect(el)[elSide];
    /* jshint boss:true */
  
    while (parent) {
      var parentSideVal = getRect(parent)[parentSide],
          visible = void 0;
  
      if (parentSide === 'top' || parentSide === 'left') {
        visible = elSideVal >= parentSideVal;
      } else {
        visible = elSideVal <= parentSideVal;
      }
  
      if (!visible) return parent;
      if (parent === getWindowScrollingElement()) break;
      parent = getParentAutoScrollElement(parent, false);
    }
  
    return false;
  }
  /**
   * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)
   * and non-draggable elements
   * @param  {HTMLElement} el       The parent element
   * @param  {Number} childNum      The index of the child
   * @param  {Object} options       Parent Sortable's options
   * @return {HTMLElement}          The child at index childNum, or null if not found
   */
  
  
  function getChild(el, childNum, options) {
    var currentChild = 0,
        i = 0,
        children = el.children;
  
    while (i < children.length) {
      if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) {
        if (currentChild === childNum) {
          return children[i];
        }
  
        currentChild++;
      }
  
      i++;
    }
  
    return null;
  }
  /**
   * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)
   * @param  {HTMLElement} el       Parent element
   * @param  {selector} selector    Any other elements that should be ignored
   * @return {HTMLElement}          The last child, ignoring ghostEl
   */
  
  
  function lastChild(el, selector) {
    var last = el.lastElementChild;
  
    while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {
      last = last.previousElementSibling;
    }
  
    return last || null;
  }
  /**
   * Returns the index of an element within its parent for a selected set of
   * elements
   * @param  {HTMLElement} el
   * @param  {selector} selector
   * @return {number}
   */
  
  
  function index(el, selector) {
    var index = 0;
  
    if (!el || !el.parentNode) {
      return -1;
    }
    /* jshint boss:true */
  
  
    while (el = el.previousElementSibling) {
      if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {
        index++;
      }
    }
  
    return index;
  }
  /**
   * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.
   * The value is returned in real pixels.
   * @param  {HTMLElement} el
   * @return {Array}             Offsets in the format of [left, top]
   */
  
  
  function getRelativeScrollOffset(el) {
    var offsetLeft = 0,
        offsetTop = 0,
        winScroller = getWindowScrollingElement();
  
    if (el) {
      do {
        var elMatrix = matrix(el),
            scaleX = elMatrix.a,
            scaleY = elMatrix.d;
        offsetLeft += el.scrollLeft * scaleX;
        offsetTop += el.scrollTop * scaleY;
      } while (el !== winScroller && (el = el.parentNode));
    }
  
    return [offsetLeft, offsetTop];
  }
  /**
   * Returns the index of the object within the given array
   * @param  {Array} arr   Array that may or may not hold the object
   * @param  {Object} obj  An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find
   * @return {Number}      The index of the object in the array, or -1
   */
  
  
  function indexOfObject(arr, obj) {
    for (var i in arr) {
      if (!arr.hasOwnProperty(i)) continue;
  
      for (var key in obj) {
        if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);
      }
    }
  
    return -1;
  }
  
  function getParentAutoScrollElement(el, includeSelf) {
    // skip to window
    if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();
    var elem = el;
    var gotSelf = false;
  
    do {
      // we don't need to get elem css if it isn't even overflowing in the first place (performance)
      if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {
        var elemCSS = css(elem);
  
        if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {
          if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();
          if (gotSelf || includeSelf) return elem;
          gotSelf = true;
        }
      }
      /* jshint boss:true */
  
    } while (elem = elem.parentNode);
  
    return getWindowScrollingElement();
  }
  
  function extend(dst, src) {
    if (dst && src) {
      for (var key in src) {
        if (src.hasOwnProperty(key)) {
          dst[key] = src[key];
        }
      }
    }
  
    return dst;
  }
  
  function isRectEqual(rect1, rect2) {
    return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);
  }
  
  var _throttleTimeout;
  
  function throttle(callback, ms) {
    return function () {
      if (!_throttleTimeout) {
        var args = arguments,
            _this = this;
  
        if (args.length === 1) {
          callback.call(_this, args[0]);
        } else {
          callback.apply(_this, args);
        }
  
        _throttleTimeout = setTimeout(function () {
          _throttleTimeout = void 0;
        }, ms);
      }
    };
  }
  
  function cancelThrottle() {
    clearTimeout(_throttleTimeout);
    _throttleTimeout = void 0;
  }
  
  function scrollBy(el, x, y) {
    el.scrollLeft += x;
    el.scrollTop += y;
  }
  
  function clone(el) {
    var Polymer = window.Polymer;
    var $ = window.jQuery || window.Zepto;
  
    if (Polymer && Polymer.dom) {
      return Polymer.dom(el).cloneNode(true);
    } else if ($) {
      return $(el).clone(true)[0];
    } else {
      return el.cloneNode(true);
    }
  }
  
  function setRect(el, rect) {
    css(el, 'position', 'absolute');
    css(el, 'top', rect.top);
    css(el, 'left', rect.left);
    css(el, 'width', rect.width);
    css(el, 'height', rect.height);
  }
  
  function unsetRect(el) {
    css(el, 'position', '');
    css(el, 'top', '');
    css(el, 'left', '');
    css(el, 'width', '');
    css(el, 'height', '');
  }
  
  var expando = 'Sortable' + new Date().getTime();
  
  function AnimationStateManager() {
    var animationStates = [],
        animationCallbackId;
    return {
      captureAnimationState: function captureAnimationState() {
        animationStates = [];
        if (!this.options.animation) return;
        var children = [].slice.call(this.el.children);
        children.forEach(function (child) {
          if (css(child, 'display') === 'none' || child === Sortable.ghost) return;
          animationStates.push({
            target: child,
            rect: getRect(child)
          });
  
          var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation
  
  
          if (child.thisAnimationDuration) {
            var childMatrix = matrix(child, true);
  
            if (childMatrix) {
              fromRect.top -= childMatrix.f;
              fromRect.left -= childMatrix.e;
            }
          }
  
          child.fromRect = fromRect;
        });
      },
      addAnimationState: function addAnimationState(state) {
        animationStates.push(state);
      },
      removeAnimationState: function removeAnimationState(target) {
        animationStates.splice(indexOfObject(animationStates, {
          target: target
        }), 1);
      },
      animateAll: function animateAll(callback) {
        var _this = this;
  
        if (!this.options.animation) {
          clearTimeout(animationCallbackId);
          if (typeof callback === 'function') callback();
          return;
        }
  
        var animating = false,
            animationTime = 0;
        animationStates.forEach(function (state) {
          var time = 0,
              target = state.target,
              fromRect = target.fromRect,
              toRect = getRect(target),
              prevFromRect = target.prevFromRect,
              prevToRect = target.prevToRect,
              animatingRect = state.rect,
              targetMatrix = matrix(target, true);
  
          if (targetMatrix) {
            // Compensate for current animation
            toRect.top -= targetMatrix.f;
            toRect.left -= targetMatrix.e;
          }
  
          target.toRect = toRect;
  
          if (target.thisAnimationDuration) {
            // Could also check if animatingRect is between fromRect and toRect
            if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect
            (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {
              // If returning to same place as started from animation and on same axis
              time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);
            }
          } // if fromRect != toRect: animate
  
  
          if (!isRectEqual(toRect, fromRect)) {
            target.prevFromRect = fromRect;
            target.prevToRect = toRect;
  
            if (!time) {
              time = _this.options.animation;
            }
  
            _this.animate(target, animatingRect, toRect, time);
          }
  
          if (time) {
            animating = true;
            animationTime = Math.max(animationTime, time);
            clearTimeout(target.animationResetTimer);
            target.animationResetTimer = setTimeout(function () {
              target.animationTime = 0;
              target.prevFromRect = null;
              target.fromRect = null;
              target.prevToRect = null;
              target.thisAnimationDuration = null;
            }, time);
            target.thisAnimationDuration = time;
          }
        });
        clearTimeout(animationCallbackId);
  
        if (!animating) {
          if (typeof callback === 'function') callback();
        } else {
          animationCallbackId = setTimeout(function () {
            if (typeof callback === 'function') callback();
          }, animationTime);
        }
  
        animationStates = [];
      },
      animate: function animate(target, currentRect, toRect, duration) {
        if (duration) {
          css(target, 'transition', '');
          css(target, 'transform', '');
          var elMatrix = matrix(this.el),
              scaleX = elMatrix && elMatrix.a,
              scaleY = elMatrix && elMatrix.d,
              translateX = (currentRect.left - toRect.left) / (scaleX || 1),
              translateY = (currentRect.top - toRect.top) / (scaleY || 1);
          target.animatingX = !!translateX;
          target.animatingY = !!translateY;
          css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');
          repaint(target); // repaint
  
          css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));
          css(target, 'transform', 'translate3d(0,0,0)');
          typeof target.animated === 'number' && clearTimeout(target.animated);
          target.animated = setTimeout(function () {
            css(target, 'transition', '');
            css(target, 'transform', '');
            target.animated = false;
            target.animatingX = false;
            target.animatingY = false;
          }, duration);
        }
      }
    };
  }
  
  function repaint(target) {
    return target.offsetWidth;
  }
  
  function calculateRealTime(animatingRect, fromRect, toRect, options) {
    return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;
  }
  
  var plugins = [];
  var defaults = {
    initializeByDefault: true
  };
  var PluginManager = {
    mount: function mount(plugin) {
      // Set default static properties
      for (var option in defaults) {
        if (defaults.hasOwnProperty(option) && !(option in plugin)) {
          plugin[option] = defaults[option];
        }
      }
  
      plugins.push(plugin);
    },
    pluginEvent: function pluginEvent(eventName, sortable, evt) {
      var _this = this;
  
      this.eventCanceled = false;
  
      evt.cancel = function () {
        _this.eventCanceled = true;
      };
  
      var eventNameGlobal = eventName + 'Global';
      plugins.forEach(function (plugin) {
        if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable
  
        if (sortable[plugin.pluginName][eventNameGlobal]) {
          sortable[plugin.pluginName][eventNameGlobal](_objectSpread({
            sortable: sortable
          }, evt));
        } // Only fire plugin event if plugin is enabled in this sortable,
        // and plugin has event defined
  
  
        if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {
          sortable[plugin.pluginName][eventName](_objectSpread({
            sortable: sortable
          }, evt));
        }
      });
    },
    initializePlugins: function initializePlugins(sortable, el, defaults, options) {
      plugins.forEach(function (plugin) {
        var pluginName = plugin.pluginName;
        if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;
        var initialized = new plugin(sortable, el, sortable.options);
        initialized.sortable = sortable;
        initialized.options = sortable.options;
        sortable[pluginName] = initialized; // Add default options from plugin
  
        _extends(defaults, initialized.defaults);
      });
  
      for (var option in sortable.options) {
        if (!sortable.options.hasOwnProperty(option)) continue;
        var modified = this.modifyOption(sortable, option, sortable.options[option]);
  
        if (typeof modified !== 'undefined') {
          sortable.options[option] = modified;
        }
      }
    },
    getEventProperties: function getEventProperties(name, sortable) {
      var eventProperties = {};
      plugins.forEach(function (plugin) {
        if (typeof plugin.eventProperties !== 'function') return;
  
        _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));
      });
      return eventProperties;
    },
    modifyOption: function modifyOption(sortable, name, value) {
      var modifiedValue;
      plugins.forEach(function (plugin) {
        // Plugin must exist on the Sortable
        if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin
  
        if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {
          modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);
        }
      });
      return modifiedValue;
    }
  };
  
  function dispatchEvent(_ref) {
    var sortable = _ref.sortable,
        rootEl = _ref.rootEl,
        name = _ref.name,
        targetEl = _ref.targetEl,
        cloneEl = _ref.cloneEl,
        toEl = _ref.toEl,
        fromEl = _ref.fromEl,
        oldIndex = _ref.oldIndex,
        newIndex = _ref.newIndex,
        oldDraggableIndex = _ref.oldDraggableIndex,
        newDraggableIndex = _ref.newDraggableIndex,
        originalEvent = _ref.originalEvent,
        putSortable = _ref.putSortable,
        extraEventProperties = _ref.extraEventProperties;
    sortable = sortable || rootEl && rootEl[expando];
    if (!sortable) return;
    var evt,
        options = sortable.options,
        onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature
  
    if (window.CustomEvent && !IE11OrLess && !Edge) {
      evt = new CustomEvent(name, {
        bubbles: true,
        cancelable: true
      });
    } else {
      evt = document.createEvent('Event');
      evt.initEvent(name, true, true);
    }
  
    evt.to = toEl || rootEl;
    evt.from = fromEl || rootEl;
    evt.item = targetEl || rootEl;
    evt.clone = cloneEl;
    evt.oldIndex = oldIndex;
    evt.newIndex = newIndex;
    evt.oldDraggableIndex = oldDraggableIndex;
    evt.newDraggableIndex = newDraggableIndex;
    evt.originalEvent = originalEvent;
    evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;
  
    var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable));
  
    for (var option in allEventProperties) {
      evt[option] = allEventProperties[option];
    }
  
    if (rootEl) {
      rootEl.dispatchEvent(evt);
    }
  
    if (options[onName]) {
      options[onName].call(sortable, evt);
    }
  }
  
  var pluginEvent = function pluginEvent(eventName, sortable) {
    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
        originalEvent = _ref.evt,
        data = _objectWithoutProperties(_ref, ["evt"]);
  
    PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({
      dragEl: dragEl,
      parentEl: parentEl,
      ghostEl: ghostEl,
      rootEl: rootEl,
      nextEl: nextEl,
      lastDownEl: lastDownEl,
      cloneEl: cloneEl,
      cloneHidden: cloneHidden,
      dragStarted: moved,
      putSortable: putSortable,
      activeSortable: Sortable.active,
      originalEvent: originalEvent,
      oldIndex: oldIndex,
      oldDraggableIndex: oldDraggableIndex,
      newIndex: newIndex,
      newDraggableIndex: newDraggableIndex,
      hideGhostForTarget: _hideGhostForTarget,
      unhideGhostForTarget: _unhideGhostForTarget,
      cloneNowHidden: function cloneNowHidden() {
        cloneHidden = true;
      },
      cloneNowShown: function cloneNowShown() {
        cloneHidden = false;
      },
      dispatchSortableEvent: function dispatchSortableEvent(name) {
        _dispatchEvent({
          sortable: sortable,
          name: name,
          originalEvent: originalEvent
        });
      }
    }, data));
  };
  
  function _dispatchEvent(info) {
    dispatchEvent(_objectSpread({
      putSortable: putSortable,
      cloneEl: cloneEl,
      targetEl: dragEl,
      rootEl: rootEl,
      oldIndex: oldIndex,
      oldDraggableIndex: oldDraggableIndex,
      newIndex: newIndex,
      newDraggableIndex: newDraggableIndex
    }, info));
  }
  
  var dragEl,
      parentEl,
      ghostEl,
      rootEl,
      nextEl,
      lastDownEl,
      cloneEl,
      cloneHidden,
      oldIndex,
      newIndex,
      oldDraggableIndex,
      newDraggableIndex,
      activeGroup,
      putSortable,
      awaitingDragStarted = false,
      ignoreNextClick = false,
      sortables = [],
      tapEvt,
      touchEvt,
      lastDx,
      lastDy,
      tapDistanceLeft,
      tapDistanceTop,
      moved,
      lastTarget,
      lastDirection,
      pastFirstInvertThresh = false,
      isCircumstantialInvert = false,
      targetMoveDistance,
      // For positioning ghost absolutely
  ghostRelativeParent,
      ghostRelativeParentInitialScroll = [],
      // (left, top)
  _silent = false,
      savedInputChecked = [];
  /** @const */
  
  var documentExists = typeof document !== 'undefined',
      PositionGhostAbsolutely = IOS,
      CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',
      // This will not pass for IE9, because IE9 DnD only works on anchors
  supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),
      supportCssPointerEvents = function () {
    if (!documentExists) return; // false when <= IE11
  
    if (IE11OrLess) {
      return false;
    }
  
    var el = document.createElement('x');
    el.style.cssText = 'pointer-events:auto';
    return el.style.pointerEvents === 'auto';
  }(),
      _detectDirection = function _detectDirection(el, options) {
    var elCSS = css(el),
        elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),
        child1 = getChild(el, 0, options),
        child2 = getChild(el, 1, options),
        firstChildCSS = child1 && css(child1),
        secondChildCSS = child2 && css(child2),
        firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,
        secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;
  
    if (elCSS.display === 'flex') {
      return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';
    }
  
    if (elCSS.display === 'grid') {
      return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';
    }
  
    if (child1 && firstChildCSS["float"] && firstChildCSS["float"] !== 'none') {
      var touchingSideChild2 = firstChildCSS["float"] === 'left' ? 'left' : 'right';
      return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';
    }
  
    return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';
  },
      _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {
    var dragElS1Opp = vertical ? dragRect.left : dragRect.top,
        dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,
        dragElOppLength = vertical ? dragRect.width : dragRect.height,
        targetS1Opp = vertical ? targetRect.left : targetRect.top,
        targetS2Opp = vertical ? targetRect.right : targetRect.bottom,
        targetOppLength = vertical ? targetRect.width : targetRect.height;
    return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;
  },
  
  /**
   * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.
   * @param  {Number} x      X position
   * @param  {Number} y      Y position
   * @return {HTMLElement}   Element of the first found nearest Sortable
   */
  _detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {
    var ret;
    sortables.some(function (sortable) {
      if (lastChild(sortable)) return;
      var rect = getRect(sortable),
          threshold = sortable[expando].options.emptyInsertThreshold,
          insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,
          insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;
  
      if (threshold && insideHorizontally && insideVertically) {
        return ret = sortable;
      }
    });
    return ret;
  },
      _prepareGroup = function _prepareGroup(options) {
    function toFn(value, pull) {
      return function (to, from, dragEl, evt) {
        var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;
  
        if (value == null && (pull || sameGroup)) {
          // Default pull value
          // Default pull and put value if same group
          return true;
        } else if (value == null || value === false) {
          return false;
        } else if (pull && value === 'clone') {
          return value;
        } else if (typeof value === 'function') {
          return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);
        } else {
          var otherGroup = (pull ? to : from).options.group.name;
          return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;
        }
      };
    }
  
    var group = {};
    var originalGroup = options.group;
  
    if (!originalGroup || _typeof(originalGroup) != 'object') {
      originalGroup = {
        name: originalGroup
      };
    }
  
    group.name = originalGroup.name;
    group.checkPull = toFn(originalGroup.pull, true);
    group.checkPut = toFn(originalGroup.put);
    group.revertClone = originalGroup.revertClone;
    options.group = group;
  },
      _hideGhostForTarget = function _hideGhostForTarget() {
    if (!supportCssPointerEvents && ghostEl) {
      css(ghostEl, 'display', 'none');
    }
  },
      _unhideGhostForTarget = function _unhideGhostForTarget() {
    if (!supportCssPointerEvents && ghostEl) {
      css(ghostEl, 'display', '');
    }
  }; // #1184 fix - Prevent click event on fallback if dragged but item not changed position
  
  
  if (documentExists) {
    document.addEventListener('click', function (evt) {
      if (ignoreNextClick) {
        evt.preventDefault();
        evt.stopPropagation && evt.stopPropagation();
        evt.stopImmediatePropagation && evt.stopImmediatePropagation();
        ignoreNextClick = false;
        return false;
      }
    }, true);
  }
  
  var nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {
    if (dragEl) {
      evt = evt.touches ? evt.touches[0] : evt;
  
      var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);
  
      if (nearest) {
        // Create imitation event
        var event = {};
  
        for (var i in evt) {
          if (evt.hasOwnProperty(i)) {
            event[i] = evt[i];
          }
        }
  
        event.target = event.rootEl = nearest;
        event.preventDefault = void 0;
        event.stopPropagation = void 0;
  
        nearest[expando]._onDragOver(event);
      }
    }
  };
  
  var _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {
    if (dragEl) {
      dragEl.parentNode[expando]._isOutsideThisEl(evt.target);
    }
  };
  /**
   * @class  Sortable
   * @param  {HTMLElement}  el
   * @param  {Object}       [options]
   */
  
  
  function Sortable(el, options) {
    if (!(el && el.nodeType && el.nodeType === 1)) {
      throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(el));
    }
  
    this.el = el; // root element
  
    this.options = options = _extends({}, options); // Export instance
  
    el[expando] = this;
    var defaults = {
      group: null,
      sort: true,
      disabled: false,
      store: null,
      handle: null,
      draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',
      swapThreshold: 1,
      // percentage; 0 <= x <= 1
      invertSwap: false,
      // invert always
      invertedSwapThreshold: null,
      // will be set to same as swapThreshold if default
      removeCloneOnHide: true,
      direction: function direction() {
        return _detectDirection(el, this.options);
      },
      ghostClass: 'sortable-ghost',
      chosenClass: 'sortable-chosen',
      dragClass: 'sortable-drag',
      ignore: 'a, img',
      filter: null,
      preventOnFilter: true,
      animation: 0,
      easing: null,
      setData: function setData(dataTransfer, dragEl) {
        dataTransfer.setData('Text', dragEl.textContent);
      },
      dropBubble: false,
      dragoverBubble: false,
      dataIdAttr: 'data-id',
      delay: 0,
      delayOnTouchOnly: false,
      touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,
      forceFallback: false,
      fallbackClass: 'sortable-fallback',
      fallbackOnBody: false,
      fallbackTolerance: 0,
      fallbackOffset: {
        x: 0,
        y: 0
      },
      supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window,
      emptyInsertThreshold: 5
    };
    PluginManager.initializePlugins(this, el, defaults); // Set default options
  
    for (var name in defaults) {
      !(name in options) && (options[name] = defaults[name]);
    }
  
    _prepareGroup(options); // Bind all private methods
  
  
    for (var fn in this) {
      if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {
        this[fn] = this[fn].bind(this);
      }
    } // Setup drag mode
  
  
    this.nativeDraggable = options.forceFallback ? false : supportDraggable;
  
    if (this.nativeDraggable) {
      // Touch start threshold cannot be greater than the native dragstart threshold
      this.options.touchStartThreshold = 1;
    } // Bind events
  
  
    if (options.supportPointer) {
      on(el, 'pointerdown', this._onTapStart);
    } else {
      on(el, 'mousedown', this._onTapStart);
      on(el, 'touchstart', this._onTapStart);
    }
  
    if (this.nativeDraggable) {
      on(el, 'dragover', this);
      on(el, 'dragenter', this);
    }
  
    sortables.push(this.el); // Restore sorting
  
    options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager
  
    _extends(this, AnimationStateManager());
  }
  
  Sortable.prototype =
  /** @lends Sortable.prototype */
  {
    constructor: Sortable,
    _isOutsideThisEl: function _isOutsideThisEl(target) {
      if (!this.el.contains(target) && target !== this.el) {
        lastTarget = null;
      }
    },
    _getDirection: function _getDirection(evt, target) {
      return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;
    },
    _onTapStart: function _onTapStart(
    /** Event|TouchEvent */
    evt) {
      if (!evt.cancelable) return;
  
      var _this = this,
          el = this.el,
          options = this.options,
          preventOnFilter = options.preventOnFilter,
          type = evt.type,
          touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,
          target = (touch || evt).target,
          originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,
          filter = options.filter;
  
      _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.
  
  
      if (dragEl) {
        return;
      }
  
      if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {
        return; // only left button and enabled
      } // cancel dnd if original target is content editable
  
  
      if (originalTarget.isContentEditable) {
        return;
      }
  
      target = closest(target, options.draggable, el, false);
  
      if (target && target.animated) {
        return;
      }
  
      if (lastDownEl === target) {
        // Ignoring duplicate `down`
        return;
      } // Get the index of the dragged element within its parent
  
  
      oldIndex = index(target);
      oldDraggableIndex = index(target, options.draggable); // Check filter
  
      if (typeof filter === 'function') {
        if (filter.call(this, evt, target, this)) {
          _dispatchEvent({
            sortable: _this,
            rootEl: originalTarget,
            name: 'filter',
            targetEl: target,
            toEl: el,
            fromEl: el
          });
  
          pluginEvent('filter', _this, {
            evt: evt
          });
          preventOnFilter && evt.cancelable && evt.preventDefault();
          return; // cancel dnd
        }
      } else if (filter) {
        filter = filter.split(',').some(function (criteria) {
          criteria = closest(originalTarget, criteria.trim(), el, false);
  
          if (criteria) {
            _dispatchEvent({
              sortable: _this,
              rootEl: criteria,
              name: 'filter',
              targetEl: target,
              fromEl: el,
              toEl: el
            });
  
            pluginEvent('filter', _this, {
              evt: evt
            });
            return true;
          }
        });
  
        if (filter) {
          preventOnFilter && evt.cancelable && evt.preventDefault();
          return; // cancel dnd
        }
      }
  
      if (options.handle && !closest(originalTarget, options.handle, el, false)) {
        return;
      } // Prepare `dragstart`
  
  
      this._prepareDragStart(evt, touch, target);
    },
    _prepareDragStart: function _prepareDragStart(
    /** Event */
    evt,
    /** Touch */
    touch,
    /** HTMLElement */
    target) {
      var _this = this,
          el = _this.el,
          options = _this.options,
          ownerDocument = el.ownerDocument,
          dragStartFn;
  
      if (target && !dragEl && target.parentNode === el) {
        var dragRect = getRect(target);
        rootEl = el;
        dragEl = target;
        parentEl = dragEl.parentNode;
        nextEl = dragEl.nextSibling;
        lastDownEl = target;
        activeGroup = options.group;
        Sortable.dragged = dragEl;
        tapEvt = {
          target: dragEl,
          clientX: (touch || evt).clientX,
          clientY: (touch || evt).clientY
        };
        tapDistanceLeft = tapEvt.clientX - dragRect.left;
        tapDistanceTop = tapEvt.clientY - dragRect.top;
        this._lastX = (touch || evt).clientX;
        this._lastY = (touch || evt).clientY;
        dragEl.style['will-change'] = 'all';
  
        dragStartFn = function dragStartFn() {
          pluginEvent('delayEnded', _this, {
            evt: evt
          });
  
          if (Sortable.eventCanceled) {
            _this._onDrop();
  
            return;
          } // Delayed drag has been triggered
          // we can re-enable the events: touchmove/mousemove
  
  
          _this._disableDelayedDragEvents();
  
          if (!FireFox && _this.nativeDraggable) {
            dragEl.draggable = true;
          } // Bind the events: dragstart/dragend
  
  
          _this._triggerDragStart(evt, touch); // Drag start event
  
  
          _dispatchEvent({
            sortable: _this,
            name: 'choose',
            originalEvent: evt
          }); // Chosen item
  
  
          toggleClass(dragEl, options.chosenClass, true);
        }; // Disable "draggable"
  
  
        options.ignore.split(',').forEach(function (criteria) {
          find(dragEl, criteria.trim(), _disableDraggable);
        });
        on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);
        on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);
        on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);
        on(ownerDocument, 'mouseup', _this._onDrop);
        on(ownerDocument, 'touchend', _this._onDrop);
        on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)
  
        if (FireFox && this.nativeDraggable) {
          this.options.touchStartThreshold = 4;
          dragEl.draggable = true;
        }
  
        pluginEvent('delayStart', this, {
          evt: evt
        }); // Delay is impossible for native DnD in Edge or IE
  
        if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {
          if (Sortable.eventCanceled) {
            this._onDrop();
  
            return;
          } // If the user moves the pointer or let go the click or touch
          // before the delay has been reached:
          // disable the delayed drag
  
  
          on(ownerDocument, 'mouseup', _this._disableDelayedDrag);
          on(ownerDocument, 'touchend', _this._disableDelayedDrag);
          on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);
          on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);
          on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);
          options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);
          _this._dragStartTimer = setTimeout(dragStartFn, options.delay);
        } else {
          dragStartFn();
        }
      }
    },
    _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(
    /** TouchEvent|PointerEvent **/
    e) {
      var touch = e.touches ? e.touches[0] : e;
  
      if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {
        this._disableDelayedDrag();
      }
    },
    _disableDelayedDrag: function _disableDelayedDrag() {
      dragEl && _disableDraggable(dragEl);
      clearTimeout(this._dragStartTimer);
  
      this._disableDelayedDragEvents();
    },
    _disableDelayedDragEvents: function _disableDelayedDragEvents() {
      var ownerDocument = this.el.ownerDocument;
      off(ownerDocument, 'mouseup', this._disableDelayedDrag);
      off(ownerDocument, 'touchend', this._disableDelayedDrag);
      off(ownerDocument, 'touchcancel', this._disableDelayedDrag);
      off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);
      off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);
      off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);
    },
    _triggerDragStart: function _triggerDragStart(
    /** Event */
    evt,
    /** Touch */
    touch) {
      touch = touch || evt.pointerType == 'touch' && evt;
  
      if (!this.nativeDraggable || touch) {
        if (this.options.supportPointer) {
          on(document, 'pointermove', this._onTouchMove);
        } else if (touch) {
          on(document, 'touchmove', this._onTouchMove);
        } else {
          on(document, 'mousemove', this._onTouchMove);
        }
      } else {
        on(dragEl, 'dragend', this);
        on(rootEl, 'dragstart', this._onDragStart);
      }
  
      try {
        if (document.selection) {
          // Timeout neccessary for IE9
          _nextTick(function () {
            document.selection.empty();
          });
        } else {
          window.getSelection().removeAllRanges();
        }
      } catch (err) {}
    },
    _dragStarted: function _dragStarted(fallback, evt) {
  
      awaitingDragStarted = false;
  
      if (rootEl && dragEl) {
        pluginEvent('dragStarted', this, {
          evt: evt
        });
  
        if (this.nativeDraggable) {
          on(document, 'dragover', _checkOutsideTargetEl);
        }
  
        var options = this.options; // Apply effect
  
        !fallback && toggleClass(dragEl, options.dragClass, false);
        toggleClass(dragEl, options.ghostClass, true);
        Sortable.active = this;
        fallback && this._appendGhost(); // Drag start event
  
        _dispatchEvent({
          sortable: this,
          name: 'start',
          originalEvent: evt
        });
      } else {
        this._nulling();
      }
    },
    _emulateDragOver: function _emulateDragOver() {
      if (touchEvt) {
        this._lastX = touchEvt.clientX;
        this._lastY = touchEvt.clientY;
  
        _hideGhostForTarget();
  
        var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);
        var parent = target;
  
        while (target && target.shadowRoot) {
          target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);
          if (target === parent) break;
          parent = target;
        }
  
        dragEl.parentNode[expando]._isOutsideThisEl(target);
  
        if (parent) {
          do {
            if (parent[expando]) {
              var inserted = void 0;
              inserted = parent[expando]._onDragOver({
                clientX: touchEvt.clientX,
                clientY: touchEvt.clientY,
                target: target,
                rootEl: parent
              });
  
              if (inserted && !this.options.dragoverBubble) {
                break;
              }
            }
  
            target = parent; // store last element
          }
          /* jshint boss:true */
          while (parent = parent.parentNode);
        }
  
        _unhideGhostForTarget();
      }
    },
    _onTouchMove: function _onTouchMove(
    /**TouchEvent*/
    evt) {
      if (tapEvt) {
        var options = this.options,
            fallbackTolerance = options.fallbackTolerance,
            fallbackOffset = options.fallbackOffset,
            touch = evt.touches ? evt.touches[0] : evt,
            ghostMatrix = ghostEl && matrix(ghostEl, true),
            scaleX = ghostEl && ghostMatrix && ghostMatrix.a,
            scaleY = ghostEl && ghostMatrix && ghostMatrix.d,
            relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),
            dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),
            dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging
  
        if (!Sortable.active && !awaitingDragStarted) {
          if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {
            return;
          }
  
          this._onDragStart(evt, true);
        }
  
        if (ghostEl) {
          if (ghostMatrix) {
            ghostMatrix.e += dx - (lastDx || 0);
            ghostMatrix.f += dy - (lastDy || 0);
          } else {
            ghostMatrix = {
              a: 1,
              b: 0,
              c: 0,
              d: 1,
              e: dx,
              f: dy
            };
          }
  
          var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")");
          css(ghostEl, 'webkitTransform', cssMatrix);
          css(ghostEl, 'mozTransform', cssMatrix);
          css(ghostEl, 'msTransform', cssMatrix);
          css(ghostEl, 'transform', cssMatrix);
          lastDx = dx;
          lastDy = dy;
          touchEvt = touch;
        }
  
        evt.cancelable && evt.preventDefault();
      }
    },
    _appendGhost: function _appendGhost() {
      // Bug if using scale(): https://stackoverflow.com/questions/2637058
      // Not being adjusted for
      if (!ghostEl) {
        var container = this.options.fallbackOnBody ? document.body : rootEl,
            rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),
            options = this.options; // Position absolutely
  
        if (PositionGhostAbsolutely) {
          // Get relatively positioned parent
          ghostRelativeParent = container;
  
          while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {
            ghostRelativeParent = ghostRelativeParent.parentNode;
          }
  
          if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {
            if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();
            rect.top += ghostRelativeParent.scrollTop;
            rect.left += ghostRelativeParent.scrollLeft;
          } else {
            ghostRelativeParent = getWindowScrollingElement();
          }
  
          ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);
        }
  
        ghostEl = dragEl.cloneNode(true);
        toggleClass(ghostEl, options.ghostClass, false);
        toggleClass(ghostEl, options.fallbackClass, true);
        toggleClass(ghostEl, options.dragClass, true);
        css(ghostEl, 'transition', '');
        css(ghostEl, 'transform', '');
        css(ghostEl, 'box-sizing', 'border-box');
        css(ghostEl, 'margin', 0);
        css(ghostEl, 'top', rect.top);
        css(ghostEl, 'left', rect.left);
        css(ghostEl, 'width', rect.width);
        css(ghostEl, 'height', rect.height);
        css(ghostEl, 'opacity', '0.8');
        css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');
        css(ghostEl, 'zIndex', '100000');
        css(ghostEl, 'pointerEvents', 'none');
        Sortable.ghost = ghostEl;
        container.appendChild(ghostEl); // Set transform-origin
  
        css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');
      }
    },
    _onDragStart: function _onDragStart(
    /**Event*/
    evt,
    /**boolean*/
    fallback) {
      var _this = this;
  
      var dataTransfer = evt.dataTransfer;
      var options = _this.options;
      pluginEvent('dragStart', this, {
        evt: evt
      });
  
      if (Sortable.eventCanceled) {
        this._onDrop();
  
        return;
      }
  
      pluginEvent('setupClone', this);
  
      if (!Sortable.eventCanceled) {
        cloneEl = clone(dragEl);
        cloneEl.draggable = false;
        cloneEl.style['will-change'] = '';
  
        this._hideClone();
  
        toggleClass(cloneEl, this.options.chosenClass, false);
        Sortable.clone = cloneEl;
      } // #1143: IFrame support workaround
  
  
      _this.cloneId = _nextTick(function () {
        pluginEvent('clone', _this);
        if (Sortable.eventCanceled) return;
  
        if (!_this.options.removeCloneOnHide) {
          rootEl.insertBefore(cloneEl, dragEl);
        }
  
        _this._hideClone();
  
        _dispatchEvent({
          sortable: _this,
          name: 'clone'
        });
      });
      !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events
  
      if (fallback) {
        ignoreNextClick = true;
        _this._loopId = setInterval(_this._emulateDragOver, 50);
      } else {
        // Undo what was set in _prepareDragStart before drag started
        off(document, 'mouseup', _this._onDrop);
        off(document, 'touchend', _this._onDrop);
        off(document, 'touchcancel', _this._onDrop);
  
        if (dataTransfer) {
          dataTransfer.effectAllowed = 'move';
          options.setData && options.setData.call(_this, dataTransfer, dragEl);
        }
  
        on(document, 'drop', _this); // #1276 fix:
  
        css(dragEl, 'transform', 'translateZ(0)');
      }
  
      awaitingDragStarted = true;
      _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));
      on(document, 'selectstart', _this);
      moved = true;
  
      if (Safari) {
        css(document.body, 'user-select', 'none');
      }
    },
    // Returns true - if no further action is needed (either inserted or another condition)
    _onDragOver: function _onDragOver(
    /**Event*/
    evt) {
      var el = this.el,
          target = evt.target,
          dragRect,
          targetRect,
          revert,
          options = this.options,
          group = options.group,
          activeSortable = Sortable.active,
          isOwner = activeGroup === group,
          canSort = options.sort,
          fromSortable = putSortable || activeSortable,
          vertical,
          _this = this,
          completedFired = false;
  
      if (_silent) return;
  
      function dragOverEvent(name, extra) {
        pluginEvent(name, _this, _objectSpread({
          evt: evt,
          isOwner: isOwner,
          axis: vertical ? 'vertical' : 'horizontal',
          revert: revert,
          dragRect: dragRect,
          targetRect: targetRect,
          canSort: canSort,
          fromSortable: fromSortable,
          target: target,
          completed: completed,
          onMove: function onMove(target, after) {
            return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);
          },
          changed: changed
        }, extra));
      } // Capture animation state
  
  
      function capture() {
        dragOverEvent('dragOverAnimationCapture');
  
        _this.captureAnimationState();
  
        if (_this !== fromSortable) {
          fromSortable.captureAnimationState();
        }
      } // Return invocation when dragEl is inserted (or completed)
  
  
      function completed(insertion) {
        dragOverEvent('dragOverCompleted', {
          insertion: insertion
        });
  
        if (insertion) {
          // Clones must be hidden before folding animation to capture dragRectAbsolute properly
          if (isOwner) {
            activeSortable._hideClone();
          } else {
            activeSortable._showClone(_this);
          }
  
          if (_this !== fromSortable) {
            // Set ghost class to new sortable's ghost class
            toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);
            toggleClass(dragEl, options.ghostClass, true);
          }
  
          if (putSortable !== _this && _this !== Sortable.active) {
            putSortable = _this;
          } else if (_this === Sortable.active && putSortable) {
            putSortable = null;
          } // Animation
  
  
          if (fromSortable === _this) {
            _this._ignoreWhileAnimating = target;
          }
  
          _this.animateAll(function () {
            dragOverEvent('dragOverAnimationComplete');
            _this._ignoreWhileAnimating = null;
          });
  
          if (_this !== fromSortable) {
            fromSortable.animateAll();
            fromSortable._ignoreWhileAnimating = null;
          }
        } // Null lastTarget if it is not inside a previously swapped element
  
  
        if (target === dragEl && !dragEl.animated || target === el && !target.animated) {
          lastTarget = null;
        } // no bubbling and not fallback
  
  
        if (!options.dragoverBubble && !evt.rootEl && target !== document) {
          dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted
  
  
          !insertion && nearestEmptyInsertDetectEvent(evt);
        }
  
        !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();
        return completedFired = true;
      } // Call when dragEl has been inserted
  
  
      function changed() {
        newIndex = index(dragEl);
        newDraggableIndex = index(dragEl, options.draggable);
  
        _dispatchEvent({
          sortable: _this,
          name: 'change',
          toEl: el,
          newIndex: newIndex,
          newDraggableIndex: newDraggableIndex,
          originalEvent: evt
        });
      }
  
      if (evt.preventDefault !== void 0) {
        evt.cancelable && evt.preventDefault();
      }
  
      target = closest(target, options.draggable, el, true);
      dragOverEvent('dragOver');
      if (Sortable.eventCanceled) return completedFired;
  
      if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {
        return completed(false);
      }
  
      ignoreNextClick = false;
  
      if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list
      : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {
        vertical = this._getDirection(evt, target) === 'vertical';
        dragRect = getRect(dragEl);
        dragOverEvent('dragOverValid');
        if (Sortable.eventCanceled) return completedFired;
  
        if (revert) {
          parentEl = rootEl; // actualization
  
          capture();
  
          this._hideClone();
  
          dragOverEvent('revert');
  
          if (!Sortable.eventCanceled) {
            if (nextEl) {
              rootEl.insertBefore(dragEl, nextEl);
            } else {
              rootEl.appendChild(dragEl);
            }
          }
  
          return completed(true);
        }
  
        var elLastChild = lastChild(el, options.draggable);
  
        if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {
          // If already at end of list: Do not insert
          if (elLastChild === dragEl) {
            return completed(false);
          } // assign target only if condition is true
  
  
          if (elLastChild && el === evt.target) {
            target = elLastChild;
          }
  
          if (target) {
            targetRect = getRect(target);
          }
  
          if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {
            capture();
            el.appendChild(dragEl);
            parentEl = el; // actualization
  
            changed();
            return completed(true);
          }
        } else if (target.parentNode === el) {
          targetRect = getRect(target);
          var direction = 0,
              targetBeforeFirstSwap,
              differentLevel = dragEl.parentNode !== el,
              differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),
              side1 = vertical ? 'top' : 'left',
              scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),
              scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;
  
          if (lastTarget !== target) {
            targetBeforeFirstSwap = targetRect[side1];
            pastFirstInvertThresh = false;
            isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;
          }
  
          direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);
          var sibling;
  
          if (direction !== 0) {
            // Check if target is beside dragEl in respective direction (ignoring hidden elements)
            var dragIndex = index(dragEl);
  
            do {
              dragIndex -= direction;
              sibling = parentEl.children[dragIndex];
            } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));
          } // If dragEl is already beside target: Do not insert
  
  
          if (direction === 0 || sibling === target) {
            return completed(false);
          }
  
          lastTarget = target;
          lastDirection = direction;
          var nextSibling = target.nextElementSibling,
              after = false;
          after = direction === 1;
  
          var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);
  
          if (moveVector !== false) {
            if (moveVector === 1 || moveVector === -1) {
              after = moveVector === 1;
            }
  
            _silent = true;
            setTimeout(_unsilent, 30);
            capture();
  
            if (after && !nextSibling) {
              el.appendChild(dragEl);
            } else {
              target.parentNode.insertBefore(dragEl, after ? nextSibling : target);
            } // Undo chrome's scroll adjustment (has no effect on other browsers)
  
  
            if (scrolledPastTop) {
              scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);
            }
  
            parentEl = dragEl.parentNode; // actualization
            // must be done before animation
  
            if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {
              targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);
            }
  
            changed();
            return completed(true);
          }
        }
  
        if (el.contains(dragEl)) {
          return completed(false);
        }
      }
  
      return false;
    },
    _ignoreWhileAnimating: null,
    _offMoveEvents: function _offMoveEvents() {
      off(document, 'mousemove', this._onTouchMove);
      off(document, 'touchmove', this._onTouchMove);
      off(document, 'pointermove', this._onTouchMove);
      off(document, 'dragover', nearestEmptyInsertDetectEvent);
      off(document, 'mousemove', nearestEmptyInsertDetectEvent);
      off(document, 'touchmove', nearestEmptyInsertDetectEvent);
    },
    _offUpEvents: function _offUpEvents() {
      var ownerDocument = this.el.ownerDocument;
      off(ownerDocument, 'mouseup', this._onDrop);
      off(ownerDocument, 'touchend', this._onDrop);
      off(ownerDocument, 'pointerup', this._onDrop);
      off(ownerDocument, 'touchcancel', this._onDrop);
      off(document, 'selectstart', this);
    },
    _onDrop: function _onDrop(
    /**Event*/
    evt) {
      var el = this.el,
          options = this.options; // Get the index of the dragged element within its parent
  
      newIndex = index(dragEl);
      newDraggableIndex = index(dragEl, options.draggable);
      pluginEvent('drop', this, {
        evt: evt
      });
      parentEl = dragEl && dragEl.parentNode; // Get again after plugin event
  
      newIndex = index(dragEl);
      newDraggableIndex = index(dragEl, options.draggable);
  
      if (Sortable.eventCanceled) {
        this._nulling();
  
        return;
      }
  
      awaitingDragStarted = false;
      isCircumstantialInvert = false;
      pastFirstInvertThresh = false;
      clearInterval(this._loopId);
      clearTimeout(this._dragStartTimer);
  
      _cancelNextTick(this.cloneId);
  
      _cancelNextTick(this._dragStartId); // Unbind events
  
  
      if (this.nativeDraggable) {
        off(document, 'drop', this);
        off(el, 'dragstart', this._onDragStart);
      }
  
      this._offMoveEvents();
  
      this._offUpEvents();
  
      if (Safari) {
        css(document.body, 'user-select', '');
      }
  
      css(dragEl, 'transform', '');
  
      if (evt) {
        if (moved) {
          evt.cancelable && evt.preventDefault();
          !options.dropBubble && evt.stopPropagation();
        }
  
        ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);
  
        if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {
          // Remove clone(s)
          cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);
        }
  
        if (dragEl) {
          if (this.nativeDraggable) {
            off(dragEl, 'dragend', this);
          }
  
          _disableDraggable(dragEl);
  
          dragEl.style['will-change'] = ''; // Remove classes
          // ghostClass is added in dragStarted
  
          if (moved && !awaitingDragStarted) {
            toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);
          }
  
          toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event
  
          _dispatchEvent({
            sortable: this,
            name: 'unchoose',
            toEl: parentEl,
            newIndex: null,
            newDraggableIndex: null,
            originalEvent: evt
          });
  
          if (rootEl !== parentEl) {
            if (newIndex >= 0) {
              // Add event
              _dispatchEvent({
                rootEl: parentEl,
                name: 'add',
                toEl: parentEl,
                fromEl: rootEl,
                originalEvent: evt
              }); // Remove event
  
  
              _dispatchEvent({
                sortable: this,
                name: 'remove',
                toEl: parentEl,
                originalEvent: evt
              }); // drag from one list and drop into another
  
  
              _dispatchEvent({
                rootEl: parentEl,
                name: 'sort',
                toEl: parentEl,
                fromEl: rootEl,
                originalEvent: evt
              });
  
              _dispatchEvent({
                sortable: this,
                name: 'sort',
                toEl: parentEl,
                originalEvent: evt
              });
            }
  
            putSortable && putSortable.save();
          } else {
            if (newIndex !== oldIndex) {
              if (newIndex >= 0) {
                // drag & drop within the same list
                _dispatchEvent({
                  sortable: this,
                  name: 'update',
                  toEl: parentEl,
                  originalEvent: evt
                });
  
                _dispatchEvent({
                  sortable: this,
                  name: 'sort',
                  toEl: parentEl,
                  originalEvent: evt
                });
              }
            }
          }
  
          if (Sortable.active) {
            /* jshint eqnull:true */
            if (newIndex == null || newIndex === -1) {
              newIndex = oldIndex;
              newDraggableIndex = oldDraggableIndex;
            }
  
            _dispatchEvent({
              sortable: this,
              name: 'end',
              toEl: parentEl,
              originalEvent: evt
            }); // Save sorting
  
  
            this.save();
          }
        }
      }
  
      this._nulling();
    },
    _nulling: function _nulling() {
      pluginEvent('nulling', this);
      rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;
      savedInputChecked.forEach(function (el) {
        el.checked = true;
      });
      savedInputChecked.length = lastDx = lastDy = 0;
    },
    handleEvent: function handleEvent(
    /**Event*/
    evt) {
      switch (evt.type) {
        case 'drop':
        case 'dragend':
          this._onDrop(evt);
  
          break;
  
        case 'dragenter':
        case 'dragover':
          if (dragEl) {
            this._onDragOver(evt);
  
            _globalDragOver(evt);
          }
  
          break;
  
        case 'selectstart':
          evt.preventDefault();
          break;
      }
    },
  
    /**
     * Serializes the item into an array of string.
     * @returns {String[]}
     */
    toArray: function toArray() {
      var order = [],
          el,
          children = this.el.children,
          i = 0,
          n = children.length,
          options = this.options;
  
      for (; i < n; i++) {
        el = children[i];
  
        if (closest(el, options.draggable, this.el, false)) {
          order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));
        }
      }
  
      return order;
    },
  
    /**
     * Sorts the elements according to the array.
     * @param  {String[]}  order  order of the items
     */
    sort: function sort(order) {
      var items = {},
          rootEl = this.el;
      this.toArray().forEach(function (id, i) {
        var el = rootEl.children[i];
  
        if (closest(el, this.options.draggable, rootEl, false)) {
          items[id] = el;
        }
      }, this);
      order.forEach(function (id) {
        if (items[id]) {
          rootEl.removeChild(items[id]);
          rootEl.appendChild(items[id]);
        }
      });
    },
  
    /**
     * Save the current sorting
     */
    save: function save() {
      var store = this.options.store;
      store && store.set && store.set(this);
    },
  
    /**
     * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.
     * @param   {HTMLElement}  el
     * @param   {String}       [selector]  default: `options.draggable`
     * @returns {HTMLElement|null}
     */
    closest: function closest$1(el, selector) {
      return closest(el, selector || this.options.draggable, this.el, false);
    },
  
    /**
     * Set/get option
     * @param   {string} name
     * @param   {*}      [value]
     * @returns {*}
     */
    option: function option(name, value) {
      var options = this.options;
  
      if (value === void 0) {
        return options[name];
      } else {
        var modifiedValue = PluginManager.modifyOption(this, name, value);
  
        if (typeof modifiedValue !== 'undefined') {
          options[name] = modifiedValue;
        } else {
          options[name] = value;
        }
  
        if (name === 'group') {
          _prepareGroup(options);
        }
      }
    },
  
    /**
     * Destroy
     */
    destroy: function destroy() {
      pluginEvent('destroy', this);
      var el = this.el;
      el[expando] = null;
      off(el, 'mousedown', this._onTapStart);
      off(el, 'touchstart', this._onTapStart);
      off(el, 'pointerdown', this._onTapStart);
  
      if (this.nativeDraggable) {
        off(el, 'dragover', this);
        off(el, 'dragenter', this);
      } // Remove draggable attributes
  
  
      Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {
        el.removeAttribute('draggable');
      });
  
      this._onDrop();
  
      this._disableDelayedDragEvents();
  
      sortables.splice(sortables.indexOf(this.el), 1);
      this.el = el = null;
    },
    _hideClone: function _hideClone() {
      if (!cloneHidden) {
        pluginEvent('hideClone', this);
        if (Sortable.eventCanceled) return;
        css(cloneEl, 'display', 'none');
  
        if (this.options.removeCloneOnHide && cloneEl.parentNode) {
          cloneEl.parentNode.removeChild(cloneEl);
        }
  
        cloneHidden = true;
      }
    },
    _showClone: function _showClone(putSortable) {
      if (putSortable.lastPutMode !== 'clone') {
        this._hideClone();
  
        return;
      }
  
      if (cloneHidden) {
        pluginEvent('showClone', this);
        if (Sortable.eventCanceled) return; // show clone at dragEl or original position
  
        if (rootEl.contains(dragEl) && !this.options.group.revertClone) {
          rootEl.insertBefore(cloneEl, dragEl);
        } else if (nextEl) {
          rootEl.insertBefore(cloneEl, nextEl);
        } else {
          rootEl.appendChild(cloneEl);
        }
  
        if (this.options.group.revertClone) {
          this.animate(dragEl, cloneEl);
        }
  
        css(cloneEl, 'display', '');
        cloneHidden = false;
      }
    }
  };
  
  function _globalDragOver(
  /**Event*/
  evt) {
    if (evt.dataTransfer) {
      evt.dataTransfer.dropEffect = 'move';
    }
  
    evt.cancelable && evt.preventDefault();
  }
  
  function _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {
    var evt,
        sortable = fromEl[expando],
        onMoveFn = sortable.options.onMove,
        retVal; // Support for new CustomEvent feature
  
    if (window.CustomEvent && !IE11OrLess && !Edge) {
      evt = new CustomEvent('move', {
        bubbles: true,
        cancelable: true
      });
    } else {
      evt = document.createEvent('Event');
      evt.initEvent('move', true, true);
    }
  
    evt.to = toEl;
    evt.from = fromEl;
    evt.dragged = dragEl;
    evt.draggedRect = dragRect;
    evt.related = targetEl || toEl;
    evt.relatedRect = targetRect || getRect(toEl);
    evt.willInsertAfter = willInsertAfter;
    evt.originalEvent = originalEvent;
    fromEl.dispatchEvent(evt);
  
    if (onMoveFn) {
      retVal = onMoveFn.call(sortable, evt, originalEvent);
    }
  
    return retVal;
  }
  
  function _disableDraggable(el) {
    el.draggable = false;
  }
  
  function _unsilent() {
    _silent = false;
  }
  
  function _ghostIsLast(evt, vertical, sortable) {
    var rect = getRect(lastChild(sortable.el, sortable.options.draggable));
    var spacer = 10;
    return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;
  }
  
  function _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {
    var mouseOnAxis = vertical ? evt.clientY : evt.clientX,
        targetLength = vertical ? targetRect.height : targetRect.width,
        targetS1 = vertical ? targetRect.top : targetRect.left,
        targetS2 = vertical ? targetRect.bottom : targetRect.right,
        invert = false;
  
    if (!invertSwap) {
      // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold
      if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {
        // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2
        // check if past first invert threshold on side opposite of lastDirection
        if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {
          // past first invert threshold, do not restrict inverted threshold to dragEl shadow
          pastFirstInvertThresh = true;
        }
  
        if (!pastFirstInvertThresh) {
          // dragEl shadow (target move distance shadow)
          if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow
          : mouseOnAxis > targetS2 - targetMoveDistance) {
            return -lastDirection;
          }
        } else {
          invert = true;
        }
      } else {
        // Regular
        if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {
          return _getInsertDirection(target);
        }
      }
    }
  
    invert = invert || invertSwap;
  
    if (invert) {
      // Invert of regular
      if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {
        return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;
      }
    }
  
    return 0;
  }
  /**
   * Gets the direction dragEl must be swapped relative to target in order to make it
   * seem that dragEl has been "inserted" into that element's position
   * @param  {HTMLElement} target       The target whose position dragEl is being inserted at
   * @return {Number}                   Direction dragEl must be swapped
   */
  
  
  function _getInsertDirection(target) {
    if (index(dragEl) < index(target)) {
      return 1;
    } else {
      return -1;
    }
  }
  /**
   * Generate id
   * @param   {HTMLElement} el
   * @returns {String}
   * @private
   */
  
  
  function _generateId(el) {
    var str = el.tagName + el.className + el.src + el.href + el.textContent,
        i = str.length,
        sum = 0;
  
    while (i--) {
      sum += str.charCodeAt(i);
    }
  
    return sum.toString(36);
  }
  
  function _saveInputCheckedState(root) {
    savedInputChecked.length = 0;
    var inputs = root.getElementsByTagName('input');
    var idx = inputs.length;
  
    while (idx--) {
      var el = inputs[idx];
      el.checked && savedInputChecked.push(el);
    }
  }
  
  function _nextTick(fn) {
    return setTimeout(fn, 0);
  }
  
  function _cancelNextTick(id) {
    return clearTimeout(id);
  } // Fixed #973:
  
  
  if (documentExists) {
    on(document, 'touchmove', function (evt) {
      if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {
        evt.preventDefault();
      }
    });
  } // Export utils
  
  
  Sortable.utils = {
    on: on,
    off: off,
    css: css,
    find: find,
    is: function is(el, selector) {
      return !!closest(el, selector, el, false);
    },
    extend: extend,
    throttle: throttle,
    closest: closest,
    toggleClass: toggleClass,
    clone: clone,
    index: index,
    nextTick: _nextTick,
    cancelNextTick: _cancelNextTick,
    detectDirection: _detectDirection,
    getChild: getChild
  };
  /**
   * Get the Sortable instance of an element
   * @param  {HTMLElement} element The element
   * @return {Sortable|undefined}         The instance of Sortable
   */
  
  Sortable.get = function (element) {
    return element[expando];
  };
  /**
   * Mount a plugin to Sortable
   * @param  {...SortablePlugin|SortablePlugin[]} plugins       Plugins being mounted
   */
  
  
  Sortable.mount = function () {
    for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {
      plugins[_key] = arguments[_key];
    }
  
    if (plugins[0].constructor === Array) plugins = plugins[0];
    plugins.forEach(function (plugin) {
      if (!plugin.prototype || !plugin.prototype.constructor) {
        throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(plugin));
      }
  
      if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils);
      PluginManager.mount(plugin);
    });
  };
  /**
   * Create sortable instance
   * @param {HTMLElement}  el
   * @param {Object}      [options]
   */
  
  
  Sortable.create = function (el, options) {
    return new Sortable(el, options);
  }; // Export
  
  
  Sortable.version = version;
  
  var autoScrolls = [],
      scrollEl,
      scrollRootEl,
      scrolling = false,
      lastAutoScrollX,
      lastAutoScrollY,
      touchEvt$1,
      pointerElemChangedInterval;
  
  function AutoScrollPlugin() {
    function AutoScroll() {
      this.defaults = {
        scroll: true,
        scrollSensitivity: 30,
        scrollSpeed: 10,
        bubbleScroll: true
      }; // Bind all private methods
  
      for (var fn in this) {
        if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {
          this[fn] = this[fn].bind(this);
        }
      }
    }
  
    AutoScroll.prototype = {
      dragStarted: function dragStarted(_ref) {
        var originalEvent = _ref.originalEvent;
  
        if (this.sortable.nativeDraggable) {
          on(document, 'dragover', this._handleAutoScroll);
        } else {
          if (this.options.supportPointer) {
            on(document, 'pointermove', this._handleFallbackAutoScroll);
          } else if (originalEvent.touches) {
            on(document, 'touchmove', this._handleFallbackAutoScroll);
          } else {
            on(document, 'mousemove', this._handleFallbackAutoScroll);
          }
        }
      },
      dragOverCompleted: function dragOverCompleted(_ref2) {
        var originalEvent = _ref2.originalEvent;
  
        // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)
        if (!this.options.dragOverBubble && !originalEvent.rootEl) {
          this._handleAutoScroll(originalEvent);
        }
      },
      drop: function drop() {
        if (this.sortable.nativeDraggable) {
          off(document, 'dragover', this._handleAutoScroll);
        } else {
          off(document, 'pointermove', this._handleFallbackAutoScroll);
          off(document, 'touchmove', this._handleFallbackAutoScroll);
          off(document, 'mousemove', this._handleFallbackAutoScroll);
        }
  
        clearPointerElemChangedInterval();
        clearAutoScrolls();
        cancelThrottle();
      },
      nulling: function nulling() {
        touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;
        autoScrolls.length = 0;
      },
      _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {
        this._handleAutoScroll(evt, true);
      },
      _handleAutoScroll: function _handleAutoScroll(evt, fallback) {
        var _this = this;
  
        var x = (evt.touches ? evt.touches[0] : evt).clientX,
            y = (evt.touches ? evt.touches[0] : evt).clientY,
            elem = document.elementFromPoint(x, y);
        touchEvt$1 = evt; // IE does not seem to have native autoscroll,
        // Edge's autoscroll seems too conditional,
        // MACOS Safari does not have autoscroll,
        // Firefox and Chrome are good
  
        if (fallback || Edge || IE11OrLess || Safari) {
          autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change
  
          var ogElemScroller = getParentAutoScrollElement(elem, true);
  
          if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {
            pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour
  
            pointerElemChangedInterval = setInterval(function () {
              var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);
  
              if (newElem !== ogElemScroller) {
                ogElemScroller = newElem;
                clearAutoScrolls();
              }
  
              autoScroll(evt, _this.options, newElem, fallback);
            }, 10);
            lastAutoScrollX = x;
            lastAutoScrollY = y;
          }
        } else {
          // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll
          if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {
            clearAutoScrolls();
            return;
          }
  
          autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);
        }
      }
    };
    return _extends(AutoScroll, {
      pluginName: 'scroll',
      initializeByDefault: true
    });
  }
  
  function clearAutoScrolls() {
    autoScrolls.forEach(function (autoScroll) {
      clearInterval(autoScroll.pid);
    });
    autoScrolls = [];
  }
  
  function clearPointerElemChangedInterval() {
    clearInterval(pointerElemChangedInterval);
  }
  
  var autoScroll = throttle(function (evt, options, rootEl, isFallback) {
    // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521
    if (!options.scroll) return;
    var x = (evt.touches ? evt.touches[0] : evt).clientX,
        y = (evt.touches ? evt.touches[0] : evt).clientY,
        sens = options.scrollSensitivity,
        speed = options.scrollSpeed,
        winScroller = getWindowScrollingElement();
    var scrollThisInstance = false,
        scrollCustomFn; // New scroll root, set scrollEl
  
    if (scrollRootEl !== rootEl) {
      scrollRootEl = rootEl;
      clearAutoScrolls();
      scrollEl = options.scroll;
      scrollCustomFn = options.scrollFn;
  
      if (scrollEl === true) {
        scrollEl = getParentAutoScrollElement(rootEl, true);
      }
    }
  
    var layersOut = 0;
    var currentParent = scrollEl;
  
    do {
      var el = currentParent,
          rect = getRect(el),
          top = rect.top,
          bottom = rect.bottom,
          left = rect.left,
          right = rect.right,
          width = rect.width,
          height = rect.height,
          canScrollX = void 0,
          canScrollY = void 0,
          scrollWidth = el.scrollWidth,
          scrollHeight = el.scrollHeight,
          elCSS = css(el),
          scrollPosX = el.scrollLeft,
          scrollPosY = el.scrollTop;
  
      if (el === winScroller) {
        canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');
        canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');
      } else {
        canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');
        canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');
      }
  
      var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);
      var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);
  
      if (!autoScrolls[layersOut]) {
        for (var i = 0; i <= layersOut; i++) {
          if (!autoScrolls[i]) {
            autoScrolls[i] = {};
          }
        }
      }
  
      if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {
        autoScrolls[layersOut].el = el;
        autoScrolls[layersOut].vx = vx;
        autoScrolls[layersOut].vy = vy;
        clearInterval(autoScrolls[layersOut].pid);
  
        if (vx != 0 || vy != 0) {
          scrollThisInstance = true;
          /* jshint loopfunc:true */
  
          autoScrolls[layersOut].pid = setInterval(function () {
            // emulate drag over during autoscroll (fallback), emulating native DnD behaviour
            if (isFallback && this.layer === 0) {
              Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely
  
            }
  
            var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;
            var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;
  
            if (typeof scrollCustomFn === 'function') {
              if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {
                return;
              }
            }
  
            scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);
          }.bind({
            layer: layersOut
          }), 24);
        }
      }
  
      layersOut++;
    } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));
  
    scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not
  }, 30);
  
  var drop = function drop(_ref) {
    var originalEvent = _ref.originalEvent,
        putSortable = _ref.putSortable,
        dragEl = _ref.dragEl,
        activeSortable = _ref.activeSortable,
        dispatchSortableEvent = _ref.dispatchSortableEvent,
        hideGhostForTarget = _ref.hideGhostForTarget,
        unhideGhostForTarget = _ref.unhideGhostForTarget;
    if (!originalEvent) return;
    var toSortable = putSortable || activeSortable;
    hideGhostForTarget();
    var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;
    var target = document.elementFromPoint(touch.clientX, touch.clientY);
    unhideGhostForTarget();
  
    if (toSortable && !toSortable.el.contains(target)) {
      dispatchSortableEvent('spill');
      this.onSpill({
        dragEl: dragEl,
        putSortable: putSortable
      });
    }
  };
  
  function Revert() {}
  
  Revert.prototype = {
    startIndex: null,
    dragStart: function dragStart(_ref2) {
      var oldDraggableIndex = _ref2.oldDraggableIndex;
      this.startIndex = oldDraggableIndex;
    },
    onSpill: function onSpill(_ref3) {
      var dragEl = _ref3.dragEl,
          putSortable = _ref3.putSortable;
      this.sortable.captureAnimationState();
  
      if (putSortable) {
        putSortable.captureAnimationState();
      }
  
      var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);
  
      if (nextSibling) {
        this.sortable.el.insertBefore(dragEl, nextSibling);
      } else {
        this.sortable.el.appendChild(dragEl);
      }
  
      this.sortable.animateAll();
  
      if (putSortable) {
        putSortable.animateAll();
      }
    },
    drop: drop
  };
  
  _extends(Revert, {
    pluginName: 'revertOnSpill'
  });
  
  function Remove() {}
  
  Remove.prototype = {
    onSpill: function onSpill(_ref4) {
      var dragEl = _ref4.dragEl,
          putSortable = _ref4.putSortable;
      var parentSortable = putSortable || this.sortable;
      parentSortable.captureAnimationState();
      dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);
      parentSortable.animateAll();
    },
    drop: drop
  };
  
  _extends(Remove, {
    pluginName: 'removeOnSpill'
  });
  
  var lastSwapEl;
  
  function SwapPlugin() {
    function Swap() {
      this.defaults = {
        swapClass: 'sortable-swap-highlight'
      };
    }
  
    Swap.prototype = {
      dragStart: function dragStart(_ref) {
        var dragEl = _ref.dragEl;
        lastSwapEl = dragEl;
      },
      dragOverValid: function dragOverValid(_ref2) {
        var completed = _ref2.completed,
            target = _ref2.target,
            onMove = _ref2.onMove,
            activeSortable = _ref2.activeSortable,
            changed = _ref2.changed,
            cancel = _ref2.cancel;
        if (!activeSortable.options.swap) return;
        var el = this.sortable.el,
            options = this.options;
  
        if (target && target !== el) {
          var prevSwapEl = lastSwapEl;
  
          if (onMove(target) !== false) {
            toggleClass(target, options.swapClass, true);
            lastSwapEl = target;
          } else {
            lastSwapEl = null;
          }
  
          if (prevSwapEl && prevSwapEl !== lastSwapEl) {
            toggleClass(prevSwapEl, options.swapClass, false);
          }
        }
  
        changed();
        completed(true);
        cancel();
      },
      drop: function drop(_ref3) {
        var activeSortable = _ref3.activeSortable,
            putSortable = _ref3.putSortable,
            dragEl = _ref3.dragEl;
        var toSortable = putSortable || this.sortable;
        var options = this.options;
        lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);
  
        if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {
          if (dragEl !== lastSwapEl) {
            toSortable.captureAnimationState();
            if (toSortable !== activeSortable) activeSortable.captureAnimationState();
            swapNodes(dragEl, lastSwapEl);
            toSortable.animateAll();
            if (toSortable !== activeSortable) activeSortable.animateAll();
          }
        }
      },
      nulling: function nulling() {
        lastSwapEl = null;
      }
    };
    return _extends(Swap, {
      pluginName: 'swap',
      eventProperties: function eventProperties() {
        return {
          swapItem: lastSwapEl
        };
      }
    });
  }
  
  function swapNodes(n1, n2) {
    var p1 = n1.parentNode,
        p2 = n2.parentNode,
        i1,
        i2;
    if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;
    i1 = index(n1);
    i2 = index(n2);
  
    if (p1.isEqualNode(p2) && i1 < i2) {
      i2++;
    }
  
    p1.insertBefore(n2, p1.children[i1]);
    p2.insertBefore(n1, p2.children[i2]);
  }
  
  var multiDragElements = [],
      multiDragClones = [],
      lastMultiDragSelect,
      // for selection with modifier key down (SHIFT)
  multiDragSortable,
      initialFolding = false,
      // Initial multi-drag fold when drag started
  folding = false,
      // Folding any other time
  dragStarted = false,
      dragEl$1,
      clonesFromRect,
      clonesHidden;
  
  function MultiDragPlugin() {
    function MultiDrag(sortable) {
      // Bind all private methods
      for (var fn in this) {
        if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {
          this[fn] = this[fn].bind(this);
        }
      }
  
      if (sortable.options.supportPointer) {
        on(document, 'pointerup', this._deselectMultiDrag);
      } else {
        on(document, 'mouseup', this._deselectMultiDrag);
        on(document, 'touchend', this._deselectMultiDrag);
      }
  
      on(document, 'keydown', this._checkKeyDown);
      on(document, 'keyup', this._checkKeyUp);
      this.defaults = {
        selectedClass: 'sortable-selected',
        multiDragKey: null,
        setData: function setData(dataTransfer, dragEl) {
          var data = '';
  
          if (multiDragElements.length && multiDragSortable === sortable) {
            multiDragElements.forEach(function (multiDragElement, i) {
              data += (!i ? '' : ', ') + multiDragElement.textContent;
            });
          } else {
            data = dragEl.textContent;
          }
  
          dataTransfer.setData('Text', data);
        }
      };
    }
  
    MultiDrag.prototype = {
      multiDragKeyDown: false,
      isMultiDrag: false,
      delayStartGlobal: function delayStartGlobal(_ref) {
        var dragged = _ref.dragEl;
        dragEl$1 = dragged;
      },
      delayEnded: function delayEnded() {
        this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);
      },
      setupClone: function setupClone(_ref2) {
        var sortable = _ref2.sortable,
            cancel = _ref2.cancel;
        if (!this.isMultiDrag) return;
  
        for (var i = 0; i < multiDragElements.length; i++) {
          multiDragClones.push(clone(multiDragElements[i]));
          multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;
          multiDragClones[i].draggable = false;
          multiDragClones[i].style['will-change'] = '';
          toggleClass(multiDragClones[i], this.options.selectedClass, false);
          multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);
        }
  
        sortable._hideClone();
  
        cancel();
      },
      clone: function clone(_ref3) {
        var sortable = _ref3.sortable,
            rootEl = _ref3.rootEl,
            dispatchSortableEvent = _ref3.dispatchSortableEvent,
            cancel = _ref3.cancel;
        if (!this.isMultiDrag) return;
  
        if (!this.options.removeCloneOnHide) {
          if (multiDragElements.length && multiDragSortable === sortable) {
            insertMultiDragClones(true, rootEl);
            dispatchSortableEvent('clone');
            cancel();
          }
        }
      },
      showClone: function showClone(_ref4) {
        var cloneNowShown = _ref4.cloneNowShown,
            rootEl = _ref4.rootEl,
            cancel = _ref4.cancel;
        if (!this.isMultiDrag) return;
        insertMultiDragClones(false, rootEl);
        multiDragClones.forEach(function (clone) {
          css(clone, 'display', '');
        });
        cloneNowShown();
        clonesHidden = false;
        cancel();
      },
      hideClone: function hideClone(_ref5) {
        var _this = this;
  
        var sortable = _ref5.sortable,
            cloneNowHidden = _ref5.cloneNowHidden,
            cancel = _ref5.cancel;
        if (!this.isMultiDrag) return;
        multiDragClones.forEach(function (clone) {
          css(clone, 'display', 'none');
  
          if (_this.options.removeCloneOnHide && clone.parentNode) {
            clone.parentNode.removeChild(clone);
          }
        });
        cloneNowHidden();
        clonesHidden = true;
        cancel();
      },
      dragStartGlobal: function dragStartGlobal(_ref6) {
        var sortable = _ref6.sortable;
  
        if (!this.isMultiDrag && multiDragSortable) {
          multiDragSortable.multiDrag._deselectMultiDrag();
        }
  
        multiDragElements.forEach(function (multiDragElement) {
          multiDragElement.sortableIndex = index(multiDragElement);
        }); // Sort multi-drag elements
  
        multiDragElements = multiDragElements.sort(function (a, b) {
          return a.sortableIndex - b.sortableIndex;
        });
        dragStarted = true;
      },
      dragStarted: function dragStarted(_ref7) {
        var _this2 = this;
  
        var sortable = _ref7.sortable;
        if (!this.isMultiDrag) return;
  
        if (this.options.sort) {
          // Capture rects,
          // hide multi drag elements (by positioning them absolute),
          // set multi drag elements rects to dragRect,
          // show multi drag elements,
          // animate to rects,
          // unset rects & remove from DOM
          sortable.captureAnimationState();
  
          if (this.options.animation) {
            multiDragElements.forEach(function (multiDragElement) {
              if (multiDragElement === dragEl$1) return;
              css(multiDragElement, 'position', 'absolute');
            });
            var dragRect = getRect(dragEl$1, false, true, true);
            multiDragElements.forEach(function (multiDragElement) {
              if (multiDragElement === dragEl$1) return;
              setRect(multiDragElement, dragRect);
            });
            folding = true;
            initialFolding = true;
          }
        }
  
        sortable.animateAll(function () {
          folding = false;
          initialFolding = false;
  
          if (_this2.options.animation) {
            multiDragElements.forEach(function (multiDragElement) {
              unsetRect(multiDragElement);
            });
          } // Remove all auxiliary multidrag items from el, if sorting enabled
  
  
          if (_this2.options.sort) {
            removeMultiDragElements();
          }
        });
      },
      dragOver: function dragOver(_ref8) {
        var target = _ref8.target,
            completed = _ref8.completed,
            cancel = _ref8.cancel;
  
        if (folding && ~multiDragElements.indexOf(target)) {
          completed(false);
          cancel();
        }
      },
      revert: function revert(_ref9) {
        var fromSortable = _ref9.fromSortable,
            rootEl = _ref9.rootEl,
            sortable = _ref9.sortable,
            dragRect = _ref9.dragRect;
  
        if (multiDragElements.length > 1) {
          // Setup unfold animation
          multiDragElements.forEach(function (multiDragElement) {
            sortable.addAnimationState({
              target: multiDragElement,
              rect: folding ? getRect(multiDragElement) : dragRect
            });
            unsetRect(multiDragElement);
            multiDragElement.fromRect = dragRect;
            fromSortable.removeAnimationState(multiDragElement);
          });
          folding = false;
          insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);
        }
      },
      dragOverCompleted: function dragOverCompleted(_ref10) {
        var sortable = _ref10.sortable,
            isOwner = _ref10.isOwner,
            insertion = _ref10.insertion,
            activeSortable = _ref10.activeSortable,
            parentEl = _ref10.parentEl,
            putSortable = _ref10.putSortable;
        var options = this.options;
  
        if (insertion) {
          // Clones must be hidden before folding animation to capture dragRectAbsolute properly
          if (isOwner) {
            activeSortable._hideClone();
          }
  
          initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location
  
          if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {
            // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible
            var dragRectAbsolute = getRect(dragEl$1, false, true, true);
            multiDragElements.forEach(function (multiDragElement) {
              if (multiDragElement === dragEl$1) return;
              setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted
              // while folding, and so that we can capture them again because old sortable will no longer be fromSortable
  
              parentEl.appendChild(multiDragElement);
            });
            folding = true;
          } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out
  
  
          if (!isOwner) {
            // Only remove if not folding (folding will remove them anyways)
            if (!folding) {
              removeMultiDragElements();
            }
  
            if (multiDragElements.length > 1) {
              var clonesHiddenBefore = clonesHidden;
  
              activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden
  
  
              if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {
                multiDragClones.forEach(function (clone) {
                  activeSortable.addAnimationState({
                    target: clone,
                    rect: clonesFromRect
                  });
                  clone.fromRect = clonesFromRect;
                  clone.thisAnimationDuration = null;
                });
              }
            } else {
              activeSortable._showClone(sortable);
            }
          }
        }
      },
      dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {
        var dragRect = _ref11.dragRect,
            isOwner = _ref11.isOwner,
            activeSortable = _ref11.activeSortable;
        multiDragElements.forEach(function (multiDragElement) {
          multiDragElement.thisAnimationDuration = null;
        });
  
        if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {
          clonesFromRect = _extends({}, dragRect);
          var dragMatrix = matrix(dragEl$1, true);
          clonesFromRect.top -= dragMatrix.f;
          clonesFromRect.left -= dragMatrix.e;
        }
      },
      dragOverAnimationComplete: function dragOverAnimationComplete() {
        if (folding) {
          folding = false;
          removeMultiDragElements();
        }
      },
      drop: function drop(_ref12) {
        var evt = _ref12.originalEvent,
            rootEl = _ref12.rootEl,
            parentEl = _ref12.parentEl,
            sortable = _ref12.sortable,
            dispatchSortableEvent = _ref12.dispatchSortableEvent,
            oldIndex = _ref12.oldIndex,
            putSortable = _ref12.putSortable;
        var toSortable = putSortable || this.sortable;
        if (!evt) return;
        var options = this.options,
            children = parentEl.children; // Multi-drag selection
  
        if (!dragStarted) {
          if (options.multiDragKey && !this.multiDragKeyDown) {
            this._deselectMultiDrag();
          }
  
          toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));
  
          if (!~multiDragElements.indexOf(dragEl$1)) {
            multiDragElements.push(dragEl$1);
            dispatchEvent({
              sortable: sortable,
              rootEl: rootEl,
              name: 'select',
              targetEl: dragEl$1,
              originalEvt: evt
            }); // Modifier activated, select from last to dragEl
  
            if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {
              var lastIndex = index(lastMultiDragSelect),
                  currentIndex = index(dragEl$1);
  
              if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {
                // Must include lastMultiDragSelect (select it), in case modified selection from no selection
                // (but previous selection existed)
                var n, i;
  
                if (currentIndex > lastIndex) {
                  i = lastIndex;
                  n = currentIndex;
                } else {
                  i = currentIndex;
                  n = lastIndex + 1;
                }
  
                for (; i < n; i++) {
                  if (~multiDragElements.indexOf(children[i])) continue;
                  toggleClass(children[i], options.selectedClass, true);
                  multiDragElements.push(children[i]);
                  dispatchEvent({
                    sortable: sortable,
                    rootEl: rootEl,
                    name: 'select',
                    targetEl: children[i],
                    originalEvt: evt
                  });
                }
              }
            } else {
              lastMultiDragSelect = dragEl$1;
            }
  
            multiDragSortable = toSortable;
          } else {
            multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);
            lastMultiDragSelect = null;
            dispatchEvent({
              sortable: sortable,
              rootEl: rootEl,
              name: 'deselect',
              targetEl: dragEl$1,
              originalEvt: evt
            });
          }
        } // Multi-drag drop
  
  
        if (dragStarted && this.isMultiDrag) {
          // Do not "unfold" after around dragEl if reverted
          if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {
            var dragRect = getRect(dragEl$1),
                multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');
            if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;
            toSortable.captureAnimationState();
  
            if (!initialFolding) {
              if (options.animation) {
                dragEl$1.fromRect = dragRect;
                multiDragElements.forEach(function (multiDragElement) {
                  multiDragElement.thisAnimationDuration = null;
  
                  if (multiDragElement !== dragEl$1) {
                    var rect = folding ? getRect(multiDragElement) : dragRect;
                    multiDragElement.fromRect = rect; // Prepare unfold animation
  
                    toSortable.addAnimationState({
                      target: multiDragElement,
                      rect: rect
                    });
                  }
                });
              } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert
              // properly they must all be removed
  
  
              removeMultiDragElements();
              multiDragElements.forEach(function (multiDragElement) {
                if (children[multiDragIndex]) {
                  parentEl.insertBefore(multiDragElement, children[multiDragIndex]);
                } else {
                  parentEl.appendChild(multiDragElement);
                }
  
                multiDragIndex++;
              }); // If initial folding is done, the elements may have changed position because they are now
              // unfolding around dragEl, even though dragEl may not have his index changed, so update event
              // must be fired here as Sortable will not.
  
              if (oldIndex === index(dragEl$1)) {
                var update = false;
                multiDragElements.forEach(function (multiDragElement) {
                  if (multiDragElement.sortableIndex !== index(multiDragElement)) {
                    update = true;
                    return;
                  }
                });
  
                if (update) {
                  dispatchSortableEvent('update');
                }
              }
            } // Must be done after capturing individual rects (scroll bar)
  
  
            multiDragElements.forEach(function (multiDragElement) {
              unsetRect(multiDragElement);
            });
            toSortable.animateAll();
          }
  
          multiDragSortable = toSortable;
        } // Remove clones if necessary
  
  
        if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {
          multiDragClones.forEach(function (clone) {
            clone.parentNode && clone.parentNode.removeChild(clone);
          });
        }
      },
      nullingGlobal: function nullingGlobal() {
        this.isMultiDrag = dragStarted = false;
        multiDragClones.length = 0;
      },
      destroyGlobal: function destroyGlobal() {
        this._deselectMultiDrag();
  
        off(document, 'pointerup', this._deselectMultiDrag);
        off(document, 'mouseup', this._deselectMultiDrag);
        off(document, 'touchend', this._deselectMultiDrag);
        off(document, 'keydown', this._checkKeyDown);
        off(document, 'keyup', this._checkKeyUp);
      },
      _deselectMultiDrag: function _deselectMultiDrag(evt) {
        if (typeof dragStarted !== "undefined" && dragStarted) return; // Only deselect if selection is in this sortable
  
        if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable
  
        if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click
  
        if (evt && evt.button !== 0) return;
  
        while (multiDragElements.length) {
          var el = multiDragElements[0];
          toggleClass(el, this.options.selectedClass, false);
          multiDragElements.shift();
          dispatchEvent({
            sortable: this.sortable,
            rootEl: this.sortable.el,
            name: 'deselect',
            targetEl: el,
            originalEvt: evt
          });
        }
      },
      _checkKeyDown: function _checkKeyDown(evt) {
        if (evt.key === this.options.multiDragKey) {
          this.multiDragKeyDown = true;
        }
      },
      _checkKeyUp: function _checkKeyUp(evt) {
        if (evt.key === this.options.multiDragKey) {
          this.multiDragKeyDown = false;
        }
      }
    };
    return _extends(MultiDrag, {
      // Static methods & properties
      pluginName: 'multiDrag',
      utils: {
        /**
         * Selects the provided multi-drag item
         * @param  {HTMLElement} el    The element to be selected
         */
        select: function select(el) {
          var sortable = el.parentNode[expando];
          if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;
  
          if (multiDragSortable && multiDragSortable !== sortable) {
            multiDragSortable.multiDrag._deselectMultiDrag();
  
            multiDragSortable = sortable;
          }
  
          toggleClass(el, sortable.options.selectedClass, true);
          multiDragElements.push(el);
        },
  
        /**
         * Deselects the provided multi-drag item
         * @param  {HTMLElement} el    The element to be deselected
         */
        deselect: function deselect(el) {
          var sortable = el.parentNode[expando],
              index = multiDragElements.indexOf(el);
          if (!sortable || !sortable.options.multiDrag || !~index) return;
          toggleClass(el, sortable.options.selectedClass, false);
          multiDragElements.splice(index, 1);
        }
      },
      eventProperties: function eventProperties() {
        var _this3 = this;
  
        var oldIndicies = [],
            newIndicies = [];
        multiDragElements.forEach(function (multiDragElement) {
          oldIndicies.push({
            multiDragElement: multiDragElement,
            index: multiDragElement.sortableIndex
          }); // multiDragElements will already be sorted if folding
  
          var newIndex;
  
          if (folding && multiDragElement !== dragEl$1) {
            newIndex = -1;
          } else if (folding) {
            newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');
          } else {
            newIndex = index(multiDragElement);
          }
  
          newIndicies.push({
            multiDragElement: multiDragElement,
            index: newIndex
          });
        });
        return {
          items: _toConsumableArray(multiDragElements),
          clones: [].concat(multiDragClones),
          oldIndicies: oldIndicies,
          newIndicies: newIndicies
        };
      },
      optionListeners: {
        multiDragKey: function multiDragKey(key) {
          key = key.toLowerCase();
  
          if (key === 'ctrl') {
            key = 'Control';
          } else if (key.length > 1) {
            key = key.charAt(0).toUpperCase() + key.substr(1);
          }
  
          return key;
        }
      }
    });
  }
  
  function insertMultiDragElements(clonesInserted, rootEl) {
    multiDragElements.forEach(function (multiDragElement, i) {
      var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];
  
      if (target) {
        rootEl.insertBefore(multiDragElement, target);
      } else {
        rootEl.appendChild(multiDragElement);
      }
    });
  }
  /**
   * Insert multi-drag clones
   * @param  {[Boolean]} elementsInserted  Whether the multi-drag elements are inserted
   * @param  {HTMLElement} rootEl
   */
  
  
  function insertMultiDragClones(elementsInserted, rootEl) {
    multiDragClones.forEach(function (clone, i) {
      var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];
  
      if (target) {
        rootEl.insertBefore(clone, target);
      } else {
        rootEl.appendChild(clone);
      }
    });
  }
  
  function removeMultiDragElements() {
    multiDragElements.forEach(function (multiDragElement) {
      if (multiDragElement === dragEl$1) return;
      multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);
    });
  }
  
  Sortable.mount(new AutoScrollPlugin());
  Sortable.mount(Remove, Revert);
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Sortable);
  
  
  
  /***/ }),
  
  /***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/pages/KanbanBoard.vue?vue&type=style&index=0&id=2cc81914&scoped=true&lang=css&":
  /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
    !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/pages/KanbanBoard.vue?vue&type=style&index=0&id=2cc81914&scoped=true&lang=css& ***!
    \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
  /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_0_rules_0_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_0_rules_0_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_KanbanBoard_vue_vue_type_style_index_0_id_2cc81914_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[1]!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[2]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KanbanBoard.vue?vue&type=style&index=0&id=2cc81914&scoped=true&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/pages/KanbanBoard.vue?vue&type=style&index=0&id=2cc81914&scoped=true&lang=css&");
  
              
  
  var options = {};
  
  options.insert = "head";
  options.singleton = false;
  
  var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_0_rules_0_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_0_rules_0_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_KanbanBoard_vue_vue_type_style_index_0_id_2cc81914_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options);
  
  
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_0_rules_0_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_0_rules_0_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_KanbanBoard_vue_vue_type_style_index_0_id_2cc81914_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
  
  /***/ }),
  
  /***/ "./resources/js/components/AddTaskForm.vue":
  /*!*************************************************!*\
    !*** ./resources/js/components/AddTaskForm.vue ***!
    \*************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _AddTaskForm_vue_vue_type_template_id_23302d8f___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AddTaskForm.vue?vue&type=template&id=23302d8f& */ "./resources/js/components/AddTaskForm.vue?vue&type=template&id=23302d8f&");
  /* harmony import */ var _AddTaskForm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AddTaskForm.vue?vue&type=script&lang=js& */ "./resources/js/components/AddTaskForm.vue?vue&type=script&lang=js&");
  /* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
  
  
  
  
  
  /* normalize component */
  ;
  var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
    _AddTaskForm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
    _AddTaskForm_vue_vue_type_template_id_23302d8f___WEBPACK_IMPORTED_MODULE_0__.render,
    _AddTaskForm_vue_vue_type_template_id_23302d8f___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
    false,
    null,
    null,
    null
    
  )
  
  /* hot reload */
  if (false) { var api; }
  component.options.__file = "resources/js/components/AddTaskForm.vue"
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);
  
  /***/ }),
  
  /***/ "./resources/js/pages/KanbanBoard.vue":
  /*!********************************************!*\
    !*** ./resources/js/pages/KanbanBoard.vue ***!
    \********************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _KanbanBoard_vue_vue_type_template_id_2cc81914_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./KanbanBoard.vue?vue&type=template&id=2cc81914&scoped=true& */ "./resources/js/pages/KanbanBoard.vue?vue&type=template&id=2cc81914&scoped=true&");
  /* harmony import */ var _KanbanBoard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./KanbanBoard.vue?vue&type=script&lang=js& */ "./resources/js/pages/KanbanBoard.vue?vue&type=script&lang=js&");
  /* harmony import */ var _KanbanBoard_vue_vue_type_style_index_0_id_2cc81914_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./KanbanBoard.vue?vue&type=style&index=0&id=2cc81914&scoped=true&lang=css& */ "./resources/js/pages/KanbanBoard.vue?vue&type=style&index=0&id=2cc81914&scoped=true&lang=css&");
  /* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
  
  
  
  ;
  
  
  /* normalize component */
  
  var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
    _KanbanBoard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
    _KanbanBoard_vue_vue_type_template_id_2cc81914_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
    _KanbanBoard_vue_vue_type_template_id_2cc81914_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
    false,
    null,
    "2cc81914",
    null
    
  )
  
  /* hot reload */
  if (false) { var api; }
  component.options.__file = "resources/js/pages/KanbanBoard.vue"
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);
  
  /***/ }),
  
  /***/ "./resources/js/components/AddTaskForm.vue?vue&type=script&lang=js&":
  /*!**************************************************************************!*\
    !*** ./resources/js/components/AddTaskForm.vue?vue&type=script&lang=js& ***!
    \**************************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_0_rules_0_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_AddTaskForm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddTaskForm.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/components/AddTaskForm.vue?vue&type=script&lang=js&");
   /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_0_rules_0_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_AddTaskForm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 
  
  /***/ }),
  
  /***/ "./resources/js/pages/KanbanBoard.vue?vue&type=script&lang=js&":
  /*!*********************************************************************!*\
    !*** ./resources/js/pages/KanbanBoard.vue?vue&type=script&lang=js& ***!
    \*********************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_0_rules_0_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KanbanBoard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KanbanBoard.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/pages/KanbanBoard.vue?vue&type=script&lang=js&");
   /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_0_rules_0_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KanbanBoard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 
  
  /***/ }),
  
  /***/ "./resources/js/pages/KanbanBoard.vue?vue&type=style&index=0&id=2cc81914&scoped=true&lang=css&":
  /*!*****************************************************************************************************!*\
    !*** ./resources/js/pages/KanbanBoard.vue?vue&type=style&index=0&id=2cc81914&scoped=true&lang=css& ***!
    \*****************************************************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_0_rules_0_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_0_rules_0_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_KanbanBoard_vue_vue_type_style_index_0_id_2cc81914_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[1]!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[2]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KanbanBoard.vue?vue&type=style&index=0&id=2cc81914&scoped=true&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/pages/KanbanBoard.vue?vue&type=style&index=0&id=2cc81914&scoped=true&lang=css&");
  
  
  /***/ }),
  
  /***/ "./resources/js/components/AddTaskForm.vue?vue&type=template&id=23302d8f&":
  /*!********************************************************************************!*\
    !*** ./resources/js/components/AddTaskForm.vue?vue&type=template&id=23302d8f& ***!
    \********************************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "render": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AddTaskForm_vue_vue_type_template_id_23302d8f___WEBPACK_IMPORTED_MODULE_0__.render),
  /* harmony export */   "staticRenderFns": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AddTaskForm_vue_vue_type_template_id_23302d8f___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)
  /* harmony export */ });
  /* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AddTaskForm_vue_vue_type_template_id_23302d8f___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddTaskForm.vue?vue&type=template&id=23302d8f& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/components/AddTaskForm.vue?vue&type=template&id=23302d8f&");
  
  
  /***/ }),
  
  /***/ "./resources/js/pages/KanbanBoard.vue?vue&type=template&id=2cc81914&scoped=true&":
  /*!***************************************************************************************!*\
    !*** ./resources/js/pages/KanbanBoard.vue?vue&type=template&id=2cc81914&scoped=true& ***!
    \***************************************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "render": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_KanbanBoard_vue_vue_type_template_id_2cc81914_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render),
  /* harmony export */   "staticRenderFns": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_KanbanBoard_vue_vue_type_template_id_2cc81914_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)
  /* harmony export */ });
  /* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_KanbanBoard_vue_vue_type_template_id_2cc81914_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KanbanBoard.vue?vue&type=template&id=2cc81914&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/pages/KanbanBoard.vue?vue&type=template&id=2cc81914&scoped=true&");
  
  
  /***/ }),
  
  /***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/components/AddTaskForm.vue?vue&type=template&id=23302d8f&":
  /*!***********************************************************************************************************************************************************************************************************************!*\
    !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/components/AddTaskForm.vue?vue&type=template&id=23302d8f& ***!
    \***********************************************************************************************************************************************************************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "render": () => (/* binding */ render),
  /* harmony export */   "staticRenderFns": () => (/* binding */ staticRenderFns)
  /* harmony export */ });
  var render = function () {
    var _vm = this
    var _h = _vm.$createElement
    var _c = _vm._self._c || _h
    return _c("div", { staticClass: "card-body" }, [
      _c("div", { staticClass: "card" }, [
        _c("div", { staticClass: "card-body" }, [
          _c("form", [
            _c("div", { staticClass: "mb-3" }, [
              _c(
                "label",
                { staticClass: "form-label", attrs: { for: "dateDelivery" } },
                [_vm._v("Enter a title")]
              ),
              _vm._v(" "),
              _c("input", {
                directives: [
                  {
                    name: "model",
                    rawName: "v-model.trim",
                    value: _vm.newTask.title,
                    expression: "newTask.title",
                    modifiers: { trim: true },
                  },
                ],
                staticClass: "form-control",
                attrs: { type: "text", id: "inputTitle" },
                domProps: { value: _vm.newTask.title },
                on: {
                  input: function ($event) {
                    if ($event.target.composing) {
                      return
                    }
                    _vm.$set(_vm.newTask, "title", $event.target.value.trim())
                  },
                  blur: function ($event) {
                    return _vm.$forceUpdate()
                  },
                },
              }),
            ]),
            _vm._v(" "),
            _c("div", { staticClass: "mb-3" }, [
              _c(
                "label",
                { staticClass: "form-label", attrs: { for: "dateDelivery" } },
                [_vm._v("\n            Enter a date of delivery\n          ")]
              ),
              _vm._v(" "),
              _c("input", {
                directives: [
                  {
                    name: "model",
                    rawName: "v-model",
                    value: _vm.newTask.date_delivery,
                    expression: "newTask.date_delivery",
                  },
                ],
                staticClass: "form-control",
                attrs: { type: "date", id: "dateDelivery" },
                domProps: { value: _vm.newTask.date_delivery },
                on: {
                  input: function ($event) {
                    if ($event.target.composing) {
                      return
                    }
                    _vm.$set(_vm.newTask, "date_delivery", $event.target.value)
                  },
                },
              }),
            ]),
            _vm._v(" "),
            _c(
              "div",
              {
                directives: [
                  {
                    name: "show",
                    rawName: "v-show",
                    value: _vm.errorMessage,
                    expression: "errorMessage",
                  },
                ],
                staticClass: "alert alert-danger",
                attrs: { role: "alert" },
              },
              [_vm._v("\n          " + _vm._s(_vm.errorMessage) + "\n        ")]
            ),
            _vm._v(" "),
            _c(
              "button",
              {
                staticClass: "btn btn-danger",
                on: {
                  click: function ($event) {
                    return _vm.$emit("task-canceled")
                  },
                },
              },
              [_vm._v("\n          Cancel\n        ")]
            ),
            _vm._v(" "),
            !_vm.editForm
              ? _c(
                  "button",
                  {
                    staticClass: "btn btn-primary",
                    attrs: { type: "button" },
                    on: {
                      click: function ($event) {
                        $event.preventDefault()
                        return _vm.handleAddNewTask.apply(null, arguments)
                      },
                    },
                  },
                  [_vm._v("\n          Add\n        ")]
                )
              : _c(
                  "button",
                  {
                    staticClass: "btn btn-primary",
                    attrs: { type: "button" },
                    on: {
                      click: function ($event) {
                        $event.preventDefault()
                        return _vm.handleUpdateTask.apply(null, arguments)
                      },
                    },
                  },
                  [_vm._v("\n          Update\n        ")]
                ),
          ]),
        ]),
      ]),
    ])
  }
  var staticRenderFns = []
  render._withStripped = true
  
  
  
  /***/ }),
  
  /***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/pages/KanbanBoard.vue?vue&type=template&id=2cc81914&scoped=true&":
  /*!******************************************************************************************************************************************************************************************************************************!*\
    !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/pages/KanbanBoard.vue?vue&type=template&id=2cc81914&scoped=true& ***!
    \******************************************************************************************************************************************************************************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "render": () => (/* binding */ render),
  /* harmony export */   "staticRenderFns": () => (/* binding */ staticRenderFns)
  /* harmony export */ });
  var render = function () {
    var _vm = this
    var _h = _vm.$createElement
    var _c = _vm._self._c || _h
    return _c("div", { staticClass: "container" }, [
      _c("div", { staticClass: "card shadow-md" }, [
        _c("div", { staticClass: "card-header text-center fw-bolder fs-3" }, [
          _vm._v("Kanban Board"),
        ]),
        _vm._v(" "),
        _c("div", { staticClass: "card-body" }, [
          _c(
            "div",
            { staticClass: "row" },
            _vm._l(_vm.statuses, function (status) {
              return _c("div", { key: status.slug, staticClass: "col" }, [
                _c(
                  "div",
                  { staticClass: "card shadow bg-body rounded" },
                  [
                    _c(
                      "div",
                      {
                        staticClass:
                          "card-header fw-bolder d-flex justify-content-between",
                      },
                      [
                        _c("span", { staticClass: "fs-5" }, [
                          _vm._v(
                            "\n                " +
                              _vm._s(status.title) +
                              " (" +
                              _vm._s(status.tasks.length) +
                              ")\n              "
                          ),
                        ]),
                        _vm._v(" "),
                        _c(
                          "button",
                          {
                            staticClass: "btn btn-primary",
                            attrs: { type: "button" },
                            on: {
                              click: function ($event) {
                                $event.preventDefault()
                                return _vm.openAddTaskForm(status.id)
                              },
                            },
                          },
                          [_vm._v("\n                Add one\n              ")]
                        ),
                      ]
                    ),
                    _vm._v(" "),
                    _vm.newTaskForStatus === status.id
                      ? _c("AddTaskForm", {
                          attrs: { "status-id": status.id },
                          on: {
                            "task-added": _vm.handleTaskAdded,
                            "task-canceled": _vm.closeAddTaskForm,
                          },
                        })
                      : _vm._e(),
                    _vm._v(" "),
                    _c(
                      "draggable",
                      _vm._b(
                        {
                          staticClass: "overflow-hidden",
                          on: { end: _vm.handleTaskMoved },
                          model: {
                            value: status.tasks,
                            callback: function ($$v) {
                              _vm.$set(status, "tasks", $$v)
                            },
                            expression: "status.tasks",
                          },
                        },
                        "draggable",
                        _vm.taskDragOptions,
                        false
                      ),
                      [
                        _c(
                          "transition-group",
                          _vm._l(status.tasks, function (task) {
                            return _c(
                              "div",
                              {
                                key: task.id,
                                staticClass: "card-body card-draggable",
                                on: {
                                  click: function ($event) {
                                    $event.preventDefault()
                                    return _vm.openEditTaskForm(task)
                                  },
                                },
                              },
                              [
                                _c("div", { staticClass: "card" }, [
                                  _c("div", { staticClass: "card-body" }, [
                                    _c(
                                      "h5",
                                      {
                                        staticClass: "card-title mb-0",
                                        class: {
                                          "text-danger": _vm.validateDate(
                                            task.date_delivery
                                          ),
                                        },
                                      },
                                      [
                                        _vm._v(
                                          "\n                        " +
                                            _vm._s(task.title) +
                                            "\n                      "
                                        ),
                                      ]
                                    ),
                                  ]),
                                ]),
                              ]
                            )
                          }),
                          0
                        ),
                      ],
                      1
                    ),
                    _vm._v(" "),
                    !status.tasks.length && _vm.newTaskForStatus !== status.id
                      ? _c("div", { staticClass: "card-body" }, [_vm._m(0, true)])
                      : _vm._e(),
                  ],
                  1
                ),
              ])
            }),
            0
          ),
        ]),
      ]),
    ])
  }
  var staticRenderFns = [
    function () {
      var _vm = this
      var _h = _vm.$createElement
      var _c = _vm._self._c || _h
      return _c("div", { staticClass: "card" }, [
        _c("div", { staticClass: "card-body" }, [
          _c("div", { staticClass: "row d-flex justify-content-center" }, [
            _c(
              "h5",
              { staticClass: "card-title text-center text-warning mb-0" },
              [
                _vm._v(
                  "\n                      No tasks yet\n                    "
                ),
              ]
            ),
          ]),
        ]),
      ])
    },
  ]
  render._withStripped = true
  
  
  
  /***/ }),
  
  /***/ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js":
  /*!********************************************************************!*\
    !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***!
    \********************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ normalizeComponent)
  /* harmony export */ });
  /* globals __VUE_SSR_CONTEXT__ */
  
  // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
  // This module is a runtime utility for cleaner component module output and will
  // be included in the final webpack user bundle.
  
  function normalizeComponent (
    scriptExports,
    render,
    staticRenderFns,
    functionalTemplate,
    injectStyles,
    scopeId,
    moduleIdentifier, /* server only */
    shadowMode /* vue-cli only */
  ) {
    // Vue.extend constructor export interop
    var options = typeof scriptExports === 'function'
      ? scriptExports.options
      : scriptExports
  
    // render functions
    if (render) {
      options.render = render
      options.staticRenderFns = staticRenderFns
      options._compiled = true
    }
  
    // functional template
    if (functionalTemplate) {
      options.functional = true
    }
  
    // scopedId
    if (scopeId) {
      options._scopeId = 'data-v-' + scopeId
    }
  
    var hook
    if (moduleIdentifier) { // server build
      hook = function (context) {
        // 2.3 injection
        context =
          context || // cached call
          (this.$vnode && this.$vnode.ssrContext) || // stateful
          (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
        // 2.2 with runInNewContext: true
        if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
          context = __VUE_SSR_CONTEXT__
        }
        // inject component styles
        if (injectStyles) {
          injectStyles.call(this, context)
        }
        // register component module identifier for async chunk inferrence
        if (context && context._registeredComponents) {
          context._registeredComponents.add(moduleIdentifier)
        }
      }
      // used by ssr in case component is cached and beforeCreate
      // never gets called
      options._ssrRegister = hook
    } else if (injectStyles) {
      hook = shadowMode
        ? function () {
          injectStyles.call(
            this,
            (options.functional ? this.parent : this).$root.$options.shadowRoot
          )
        }
        : injectStyles
    }
  
    if (hook) {
      if (options.functional) {
        // for template-only hot-reload because in that case the render fn doesn't
        // go through the normalizer
        options._injectStyles = hook
        // register for functional component in vue file
        var originalRender = options.render
        options.render = function renderWithStyleInjection (h, context) {
          hook.call(context)
          return originalRender(h, context)
        }
      } else {
        // inject component registration as beforeCreate hook
        var existing = options.beforeCreate
        options.beforeCreate = existing
          ? [].concat(existing, hook)
          : [hook]
      }
    }
  
    return {
      exports: scriptExports,
      options: options
    }
  }
  
  
  /***/ }),
  
  /***/ "./node_modules/vuedraggable/dist/vuedraggable.umd.js":
  /*!************************************************************!*\
    !*** ./node_modules/vuedraggable/dist/vuedraggable.umd.js ***!
    \************************************************************/
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
  
  (function webpackUniversalModuleDefinition(root, factory) {
  	if(true)
  		module.exports = factory(__webpack_require__(/*! sortablejs */ "./node_modules/sortablejs/modular/sortable.esm.js"));
  	else {}
  })((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE_a352__) {
  return /******/ (function(modules) { // webpackBootstrap
  /******/ 	// The module cache
  /******/ 	var installedModules = {};
  /******/
  /******/ 	// The require function
  /******/ 	function __nested_webpack_require_688__(moduleId) {
  /******/
  /******/ 		// Check if module is in cache
  /******/ 		if(installedModules[moduleId]) {
  /******/ 			return installedModules[moduleId].exports;
  /******/ 		}
  /******/ 		// Create a new module (and put it into the cache)
  /******/ 		var module = installedModules[moduleId] = {
  /******/ 			i: moduleId,
  /******/ 			l: false,
  /******/ 			exports: {}
  /******/ 		};
  /******/
  /******/ 		// Execute the module function
  /******/ 		modules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_688__);
  /******/
  /******/ 		// Flag the module as loaded
  /******/ 		module.l = true;
  /******/
  /******/ 		// Return the exports of the module
  /******/ 		return module.exports;
  /******/ 	}
  /******/
  /******/
  /******/ 	// expose the modules object (__webpack_modules__)
  /******/ 	__nested_webpack_require_688__.m = modules;
  /******/
  /******/ 	// expose the module cache
  /******/ 	__nested_webpack_require_688__.c = installedModules;
  /******/
  /******/ 	// define getter function for harmony exports
  /******/ 	__nested_webpack_require_688__.d = function(exports, name, getter) {
  /******/ 		if(!__nested_webpack_require_688__.o(exports, name)) {
  /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
  /******/ 		}
  /******/ 	};
  /******/
  /******/ 	// define __esModule on exports
  /******/ 	__nested_webpack_require_688__.r = function(exports) {
  /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  /******/ 		}
  /******/ 		Object.defineProperty(exports, '__esModule', { value: true });
  /******/ 	};
  /******/
  /******/ 	// create a fake namespace object
  /******/ 	// mode & 1: value is a module id, require it
  /******/ 	// mode & 2: merge all properties of value into the ns
  /******/ 	// mode & 4: return value when already ns object
  /******/ 	// mode & 8|1: behave like require
  /******/ 	__nested_webpack_require_688__.t = function(value, mode) {
  /******/ 		if(mode & 1) value = __nested_webpack_require_688__(value);
  /******/ 		if(mode & 8) return value;
  /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
  /******/ 		var ns = Object.create(null);
  /******/ 		__nested_webpack_require_688__.r(ns);
  /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
  /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __nested_webpack_require_688__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
  /******/ 		return ns;
  /******/ 	};
  /******/
  /******/ 	// getDefaultExport function for compatibility with non-harmony modules
  /******/ 	__nested_webpack_require_688__.n = function(module) {
  /******/ 		var getter = module && module.__esModule ?
  /******/ 			function getDefault() { return module['default']; } :
  /******/ 			function getModuleExports() { return module; };
  /******/ 		__nested_webpack_require_688__.d(getter, 'a', getter);
  /******/ 		return getter;
  /******/ 	};
  /******/
  /******/ 	// Object.prototype.hasOwnProperty.call
  /******/ 	__nested_webpack_require_688__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  /******/
  /******/ 	// __webpack_public_path__
  /******/ 	__nested_webpack_require_688__.p = "";
  /******/
  /******/
  /******/ 	// Load entry module and return exports
  /******/ 	return __nested_webpack_require_688__(__nested_webpack_require_688__.s = "fb15");
  /******/ })
  /************************************************************************/
  /******/ ({
  
  /***/ "01f9":
  /***/ (function(module, exports, __nested_webpack_require_4164__) {
  
  "use strict";
  
  var LIBRARY = __nested_webpack_require_4164__("2d00");
  var $export = __nested_webpack_require_4164__("5ca1");
  var redefine = __nested_webpack_require_4164__("2aba");
  var hide = __nested_webpack_require_4164__("32e9");
  var Iterators = __nested_webpack_require_4164__("84f2");
  var $iterCreate = __nested_webpack_require_4164__("41a0");
  var setToStringTag = __nested_webpack_require_4164__("7f20");
  var getPrototypeOf = __nested_webpack_require_4164__("38fd");
  var ITERATOR = __nested_webpack_require_4164__("2b4c")('iterator');
  var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
  var FF_ITERATOR = '@@iterator';
  var KEYS = 'keys';
  var VALUES = 'values';
  
  var returnThis = function () { return this; };
  
  module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
    $iterCreate(Constructor, NAME, next);
    var getMethod = function (kind) {
      if (!BUGGY && kind in proto) return proto[kind];
      switch (kind) {
        case KEYS: return function keys() { return new Constructor(this, kind); };
        case VALUES: return function values() { return new Constructor(this, kind); };
      } return function entries() { return new Constructor(this, kind); };
    };
    var TAG = NAME + ' Iterator';
    var DEF_VALUES = DEFAULT == VALUES;
    var VALUES_BUG = false;
    var proto = Base.prototype;
    var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
    var $default = $native || getMethod(DEFAULT);
    var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
    var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
    var methods, key, IteratorPrototype;
    // Fix native
    if ($anyNative) {
      IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
      if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
        // Set @@toStringTag to native iterators
        setToStringTag(IteratorPrototype, TAG, true);
        // fix for some old engines
        if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
      }
    }
    // fix Array#{values, @@iterator}.name in V8 / FF
    if (DEF_VALUES && $native && $native.name !== VALUES) {
      VALUES_BUG = true;
      $default = function values() { return $native.call(this); };
    }
    // Define iterator
    if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
      hide(proto, ITERATOR, $default);
    }
    // Plug for library
    Iterators[NAME] = $default;
    Iterators[TAG] = returnThis;
    if (DEFAULT) {
      methods = {
        values: DEF_VALUES ? $default : getMethod(VALUES),
        keys: IS_SET ? $default : getMethod(KEYS),
        entries: $entries
      };
      if (FORCED) for (key in methods) {
        if (!(key in proto)) redefine(proto, key, methods[key]);
      } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
    }
    return methods;
  };
  
  
  /***/ }),
  
  /***/ "02f4":
  /***/ (function(module, exports, __nested_webpack_require_7070__) {
  
  var toInteger = __nested_webpack_require_7070__("4588");
  var defined = __nested_webpack_require_7070__("be13");
  // true  -> String#at
  // false -> String#codePointAt
  module.exports = function (TO_STRING) {
    return function (that, pos) {
      var s = String(defined(that));
      var i = toInteger(pos);
      var l = s.length;
      var a, b;
      if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
      a = s.charCodeAt(i);
      return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
        ? TO_STRING ? s.charAt(i) : a
        : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
    };
  };
  
  
  /***/ }),
  
  /***/ "0390":
  /***/ (function(module, exports, __nested_webpack_require_7783__) {
  
  "use strict";
  
  var at = __nested_webpack_require_7783__("02f4")(true);
  
   // `AdvanceStringIndex` abstract operation
  // https://tc39.github.io/ecma262/#sec-advancestringindex
  module.exports = function (S, index, unicode) {
    return index + (unicode ? at(S, index).length : 1);
  };
  
  
  /***/ }),
  
  /***/ "0bfb":
  /***/ (function(module, exports, __nested_webpack_require_8134__) {
  
  "use strict";
  
  // 21.2.5.3 get RegExp.prototype.flags
  var anObject = __nested_webpack_require_8134__("cb7c");
  module.exports = function () {
    var that = anObject(this);
    var result = '';
    if (that.global) result += 'g';
    if (that.ignoreCase) result += 'i';
    if (that.multiline) result += 'm';
    if (that.unicode) result += 'u';
    if (that.sticky) result += 'y';
    return result;
  };
  
  
  /***/ }),
  
  /***/ "0d58":
  /***/ (function(module, exports, __nested_webpack_require_8593__) {
  
  // 19.1.2.14 / 15.2.3.14 Object.keys(O)
  var $keys = __nested_webpack_require_8593__("ce10");
  var enumBugKeys = __nested_webpack_require_8593__("e11e");
  
  module.exports = Object.keys || function keys(O) {
    return $keys(O, enumBugKeys);
  };
  
  
  /***/ }),
  
  /***/ "1495":
  /***/ (function(module, exports, __nested_webpack_require_8892__) {
  
  var dP = __nested_webpack_require_8892__("86cc");
  var anObject = __nested_webpack_require_8892__("cb7c");
  var getKeys = __nested_webpack_require_8892__("0d58");
  
  module.exports = __nested_webpack_require_8892__("9e1e") ? Object.defineProperties : function defineProperties(O, Properties) {
    anObject(O);
    var keys = getKeys(Properties);
    var length = keys.length;
    var i = 0;
    var P;
    while (length > i) dP.f(O, P = keys[i++], Properties[P]);
    return O;
  };
  
  
  /***/ }),
  
  /***/ "214f":
  /***/ (function(module, exports, __nested_webpack_require_9392__) {
  
  "use strict";
  
  __nested_webpack_require_9392__("b0c5");
  var redefine = __nested_webpack_require_9392__("2aba");
  var hide = __nested_webpack_require_9392__("32e9");
  var fails = __nested_webpack_require_9392__("79e5");
  var defined = __nested_webpack_require_9392__("be13");
  var wks = __nested_webpack_require_9392__("2b4c");
  var regexpExec = __nested_webpack_require_9392__("520a");
  
  var SPECIES = wks('species');
  
  var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
    // #replace needs built-in support for named groups.
    // #match works fine because it just return the exec results, even if it has
    // a "grops" property.
    var re = /./;
    re.exec = function () {
      var result = [];
      result.groups = { a: '7' };
      return result;
    };
    return ''.replace(re, '$<a>') !== '7';
  });
  
  var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {
    // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
    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';
  })();
  
  module.exports = function (KEY, length, exec) {
    var SYMBOL = wks(KEY);
  
    var DELEGATES_TO_SYMBOL = !fails(function () {
      // String methods call symbol-named RegEp methods
      var O = {};
      O[SYMBOL] = function () { return 7; };
      return ''[KEY](O) != 7;
    });
  
    var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {
      // Symbol-named RegExp methods call .exec
      var execCalled = false;
      var re = /a/;
      re.exec = function () { execCalled = true; return null; };
      if (KEY === 'split') {
        // RegExp[@@split] doesn't call the regex's exec method, but first creates
        // a new one. We need to return the patched regex when creating the new one.
        re.constructor = {};
        re.constructor[SPECIES] = function () { return re; };
      }
      re[SYMBOL]('');
      return !execCalled;
    }) : undefined;
  
    if (
      !DELEGATES_TO_SYMBOL ||
      !DELEGATES_TO_EXEC ||
      (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||
      (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
    ) {
      var nativeRegExpMethod = /./[SYMBOL];
      var fns = exec(
        defined,
        SYMBOL,
        ''[KEY],
        function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {
          if (regexp.exec === regexpExec) {
            if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
              // The native String method already delegates to @@method (this
              // polyfilled function), leasing to infinite recursion.
              // We avoid it by directly calling the native @@method method.
              return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
            }
            return { done: true, value: nativeMethod.call(str, regexp, arg2) };
          }
          return { done: false };
        }
      );
      var strfn = fns[0];
      var rxfn = fns[1];
  
      redefine(String.prototype, KEY, strfn);
      hide(RegExp.prototype, SYMBOL, length == 2
        // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
        // 21.2.5.11 RegExp.prototype[@@split](string, limit)
        ? function (string, arg) { return rxfn.call(string, this, arg); }
        // 21.2.5.6 RegExp.prototype[@@match](string)
        // 21.2.5.9 RegExp.prototype[@@search](string)
        : function (string) { return rxfn.call(string, this); }
      );
    }
  };
  
  
  /***/ }),
  
  /***/ "230e":
  /***/ (function(module, exports, __nested_webpack_require_12849__) {
  
  var isObject = __nested_webpack_require_12849__("d3f4");
  var document = __nested_webpack_require_12849__("7726").document;
  // typeof document.createElement is 'object' in old IE
  var is = isObject(document) && isObject(document.createElement);
  module.exports = function (it) {
    return is ? document.createElement(it) : {};
  };
  
  
  /***/ }),
  
  /***/ "23c6":
  /***/ (function(module, exports, __nested_webpack_require_13233__) {
  
  // getting tag from 19.1.3.6 Object.prototype.toString()
  var cof = __nested_webpack_require_13233__("2d95");
  var TAG = __nested_webpack_require_13233__("2b4c")('toStringTag');
  // ES3 wrong here
  var ARG = cof(function () { return arguments; }()) == 'Arguments';
  
  // fallback for IE11 Script Access Denied error
  var tryGet = function (it, key) {
    try {
      return it[key];
    } catch (e) { /* empty */ }
  };
  
  module.exports = function (it) {
    var O, T, B;
    return it === undefined ? 'Undefined' : it === null ? 'Null'
      // @@toStringTag case
      : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
      // builtinTag case
      : ARG ? cof(O)
      // ES3 arguments fallback
      : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
  };
  
  
  /***/ }),
  
  /***/ "2621":
  /***/ (function(module, exports) {
  
  exports.f = Object.getOwnPropertySymbols;
  
  
  /***/ }),
  
  /***/ "2aba":
  /***/ (function(module, exports, __nested_webpack_require_14160__) {
  
  var global = __nested_webpack_require_14160__("7726");
  var hide = __nested_webpack_require_14160__("32e9");
  var has = __nested_webpack_require_14160__("69a8");
  var SRC = __nested_webpack_require_14160__("ca5a")('src');
  var $toString = __nested_webpack_require_14160__("fa5b");
  var TO_STRING = 'toString';
  var TPL = ('' + $toString).split(TO_STRING);
  
  __nested_webpack_require_14160__("8378").inspectSource = function (it) {
    return $toString.call(it);
  };
  
  (module.exports = function (O, key, val, safe) {
    var isFunction = typeof val == 'function';
    if (isFunction) has(val, 'name') || hide(val, 'name', key);
    if (O[key] === val) return;
    if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
    if (O === global) {
      O[key] = val;
    } else if (!safe) {
      delete O[key];
      hide(O, key, val);
    } else if (O[key]) {
      O[key] = val;
    } else {
      hide(O, key, val);
    }
  // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
  })(Function.prototype, TO_STRING, function toString() {
    return typeof this == 'function' && this[SRC] || $toString.call(this);
  });
  
  
  /***/ }),
  
  /***/ "2aeb":
  /***/ (function(module, exports, __nested_webpack_require_15334__) {
  
  // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
  var anObject = __nested_webpack_require_15334__("cb7c");
  var dPs = __nested_webpack_require_15334__("1495");
  var enumBugKeys = __nested_webpack_require_15334__("e11e");
  var IE_PROTO = __nested_webpack_require_15334__("613b")('IE_PROTO');
  var Empty = function () { /* empty */ };
  var PROTOTYPE = 'prototype';
  
  // Create object with fake `null` prototype: use iframe Object with cleared prototype
  var createDict = function () {
    // Thrash, waste and sodomy: IE GC bug
    var iframe = __nested_webpack_require_15334__("230e")('iframe');
    var i = enumBugKeys.length;
    var lt = '<';
    var gt = '>';
    var iframeDocument;
    iframe.style.display = 'none';
    __nested_webpack_require_15334__("fab2").appendChild(iframe);
    iframe.src = 'javascript:'; // eslint-disable-line no-script-url
    // createDict = iframe.contentWindow.Object;
    // html.removeChild(iframe);
    iframeDocument = iframe.contentWindow.document;
    iframeDocument.open();
    iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
    iframeDocument.close();
    createDict = iframeDocument.F;
    while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
    return createDict();
  };
  
  module.exports = Object.create || function create(O, Properties) {
    var result;
    if (O !== null) {
      Empty[PROTOTYPE] = anObject(O);
      result = new Empty();
      Empty[PROTOTYPE] = null;
      // add "__proto__" for Object.getPrototypeOf polyfill
      result[IE_PROTO] = O;
    } else result = createDict();
    return Properties === undefined ? result : dPs(result, Properties);
  };
  
  
  /***/ }),
  
  /***/ "2b4c":
  /***/ (function(module, exports, __nested_webpack_require_16945__) {
  
  var store = __nested_webpack_require_16945__("5537")('wks');
  var uid = __nested_webpack_require_16945__("ca5a");
  var Symbol = __nested_webpack_require_16945__("7726").Symbol;
  var USE_SYMBOL = typeof Symbol == 'function';
  
  var $exports = module.exports = function (name) {
    return store[name] || (store[name] =
      USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
  };
  
  $exports.store = store;
  
  
  /***/ }),
  
  /***/ "2d00":
  /***/ (function(module, exports) {
  
  module.exports = false;
  
  
  /***/ }),
  
  /***/ "2d95":
  /***/ (function(module, exports) {
  
  var toString = {}.toString;
  
  module.exports = function (it) {
    return toString.call(it).slice(8, -1);
  };
  
  
  /***/ }),
  
  /***/ "2fdb":
  /***/ (function(module, exports, __nested_webpack_require_17667__) {
  
  "use strict";
  // 21.1.3.7 String.prototype.includes(searchString, position = 0)
  
  var $export = __nested_webpack_require_17667__("5ca1");
  var context = __nested_webpack_require_17667__("d2c8");
  var INCLUDES = 'includes';
  
  $export($export.P + $export.F * __nested_webpack_require_17667__("5147")(INCLUDES), 'String', {
    includes: function includes(searchString /* , position = 0 */) {
      return !!~context(this, searchString, INCLUDES)
        .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
    }
  });
  
  
  /***/ }),
  
  /***/ "32e9":
  /***/ (function(module, exports, __nested_webpack_require_18235__) {
  
  var dP = __nested_webpack_require_18235__("86cc");
  var createDesc = __nested_webpack_require_18235__("4630");
  module.exports = __nested_webpack_require_18235__("9e1e") ? function (object, key, value) {
    return dP.f(object, key, createDesc(1, value));
  } : function (object, key, value) {
    object[key] = value;
    return object;
  };
  
  
  /***/ }),
  
  /***/ "38fd":
  /***/ (function(module, exports, __nested_webpack_require_18611__) {
  
  // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
  var has = __nested_webpack_require_18611__("69a8");
  var toObject = __nested_webpack_require_18611__("4bf8");
  var IE_PROTO = __nested_webpack_require_18611__("613b")('IE_PROTO');
  var ObjectProto = Object.prototype;
  
  module.exports = Object.getPrototypeOf || function (O) {
    O = toObject(O);
    if (has(O, IE_PROTO)) return O[IE_PROTO];
    if (typeof O.constructor == 'function' && O instanceof O.constructor) {
      return O.constructor.prototype;
    } return O instanceof Object ? ObjectProto : null;
  };
  
  
  /***/ }),
  
  /***/ "41a0":
  /***/ (function(module, exports, __nested_webpack_require_19205__) {
  
  "use strict";
  
  var create = __nested_webpack_require_19205__("2aeb");
  var descriptor = __nested_webpack_require_19205__("4630");
  var setToStringTag = __nested_webpack_require_19205__("7f20");
  var IteratorPrototype = {};
  
  // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
  __nested_webpack_require_19205__("32e9")(IteratorPrototype, __nested_webpack_require_19205__("2b4c")('iterator'), function () { return this; });
  
  module.exports = function (Constructor, NAME, next) {
    Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
    setToStringTag(Constructor, NAME + ' Iterator');
  };
  
  
  /***/ }),
  
  /***/ "456d":
  /***/ (function(module, exports, __nested_webpack_require_19831__) {
  
  // 19.1.2.14 Object.keys(O)
  var toObject = __nested_webpack_require_19831__("4bf8");
  var $keys = __nested_webpack_require_19831__("0d58");
  
  __nested_webpack_require_19831__("5eda")('keys', function () {
    return function keys(it) {
      return $keys(toObject(it));
    };
  });
  
  
  /***/ }),
  
  /***/ "4588":
  /***/ (function(module, exports) {
  
  // 7.1.4 ToInteger
  var ceil = Math.ceil;
  var floor = Math.floor;
  module.exports = function (it) {
    return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
  };
  
  
  /***/ }),
  
  /***/ "4630":
  /***/ (function(module, exports) {
  
  module.exports = function (bitmap, value) {
    return {
      enumerable: !(bitmap & 1),
      configurable: !(bitmap & 2),
      writable: !(bitmap & 4),
      value: value
    };
  };
  
  
  /***/ }),
  
  /***/ "4bf8":
  /***/ (function(module, exports, __nested_webpack_require_20609__) {
  
  // 7.1.13 ToObject(argument)
  var defined = __nested_webpack_require_20609__("be13");
  module.exports = function (it) {
    return Object(defined(it));
  };
  
  
  /***/ }),
  
  /***/ "5147":
  /***/ (function(module, exports, __nested_webpack_require_20831__) {
  
  var MATCH = __nested_webpack_require_20831__("2b4c")('match');
  module.exports = function (KEY) {
    var re = /./;
    try {
      '/./'[KEY](re);
    } catch (e) {
      try {
        re[MATCH] = false;
        return !'/./'[KEY](re);
      } catch (f) { /* empty */ }
    } return true;
  };
  
  
  /***/ }),
  
  /***/ "520a":
  /***/ (function(module, exports, __nested_webpack_require_21176__) {
  
  "use strict";
  
  
  var regexpFlags = __nested_webpack_require_21176__("0bfb");
  
  var nativeExec = RegExp.prototype.exec;
  // This always refers to the native implementation, because the
  // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
  // which loads this file before patching the method.
  var nativeReplace = String.prototype.replace;
  
  var patchedExec = nativeExec;
  
  var LAST_INDEX = 'lastIndex';
  
  var UPDATES_LAST_INDEX_WRONG = (function () {
    var re1 = /a/,
        re2 = /b*/g;
    nativeExec.call(re1, 'a');
    nativeExec.call(re2, 'a');
    return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;
  })();
  
  // nonparticipating capturing group, copied from es5-shim's String#split patch.
  var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
  
  var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;
  
  if (PATCH) {
    patchedExec = function exec(str) {
      var re = this;
      var lastIndex, reCopy, match, i;
  
      if (NPCG_INCLUDED) {
        reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re));
      }
      if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];
  
      match = nativeExec.call(re, str);
  
      if (UPDATES_LAST_INDEX_WRONG && match) {
        re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;
      }
      if (NPCG_INCLUDED && match && match.length > 1) {
        // Fix browsers whose `exec` methods don't consistently return `undefined`
        // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
        // eslint-disable-next-line no-loop-func
        nativeReplace.call(match[0], reCopy, function () {
          for (i = 1; i < arguments.length - 2; i++) {
            if (arguments[i] === undefined) match[i] = undefined;
          }
        });
      }
  
      return match;
    };
  }
  
  module.exports = patchedExec;
  
  
  /***/ }),
  
  /***/ "52a7":
  /***/ (function(module, exports) {
  
  exports.f = {}.propertyIsEnumerable;
  
  
  /***/ }),
  
  /***/ "5537":
  /***/ (function(module, exports, __nested_webpack_require_23109__) {
  
  var core = __nested_webpack_require_23109__("8378");
  var global = __nested_webpack_require_23109__("7726");
  var SHARED = '__core-js_shared__';
  var store = global[SHARED] || (global[SHARED] = {});
  
  (module.exports = function (key, value) {
    return store[key] || (store[key] = value !== undefined ? value : {});
  })('versions', []).push({
    version: core.version,
    mode: __nested_webpack_require_23109__("2d00") ? 'pure' : 'global',
    copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
  });
  
  
  /***/ }),
  
  /***/ "5ca1":
  /***/ (function(module, exports, __nested_webpack_require_23642__) {
  
  var global = __nested_webpack_require_23642__("7726");
  var core = __nested_webpack_require_23642__("8378");
  var hide = __nested_webpack_require_23642__("32e9");
  var redefine = __nested_webpack_require_23642__("2aba");
  var ctx = __nested_webpack_require_23642__("9b43");
  var PROTOTYPE = 'prototype';
  
  var $export = function (type, name, source) {
    var IS_FORCED = type & $export.F;
    var IS_GLOBAL = type & $export.G;
    var IS_STATIC = type & $export.S;
    var IS_PROTO = type & $export.P;
    var IS_BIND = type & $export.B;
    var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];
    var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
    var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});
    var key, own, out, exp;
    if (IS_GLOBAL) source = name;
    for (key in source) {
      // contains in native
      own = !IS_FORCED && target && target[key] !== undefined;
      // export native or passed
      out = (own ? target : source)[key];
      // bind timers to global for call from export context
      exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
      // extend global
      if (target) redefine(target, key, out, type & $export.U);
      // export
      if (exports[key] != out) hide(exports, key, exp);
      if (IS_PROTO && expProto[key] != out) expProto[key] = out;
    }
  };
  global.core = core;
  // type bitmap
  $export.F = 1;   // forced
  $export.G = 2;   // global
  $export.S = 4;   // static
  $export.P = 8;   // proto
  $export.B = 16;  // bind
  $export.W = 32;  // wrap
  $export.U = 64;  // safe
  $export.R = 128; // real proto method for `library`
  module.exports = $export;
  
  
  /***/ }),
  
  /***/ "5eda":
  /***/ (function(module, exports, __nested_webpack_require_25367__) {
  
  // most Object methods by ES6 should accept primitives
  var $export = __nested_webpack_require_25367__("5ca1");
  var core = __nested_webpack_require_25367__("8378");
  var fails = __nested_webpack_require_25367__("79e5");
  module.exports = function (KEY, exec) {
    var fn = (core.Object || {})[KEY] || Object[KEY];
    var exp = {};
    exp[KEY] = exec(fn);
    $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
  };
  
  
  /***/ }),
  
  /***/ "5f1b":
  /***/ (function(module, exports, __nested_webpack_require_25845__) {
  
  "use strict";
  
  
  var classof = __nested_webpack_require_25845__("23c6");
  var builtinExec = RegExp.prototype.exec;
  
   // `RegExpExec` abstract operation
  // https://tc39.github.io/ecma262/#sec-regexpexec
  module.exports = function (R, S) {
    var exec = R.exec;
    if (typeof exec === 'function') {
      var result = exec.call(R, S);
      if (typeof result !== 'object') {
        throw new TypeError('RegExp exec method returned something other than an Object or null');
      }
      return result;
    }
    if (classof(R) !== 'RegExp') {
      throw new TypeError('RegExp#exec called on incompatible receiver');
    }
    return builtinExec.call(R, S);
  };
  
  
  /***/ }),
  
  /***/ "613b":
  /***/ (function(module, exports, __nested_webpack_require_26551__) {
  
  var shared = __nested_webpack_require_26551__("5537")('keys');
  var uid = __nested_webpack_require_26551__("ca5a");
  module.exports = function (key) {
    return shared[key] || (shared[key] = uid(key));
  };
  
  
  /***/ }),
  
  /***/ "626a":
  /***/ (function(module, exports, __nested_webpack_require_26811__) {
  
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
  var cof = __nested_webpack_require_26811__("2d95");
  // eslint-disable-next-line no-prototype-builtins
  module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
    return cof(it) == 'String' ? it.split('') : Object(it);
  };
  
  
  /***/ }),
  
  /***/ "6762":
  /***/ (function(module, exports, __nested_webpack_require_27194__) {
  
  "use strict";
  
  // https://github.com/tc39/Array.prototype.includes
  var $export = __nested_webpack_require_27194__("5ca1");
  var $includes = __nested_webpack_require_27194__("c366")(true);
  
  $export($export.P, 'Array', {
    includes: function includes(el /* , fromIndex = 0 */) {
      return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
    }
  });
  
  __nested_webpack_require_27194__("9c6c")('includes');
  
  
  /***/ }),
  
  /***/ "6821":
  /***/ (function(module, exports, __nested_webpack_require_27659__) {
  
  // to indexed object, toObject with fallback for non-array-like ES3 strings
  var IObject = __nested_webpack_require_27659__("626a");
  var defined = __nested_webpack_require_27659__("be13");
  module.exports = function (it) {
    return IObject(defined(it));
  };
  
  
  /***/ }),
  
  /***/ "69a8":
  /***/ (function(module, exports) {
  
  var hasOwnProperty = {}.hasOwnProperty;
  module.exports = function (it, key) {
    return hasOwnProperty.call(it, key);
  };
  
  
  /***/ }),
  
  /***/ "6a99":
  /***/ (function(module, exports, __nested_webpack_require_28155__) {
  
  // 7.1.1 ToPrimitive(input [, PreferredType])
  var isObject = __nested_webpack_require_28155__("d3f4");
  // instead of the ES6 spec version, we didn't implement @@toPrimitive case
  // and the second argument - flag - preferred type is a string
  module.exports = function (it, S) {
    if (!isObject(it)) return it;
    var fn, val;
    if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
    if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
    if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
    throw TypeError("Can't convert object to primitive value");
  };
  
  
  /***/ }),
  
  /***/ "7333":
  /***/ (function(module, exports, __nested_webpack_require_28898__) {
  
  "use strict";
  
  // 19.1.2.1 Object.assign(target, source, ...)
  var getKeys = __nested_webpack_require_28898__("0d58");
  var gOPS = __nested_webpack_require_28898__("2621");
  var pIE = __nested_webpack_require_28898__("52a7");
  var toObject = __nested_webpack_require_28898__("4bf8");
  var IObject = __nested_webpack_require_28898__("626a");
  var $assign = Object.assign;
  
  // should work with symbols and should have deterministic property order (V8 bug)
  module.exports = !$assign || __nested_webpack_require_28898__("79e5")(function () {
    var A = {};
    var B = {};
    // eslint-disable-next-line no-undef
    var S = Symbol();
    var K = 'abcdefghijklmnopqrst';
    A[S] = 7;
    K.split('').forEach(function (k) { B[k] = k; });
    return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
  }) ? function assign(target, source) { // eslint-disable-line no-unused-vars
    var T = toObject(target);
    var aLen = arguments.length;
    var index = 1;
    var getSymbols = gOPS.f;
    var isEnum = pIE.f;
    while (aLen > index) {
      var S = IObject(arguments[index++]);
      var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
      var length = keys.length;
      var j = 0;
      var key;
      while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];
    } return T;
  } : $assign;
  
  
  /***/ }),
  
  /***/ "7726":
  /***/ (function(module, exports) {
  
  // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
  var global = module.exports = typeof window != 'undefined' && window.Math == Math
    ? window : typeof self != 'undefined' && self.Math == Math ? self
    // eslint-disable-next-line no-new-func
    : Function('return this')();
  if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
  
  
  /***/ }),
  
  /***/ "77f1":
  /***/ (function(module, exports, __nested_webpack_require_30635__) {
  
  var toInteger = __nested_webpack_require_30635__("4588");
  var max = Math.max;
  var min = Math.min;
  module.exports = function (index, length) {
    index = toInteger(index);
    return index < 0 ? max(index + length, 0) : min(index, length);
  };
  
  
  /***/ }),
  
  /***/ "79e5":
  /***/ (function(module, exports) {
  
  module.exports = function (exec) {
    try {
      return !!exec();
    } catch (e) {
      return true;
    }
  };
  
  
  /***/ }),
  
  /***/ "7f20":
  /***/ (function(module, exports, __nested_webpack_require_31112__) {
  
  var def = __nested_webpack_require_31112__("86cc").f;
  var has = __nested_webpack_require_31112__("69a8");
  var TAG = __nested_webpack_require_31112__("2b4c")('toStringTag');
  
  module.exports = function (it, tag, stat) {
    if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
  };
  
  
  /***/ }),
  
  /***/ "8378":
  /***/ (function(module, exports) {
  
  var core = module.exports = { version: '2.6.5' };
  if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
  
  
  /***/ }),
  
  /***/ "84f2":
  /***/ (function(module, exports) {
  
  module.exports = {};
  
  
  /***/ }),
  
  /***/ "86cc":
  /***/ (function(module, exports, __nested_webpack_require_31751__) {
  
  var anObject = __nested_webpack_require_31751__("cb7c");
  var IE8_DOM_DEFINE = __nested_webpack_require_31751__("c69a");
  var toPrimitive = __nested_webpack_require_31751__("6a99");
  var dP = Object.defineProperty;
  
  exports.f = __nested_webpack_require_31751__("9e1e") ? Object.defineProperty : function defineProperty(O, P, Attributes) {
    anObject(O);
    P = toPrimitive(P, true);
    anObject(Attributes);
    if (IE8_DOM_DEFINE) try {
      return dP(O, P, Attributes);
    } catch (e) { /* empty */ }
    if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
    if ('value' in Attributes) O[P] = Attributes.value;
    return O;
  };
  
  
  /***/ }),
  
  /***/ "9b43":
  /***/ (function(module, exports, __nested_webpack_require_32441__) {
  
  // optional / simple context binding
  var aFunction = __nested_webpack_require_32441__("d8e8");
  module.exports = function (fn, that, length) {
    aFunction(fn);
    if (that === undefined) return fn;
    switch (length) {
      case 1: return function (a) {
        return fn.call(that, a);
      };
      case 2: return function (a, b) {
        return fn.call(that, a, b);
      };
      case 3: return function (a, b, c) {
        return fn.call(that, a, b, c);
      };
    }
    return function (/* ...args */) {
      return fn.apply(that, arguments);
    };
  };
  
  
  /***/ }),
  
  /***/ "9c6c":
  /***/ (function(module, exports, __nested_webpack_require_33048__) {
  
  // 22.1.3.31 Array.prototype[@@unscopables]
  var UNSCOPABLES = __nested_webpack_require_33048__("2b4c")('unscopables');
  var ArrayProto = Array.prototype;
  if (ArrayProto[UNSCOPABLES] == undefined) __nested_webpack_require_33048__("32e9")(ArrayProto, UNSCOPABLES, {});
  module.exports = function (key) {
    ArrayProto[UNSCOPABLES][key] = true;
  };
  
  
  /***/ }),
  
  /***/ "9def":
  /***/ (function(module, exports, __nested_webpack_require_33448__) {
  
  // 7.1.15 ToLength
  var toInteger = __nested_webpack_require_33448__("4588");
  var min = Math.min;
  module.exports = function (it) {
    return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
  };
  
  
  /***/ }),
  
  /***/ "9e1e":
  /***/ (function(module, exports, __nested_webpack_require_33750__) {
  
  // Thank's IE8 for his funny defineProperty
  module.exports = !__nested_webpack_require_33750__("79e5")(function () {
    return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
  });
  
  
  /***/ }),
  
  /***/ "a352":
  /***/ (function(module, exports) {
  
  module.exports = __WEBPACK_EXTERNAL_MODULE_a352__;
  
  /***/ }),
  
  /***/ "a481":
  /***/ (function(module, exports, __nested_webpack_require_34139__) {
  
  "use strict";
  
  
  var anObject = __nested_webpack_require_34139__("cb7c");
  var toObject = __nested_webpack_require_34139__("4bf8");
  var toLength = __nested_webpack_require_34139__("9def");
  var toInteger = __nested_webpack_require_34139__("4588");
  var advanceStringIndex = __nested_webpack_require_34139__("0390");
  var regExpExec = __nested_webpack_require_34139__("5f1b");
  var max = Math.max;
  var min = Math.min;
  var floor = Math.floor;
  var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g;
  var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g;
  
  var maybeToString = function (it) {
    return it === undefined ? it : String(it);
  };
  
  // @@replace logic
  __nested_webpack_require_34139__("214f")('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {
    return [
      // `String.prototype.replace` method
      // https://tc39.github.io/ecma262/#sec-string.prototype.replace
      function replace(searchValue, replaceValue) {
        var O = defined(this);
        var fn = searchValue == undefined ? undefined : searchValue[REPLACE];
        return fn !== undefined
          ? fn.call(searchValue, O, replaceValue)
          : $replace.call(String(O), searchValue, replaceValue);
      },
      // `RegExp.prototype[@@replace]` method
      // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
      function (regexp, replaceValue) {
        var res = maybeCallNative($replace, regexp, this, replaceValue);
        if (res.done) return res.value;
  
        var rx = anObject(regexp);
        var S = String(this);
        var functionalReplace = typeof replaceValue === 'function';
        if (!functionalReplace) replaceValue = String(replaceValue);
        var global = rx.global;
        if (global) {
          var fullUnicode = rx.unicode;
          rx.lastIndex = 0;
        }
        var results = [];
        while (true) {
          var result = regExpExec(rx, S);
          if (result === null) break;
          results.push(result);
          if (!global) break;
          var matchStr = String(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 = String(result[0]);
          var position = max(min(toInteger(result.index), S.length), 0);
          var captures = [];
          // NOTE: This is equivalent to
          //   captures = result.slice(1).map(maybeToString)
          // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
          // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
          // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
          for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
          var namedCaptures = result.groups;
          if (functionalReplace) {
            var replacerArgs = [matched].concat(captures, position, S);
            if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
            var replacement = String(replaceValue.apply(undefined, replacerArgs));
          } else {
            replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
          }
          if (position >= nextSourcePosition) {
            accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
            nextSourcePosition = position + matched.length;
          }
        }
        return accumulatedResult + S.slice(nextSourcePosition);
      }
    ];
  
      // https://tc39.github.io/ecma262/#sec-getsubstitution
    function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
      var tailPos = position + matched.length;
      var m = captures.length;
      var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
      if (namedCaptures !== undefined) {
        namedCaptures = toObject(namedCaptures);
        symbols = SUBSTITUTION_SYMBOLS;
      }
      return $replace.call(replacement, symbols, function (match, ch) {
        var capture;
        switch (ch.charAt(0)) {
          case '$': return '$';
          case '&': return matched;
          case '`': return str.slice(0, position);
          case "'": return str.slice(tailPos);
          case '<':
            capture = namedCaptures[ch.slice(1, -1)];
            break;
          default: // \d\d?
            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] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
              return match;
            }
            capture = captures[n - 1];
        }
        return capture === undefined ? '' : capture;
      });
    }
  });
  
  
  /***/ }),
  
  /***/ "aae3":
  /***/ (function(module, exports, __nested_webpack_require_38885__) {
  
  // 7.2.8 IsRegExp(argument)
  var isObject = __nested_webpack_require_38885__("d3f4");
  var cof = __nested_webpack_require_38885__("2d95");
  var MATCH = __nested_webpack_require_38885__("2b4c")('match');
  module.exports = function (it) {
    var isRegExp;
    return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
  };
  
  
  /***/ }),
  
  /***/ "ac6a":
  /***/ (function(module, exports, __nested_webpack_require_39282__) {
  
  var $iterators = __nested_webpack_require_39282__("cadf");
  var getKeys = __nested_webpack_require_39282__("0d58");
  var redefine = __nested_webpack_require_39282__("2aba");
  var global = __nested_webpack_require_39282__("7726");
  var hide = __nested_webpack_require_39282__("32e9");
  var Iterators = __nested_webpack_require_39282__("84f2");
  var wks = __nested_webpack_require_39282__("2b4c");
  var ITERATOR = wks('iterator');
  var TO_STRING_TAG = wks('toStringTag');
  var ArrayValues = Iterators.Array;
  
  var DOMIterables = {
    CSSRuleList: true, // TODO: Not spec compliant, should be false.
    CSSStyleDeclaration: false,
    CSSValueList: false,
    ClientRectList: false,
    DOMRectList: false,
    DOMStringList: false,
    DOMTokenList: true,
    DataTransferItemList: false,
    FileList: false,
    HTMLAllCollection: false,
    HTMLCollection: false,
    HTMLFormElement: false,
    HTMLSelectElement: false,
    MediaList: true, // TODO: Not spec compliant, should be false.
    MimeTypeArray: false,
    NamedNodeMap: false,
    NodeList: true,
    PaintRequestList: false,
    Plugin: false,
    PluginArray: false,
    SVGLengthList: false,
    SVGNumberList: false,
    SVGPathSegList: false,
    SVGPointList: false,
    SVGStringList: false,
    SVGTransformList: false,
    SourceBufferList: false,
    StyleSheetList: true, // TODO: Not spec compliant, should be false.
    TextTrackCueList: false,
    TextTrackList: false,
    TouchList: false
  };
  
  for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {
    var NAME = collections[i];
    var explicit = DOMIterables[NAME];
    var Collection = global[NAME];
    var proto = Collection && Collection.prototype;
    var key;
    if (proto) {
      if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);
      if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
      Iterators[NAME] = ArrayValues;
      if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);
    }
  }
  
  
  /***/ }),
  
  /***/ "b0c5":
  /***/ (function(module, exports, __nested_webpack_require_41209__) {
  
  "use strict";
  
  var regexpExec = __nested_webpack_require_41209__("520a");
  __nested_webpack_require_41209__("5ca1")({
    target: 'RegExp',
    proto: true,
    forced: regexpExec !== /./.exec
  }, {
    exec: regexpExec
  });
  
  
  /***/ }),
  
  /***/ "be13":
  /***/ (function(module, exports) {
  
  // 7.2.1 RequireObjectCoercible(argument)
  module.exports = function (it) {
    if (it == undefined) throw TypeError("Can't call method on  " + it);
    return it;
  };
  
  
  /***/ }),
  
  /***/ "c366":
  /***/ (function(module, exports, __nested_webpack_require_41706__) {
  
  // false -> Array#indexOf
  // true  -> Array#includes
  var toIObject = __nested_webpack_require_41706__("6821");
  var toLength = __nested_webpack_require_41706__("9def");
  var toAbsoluteIndex = __nested_webpack_require_41706__("77f1");
  module.exports = function (IS_INCLUDES) {
    return function ($this, el, fromIndex) {
      var O = toIObject($this);
      var length = toLength(O.length);
      var index = toAbsoluteIndex(fromIndex, length);
      var value;
      // Array#includes uses SameValueZero equality algorithm
      // eslint-disable-next-line no-self-compare
      if (IS_INCLUDES && el != el) while (length > index) {
        value = O[index++];
        // eslint-disable-next-line no-self-compare
        if (value != value) return true;
      // Array#indexOf ignores holes, Array#includes - not
      } else for (;length > index; index++) if (IS_INCLUDES || index in O) {
        if (O[index] === el) return IS_INCLUDES || index || 0;
      } return !IS_INCLUDES && -1;
    };
  };
  
  
  /***/ }),
  
  /***/ "c649":
  /***/ (function(module, __webpack_exports__, __nested_webpack_require_42729__) {
  
  "use strict";
  /* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __nested_webpack_require_42729__.d(__webpack_exports__, "c", function() { return insertNodeAt; });
  /* harmony export (binding) */ __nested_webpack_require_42729__.d(__webpack_exports__, "a", function() { return camelize; });
  /* harmony export (binding) */ __nested_webpack_require_42729__.d(__webpack_exports__, "b", function() { return console; });
  /* harmony export (binding) */ __nested_webpack_require_42729__.d(__webpack_exports__, "d", function() { return removeNode; });
  /* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__ = __nested_webpack_require_42729__("a481");
  /* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__nested_webpack_require_42729__.n(core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__);
  
  
  function getConsole() {
    if (typeof window !== "undefined") {
      return window.console;
    }
  
    return global.console;
  }
  
  var console = getConsole();
  
  function cached(fn) {
    var cache = Object.create(null);
    return function cachedFn(str) {
      var hit = cache[str];
      return hit || (cache[str] = fn(str));
    };
  }
  
  var regex = /-(\w)/g;
  var camelize = cached(function (str) {
    return str.replace(regex, function (_, c) {
      return c ? c.toUpperCase() : "";
    });
  });
  
  function removeNode(node) {
    if (node.parentElement !== null) {
      node.parentElement.removeChild(node);
    }
  }
  
  function insertNodeAt(fatherNode, node, position) {
    var refNode = position === 0 ? fatherNode.children[0] : fatherNode.children[position - 1].nextSibling;
    fatherNode.insertBefore(node, refNode);
  }
  
  
  /* WEBPACK VAR INJECTION */}.call(this, __nested_webpack_require_42729__("c8ba")))
  
  /***/ }),
  
  /***/ "c69a":
  /***/ (function(module, exports, __nested_webpack_require_44512__) {
  
  module.exports = !__nested_webpack_require_44512__("9e1e") && !__nested_webpack_require_44512__("79e5")(function () {
    return Object.defineProperty(__nested_webpack_require_44512__("230e")('div'), 'a', { get: function () { return 7; } }).a != 7;
  });
  
  
  /***/ }),
  
  /***/ "c8ba":
  /***/ (function(module, exports) {
  
  var g;
  
  // This works in non-strict mode
  g = (function() {
  	return this;
  })();
  
  try {
  	// This works if eval is allowed (see CSP)
  	g = g || new Function("return this")();
  } catch (e) {
  	// This works if the window reference is available
  	if (typeof window === "object") g = window;
  }
  
  // g can still be undefined, but nothing to do about it...
  // We return undefined, instead of nothing here, so it's
  // easier to handle this case. if(!global) { ...}
  
  module.exports = g;
  
  
  /***/ }),
  
  /***/ "ca5a":
  /***/ (function(module, exports) {
  
  var id = 0;
  var px = Math.random();
  module.exports = function (key) {
    return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
  };
  
  
  /***/ }),
  
  /***/ "cadf":
  /***/ (function(module, exports, __nested_webpack_require_45568__) {
  
  "use strict";
  
  var addToUnscopables = __nested_webpack_require_45568__("9c6c");
  var step = __nested_webpack_require_45568__("d53b");
  var Iterators = __nested_webpack_require_45568__("84f2");
  var toIObject = __nested_webpack_require_45568__("6821");
  
  // 22.1.3.4 Array.prototype.entries()
  // 22.1.3.13 Array.prototype.keys()
  // 22.1.3.29 Array.prototype.values()
  // 22.1.3.30 Array.prototype[@@iterator]()
  module.exports = __nested_webpack_require_45568__("01f9")(Array, 'Array', function (iterated, kind) {
    this._t = toIObject(iterated); // target
    this._i = 0;                   // next index
    this._k = kind;                // kind
  // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
  }, function () {
    var O = this._t;
    var kind = this._k;
    var index = this._i++;
    if (!O || index >= O.length) {
      this._t = undefined;
      return step(1);
    }
    if (kind == 'keys') return step(0, index);
    if (kind == 'values') return step(0, O[index]);
    return step(0, [index, O[index]]);
  }, 'values');
  
  // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
  Iterators.Arguments = Iterators.Array;
  
  addToUnscopables('keys');
  addToUnscopables('values');
  addToUnscopables('entries');
  
  
  /***/ }),
  
  /***/ "cb7c":
  /***/ (function(module, exports, __nested_webpack_require_46777__) {
  
  var isObject = __nested_webpack_require_46777__("d3f4");
  module.exports = function (it) {
    if (!isObject(it)) throw TypeError(it + ' is not an object!');
    return it;
  };
  
  
  /***/ }),
  
  /***/ "ce10":
  /***/ (function(module, exports, __nested_webpack_require_47019__) {
  
  var has = __nested_webpack_require_47019__("69a8");
  var toIObject = __nested_webpack_require_47019__("6821");
  var arrayIndexOf = __nested_webpack_require_47019__("c366")(false);
  var IE_PROTO = __nested_webpack_require_47019__("613b")('IE_PROTO');
  
  module.exports = function (object, names) {
    var O = toIObject(object);
    var i = 0;
    var result = [];
    var key;
    for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
    // Don't enum bug & hidden keys
    while (names.length > i) if (has(O, key = names[i++])) {
      ~arrayIndexOf(result, key) || result.push(key);
    }
    return result;
  };
  
  
  /***/ }),
  
  /***/ "d2c8":
  /***/ (function(module, exports, __nested_webpack_require_47655__) {
  
  // helper for String#{startsWith, endsWith, includes}
  var isRegExp = __nested_webpack_require_47655__("aae3");
  var defined = __nested_webpack_require_47655__("be13");
  
  module.exports = function (that, searchString, NAME) {
    if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!");
    return String(defined(that));
  };
  
  
  /***/ }),
  
  /***/ "d3f4":
  /***/ (function(module, exports) {
  
  module.exports = function (it) {
    return typeof it === 'object' ? it !== null : typeof it === 'function';
  };
  
  
  /***/ }),
  
  /***/ "d53b":
  /***/ (function(module, exports) {
  
  module.exports = function (done, value) {
    return { value: value, done: !!done };
  };
  
  
  /***/ }),
  
  /***/ "d8e8":
  /***/ (function(module, exports) {
  
  module.exports = function (it) {
    if (typeof it != 'function') throw TypeError(it + ' is not a function!');
    return it;
  };
  
  
  /***/ }),
  
  /***/ "e11e":
  /***/ (function(module, exports) {
  
  // IE 8- don't enum bug keys
  module.exports = (
    'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
  ).split(',');
  
  
  /***/ }),
  
  /***/ "f559":
  /***/ (function(module, exports, __nested_webpack_require_48796__) {
  
  "use strict";
  // 21.1.3.18 String.prototype.startsWith(searchString [, position ])
  
  var $export = __nested_webpack_require_48796__("5ca1");
  var toLength = __nested_webpack_require_48796__("9def");
  var context = __nested_webpack_require_48796__("d2c8");
  var STARTS_WITH = 'startsWith';
  var $startsWith = ''[STARTS_WITH];
  
  $export($export.P + $export.F * __nested_webpack_require_48796__("5147")(STARTS_WITH), 'String', {
    startsWith: function startsWith(searchString /* , position = 0 */) {
      var that = context(this, searchString, STARTS_WITH);
      var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));
      var search = String(searchString);
      return $startsWith
        ? $startsWith.call(that, search, index)
        : that.slice(index, index + search.length) === search;
    }
  });
  
  
  /***/ }),
  
  /***/ "f6fd":
  /***/ (function(module, exports) {
  
  // document.currentScript polyfill by Adam Miller
  
  // MIT license
  
  (function(document){
    var currentScript = "currentScript",
        scripts = document.getElementsByTagName('script'); // Live NodeList collection
  
    // If browser needs currentScript polyfill, add get currentScript() to the document object
    if (!(currentScript in document)) {
      Object.defineProperty(document, currentScript, {
        get: function(){
  
          // IE 6-10 supports script readyState
          // IE 10+ support stack trace
          try { throw new Error(); }
          catch (err) {
  
            // Find the second match for the "at" string to get file src url from stack.
            // Specifically works with the format of stack traces in IE.
            var i, res = ((/.*at [^\(]*\((.*):.+:.+\)$/ig).exec(err.stack) || [false])[1];
  
            // For all scripts on the page, if src matches or if ready state is interactive, return the script tag
            for(i in scripts){
              if(scripts[i].src == res || scripts[i].readyState == "interactive"){
                return scripts[i];
              }
            }
  
            // If no match, return null
            return null;
          }
        }
      });
    }
  })(document);
  
  
  /***/ }),
  
  /***/ "f751":
  /***/ (function(module, exports, __nested_webpack_require_50913__) {
  
  // 19.1.3.1 Object.assign(target, source)
  var $export = __nested_webpack_require_50913__("5ca1");
  
  $export($export.S + $export.F, 'Object', { assign: __nested_webpack_require_50913__("7333") });
  
  
  /***/ }),
  
  /***/ "fa5b":
  /***/ (function(module, exports, __nested_webpack_require_51166__) {
  
  module.exports = __nested_webpack_require_51166__("5537")('native-function-to-string', Function.toString);
  
  
  /***/ }),
  
  /***/ "fab2":
  /***/ (function(module, exports, __nested_webpack_require_51344__) {
  
  var document = __nested_webpack_require_51344__("7726").document;
  module.exports = document && document.documentElement;
  
  
  /***/ }),
  
  /***/ "fb15":
  /***/ (function(module, __webpack_exports__, __nested_webpack_require_51548__) {
  
  "use strict";
  // ESM COMPAT FLAG
  __nested_webpack_require_51548__.r(__webpack_exports__);
  
  // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
  // This file is imported into lib/wc client bundles.
  
  if (typeof window !== 'undefined') {
    if (true) {
      __nested_webpack_require_51548__("f6fd")
    }
  
    var setPublicPath_i
    if ((setPublicPath_i = window.document.currentScript) && (setPublicPath_i = setPublicPath_i.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))) {
      __nested_webpack_require_51548__.p = setPublicPath_i[1] // eslint-disable-line
    }
  }
  
  // Indicate to webpack that this file can be concatenated
  /* harmony default export */ var setPublicPath = (null);
  
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.assign.js
  var es6_object_assign = __nested_webpack_require_51548__("f751");
  
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.starts-with.js
  var es6_string_starts_with = __nested_webpack_require_51548__("f559");
  
  // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js
  var web_dom_iterable = __nested_webpack_require_51548__("ac6a");
  
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.iterator.js
  var es6_array_iterator = __nested_webpack_require_51548__("cadf");
  
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.keys.js
  var es6_object_keys = __nested_webpack_require_51548__("456d");
  
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
  function _arrayWithHoles(arr) {
    if (Array.isArray(arr)) return arr;
  }
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
  function _iterableToArrayLimit(arr, i) {
    if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
    var _arr = [];
    var _n = true;
    var _d = false;
    var _e = undefined;
  
    try {
      for (var _i = arr[Symbol.iterator](), _s; !(_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;
  }
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
  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;
  }
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
  
  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);
  }
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
  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.");
  }
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
  
  
  
  
  function _slicedToArray(arr, i) {
    return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
  }
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.array.includes.js
  var es7_array_includes = __nested_webpack_require_51548__("6762");
  
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.includes.js
  var es6_string_includes = __nested_webpack_require_51548__("2fdb");
  
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
  
  function _arrayWithoutHoles(arr) {
    if (Array.isArray(arr)) return _arrayLikeToArray(arr);
  }
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
  function _iterableToArray(iter) {
    if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
  }
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
  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.");
  }
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
  
  
  
  
  function _toConsumableArray(arr) {
    return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
  }
  // EXTERNAL MODULE: external {"commonjs":"sortablejs","commonjs2":"sortablejs","amd":"sortablejs","root":"Sortable"}
  var external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_ = __nested_webpack_require_51548__("a352");
  var external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default = /*#__PURE__*/__nested_webpack_require_51548__.n(external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_);
  
  // EXTERNAL MODULE: ./src/util/helper.js
  var helper = __nested_webpack_require_51548__("c649");
  
  // CONCATENATED MODULE: ./src/vuedraggable.js
  
  
  
  
  
  
  
  
  
  
  
  
  function buildAttribute(object, propName, value) {
    if (value === undefined) {
      return object;
    }
  
    object = object || {};
    object[propName] = value;
    return object;
  }
  
  function computeVmIndex(vnodes, element) {
    return vnodes.map(function (elt) {
      return elt.elm;
    }).indexOf(element);
  }
  
  function _computeIndexes(slots, children, isTransition, footerOffset) {
    if (!slots) {
      return [];
    }
  
    var elmFromNodes = slots.map(function (elt) {
      return elt.elm;
    });
    var footerIndex = children.length - footerOffset;
  
    var rawIndexes = _toConsumableArray(children).map(function (elt, idx) {
      return idx >= footerIndex ? elmFromNodes.length : elmFromNodes.indexOf(elt);
    });
  
    return isTransition ? rawIndexes.filter(function (ind) {
      return ind !== -1;
    }) : rawIndexes;
  }
  
  function emit(evtName, evtData) {
    var _this = this;
  
    this.$nextTick(function () {
      return _this.$emit(evtName.toLowerCase(), evtData);
    });
  }
  
  function delegateAndEmit(evtName) {
    var _this2 = this;
  
    return function (evtData) {
      if (_this2.realList !== null) {
        _this2["onDrag" + evtName](evtData);
      }
  
      emit.call(_this2, evtName, evtData);
    };
  }
  
  function isTransitionName(name) {
    return ["transition-group", "TransitionGroup"].includes(name);
  }
  
  function vuedraggable_isTransition(slots) {
    if (!slots || slots.length !== 1) {
      return false;
    }
  
    var _slots = _slicedToArray(slots, 1),
        componentOptions = _slots[0].componentOptions;
  
    if (!componentOptions) {
      return false;
    }
  
    return isTransitionName(componentOptions.tag);
  }
  
  function getSlot(slot, scopedSlot, key) {
    return slot[key] || (scopedSlot[key] ? scopedSlot[key]() : undefined);
  }
  
  function computeChildrenAndOffsets(children, slot, scopedSlot) {
    var headerOffset = 0;
    var footerOffset = 0;
    var header = getSlot(slot, scopedSlot, "header");
  
    if (header) {
      headerOffset = header.length;
      children = children ? [].concat(_toConsumableArray(header), _toConsumableArray(children)) : _toConsumableArray(header);
    }
  
    var footer = getSlot(slot, scopedSlot, "footer");
  
    if (footer) {
      footerOffset = footer.length;
      children = children ? [].concat(_toConsumableArray(children), _toConsumableArray(footer)) : _toConsumableArray(footer);
    }
  
    return {
      children: children,
      headerOffset: headerOffset,
      footerOffset: footerOffset
    };
  }
  
  function getComponentAttributes($attrs, componentData) {
    var attributes = null;
  
    var update = function update(name, value) {
      attributes = buildAttribute(attributes, name, value);
    };
  
    var attrs = Object.keys($attrs).filter(function (key) {
      return key === "id" || key.startsWith("data-");
    }).reduce(function (res, key) {
      res[key] = $attrs[key];
      return res;
    }, {});
    update("attrs", attrs);
  
    if (!componentData) {
      return attributes;
    }
  
    var on = componentData.on,
        props = componentData.props,
        componentDataAttrs = componentData.attrs;
    update("on", on);
    update("props", props);
    Object.assign(attributes.attrs, componentDataAttrs);
    return attributes;
  }
  
  var eventsListened = ["Start", "Add", "Remove", "Update", "End"];
  var eventsToEmit = ["Choose", "Unchoose", "Sort", "Filter", "Clone"];
  var readonlyProperties = ["Move"].concat(eventsListened, eventsToEmit).map(function (evt) {
    return "on" + evt;
  });
  var draggingElement = null;
  var props = {
    options: Object,
    list: {
      type: Array,
      required: false,
      default: null
    },
    value: {
      type: Array,
      required: false,
      default: null
    },
    noTransitionOnDrag: {
      type: Boolean,
      default: false
    },
    clone: {
      type: Function,
      default: function _default(original) {
        return original;
      }
    },
    element: {
      type: String,
      default: "div"
    },
    tag: {
      type: String,
      default: null
    },
    move: {
      type: Function,
      default: null
    },
    componentData: {
      type: Object,
      required: false,
      default: null
    }
  };
  var draggableComponent = {
    name: "draggable",
    inheritAttrs: false,
    props: props,
    data: function data() {
      return {
        transitionMode: false,
        noneFunctionalComponentMode: false
      };
    },
    render: function render(h) {
      var slots = this.$slots.default;
      this.transitionMode = vuedraggable_isTransition(slots);
  
      var _computeChildrenAndOf = computeChildrenAndOffsets(slots, this.$slots, this.$scopedSlots),
          children = _computeChildrenAndOf.children,
          headerOffset = _computeChildrenAndOf.headerOffset,
          footerOffset = _computeChildrenAndOf.footerOffset;
  
      this.headerOffset = headerOffset;
      this.footerOffset = footerOffset;
      var attributes = getComponentAttributes(this.$attrs, this.componentData);
      return h(this.getTag(), attributes, children);
    },
    created: function created() {
      if (this.list !== null && this.value !== null) {
        helper["b" /* console */].error("Value and list props are mutually exclusive! Please set one or another.");
      }
  
      if (this.element !== "div") {
        helper["b" /* console */].warn("Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props");
      }
  
      if (this.options !== undefined) {
        helper["b" /* console */].warn("Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props");
      }
    },
    mounted: function mounted() {
      var _this3 = this;
  
      this.noneFunctionalComponentMode = this.getTag().toLowerCase() !== this.$el.nodeName.toLowerCase() && !this.getIsFunctional();
  
      if (this.noneFunctionalComponentMode && this.transitionMode) {
        throw new Error("Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: ".concat(this.getTag()));
      }
  
      var optionsAdded = {};
      eventsListened.forEach(function (elt) {
        optionsAdded["on" + elt] = delegateAndEmit.call(_this3, elt);
      });
      eventsToEmit.forEach(function (elt) {
        optionsAdded["on" + elt] = emit.bind(_this3, elt);
      });
      var attributes = Object.keys(this.$attrs).reduce(function (res, key) {
        res[Object(helper["a" /* camelize */])(key)] = _this3.$attrs[key];
        return res;
      }, {});
      var options = Object.assign({}, this.options, attributes, optionsAdded, {
        onMove: function onMove(evt, originalEvent) {
          return _this3.onDragMove(evt, originalEvent);
        }
      });
      !("draggable" in options) && (options.draggable = ">*");
      this._sortable = new external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default.a(this.rootContainer, options);
      this.computeIndexes();
    },
    beforeDestroy: function beforeDestroy() {
      if (this._sortable !== undefined) this._sortable.destroy();
    },
    computed: {
      rootContainer: function rootContainer() {
        return this.transitionMode ? this.$el.children[0] : this.$el;
      },
      realList: function realList() {
        return this.list ? this.list : this.value;
      }
    },
    watch: {
      options: {
        handler: function handler(newOptionValue) {
          this.updateOptions(newOptionValue);
        },
        deep: true
      },
      $attrs: {
        handler: function handler(newOptionValue) {
          this.updateOptions(newOptionValue);
        },
        deep: true
      },
      realList: function realList() {
        this.computeIndexes();
      }
    },
    methods: {
      getIsFunctional: function getIsFunctional() {
        var fnOptions = this._vnode.fnOptions;
        return fnOptions && fnOptions.functional;
      },
      getTag: function getTag() {
        return this.tag || this.element;
      },
      updateOptions: function updateOptions(newOptionValue) {
        for (var property in newOptionValue) {
          var value = Object(helper["a" /* camelize */])(property);
  
          if (readonlyProperties.indexOf(value) === -1) {
            this._sortable.option(value, newOptionValue[property]);
          }
        }
      },
      getChildrenNodes: function getChildrenNodes() {
        if (this.noneFunctionalComponentMode) {
          return this.$children[0].$slots.default;
        }
  
        var rawNodes = this.$slots.default;
        return this.transitionMode ? rawNodes[0].child.$slots.default : rawNodes;
      },
      computeIndexes: function computeIndexes() {
        var _this4 = this;
  
        this.$nextTick(function () {
          _this4.visibleIndexes = _computeIndexes(_this4.getChildrenNodes(), _this4.rootContainer.children, _this4.transitionMode, _this4.footerOffset);
        });
      },
      getUnderlyingVm: function getUnderlyingVm(htmlElt) {
        var index = computeVmIndex(this.getChildrenNodes() || [], htmlElt);
  
        if (index === -1) {
          //Edge case during move callback: related element might be
          //an element different from collection
          return null;
        }
  
        var element = this.realList[index];
        return {
          index: index,
          element: element
        };
      },
      getUnderlyingPotencialDraggableComponent: function getUnderlyingPotencialDraggableComponent(_ref) {
        var vue = _ref.__vue__;
  
        if (!vue || !vue.$options || !isTransitionName(vue.$options._componentTag)) {
          if (!("realList" in vue) && vue.$children.length === 1 && "realList" in vue.$children[0]) return vue.$children[0];
          return vue;
        }
  
        return vue.$parent;
      },
      emitChanges: function emitChanges(evt) {
        var _this5 = this;
  
        this.$nextTick(function () {
          _this5.$emit("change", evt);
        });
      },
      alterList: function alterList(onList) {
        if (this.list) {
          onList(this.list);
          return;
        }
  
        var newList = _toConsumableArray(this.value);
  
        onList(newList);
        this.$emit("input", newList);
      },
      spliceList: function spliceList() {
        var _arguments = arguments;
  
        var spliceList = function spliceList(list) {
          return list.splice.apply(list, _toConsumableArray(_arguments));
        };
  
        this.alterList(spliceList);
      },
      updatePosition: function updatePosition(oldIndex, newIndex) {
        var updatePosition = function updatePosition(list) {
          return list.splice(newIndex, 0, list.splice(oldIndex, 1)[0]);
        };
  
        this.alterList(updatePosition);
      },
      getRelatedContextFromMoveEvent: function getRelatedContextFromMoveEvent(_ref2) {
        var to = _ref2.to,
            related = _ref2.related;
        var component = this.getUnderlyingPotencialDraggableComponent(to);
  
        if (!component) {
          return {
            component: component
          };
        }
  
        var list = component.realList;
        var context = {
          list: list,
          component: component
        };
  
        if (to !== related && list && component.getUnderlyingVm) {
          var destination = component.getUnderlyingVm(related);
  
          if (destination) {
            return Object.assign(destination, context);
          }
        }
  
        return context;
      },
      getVmIndex: function getVmIndex(domIndex) {
        var indexes = this.visibleIndexes;
        var numberIndexes = indexes.length;
        return domIndex > numberIndexes - 1 ? numberIndexes : indexes[domIndex];
      },
      getComponent: function getComponent() {
        return this.$slots.default[0].componentInstance;
      },
      resetTransitionData: function resetTransitionData(index) {
        if (!this.noTransitionOnDrag || !this.transitionMode) {
          return;
        }
  
        var nodes = this.getChildrenNodes();
        nodes[index].data = null;
        var transitionContainer = this.getComponent();
        transitionContainer.children = [];
        transitionContainer.kept = undefined;
      },
      onDragStart: function onDragStart(evt) {
        this.context = this.getUnderlyingVm(evt.item);
        evt.item._underlying_vm_ = this.clone(this.context.element);
        draggingElement = evt.item;
      },
      onDragAdd: function onDragAdd(evt) {
        var element = evt.item._underlying_vm_;
  
        if (element === undefined) {
          return;
        }
  
        Object(helper["d" /* removeNode */])(evt.item);
        var newIndex = this.getVmIndex(evt.newIndex);
        this.spliceList(newIndex, 0, element);
        this.computeIndexes();
        var added = {
          element: element,
          newIndex: newIndex
        };
        this.emitChanges({
          added: added
        });
      },
      onDragRemove: function onDragRemove(evt) {
        Object(helper["c" /* insertNodeAt */])(this.rootContainer, evt.item, evt.oldIndex);
  
        if (evt.pullMode === "clone") {
          Object(helper["d" /* removeNode */])(evt.clone);
          return;
        }
  
        var oldIndex = this.context.index;
        this.spliceList(oldIndex, 1);
        var removed = {
          element: this.context.element,
          oldIndex: oldIndex
        };
        this.resetTransitionData(oldIndex);
        this.emitChanges({
          removed: removed
        });
      },
      onDragUpdate: function onDragUpdate(evt) {
        Object(helper["d" /* removeNode */])(evt.item);
        Object(helper["c" /* insertNodeAt */])(evt.from, evt.item, evt.oldIndex);
        var oldIndex = this.context.index;
        var newIndex = this.getVmIndex(evt.newIndex);
        this.updatePosition(oldIndex, newIndex);
        var moved = {
          element: this.context.element,
          oldIndex: oldIndex,
          newIndex: newIndex
        };
        this.emitChanges({
          moved: moved
        });
      },
      updateProperty: function updateProperty(evt, propertyName) {
        evt.hasOwnProperty(propertyName) && (evt[propertyName] += this.headerOffset);
      },
      computeFutureIndex: function computeFutureIndex(relatedContext, evt) {
        if (!relatedContext.element) {
          return 0;
        }
  
        var domChildren = _toConsumableArray(evt.to.children).filter(function (el) {
          return el.style["display"] !== "none";
        });
  
        var currentDOMIndex = domChildren.indexOf(evt.related);
        var currentIndex = relatedContext.component.getVmIndex(currentDOMIndex);
        var draggedInList = domChildren.indexOf(draggingElement) !== -1;
        return draggedInList || !evt.willInsertAfter ? currentIndex : currentIndex + 1;
      },
      onDragMove: function onDragMove(evt, originalEvent) {
        var onMove = this.move;
  
        if (!onMove || !this.realList) {
          return true;
        }
  
        var relatedContext = this.getRelatedContextFromMoveEvent(evt);
        var draggedContext = this.context;
        var futureIndex = this.computeFutureIndex(relatedContext, evt);
        Object.assign(draggedContext, {
          futureIndex: futureIndex
        });
        var sendEvt = Object.assign({}, evt, {
          relatedContext: relatedContext,
          draggedContext: draggedContext
        });
        return onMove(sendEvt, originalEvent);
      },
      onDragEnd: function onDragEnd() {
        this.computeIndexes();
        draggingElement = null;
      }
    }
  };
  
  if (typeof window !== "undefined" && "Vue" in window) {
    window.Vue.component("draggable", draggableComponent);
  }
  
  /* harmony default export */ var vuedraggable = (draggableComponent);
  // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js
  
  
  /* harmony default export */ var entry_lib = __webpack_exports__["default"] = (vuedraggable);
  
  
  
  /***/ })
  
  /******/ })["default"];
  });
  //# sourceMappingURL=vuedraggable.umd.js.map
  
  /***/ })
  
  }]);